mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 21:27:42 +00:00
fix: User checks (#139)
* check uniqueness on create and register user * change user email, reserve release unique email * usergrant unique aggregate * usergrant uniqueness * validate UserGrant * fix tests
This commit is contained in:
@@ -20,6 +20,7 @@ type ProjectState int32
|
||||
const (
|
||||
PROJECTSTATE_ACTIVE ProjectState = iota
|
||||
PROJECTSTATE_INACTIVE
|
||||
PROJECTSTATE_REMOVED
|
||||
)
|
||||
|
||||
func NewProject(id string) *Project {
|
||||
|
@@ -88,6 +88,8 @@ func (p *Project) AppendEvent(event *es_models.Event) error {
|
||||
return p.appendDeactivatedEvent()
|
||||
case ProjectReactivated:
|
||||
return p.appendReactivatedEvent()
|
||||
case ProjectRemoved:
|
||||
return p.appendRemovedEvent()
|
||||
case ProjectMemberAdded:
|
||||
return p.appendAddMemberEvent(event)
|
||||
case ProjectMemberChanged:
|
||||
@@ -150,6 +152,11 @@ func (p *Project) appendReactivatedEvent() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *Project) appendRemovedEvent() error {
|
||||
p.State = int32(model.PROJECTSTATE_REMOVED)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *Project) setData(event *es_models.Event) error {
|
||||
if err := json.Unmarshal(event.Data, p); err != nil {
|
||||
logging.Log("EVEN-lo9sr").WithError(err).Error("could not unmarshal event data")
|
||||
|
@@ -31,6 +31,15 @@ func GetProjectGrant(grants []*ProjectGrant, id string) (int, *ProjectGrant) {
|
||||
return -1, nil
|
||||
}
|
||||
|
||||
func GetProjectGrantByResourceOwner(grants []*ProjectGrant, resourceOwner string) (int, *ProjectGrant) {
|
||||
for i, g := range grants {
|
||||
if g.ResourceOwner == resourceOwner {
|
||||
return i, g
|
||||
}
|
||||
}
|
||||
return -1, nil
|
||||
}
|
||||
|
||||
func (g *ProjectGrant) Changes(changed *ProjectGrant) map[string]interface{} {
|
||||
changes := make(map[string]interface{}, 1)
|
||||
changes["grantId"] = g.GrantID
|
||||
|
@@ -9,6 +9,7 @@ const (
|
||||
ProjectChanged models.EventType = "project.changed"
|
||||
ProjectDeactivated models.EventType = "project.deactivated"
|
||||
ProjectReactivated models.EventType = "project.reactivated"
|
||||
ProjectRemoved models.EventType = "project.removed"
|
||||
|
||||
ProjectMemberAdded models.EventType = "project.member.added"
|
||||
ProjectMemberChanged models.EventType = "project.member.changed"
|
||||
|
Reference in New Issue
Block a user