fix: delete SMTP correctly (#6391)

This commit is contained in:
Livio Spring
2023-08-18 14:22:57 +02:00
committed by GitHub
parent 90a62b777b
commit 8b44794c75
2 changed files with 45 additions and 0 deletions

View File

@@ -74,6 +74,10 @@ func (p *smtpConfigProjection) reducers() []handler.AggregateReducer {
Event: instance.SMTPConfigPasswordChangedEventType,
Reduce: p.reduceSMTPConfigPasswordChanged,
},
{
Event: instance.SMTPConfigRemovedEventType,
Reduce: p.reduceSMTPConfigRemoved,
},
{
Event: instance.InstanceRemovedEventType,
Reduce: reduceInstanceRemovedHelper(SMTPConfigColumnInstanceID),
@@ -160,3 +164,17 @@ func (p *smtpConfigProjection) reduceSMTPConfigPasswordChanged(event eventstore.
},
), nil
}
func (p *smtpConfigProjection) reduceSMTPConfigRemoved(event eventstore.Event) (*handler.Statement, error) {
e, err := assertEvent[*instance.SMTPConfigRemovedEvent](event)
if err != nil {
return nil, err
}
return crdb.NewDeleteStatement(
e,
[]handler.Condition{
handler.NewCond(SMTPConfigColumnAggregateID, e.Aggregate().ID),
handler.NewCond(SMTPConfigColumnInstanceID, e.Aggregate().InstanceID),
},
), nil
}