mirror of
https://github.com/zitadel/zitadel
synced 2024-11-23 19:19:19 +00:00
2bd255106a
* fix: org tests * fix: org tests * fix: user grant test * fix: user grant test * fix: project and project role test * fix: project grant test * fix: project grant test * fix: project member, grant member, app changed tests * fix: application tests * fix: application tests * fix: add oidc app test * fix: add oidc app test * fix: add api keys test * fix: iam policies * fix: iam and org member tests * fix: clock skew validation * revert crypto changes * fix: tests * fix project grant member commands Co-authored-by: Livio Amstutz <livio.a@gmail.com>
45 lines
773 B
Go
45 lines
773 B
Go
package domain
|
|
|
|
import (
|
|
es_models "github.com/caos/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
|
|
}
|