mirror of
https://github.com/zitadel/zitadel.git
synced 2025-11-08 22:23:23 +00:00
feat(eventstore): Precondition (#69)
* start org * refactor(eventstore): filter in sql for querier * feat(eventstore): Aggregate precondition preconditions are checked right before insert. Insert is still transaction save * feat(eventstore): check preconditions in repository * test(eventstore): test precondition in models * test(eventstore): precondition-tests * refactor(eventstore): querier as type * fix(precondition): rename validation from precondition to validation * test(eventstore): isErr func instead of wantErr bool * fix: delete org files * remove comment Co-authored-by: Livio Amstutz <livio.a@gmail.com>
This commit is contained in:
@@ -22,12 +22,13 @@ func Filter(ctx context.Context, filter filterFunc, appender appendFunc, query *
|
||||
return errors.ThrowNotFound(nil, "EVENT-8due3", "no events found")
|
||||
}
|
||||
err = appender(events...)
|
||||
if err != nil{
|
||||
if err != nil {
|
||||
return ThrowAppendEventError(err, "SDK-awiWK", "appender failed")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Push is Deprecated use PushAggregates
|
||||
// Push creates the aggregates from aggregater
|
||||
// and pushes the aggregates to the given pushFunc
|
||||
// the given events are appended by the appender
|
||||
@@ -45,7 +46,19 @@ func Push(ctx context.Context, push pushFunc, appender appendFunc, aggregaters .
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
return appendAggregates(appender, aggregates)
|
||||
}
|
||||
|
||||
func PushAggregates(ctx context.Context, push pushFunc, appender appendFunc, aggregates ...*models.Aggregate) (err error) {
|
||||
if len(aggregates) < 1 {
|
||||
return errors.ThrowPreconditionFailed(nil, "SDK-q9wjp", "no aggregaters passed")
|
||||
}
|
||||
|
||||
err = push(ctx, aggregates...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return appendAggregates(appender, aggregates)
|
||||
}
|
||||
@@ -69,4 +82,4 @@ func makeAggregates(ctx context.Context, aggregaters []aggregateFunc) (aggregate
|
||||
}
|
||||
}
|
||||
return aggregates, nil
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user