mirror of
https://github.com/zitadel/zitadel.git
synced 2025-06-20 19:58:33 +00:00
facotry to fileter
This commit is contained in:
parent
cf1df99a10
commit
9a870b7830
@ -93,7 +93,7 @@ func (es *Eventstore) aggregatesToEvents(aggregates []aggregater) ([]*repository
|
|||||||
|
|
||||||
//FilterEvents filters the stored events based on the searchQuery
|
//FilterEvents filters the stored events based on the searchQuery
|
||||||
// and maps the events to the defined event structs
|
// and maps the events to the defined event structs
|
||||||
func (es *Eventstore) FilterEvents(ctx context.Context, queryFactory *SearchQueryFactory) ([]EventReader, error) {
|
func (es *Eventstore) FilterEvents(ctx context.Context, queryFactory *SearchQueryBuilder) ([]EventReader, error) {
|
||||||
query, err := queryFactory.build()
|
query, err := queryFactory.build()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -138,7 +138,7 @@ type reducer interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//FilterToReducer filters the events based on the search query, appends all events to the reducer and calls it's reduce function
|
//FilterToReducer filters the events based on the search query, appends all events to the reducer and calls it's reduce function
|
||||||
func (es *Eventstore) FilterToReducer(ctx context.Context, searchQuery *SearchQueryFactory, r reducer) error {
|
func (es *Eventstore) FilterToReducer(ctx context.Context, searchQuery *SearchQueryBuilder, r reducer) error {
|
||||||
events, err := es.FilterEvents(ctx, searchQuery)
|
events, err := es.FilterEvents(ctx, searchQuery)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -150,7 +150,7 @@ func (es *Eventstore) FilterToReducer(ctx context.Context, searchQuery *SearchQu
|
|||||||
}
|
}
|
||||||
|
|
||||||
//LatestSequence filters the latest sequence for the given search query
|
//LatestSequence filters the latest sequence for the given search query
|
||||||
func (es *Eventstore) LatestSequence(ctx context.Context, queryFactory *SearchQueryFactory) (uint64, error) {
|
func (es *Eventstore) LatestSequence(ctx context.Context, queryFactory *SearchQueryBuilder) (uint64, error) {
|
||||||
query, err := queryFactory.build()
|
query, err := queryFactory.build()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
@ -161,7 +161,7 @@ func (es *Eventstore) LatestSequence(ctx context.Context, queryFactory *SearchQu
|
|||||||
type queryReducer interface {
|
type queryReducer interface {
|
||||||
reducer
|
reducer
|
||||||
//Query returns the SearchQueryFactory for the events needed in reducer
|
//Query returns the SearchQueryFactory for the events needed in reducer
|
||||||
Query() *SearchQueryFactory
|
Query() *SearchQueryBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
//FilterToQueryReducer filters the events based on the search query of the query function,
|
//FilterToQueryReducer filters the events based on the search query of the query function,
|
||||||
|
@ -908,7 +908,7 @@ func TestEventstore_Push(t *testing.T) {
|
|||||||
|
|
||||||
func TestEventstore_FilterEvents(t *testing.T) {
|
func TestEventstore_FilterEvents(t *testing.T) {
|
||||||
type args struct {
|
type args struct {
|
||||||
query *SearchQueryFactory
|
query *SearchQueryBuilder
|
||||||
}
|
}
|
||||||
type fields struct {
|
type fields struct {
|
||||||
repo *testRepo
|
repo *testRepo
|
||||||
@ -935,7 +935,7 @@ func TestEventstore_FilterEvents(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "no events",
|
name: "no events",
|
||||||
args: args{
|
args: args{
|
||||||
query: &SearchQueryFactory{
|
query: &SearchQueryBuilder{
|
||||||
aggregateTypes: []AggregateType{"no.aggregates"},
|
aggregateTypes: []AggregateType{"no.aggregates"},
|
||||||
columns: repository.ColumnsEvent,
|
columns: repository.ColumnsEvent,
|
||||||
},
|
},
|
||||||
@ -958,7 +958,7 @@ func TestEventstore_FilterEvents(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "repo error",
|
name: "repo error",
|
||||||
args: args{
|
args: args{
|
||||||
query: &SearchQueryFactory{
|
query: &SearchQueryBuilder{
|
||||||
aggregateTypes: []AggregateType{"no.aggregates"},
|
aggregateTypes: []AggregateType{"no.aggregates"},
|
||||||
columns: repository.ColumnsEvent,
|
columns: repository.ColumnsEvent,
|
||||||
},
|
},
|
||||||
@ -981,7 +981,7 @@ func TestEventstore_FilterEvents(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "found events",
|
name: "found events",
|
||||||
args: args{
|
args: args{
|
||||||
query: &SearchQueryFactory{
|
query: &SearchQueryBuilder{
|
||||||
aggregateTypes: []AggregateType{"test.aggregate"},
|
aggregateTypes: []AggregateType{"test.aggregate"},
|
||||||
columns: repository.ColumnsEvent,
|
columns: repository.ColumnsEvent,
|
||||||
},
|
},
|
||||||
@ -1033,7 +1033,7 @@ func TestEventstore_FilterEvents(t *testing.T) {
|
|||||||
|
|
||||||
func TestEventstore_LatestSequence(t *testing.T) {
|
func TestEventstore_LatestSequence(t *testing.T) {
|
||||||
type args struct {
|
type args struct {
|
||||||
query *SearchQueryFactory
|
query *SearchQueryBuilder
|
||||||
}
|
}
|
||||||
type fields struct {
|
type fields struct {
|
||||||
repo *testRepo
|
repo *testRepo
|
||||||
@ -1059,7 +1059,7 @@ func TestEventstore_LatestSequence(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "no events",
|
name: "no events",
|
||||||
args: args{
|
args: args{
|
||||||
query: &SearchQueryFactory{
|
query: &SearchQueryBuilder{
|
||||||
aggregateTypes: []AggregateType{"no.aggregates"},
|
aggregateTypes: []AggregateType{"no.aggregates"},
|
||||||
columns: repository.ColumnsMaxSequence,
|
columns: repository.ColumnsMaxSequence,
|
||||||
},
|
},
|
||||||
@ -1077,7 +1077,7 @@ func TestEventstore_LatestSequence(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "repo error",
|
name: "repo error",
|
||||||
args: args{
|
args: args{
|
||||||
query: &SearchQueryFactory{
|
query: &SearchQueryBuilder{
|
||||||
aggregateTypes: []AggregateType{"no.aggregates"},
|
aggregateTypes: []AggregateType{"no.aggregates"},
|
||||||
columns: repository.ColumnsMaxSequence,
|
columns: repository.ColumnsMaxSequence,
|
||||||
},
|
},
|
||||||
@ -1095,7 +1095,7 @@ func TestEventstore_LatestSequence(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "found events",
|
name: "found events",
|
||||||
args: args{
|
args: args{
|
||||||
query: &SearchQueryFactory{
|
query: &SearchQueryBuilder{
|
||||||
aggregateTypes: []AggregateType{"test.aggregate"},
|
aggregateTypes: []AggregateType{"test.aggregate"},
|
||||||
columns: repository.ColumnsMaxSequence,
|
columns: repository.ColumnsMaxSequence,
|
||||||
},
|
},
|
||||||
@ -1149,7 +1149,7 @@ func (r *testReducer) AppendEvents(e ...EventReader) {
|
|||||||
|
|
||||||
func TestEventstore_FilterToReducer(t *testing.T) {
|
func TestEventstore_FilterToReducer(t *testing.T) {
|
||||||
type args struct {
|
type args struct {
|
||||||
query *SearchQueryFactory
|
query *SearchQueryBuilder
|
||||||
readModel reducer
|
readModel reducer
|
||||||
}
|
}
|
||||||
type fields struct {
|
type fields struct {
|
||||||
@ -1177,7 +1177,7 @@ func TestEventstore_FilterToReducer(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "no events",
|
name: "no events",
|
||||||
args: args{
|
args: args{
|
||||||
query: &SearchQueryFactory{
|
query: &SearchQueryBuilder{
|
||||||
aggregateTypes: []AggregateType{"no.aggregates"},
|
aggregateTypes: []AggregateType{"no.aggregates"},
|
||||||
columns: repository.ColumnsEvent,
|
columns: repository.ColumnsEvent,
|
||||||
},
|
},
|
||||||
@ -1204,7 +1204,7 @@ func TestEventstore_FilterToReducer(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "repo error",
|
name: "repo error",
|
||||||
args: args{
|
args: args{
|
||||||
query: &SearchQueryFactory{
|
query: &SearchQueryBuilder{
|
||||||
aggregateTypes: []AggregateType{"no.aggregates"},
|
aggregateTypes: []AggregateType{"no.aggregates"},
|
||||||
columns: repository.ColumnsEvent,
|
columns: repository.ColumnsEvent,
|
||||||
},
|
},
|
||||||
@ -1231,7 +1231,7 @@ func TestEventstore_FilterToReducer(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "found events",
|
name: "found events",
|
||||||
args: args{
|
args: args{
|
||||||
query: NewSearchQueryFactory(repository.ColumnsEvent, "test.aggregate"),
|
query: NewSearchQueryBuilder(repository.ColumnsEvent, "test.aggregate"),
|
||||||
readModel: &testReducer{
|
readModel: &testReducer{
|
||||||
t: t,
|
t: t,
|
||||||
expectedLength: 1,
|
expectedLength: 1,
|
||||||
@ -1257,7 +1257,7 @@ func TestEventstore_FilterToReducer(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "append in reducer fails",
|
name: "append in reducer fails",
|
||||||
args: args{
|
args: args{
|
||||||
query: &SearchQueryFactory{
|
query: &SearchQueryBuilder{
|
||||||
aggregateTypes: []AggregateType{"test.aggregate"},
|
aggregateTypes: []AggregateType{"test.aggregate"},
|
||||||
columns: repository.ColumnsEvent,
|
columns: repository.ColumnsEvent,
|
||||||
},
|
},
|
||||||
|
@ -317,7 +317,7 @@ func TestUserReadModel(t *testing.T) {
|
|||||||
fmt.Printf("%+v\n", events)
|
fmt.Printf("%+v\n", events)
|
||||||
|
|
||||||
users := UsersReadModel{}
|
users := UsersReadModel{}
|
||||||
err = es.FilterToReducer(context.Background(), eventstore.NewSearchQueryFactory(eventstore.ColumnsEvent, "test.user"), &users)
|
err = es.FilterToReducer(context.Background(), eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent, "test.user"), &users)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error on filter to reducer: %v", err)
|
t.Errorf("unexpected error on filter to reducer: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,9 @@ import (
|
|||||||
"github.com/caos/zitadel/internal/eventstore/v2/repository"
|
"github.com/caos/zitadel/internal/eventstore/v2/repository"
|
||||||
)
|
)
|
||||||
|
|
||||||
//SearchQueryFactory represents the builder for your filter
|
//SearchQueryBuilder represents the builder for your filter
|
||||||
// if invalid data are set the filter will fail
|
// if invalid data are set the filter will fail
|
||||||
type SearchQueryFactory struct {
|
type SearchQueryBuilder struct {
|
||||||
columns repository.Columns
|
columns repository.Columns
|
||||||
limit uint64
|
limit uint64
|
||||||
desc bool
|
desc bool
|
||||||
@ -35,61 +35,61 @@ type AggregateType repository.AggregateType
|
|||||||
// EventType is the description of the change
|
// EventType is the description of the change
|
||||||
type EventType repository.EventType
|
type EventType repository.EventType
|
||||||
|
|
||||||
// NewSearchQueryFactory creates a new factory for event filters
|
// NewSearchQueryBuilder creates a new factory for event filters
|
||||||
// aggregateTypes must contain at least one aggregate type
|
// aggregateTypes must contain at least one aggregate type
|
||||||
func NewSearchQueryFactory(columns Columns, aggregateTypes ...AggregateType) *SearchQueryFactory {
|
func NewSearchQueryBuilder(columns Columns, aggregateTypes ...AggregateType) *SearchQueryBuilder {
|
||||||
return &SearchQueryFactory{
|
return &SearchQueryBuilder{
|
||||||
columns: repository.Columns(columns),
|
columns: repository.Columns(columns),
|
||||||
aggregateTypes: aggregateTypes,
|
aggregateTypes: aggregateTypes,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) Columns(columns Columns) *SearchQueryFactory {
|
func (factory *SearchQueryBuilder) Columns(columns Columns) *SearchQueryBuilder {
|
||||||
factory.columns = repository.Columns(columns)
|
factory.columns = repository.Columns(columns)
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) Limit(limit uint64) *SearchQueryFactory {
|
func (factory *SearchQueryBuilder) Limit(limit uint64) *SearchQueryBuilder {
|
||||||
factory.limit = limit
|
factory.limit = limit
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) SequenceGreater(sequence uint64) *SearchQueryFactory {
|
func (factory *SearchQueryBuilder) SequenceGreater(sequence uint64) *SearchQueryBuilder {
|
||||||
factory.eventSequence = sequence
|
factory.eventSequence = sequence
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) AggregateIDs(ids ...string) *SearchQueryFactory {
|
func (factory *SearchQueryBuilder) AggregateIDs(ids ...string) *SearchQueryBuilder {
|
||||||
factory.aggregateIDs = ids
|
factory.aggregateIDs = ids
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) EventTypes(types ...EventType) *SearchQueryFactory {
|
func (factory *SearchQueryBuilder) EventTypes(types ...EventType) *SearchQueryBuilder {
|
||||||
factory.eventTypes = types
|
factory.eventTypes = types
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) ResourceOwner(resourceOwner string) *SearchQueryFactory {
|
func (factory *SearchQueryBuilder) ResourceOwner(resourceOwner string) *SearchQueryBuilder {
|
||||||
factory.resourceOwner = resourceOwner
|
factory.resourceOwner = resourceOwner
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) OrderDesc() *SearchQueryFactory {
|
func (factory *SearchQueryBuilder) OrderDesc() *SearchQueryBuilder {
|
||||||
factory.desc = true
|
factory.desc = true
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) OrderAsc() *SearchQueryFactory {
|
func (factory *SearchQueryBuilder) OrderAsc() *SearchQueryBuilder {
|
||||||
factory.desc = false
|
factory.desc = false
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) EventData(query map[string]interface{}) *SearchQueryFactory {
|
func (factory *SearchQueryBuilder) EventData(query map[string]interface{}) *SearchQueryBuilder {
|
||||||
factory.eventData = query
|
factory.eventData = query
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) build() (*repository.SearchQuery, error) {
|
func (factory *SearchQueryBuilder) build() (*repository.SearchQuery, error) {
|
||||||
if factory == nil ||
|
if factory == nil ||
|
||||||
len(factory.aggregateTypes) < 1 ||
|
len(factory.aggregateTypes) < 1 ||
|
||||||
factory.columns.Validate() != nil {
|
factory.columns.Validate() != nil {
|
||||||
@ -122,7 +122,7 @@ func (factory *SearchQueryFactory) build() (*repository.SearchQuery, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) aggregateIDFilter() *repository.Filter {
|
func (factory *SearchQueryBuilder) aggregateIDFilter() *repository.Filter {
|
||||||
if len(factory.aggregateIDs) < 1 {
|
if len(factory.aggregateIDs) < 1 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -132,7 +132,7 @@ func (factory *SearchQueryFactory) aggregateIDFilter() *repository.Filter {
|
|||||||
return repository.NewFilter(repository.FieldAggregateID, factory.aggregateIDs, repository.OperationIn)
|
return repository.NewFilter(repository.FieldAggregateID, factory.aggregateIDs, repository.OperationIn)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) eventTypeFilter() *repository.Filter {
|
func (factory *SearchQueryBuilder) eventTypeFilter() *repository.Filter {
|
||||||
if len(factory.eventTypes) < 1 {
|
if len(factory.eventTypes) < 1 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -142,14 +142,14 @@ func (factory *SearchQueryFactory) eventTypeFilter() *repository.Filter {
|
|||||||
return repository.NewFilter(repository.FieldEventType, factory.eventTypes, repository.OperationIn)
|
return repository.NewFilter(repository.FieldEventType, factory.eventTypes, repository.OperationIn)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) aggregateTypeFilter() *repository.Filter {
|
func (factory *SearchQueryBuilder) aggregateTypeFilter() *repository.Filter {
|
||||||
if len(factory.aggregateTypes) == 1 {
|
if len(factory.aggregateTypes) == 1 {
|
||||||
return repository.NewFilter(repository.FieldAggregateType, factory.aggregateTypes[0], repository.OperationEquals)
|
return repository.NewFilter(repository.FieldAggregateType, factory.aggregateTypes[0], repository.OperationEquals)
|
||||||
}
|
}
|
||||||
return repository.NewFilter(repository.FieldAggregateType, factory.aggregateTypes, repository.OperationIn)
|
return repository.NewFilter(repository.FieldAggregateType, factory.aggregateTypes, repository.OperationIn)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) eventSequenceFilter() *repository.Filter {
|
func (factory *SearchQueryBuilder) eventSequenceFilter() *repository.Filter {
|
||||||
if factory.eventSequence == 0 {
|
if factory.eventSequence == 0 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -160,14 +160,14 @@ func (factory *SearchQueryFactory) eventSequenceFilter() *repository.Filter {
|
|||||||
return repository.NewFilter(repository.FieldSequence, factory.eventSequence, sortOrder)
|
return repository.NewFilter(repository.FieldSequence, factory.eventSequence, sortOrder)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) resourceOwnerFilter() *repository.Filter {
|
func (factory *SearchQueryBuilder) resourceOwnerFilter() *repository.Filter {
|
||||||
if factory.resourceOwner == "" {
|
if factory.resourceOwner == "" {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return repository.NewFilter(repository.FieldResourceOwner, factory.resourceOwner, repository.OperationEquals)
|
return repository.NewFilter(repository.FieldResourceOwner, factory.resourceOwner, repository.OperationEquals)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (factory *SearchQueryFactory) eventDataFilter() *repository.Filter {
|
func (factory *SearchQueryBuilder) eventDataFilter() *repository.Filter {
|
||||||
if len(factory.eventData) == 0 {
|
if len(factory.eventData) == 0 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -9,50 +9,50 @@ import (
|
|||||||
"github.com/caos/zitadel/internal/eventstore/v2/repository"
|
"github.com/caos/zitadel/internal/eventstore/v2/repository"
|
||||||
)
|
)
|
||||||
|
|
||||||
func testSetColumns(columns Columns) func(factory *SearchQueryFactory) *SearchQueryFactory {
|
func testSetColumns(columns Columns) func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
return func(factory *SearchQueryFactory) *SearchQueryFactory {
|
return func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
factory = factory.Columns(columns)
|
factory = factory.Columns(columns)
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func testSetLimit(limit uint64) func(factory *SearchQueryFactory) *SearchQueryFactory {
|
func testSetLimit(limit uint64) func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
return func(factory *SearchQueryFactory) *SearchQueryFactory {
|
return func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
factory = factory.Limit(limit)
|
factory = factory.Limit(limit)
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func testSetSequence(sequence uint64) func(factory *SearchQueryFactory) *SearchQueryFactory {
|
func testSetSequence(sequence uint64) func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
return func(factory *SearchQueryFactory) *SearchQueryFactory {
|
return func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
factory = factory.SequenceGreater(sequence)
|
factory = factory.SequenceGreater(sequence)
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func testSetAggregateIDs(aggregateIDs ...string) func(factory *SearchQueryFactory) *SearchQueryFactory {
|
func testSetAggregateIDs(aggregateIDs ...string) func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
return func(factory *SearchQueryFactory) *SearchQueryFactory {
|
return func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
factory = factory.AggregateIDs(aggregateIDs...)
|
factory = factory.AggregateIDs(aggregateIDs...)
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func testSetEventTypes(eventTypes ...EventType) func(factory *SearchQueryFactory) *SearchQueryFactory {
|
func testSetEventTypes(eventTypes ...EventType) func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
return func(factory *SearchQueryFactory) *SearchQueryFactory {
|
return func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
factory = factory.EventTypes(eventTypes...)
|
factory = factory.EventTypes(eventTypes...)
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func testSetResourceOwner(resourceOwner string) func(factory *SearchQueryFactory) *SearchQueryFactory {
|
func testSetResourceOwner(resourceOwner string) func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
return func(factory *SearchQueryFactory) *SearchQueryFactory {
|
return func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
factory = factory.ResourceOwner(resourceOwner)
|
factory = factory.ResourceOwner(resourceOwner)
|
||||||
return factory
|
return factory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func testSetSortOrder(asc bool) func(factory *SearchQueryFactory) *SearchQueryFactory {
|
func testSetSortOrder(asc bool) func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
return func(factory *SearchQueryFactory) *SearchQueryFactory {
|
return func(factory *SearchQueryBuilder) *SearchQueryBuilder {
|
||||||
if asc {
|
if asc {
|
||||||
factory = factory.OrderAsc()
|
factory = factory.OrderAsc()
|
||||||
} else {
|
} else {
|
||||||
@ -66,12 +66,12 @@ func TestSearchQueryFactorySetters(t *testing.T) {
|
|||||||
type args struct {
|
type args struct {
|
||||||
columns Columns
|
columns Columns
|
||||||
aggregateTypes []AggregateType
|
aggregateTypes []AggregateType
|
||||||
setters []func(*SearchQueryFactory) *SearchQueryFactory
|
setters []func(*SearchQueryBuilder) *SearchQueryBuilder
|
||||||
}
|
}
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
args args
|
args args
|
||||||
res *SearchQueryFactory
|
res *SearchQueryBuilder
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "New factory",
|
name: "New factory",
|
||||||
@ -79,7 +79,7 @@ func TestSearchQueryFactorySetters(t *testing.T) {
|
|||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user", "org"},
|
aggregateTypes: []AggregateType{"user", "org"},
|
||||||
},
|
},
|
||||||
res: &SearchQueryFactory{
|
res: &SearchQueryBuilder{
|
||||||
columns: repository.Columns(ColumnsEvent),
|
columns: repository.Columns(ColumnsEvent),
|
||||||
aggregateTypes: []AggregateType{"user", "org"},
|
aggregateTypes: []AggregateType{"user", "org"},
|
||||||
},
|
},
|
||||||
@ -87,54 +87,54 @@ func TestSearchQueryFactorySetters(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "set columns",
|
name: "set columns",
|
||||||
args: args{
|
args: args{
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{testSetColumns(repository.ColumnsMaxSequence)},
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{testSetColumns(repository.ColumnsMaxSequence)},
|
||||||
},
|
},
|
||||||
res: &SearchQueryFactory{
|
res: &SearchQueryBuilder{
|
||||||
columns: repository.ColumnsMaxSequence,
|
columns: repository.ColumnsMaxSequence,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "set limit",
|
name: "set limit",
|
||||||
args: args{
|
args: args{
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{testSetLimit(100)},
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{testSetLimit(100)},
|
||||||
},
|
},
|
||||||
res: &SearchQueryFactory{
|
res: &SearchQueryBuilder{
|
||||||
limit: 100,
|
limit: 100,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "set sequence",
|
name: "set sequence",
|
||||||
args: args{
|
args: args{
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{testSetSequence(90)},
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{testSetSequence(90)},
|
||||||
},
|
},
|
||||||
res: &SearchQueryFactory{
|
res: &SearchQueryBuilder{
|
||||||
eventSequence: 90,
|
eventSequence: 90,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "set aggregateIDs",
|
name: "set aggregateIDs",
|
||||||
args: args{
|
args: args{
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{testSetAggregateIDs("1235", "09824")},
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{testSetAggregateIDs("1235", "09824")},
|
||||||
},
|
},
|
||||||
res: &SearchQueryFactory{
|
res: &SearchQueryBuilder{
|
||||||
aggregateIDs: []string{"1235", "09824"},
|
aggregateIDs: []string{"1235", "09824"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "set eventTypes",
|
name: "set eventTypes",
|
||||||
args: args{
|
args: args{
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{testSetEventTypes("user.created", "user.updated")},
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{testSetEventTypes("user.created", "user.updated")},
|
||||||
},
|
},
|
||||||
res: &SearchQueryFactory{
|
res: &SearchQueryBuilder{
|
||||||
eventTypes: []EventType{"user.created", "user.updated"},
|
eventTypes: []EventType{"user.created", "user.updated"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "set resource owner",
|
name: "set resource owner",
|
||||||
args: args{
|
args: args{
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{testSetResourceOwner("hodor")},
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{testSetResourceOwner("hodor")},
|
||||||
},
|
},
|
||||||
res: &SearchQueryFactory{
|
res: &SearchQueryBuilder{
|
||||||
resourceOwner: "hodor",
|
resourceOwner: "hodor",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -142,9 +142,9 @@ func TestSearchQueryFactorySetters(t *testing.T) {
|
|||||||
name: "default search query",
|
name: "default search query",
|
||||||
args: args{
|
args: args{
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{testSetAggregateIDs("1235", "024"), testSetSortOrder(false)},
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{testSetAggregateIDs("1235", "024"), testSetSortOrder(false)},
|
||||||
},
|
},
|
||||||
res: &SearchQueryFactory{
|
res: &SearchQueryBuilder{
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
aggregateIDs: []string{"1235", "024"},
|
aggregateIDs: []string{"1235", "024"},
|
||||||
desc: true,
|
desc: true,
|
||||||
@ -153,7 +153,7 @@ func TestSearchQueryFactorySetters(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
factory := NewSearchQueryFactory(tt.args.columns, tt.args.aggregateTypes...)
|
factory := NewSearchQueryBuilder(tt.args.columns, tt.args.aggregateTypes...)
|
||||||
for _, setter := range tt.args.setters {
|
for _, setter := range tt.args.setters {
|
||||||
factory = setter(factory)
|
factory = setter(factory)
|
||||||
}
|
}
|
||||||
@ -168,7 +168,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
type args struct {
|
type args struct {
|
||||||
columns Columns
|
columns Columns
|
||||||
aggregateTypes []AggregateType
|
aggregateTypes []AggregateType
|
||||||
setters []func(*SearchQueryFactory) *SearchQueryFactory
|
setters []func(*SearchQueryBuilder) *SearchQueryBuilder
|
||||||
}
|
}
|
||||||
type res struct {
|
type res struct {
|
||||||
isErr func(err error) bool
|
isErr func(err error) bool
|
||||||
@ -184,7 +184,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{},
|
aggregateTypes: []AggregateType{},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{},
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{},
|
||||||
},
|
},
|
||||||
res: res{
|
res: res{
|
||||||
isErr: errors.IsPreconditionFailed,
|
isErr: errors.IsPreconditionFailed,
|
||||||
@ -196,7 +196,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetColumns(Columns(-1)),
|
testSetColumns(Columns(-1)),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -209,7 +209,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetColumns(math.MaxInt32),
|
testSetColumns(math.MaxInt32),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -222,7 +222,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{},
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{},
|
||||||
},
|
},
|
||||||
res: res{
|
res: res{
|
||||||
isErr: nil,
|
isErr: nil,
|
||||||
@ -241,7 +241,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user", "org"},
|
aggregateTypes: []AggregateType{"user", "org"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{},
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{},
|
||||||
},
|
},
|
||||||
res: res{
|
res: res{
|
||||||
isErr: nil,
|
isErr: nil,
|
||||||
@ -260,7 +260,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetLimit(5),
|
testSetLimit(5),
|
||||||
testSetSortOrder(false),
|
testSetSortOrder(false),
|
||||||
testSetSequence(100),
|
testSetSequence(100),
|
||||||
@ -284,7 +284,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetLimit(5),
|
testSetLimit(5),
|
||||||
testSetSortOrder(true),
|
testSetSortOrder(true),
|
||||||
testSetSequence(100),
|
testSetSequence(100),
|
||||||
@ -308,7 +308,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetLimit(5),
|
testSetLimit(5),
|
||||||
testSetSortOrder(false),
|
testSetSortOrder(false),
|
||||||
testSetSequence(100),
|
testSetSequence(100),
|
||||||
@ -333,7 +333,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetAggregateIDs("1234"),
|
testSetAggregateIDs("1234"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -355,7 +355,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetAggregateIDs("1234", "0815"),
|
testSetAggregateIDs("1234", "0815"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -377,7 +377,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetSequence(8),
|
testSetSequence(8),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -399,7 +399,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetEventTypes("user.created"),
|
testSetEventTypes("user.created"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -421,7 +421,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetEventTypes("user.created", "user.changed"),
|
testSetEventTypes("user.created", "user.changed"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -443,7 +443,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
args: args{
|
args: args{
|
||||||
columns: ColumnsEvent,
|
columns: ColumnsEvent,
|
||||||
aggregateTypes: []AggregateType{"user"},
|
aggregateTypes: []AggregateType{"user"},
|
||||||
setters: []func(*SearchQueryFactory) *SearchQueryFactory{
|
setters: []func(*SearchQueryBuilder) *SearchQueryBuilder{
|
||||||
testSetResourceOwner("hodor"),
|
testSetResourceOwner("hodor"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -473,7 +473,7 @@ func TestSearchQueryFactoryBuild(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
factory := NewSearchQueryFactory(tt.args.columns, tt.args.aggregateTypes...)
|
factory := NewSearchQueryBuilder(tt.args.columns, tt.args.aggregateTypes...)
|
||||||
for _, f := range tt.args.setters {
|
for _, f := range tt.args.setters {
|
||||||
factory = f(factory)
|
factory = f(factory)
|
||||||
}
|
}
|
||||||
|
@ -51,8 +51,8 @@ func (rm *IDPConfigReadModel) AppendEvents(events ...eventstore.EventReader) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rm *IDPConfigReadModel) Query() *eventstore.SearchQueryFactory {
|
func (rm *IDPConfigReadModel) Query() *eventstore.SearchQueryBuilder {
|
||||||
return eventstore.NewSearchQueryFactory(eventstore.ColumnsEvent, AggregateType).
|
return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent, AggregateType).
|
||||||
AggregateIDs(rm.iamID).
|
AggregateIDs(rm.iamID).
|
||||||
EventData(map[string]interface{}{
|
EventData(map[string]interface{}{
|
||||||
"idpConfigId": rm.configID,
|
"idpConfigId": rm.configID,
|
||||||
@ -74,8 +74,8 @@ func NewIDPConfigWriteModel(iamID, configID string) *IDPConfigWriteModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (wm *IDPConfigWriteModel) Query() *eventstore.SearchQueryFactory {
|
func (wm *IDPConfigWriteModel) Query() *eventstore.SearchQueryBuilder {
|
||||||
return eventstore.NewSearchQueryFactory(eventstore.ColumnsEvent, AggregateType).
|
return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent, AggregateType).
|
||||||
AggregateIDs(wm.iamID)
|
AggregateIDs(wm.iamID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,8 +56,8 @@ func (wm *IDPOIDCConfigWriteModel) Reduce() error {
|
|||||||
return wm.WriteModel.Reduce()
|
return wm.WriteModel.Reduce()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (wm *IDPOIDCConfigWriteModel) Query() *eventstore.SearchQueryFactory {
|
func (wm *IDPOIDCConfigWriteModel) Query() *eventstore.SearchQueryBuilder {
|
||||||
return eventstore.NewSearchQueryFactory(eventstore.ColumnsEvent, AggregateType).
|
return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent, AggregateType).
|
||||||
AggregateIDs(wm.iamID)
|
AggregateIDs(wm.iamID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,8 +41,8 @@ func (rm *MemberReadModel) AppendEvents(events ...eventstore.EventReader) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rm *MemberReadModel) Query() *eventstore.SearchQueryFactory {
|
func (rm *MemberReadModel) Query() *eventstore.SearchQueryBuilder {
|
||||||
return eventstore.NewSearchQueryFactory(eventstore.ColumnsEvent, AggregateType).
|
return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent, AggregateType).
|
||||||
AggregateIDs(rm.iamID).
|
AggregateIDs(rm.iamID).
|
||||||
EventData(map[string]interface{}{
|
EventData(map[string]interface{}{
|
||||||
"userId": rm.userID,
|
"userId": rm.userID,
|
||||||
@ -94,8 +94,8 @@ func (wm *MemberWriteModel) Reduce() error {
|
|||||||
return wm.WriteModel.Reduce()
|
return wm.WriteModel.Reduce()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (wm *MemberWriteModel) Query() *eventstore.SearchQueryFactory {
|
func (wm *MemberWriteModel) Query() *eventstore.SearchQueryBuilder {
|
||||||
return eventstore.NewSearchQueryFactory(eventstore.ColumnsEvent, AggregateType).
|
return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent, AggregateType).
|
||||||
AggregateIDs(wm.iamID)
|
AggregateIDs(wm.iamID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,8 +109,8 @@ func (wm *LoginPolicyIDPProviderWriteModel) Reduce() error {
|
|||||||
return wm.WriteModel.Reduce()
|
return wm.WriteModel.Reduce()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (wm *LoginPolicyIDPProviderWriteModel) Query() *eventstore.SearchQueryFactory {
|
func (wm *LoginPolicyIDPProviderWriteModel) Query() *eventstore.SearchQueryBuilder {
|
||||||
return eventstore.NewSearchQueryFactory(eventstore.ColumnsEvent, AggregateType).
|
return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent, AggregateType).
|
||||||
AggregateIDs(wm.iamID)
|
AggregateIDs(wm.iamID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,6 +125,6 @@ func (rm *ReadModel) AppendAndReduce(events ...eventstore.EventReader) error {
|
|||||||
return rm.Reduce()
|
return rm.Reduce()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rm *ReadModel) Query() *eventstore.SearchQueryFactory {
|
func (rm *ReadModel) Query() *eventstore.SearchQueryBuilder {
|
||||||
return eventstore.NewSearchQueryFactory(eventstore.ColumnsEvent, AggregateType).AggregateIDs(rm.AggregateID)
|
return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent, AggregateType).AggregateIDs(rm.AggregateID)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user