feat: pub sub (#1341)

* fix: pub sub

* fix: adaot config to commands (and queries)

* remove dependency on vv2 in v1

* fix: pub sub in new eventstore

* fix tests

Co-authored-by: Livio Amstutz <livio.a@gmail.com>
This commit is contained in:
Fabi
2021-02-24 13:24:33 +01:00
committed by GitHub
parent 8dcbbc87ca
commit c0f55e7209
14 changed files with 124 additions and 723 deletions

View File

@@ -38,8 +38,10 @@ func newIAMMember(handler handler) *IAMMember {
func (m *IAMMember) subscribe() {
m.subscription = m.es.Subscribe(m.AggregateTypes()...)
go func() {
for event := range m.subscription.Events {
query.ReduceEvent(m, event)
}
}()

View File

@@ -30,7 +30,6 @@ const (
type User struct {
handler
eventstore v1.Eventstore
systemDefaults systemdefaults.SystemDefaults
subscription *v1.Subscription
}
@@ -266,7 +265,7 @@ func (u *User) getOrgByID(ctx context.Context, orgID string) (*org_model.Org, er
AggregateID: orgID,
},
}
err = es_sdk.Filter(ctx, u.eventstore.FilterEvents, esOrg.AppendEvents, query)
err = es_sdk.Filter(ctx, u.Eventstore().FilterEvents, esOrg.AppendEvents, query)
if err != nil && !errors.IsNotFound(err) {
return nil, err
}
@@ -287,7 +286,7 @@ func (u *User) getIAMByID(ctx context.Context) (*iam_model.IAM, error) {
AggregateID: domain.IAMID,
},
}
err = es_sdk.Filter(ctx, u.eventstore.FilterEvents, iam.AppendEvents, query)
err = es_sdk.Filter(ctx, u.Eventstore().FilterEvents, iam.AppendEvents, query)
if err != nil && caos_errs.IsNotFound(err) && iam.Sequence == 0 {
return nil, err
}