mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-12 11:04:25 +00:00
bdf3887f9e
* feat: default custom message text * feat: org custom message text * feat: org custom message text * feat: custom messages query side * feat: default messages * feat: message text user fields * feat: check for inactive user * feat: fix send password reset * feat: fix custom org text * feat: add variables to docs * feat: custom text tests * feat: fix notifications * feat: add custom text feature * feat: add custom text feature * feat: feature in custom message texts * feat: add custom text feature in frontend * feat: merge main * feat: feature tests * feat: change phone message in setup * fix: remove unused code, add event translation * fix: merge main and fix problems * fix: english translation file * fix: migration versions * fix: setup * feat: fix pr requests * feat: fix phone code message * feat: migration * feat: setup * fix: remove unused tests Co-authored-by: Livio Amstutz <livio.a@gmail.com>
94 lines
2.5 KiB
Go
94 lines
2.5 KiB
Go
package command
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/caos/zitadel/internal/domain"
|
|
"github.com/caos/zitadel/internal/eventstore"
|
|
"github.com/caos/zitadel/internal/repository/features"
|
|
)
|
|
|
|
type FeaturesWriteModel struct {
|
|
eventstore.WriteModel
|
|
|
|
TierName string
|
|
TierDescription string
|
|
State domain.FeaturesState
|
|
StateDescription string
|
|
AuditLogRetention time.Duration
|
|
LoginPolicyFactors bool
|
|
LoginPolicyIDP bool
|
|
LoginPolicyPasswordless bool
|
|
LoginPolicyRegistration bool
|
|
LoginPolicyUsernameLogin bool
|
|
LoginPolicyPasswordReset bool
|
|
PasswordComplexityPolicy bool
|
|
LabelPolicyPrivateLabel bool
|
|
LabelPolicyWatermark bool
|
|
CustomDomain bool
|
|
CustomText bool
|
|
}
|
|
|
|
func (wm *FeaturesWriteModel) Reduce() error {
|
|
for _, event := range wm.Events {
|
|
switch e := event.(type) {
|
|
case *features.FeaturesSetEvent:
|
|
if e.TierName != nil {
|
|
wm.TierName = *e.TierName
|
|
}
|
|
if e.TierDescription != nil {
|
|
wm.TierDescription = *e.TierDescription
|
|
}
|
|
wm.State = domain.FeaturesStateActive
|
|
if e.State != nil {
|
|
wm.State = *e.State
|
|
}
|
|
if e.StateDescription != nil {
|
|
wm.StateDescription = *e.StateDescription
|
|
}
|
|
if e.AuditLogRetention != nil {
|
|
wm.AuditLogRetention = *e.AuditLogRetention
|
|
}
|
|
if e.LoginPolicyFactors != nil {
|
|
wm.LoginPolicyFactors = *e.LoginPolicyFactors
|
|
}
|
|
if e.LoginPolicyIDP != nil {
|
|
wm.LoginPolicyIDP = *e.LoginPolicyIDP
|
|
}
|
|
if e.LoginPolicyPasswordless != nil {
|
|
wm.LoginPolicyPasswordless = *e.LoginPolicyPasswordless
|
|
}
|
|
if e.LoginPolicyRegistration != nil {
|
|
wm.LoginPolicyRegistration = *e.LoginPolicyRegistration
|
|
}
|
|
if e.LoginPolicyUsernameLogin != nil {
|
|
wm.LoginPolicyUsernameLogin = *e.LoginPolicyUsernameLogin
|
|
}
|
|
if e.LoginPolicyPasswordReset != nil {
|
|
wm.LoginPolicyPasswordReset = *e.LoginPolicyPasswordReset
|
|
}
|
|
if e.PasswordComplexityPolicy != nil {
|
|
wm.PasswordComplexityPolicy = *e.PasswordComplexityPolicy
|
|
}
|
|
if e.LabelPolicy != nil {
|
|
wm.LabelPolicyPrivateLabel = *e.LabelPolicy
|
|
}
|
|
if e.LabelPolicyPrivateLabel != nil {
|
|
wm.LabelPolicyPrivateLabel = *e.LabelPolicyPrivateLabel
|
|
}
|
|
if e.LabelPolicyWatermark != nil {
|
|
wm.LabelPolicyWatermark = *e.LabelPolicyWatermark
|
|
}
|
|
if e.CustomDomain != nil {
|
|
wm.CustomDomain = *e.CustomDomain
|
|
}
|
|
if e.CustomText != nil {
|
|
wm.CustomText = *e.CustomText
|
|
}
|
|
case *features.FeaturesRemovedEvent:
|
|
wm.State = domain.FeaturesStateRemoved
|
|
}
|
|
}
|
|
return wm.WriteModel.Reduce()
|
|
}
|