diff --git a/internal/command/custom_login_text_model.go b/internal/command/custom_login_text_model.go index 76638190d..f5b806ff1 100644 --- a/internal/command/custom_login_text_model.go +++ b/internal/command/custom_login_text_model.go @@ -22,7 +22,7 @@ func (wm *CustomLoginTextsReadModel) Reduce() error { wm.CustomLoginTexts[e.Template+e.Language.String()] = &CustomText{Language: e.Language, Template: e.Template} case *policy.CustomTextTemplateRemovedEvent: if _, ok := wm.CustomLoginTexts[e.Template+e.Language.String()]; ok { - delete(wm.CustomLoginTexts, e.Template) + delete(wm.CustomLoginTexts, e.Template+e.Language.String()) } } } diff --git a/internal/command/custom_message_text_model.go b/internal/command/custom_message_text_model.go index 225b4fbf0..ac8c9f086 100644 --- a/internal/command/custom_message_text_model.go +++ b/internal/command/custom_message_text_model.go @@ -159,7 +159,7 @@ func (wm *CustomMessageTemplatesReadModel) Reduce() error { } case *policy.CustomTextTemplateRemovedEvent: if _, ok := wm.CustomMessageTemplate[e.Template+e.Language.String()]; ok { - delete(wm.CustomMessageTemplate, e.Template) + delete(wm.CustomMessageTemplate, e.Template+e.Language.String()) } } } diff --git a/internal/command/features_model.go b/internal/command/features_model.go index d33c27c32..7fcad1acb 100644 --- a/internal/command/features_model.go +++ b/internal/command/features_model.go @@ -87,6 +87,9 @@ func (wm *FeaturesWriteModel) Reduce() error { if e.CustomDomain != nil { wm.CustomDomain = *e.CustomDomain } + if e.PrivacyPolicy != nil { + wm.PrivacyPolicy = *e.PrivacyPolicy + } if e.MetadataUser != nil { wm.MetadataUser = *e.MetadataUser } diff --git a/internal/command/iam_converter.go b/internal/command/iam_converter.go index 62099ec3e..34c8b9ec5 100644 --- a/internal/command/iam_converter.go +++ b/internal/command/iam_converter.go @@ -185,9 +185,16 @@ func writeModelToFeatures(wm *FeaturesWriteModel) *domain.Features { LoginPolicyPasswordless: wm.LoginPolicyPasswordless, LoginPolicyRegistration: wm.LoginPolicyRegistration, LoginPolicyUsernameLogin: wm.LoginPolicyUsernameLogin, + LoginPolicyPasswordReset: wm.LoginPolicyPasswordReset, PasswordComplexityPolicy: wm.PasswordComplexityPolicy, LabelPolicyPrivateLabel: wm.LabelPolicyPrivateLabel, LabelPolicyWatermark: wm.LabelPolicyWatermark, CustomDomain: wm.CustomDomain, + PrivacyPolicy: wm.PrivacyPolicy, + MetadataUser: wm.MetadataUser, + CustomTextMessage: wm.CustomTextMessage, + CustomTextLogin: wm.CustomTextLogin, + LockoutPolicy: wm.LockoutPolicy, + Actions: wm.Actions, } } diff --git a/internal/command/iam_features.go b/internal/command/iam_features.go index 96dde4912..4cba6b087 100644 --- a/internal/command/iam_features.go +++ b/internal/command/iam_features.go @@ -45,6 +45,7 @@ func (c *Commands) setDefaultFeatures(ctx context.Context, existingFeatures *IAM features.LoginPolicyPasswordless, features.LoginPolicyRegistration, features.LoginPolicyUsernameLogin, + features.LoginPolicyPasswordReset, features.PasswordComplexityPolicy, features.LabelPolicyPrivateLabel, features.LabelPolicyWatermark, diff --git a/internal/command/iam_features_model.go b/internal/command/iam_features_model.go index a88f8fa01..72a035050 100644 --- a/internal/command/iam_features_model.go +++ b/internal/command/iam_features_model.go @@ -63,6 +63,7 @@ func (wm *IAMFeaturesWriteModel) NewSetEvent( loginPolicyPasswordless, loginPolicyRegistration, loginPolicyUsernameLogin, + loginPolicyPasswordReset, passwordComplexityPolicy, labelPolicyPrivateLabel, labelPolicyWatermark, @@ -107,6 +108,9 @@ func (wm *IAMFeaturesWriteModel) NewSetEvent( if wm.LoginPolicyUsernameLogin != loginPolicyUsernameLogin { changes = append(changes, features.ChangeLoginPolicyUsernameLogin(loginPolicyUsernameLogin)) } + if wm.LoginPolicyPasswordReset != loginPolicyPasswordReset { + changes = append(changes, features.ChangeLoginPolicyPasswordReset(loginPolicyPasswordReset)) + } if wm.PasswordComplexityPolicy != passwordComplexityPolicy { changes = append(changes, features.ChangePasswordComplexityPolicy(passwordComplexityPolicy)) }