package command import ( "golang.org/x/text/language" "github.com/caos/zitadel/internal/domain" "github.com/caos/zitadel/internal/eventstore" "github.com/caos/zitadel/internal/repository/iam" ) type IAMCustomTextWriteModel struct { CustomTextWriteModel } func NewIAMCustomTextWriteModel(key string, language language.Tag) *IAMCustomTextWriteModel { return &IAMCustomTextWriteModel{ CustomTextWriteModel{ WriteModel: eventstore.WriteModel{ AggregateID: domain.IAMID, ResourceOwner: domain.IAMID, }, Key: key, Language: language, }, } } func (wm *IAMCustomTextWriteModel) AppendEvents(events ...eventstore.EventReader) { for _, event := range events { switch e := event.(type) { case *iam.CustomTextSetEvent: wm.CustomTextWriteModel.AppendEvents(&e.CustomTextSetEvent) } } } func (wm *IAMCustomTextWriteModel) Reduce() error { return wm.CustomTextWriteModel.Reduce() } func (wm *IAMCustomTextWriteModel) Query() *eventstore.SearchQueryBuilder { return eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent). ResourceOwner(wm.ResourceOwner). AddQuery(). AggregateIDs(wm.CustomTextWriteModel.AggregateID). AggregateTypes(iam.AggregateType). EventTypes( iam.CustomTextSetEventType). Builder() }