@@ -14,9 +14,57 @@
|
||||
|
||||
package coredata
|
||||
|
||||
import (
|
||||
"encoding"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type UserAuthMethod string
|
||||
|
||||
const (
|
||||
UserAuthMethodPassword UserAuthMethod = "PASSWORD"
|
||||
UserAuthMethodSAML UserAuthMethod = "SAML"
|
||||
)
|
||||
|
||||
var (
|
||||
_ fmt.Stringer = UserAuthMethod("")
|
||||
_ encoding.TextMarshaler = UserAuthMethod("")
|
||||
_ encoding.TextUnmarshaler = (*UserAuthMethod)(nil)
|
||||
)
|
||||
|
||||
func UserAuthMethods() []UserAuthMethod {
|
||||
return []UserAuthMethod{
|
||||
UserAuthMethodPassword,
|
||||
UserAuthMethodSAML,
|
||||
}
|
||||
}
|
||||
|
||||
func (v UserAuthMethod) IsValid() bool {
|
||||
switch v {
|
||||
case
|
||||
UserAuthMethodPassword,
|
||||
UserAuthMethodSAML:
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func (v UserAuthMethod) String() string {
|
||||
return string(v)
|
||||
}
|
||||
|
||||
func (v UserAuthMethod) MarshalText() ([]byte, error) {
|
||||
return []byte(v.String()), nil
|
||||
}
|
||||
|
||||
func (v *UserAuthMethod) UnmarshalText(text []byte) error {
|
||||
val := UserAuthMethod(text)
|
||||
if !val.IsValid() {
|
||||
return fmt.Errorf("invalid UserAuthMethod value: %q", string(text))
|
||||
}
|
||||
|
||||
*v = val
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user