fix: Factors login policy (#2276)

* fix: check policy removed on factors

* fix: check policy removed on factors
This commit is contained in:
Fabi
2021-08-30 07:24:04 +02:00
committed by GitHub
parent 5b4c64d740
commit e8da0e3f4f
2 changed files with 20 additions and 2 deletions

View File

@@ -34,6 +34,8 @@ func (wm *OrgSecondFactorWriteModel) AppendEvents(events ...eventstore.EventRead
if wm.MFAType == e.MFAType { if wm.MFAType == e.MFAType {
wm.WriteModel.AppendEvents(&e.SecondFactorRemovedEvent) wm.WriteModel.AppendEvents(&e.SecondFactorRemovedEvent)
} }
case *org.LoginPolicyRemovedEvent:
wm.WriteModel.AppendEvents(&e.LoginPolicyRemovedEvent)
} }
} }
} }
@@ -50,7 +52,8 @@ func (wm *OrgSecondFactorWriteModel) Query() *eventstore.SearchQueryBuilder {
AggregateIDs(wm.WriteModel.AggregateID). AggregateIDs(wm.WriteModel.AggregateID).
EventTypes( EventTypes(
org.LoginPolicySecondFactorAddedEventType, org.LoginPolicySecondFactorAddedEventType,
org.LoginPolicySecondFactorRemovedEventType). org.LoginPolicySecondFactorRemovedEventType,
org.LoginPolicyRemovedEventType).
Builder() Builder()
} }
@@ -81,6 +84,8 @@ func (wm *OrgMultiFactorWriteModel) AppendEvents(events ...eventstore.EventReade
if wm.MFAType == e.MFAType { if wm.MFAType == e.MFAType {
wm.WriteModel.AppendEvents(&e.MultiFactorRemovedEvent) wm.WriteModel.AppendEvents(&e.MultiFactorRemovedEvent)
} }
case *org.LoginPolicyRemovedEvent:
wm.WriteModel.AppendEvents(&e.LoginPolicyRemovedEvent)
} }
} }
} }
@@ -97,7 +102,8 @@ func (wm *OrgMultiFactorWriteModel) Query() *eventstore.SearchQueryBuilder {
AggregateIDs(wm.WriteModel.AggregateID). AggregateIDs(wm.WriteModel.AggregateID).
EventTypes( EventTypes(
org.LoginPolicyMultiFactorAddedEventType, org.LoginPolicyMultiFactorAddedEventType,
org.LoginPolicyMultiFactorRemovedEventType). org.LoginPolicyMultiFactorRemovedEventType,
org.LoginPolicyRemovedEventType).
Builder() Builder()
} }
@@ -150,6 +156,13 @@ func (wm *OrgAuthFactorsAllowedWriteModel) Reduce() error {
case *org.LoginPolicyMultiFactorRemovedEvent: case *org.LoginPolicyMultiFactorRemovedEvent:
wm.ensureMultiFactor(e.MFAType) wm.ensureMultiFactor(e.MFAType)
wm.MultiFactors[e.MFAType].Org = domain.FactorStateRemoved wm.MultiFactors[e.MFAType].Org = domain.FactorStateRemoved
case *org.LoginPolicyRemovedEvent:
for factorType, _ := range wm.SecondFactors {
wm.SecondFactors[factorType].Org = domain.FactorStateRemoved
}
for factorType, _ := range wm.MultiFactors {
wm.MultiFactors[factorType].Org = domain.FactorStateRemoved
}
} }
} }
return wm.WriteModel.Reduce() return wm.WriteModel.Reduce()
@@ -188,6 +201,7 @@ func (wm *OrgAuthFactorsAllowedWriteModel) Query() *eventstore.SearchQueryBuilde
org.LoginPolicySecondFactorRemovedEventType, org.LoginPolicySecondFactorRemovedEventType,
org.LoginPolicyMultiFactorAddedEventType, org.LoginPolicyMultiFactorAddedEventType,
org.LoginPolicyMultiFactorRemovedEventType, org.LoginPolicyMultiFactorRemovedEventType,
org.LoginPolicyRemovedEventType,
). ).
Builder() Builder()
} }

View File

@@ -21,6 +21,8 @@ func (wm *SecondFactorWriteModel) Reduce() error {
case *policy.SecondFactorRemovedEvent: case *policy.SecondFactorRemovedEvent:
wm.MFAType = e.MFAType wm.MFAType = e.MFAType
wm.State = domain.FactorStateRemoved wm.State = domain.FactorStateRemoved
case *policy.LoginPolicyRemovedEvent:
wm.State = domain.FactorStateRemoved
} }
} }
return wm.WriteModel.Reduce() return wm.WriteModel.Reduce()
@@ -41,6 +43,8 @@ func (wm *MultiFactorWriteModel) Reduce() error {
case *policy.MultiFactorRemovedEvent: case *policy.MultiFactorRemovedEvent:
wm.MFAType = e.MFAType wm.MFAType = e.MFAType
wm.State = domain.FactorStateRemoved wm.State = domain.FactorStateRemoved
case *policy.LoginPolicyRemovedEvent:
wm.State = domain.FactorStateRemoved
} }
} }
return wm.WriteModel.Reduce() return wm.WriteModel.Reduce()