mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 19:47:34 +00:00
fix: Custom texts (#2875)
* feat: delete org * fix: return is default on custom message text * fix(projeciton): print stack trace on recover panic * chore: print panic line * fix: custom message text retunr nil, nil * fix: custom message text template * fix: remove isDefault from selection (#2876) * fix: custom message text query Co-authored-by: adlerhurst <silvan.reusser@gmail.com> Co-authored-by: Max Peintner <max@caos.ch>
This commit is contained in:
@@ -22,24 +22,7 @@ func ModelCustomMessageTextToPb(msg *query.MessageText) *text_pb.MessageCustomTe
|
||||
msg.ChangeDate,
|
||||
msg.AggregateID,
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
func DomainCustomMsgTextToPb(msg *domain.CustomMessageText) *text_pb.MessageCustomText {
|
||||
return &text_pb.MessageCustomText{
|
||||
Title: msg.Title,
|
||||
PreHeader: msg.PreHeader,
|
||||
Subject: msg.Subject,
|
||||
Greeting: msg.Greeting,
|
||||
Text: msg.Text,
|
||||
ButtonText: msg.ButtonText,
|
||||
FooterText: msg.FooterText,
|
||||
Details: object.ToViewDetailsPb(
|
||||
msg.Sequence,
|
||||
msg.CreationDate,
|
||||
msg.ChangeDate,
|
||||
"", //TODO: resourceowner
|
||||
),
|
||||
IsDefault: msg.AggregateID == domain.IAMID,
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -2,6 +2,7 @@ package handler
|
||||
|
||||
import (
|
||||
"context"
|
||||
"runtime/debug"
|
||||
"sort"
|
||||
"sync"
|
||||
"time"
|
||||
@@ -106,7 +107,7 @@ func (h *ProjectionHandler) Process(
|
||||
//handle panic
|
||||
defer func() {
|
||||
cause := recover()
|
||||
logging.LogWithFields("HANDL-utWkv", "projection", h.ProjectionName, "cause", cause).Error("projection handler paniced")
|
||||
logging.LogWithFields("HANDL-utWkv", "projection", h.ProjectionName, "cause", cause, "stack", string(debug.Stack())).Error("projection handler paniced")
|
||||
}()
|
||||
|
||||
execBulk := h.prepareExecuteBulk(query, reduce, update)
|
||||
|
@@ -161,12 +161,24 @@ func (q *Queries) DefaultMessageTextByTypeAndLanguageFromFileSystem(messageType,
|
||||
func (q *Queries) CustomMessageTextByTypeAndLanguage(ctx context.Context, aggregateID, messageType, language string) (*MessageText, error) {
|
||||
stmt, scan := prepareMessageTextQuery()
|
||||
query, args, err := stmt.Where(
|
||||
sq.Eq{
|
||||
MessageTextColAggregateID.identifier(): aggregateID,
|
||||
MessageTextColType.identifier(): messageType,
|
||||
MessageTextColLanguage.identifier(): language,
|
||||
sq.And{
|
||||
sq.Eq{
|
||||
MessageTextColLanguage.identifier(): language,
|
||||
},
|
||||
sq.Eq{
|
||||
MessageTextColType.identifier(): messageType,
|
||||
},
|
||||
sq.Or{
|
||||
sq.Eq{
|
||||
MessageTextColAggregateID.identifier(): aggregateID,
|
||||
},
|
||||
sq.Eq{
|
||||
MessageTextColAggregateID.identifier(): domain.IAMID,
|
||||
},
|
||||
},
|
||||
},
|
||||
).
|
||||
OrderBy(MessageTextColAggregateID.identifier()).
|
||||
Limit(1).ToSql()
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "QUERY-1b9mf", "Errors.Query.SQLStatement")
|
||||
|
@@ -147,7 +147,7 @@ func (p *MessageTextProjection) reduceRemoved(event eventstore.EventReader) (*ha
|
||||
return nil, errors.ThrowInvalidArgument(nil, "PROJE-fm0ge", "reduce.wrong.event.type")
|
||||
}
|
||||
if !isMessageTemplate(templateEvent.Template) {
|
||||
return nil, nil
|
||||
return crdb.NewNoOpStatement(event), nil
|
||||
}
|
||||
cols := []handler.Column{
|
||||
handler.NewCol(MessageTextChangeDateCol, templateEvent.CreationDate()),
|
||||
@@ -186,16 +186,21 @@ func (p *MessageTextProjection) reduceRemoved(event eventstore.EventReader) (*ha
|
||||
}
|
||||
|
||||
func (p *MessageTextProjection) reduceTemplateRemoved(event eventstore.EventReader) (*handler.Statement, error) {
|
||||
templateEvent, ok := event.(*org.CustomTextTemplateRemovedEvent)
|
||||
if !ok {
|
||||
var templateEvent policy.CustomTextTemplateRemovedEvent
|
||||
switch e := event.(type) {
|
||||
case *org.CustomTextTemplateRemovedEvent:
|
||||
templateEvent = e.CustomTextTemplateRemovedEvent
|
||||
case *iam.CustomTextTemplateRemovedEvent:
|
||||
templateEvent = e.CustomTextTemplateRemovedEvent
|
||||
default:
|
||||
logging.LogWithFields("PROJE-m03ng", "seq", event.Sequence(), "expectedType", org.CustomTextTemplateRemovedEventType).Error("wrong event type")
|
||||
return nil, errors.ThrowInvalidArgument(nil, "PROJE-2n9rs", "reduce.wrong.event.type")
|
||||
}
|
||||
if !isMessageTemplate(templateEvent.Template) {
|
||||
return nil, nil
|
||||
return crdb.NewNoOpStatement(event), nil
|
||||
}
|
||||
return crdb.NewDeleteStatement(
|
||||
templateEvent,
|
||||
event,
|
||||
[]handler.Condition{
|
||||
handler.NewCond(MessageTextAggregateIDCol, templateEvent.Aggregate().ID),
|
||||
handler.NewCond(MessageTextTypeCol, templateEvent.Template),
|
||||
|
Reference in New Issue
Block a user