mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 04:57:33 +00:00
feat: reset custom texts on IAM (#3160)
* fix: only show factors with state ready * fix: get iam by id and clean up code * fix: get iam by id and clean up code * fix: remove unused code * feat: add message template remove func to admin api * fix: proto texts * fix: proto texts
This commit is contained in:
@@ -79,6 +79,16 @@ func (wm *CustomMessageTextReadModel) Reduce() error {
|
||||
wm.FooterText = ""
|
||||
}
|
||||
case *policy.CustomTextTemplateRemovedEvent:
|
||||
if wm.Language != e.Language {
|
||||
continue
|
||||
}
|
||||
wm.Subject = ""
|
||||
wm.Title = ""
|
||||
wm.PreHeader = ""
|
||||
wm.Text = ""
|
||||
wm.Greeting = ""
|
||||
wm.ButtonText = ""
|
||||
wm.FooterText = ""
|
||||
wm.State = domain.PolicyStateRemoved
|
||||
}
|
||||
}
|
||||
|
@@ -36,6 +36,7 @@ func (c *Commands) setDefaultMessageText(ctx context.Context, iamAgg *eventstore
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
events := make([]eventstore.Command, 0)
|
||||
if existingMessageText.Greeting != msg.Greeting {
|
||||
if msg.Greeting != "" {
|
||||
@@ -89,6 +90,29 @@ func (c *Commands) setDefaultMessageText(ctx context.Context, iamAgg *eventstore
|
||||
return events, existingMessageText, nil
|
||||
}
|
||||
|
||||
func (c *Commands) RemoveIAMMessageTexts(ctx context.Context, messageTextType string, lang language.Tag) (*domain.ObjectDetails, error) {
|
||||
if messageTextType == "" || lang == language.Und {
|
||||
return nil, caos_errs.ThrowInvalidArgument(nil, "IAM-fjw9b", "Errors.CustomMessageText.Invalid")
|
||||
}
|
||||
customText, err := c.defaultCustomMessageTextWriteModelByID(ctx, messageTextType, lang)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if customText.State == domain.PolicyStateUnspecified || customText.State == domain.PolicyStateRemoved {
|
||||
return nil, caos_errs.ThrowNotFound(nil, "Org-fju90", "Errors.CustomMessageText.NotFound")
|
||||
}
|
||||
iamAgg := IAMAggregateFromWriteModel(&customText.WriteModel)
|
||||
pushedEvents, err := c.eventstore.Push(ctx, iam.NewCustomTextTemplateRemovedEvent(ctx, iamAgg, messageTextType, lang))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
err = AppendAndReduce(customText, pushedEvents...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return writeModelToObjectDetails(&customText.WriteModel), nil
|
||||
}
|
||||
|
||||
func (c *Commands) defaultCustomMessageTextWriteModelByID(ctx context.Context, messageType string, lang language.Tag) (*IAMCustomMessageTextReadModel, error) {
|
||||
writeModel := NewIAMCustomMessageTextWriteModel(messageType, lang)
|
||||
err := c.eventstore.FilterToQueryReducer(ctx, writeModel)
|
||||
|
@@ -30,6 +30,10 @@ func (wm *IAMCustomMessageTextReadModel) AppendEvents(events ...eventstore.Event
|
||||
switch e := event.(type) {
|
||||
case *iam.CustomTextSetEvent:
|
||||
wm.CustomMessageTextReadModel.AppendEvents(&e.CustomTextSetEvent)
|
||||
case *iam.CustomTextRemovedEvent:
|
||||
wm.CustomMessageTextReadModel.AppendEvents(&e.CustomTextRemovedEvent)
|
||||
case *iam.CustomTextTemplateRemovedEvent:
|
||||
wm.CustomMessageTextReadModel.AppendEvents(&e.CustomTextTemplateRemovedEvent)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,6 +48,6 @@ func (wm *IAMCustomMessageTextReadModel) Query() *eventstore.SearchQueryBuilder
|
||||
AddQuery().
|
||||
AggregateTypes(iam.AggregateType).
|
||||
AggregateIDs(wm.CustomMessageTextReadModel.AggregateID).
|
||||
EventTypes(iam.CustomTextSetEventType).
|
||||
EventTypes(iam.CustomTextSetEventType, iam.CustomTextRemovedEventType, iam.CustomTextTemplateRemovedEventType).
|
||||
Builder()
|
||||
}
|
||||
|
Reference in New Issue
Block a user