mirror of
https://github.com/zitadel/zitadel
synced 2024-11-22 00:39:36 +00:00
fa9f581d56
* chore: move to new org * logging * fix: org rename caos -> zitadel Co-authored-by: adlerhurst <silvan.reusser@gmail.com>
45 lines
776 B
Go
45 lines
776 B
Go
package domain
|
|
|
|
import (
|
|
es_models "github.com/zitadel/zitadel/internal/eventstore/v1/models"
|
|
)
|
|
|
|
type Member struct {
|
|
es_models.ObjectRoot
|
|
|
|
UserID string
|
|
Roles []string
|
|
}
|
|
|
|
func NewMember(aggregateID, userID string, roles ...string) *Member {
|
|
return &Member{
|
|
ObjectRoot: es_models.ObjectRoot{
|
|
AggregateID: aggregateID,
|
|
},
|
|
UserID: userID,
|
|
Roles: roles,
|
|
}
|
|
}
|
|
|
|
func (i *Member) IsValid() bool {
|
|
return i.AggregateID != "" && i.UserID != "" && len(i.Roles) != 0
|
|
}
|
|
|
|
func (i *Member) IsIAMValid() bool {
|
|
return i.UserID != "" && len(i.Roles) != 0
|
|
}
|
|
|
|
type MemberState int32
|
|
|
|
const (
|
|
MemberStateUnspecified MemberState = iota
|
|
MemberStateActive
|
|
MemberStateRemoved
|
|
|
|
memberStateCount
|
|
)
|
|
|
|
func (f MemberState) Valid() bool {
|
|
return f >= 0 && f < memberStateCount
|
|
}
|