This commit is contained in:
adlerhurst
2020-11-30 07:56:38 +01:00
parent c2400e1da5
commit 0780c23f76
5 changed files with 48 additions and 41 deletions

View File

@@ -39,7 +39,7 @@ type MemberWriteModel struct {
iamID string
}
func NewMemberReadModel(iamID, userID string) *MemberWriteModel {
func NewMemberWriteModel(iamID, userID string) *MemberWriteModel {
return &MemberWriteModel{
userID: userID,
iamID: iamID,
@@ -69,6 +69,13 @@ func (wm *MemberWriteModel) AppendEvents(events ...eventstore.EventReader) {
}
}
func (wm *MemberWriteModel) Reduce() error {
if err := wm.Member.Reduce(); err != nil {
return err
}
return wm.WriteModel.Reduce()
}
func (wm *MemberWriteModel) Query() *eventstore.SearchQueryFactory {
return eventstore.NewSearchQueryFactory(eventstore.ColumnsEvent, AggregateType).
AggregateIDs(wm.iamID)

View File

@@ -8,9 +8,9 @@ import "github.com/caos/zitadel/internal/eventstore/v2"
type WriteModel struct {
eventstore.WriteModel
UserID string
Roles []string
IsRemoved bool
UserID string
Roles []string
IsActive bool
}
func NewWriteModel(userID string) *WriteModel {
@@ -26,11 +26,12 @@ func (wm *WriteModel) Reduce() error {
case *AddedEvent:
wm.UserID = e.UserID
wm.Roles = e.Roles
wm.IsActive = true
case *ChangedEvent:
wm.Roles = e.Roles
case *RemovedEvent:
wm.Roles = nil
wm.IsRemoved = true
wm.IsActive = false
}
}
return wm.WriteModel.Reduce()