2021-01-04 14:52:13 +01:00
|
|
|
package domain
|
|
|
|
|
2021-01-05 09:33:45 +01:00
|
|
|
import es_models "github.com/caos/zitadel/internal/eventstore/models"
|
|
|
|
|
|
|
|
type User struct {
|
|
|
|
es_models.ObjectRoot
|
|
|
|
State UserState
|
|
|
|
UserName string
|
|
|
|
|
|
|
|
*Human
|
|
|
|
*Machine
|
|
|
|
}
|
|
|
|
|
2021-01-04 14:52:13 +01:00
|
|
|
type UserState int32
|
|
|
|
|
|
|
|
const (
|
|
|
|
UserStateUnspecified UserState = iota
|
|
|
|
UserStateActive
|
|
|
|
UserStateInactive
|
|
|
|
UserStateDeleted
|
|
|
|
UserStateLocked
|
|
|
|
UserStateSuspend
|
|
|
|
UserStateInitial
|
|
|
|
|
|
|
|
userStateCount
|
|
|
|
)
|
|
|
|
|
|
|
|
func (f UserState) Valid() bool {
|
|
|
|
return f >= 0 && f < userStateCount
|
|
|
|
}
|
2021-01-05 09:33:45 +01:00
|
|
|
|
|
|
|
func (u *User) IsValid() bool {
|
|
|
|
if u.Human == nil && u.Machine == nil || u.UserName == "" {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
if u.Human != nil {
|
|
|
|
return u.Human.IsValid()
|
|
|
|
}
|
|
|
|
return u.Machine.IsValid()
|
|
|
|
}
|