mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-14 20:08:02 +00:00
28 lines
735 B
Go
28 lines
735 B
Go
|
package iam
|
||
|
|
||
|
import (
|
||
|
"github.com/caos/zitadel/internal/eventstore/v2"
|
||
|
"github.com/caos/zitadel/internal/v2/repository/member"
|
||
|
"github.com/caos/zitadel/internal/v2/repository/members"
|
||
|
)
|
||
|
|
||
|
type MembersReadModel struct {
|
||
|
members.ReadModel
|
||
|
}
|
||
|
|
||
|
func (rm *MembersReadModel) AppendEvents(events ...eventstore.EventReader) (err error) {
|
||
|
for _, event := range events {
|
||
|
switch e := event.(type) {
|
||
|
case *MemberAddedEvent:
|
||
|
rm.ReadModel.AppendEvents(&e.AddedEvent)
|
||
|
case *MemberChangedEvent:
|
||
|
rm.ReadModel.AppendEvents(&e.ChangedEvent)
|
||
|
case *MemberRemovedEvent:
|
||
|
rm.ReadModel.AppendEvents(&e.RemovedEvent)
|
||
|
case *member.AddedEvent, *member.ChangedEvent, *member.RemovedEvent:
|
||
|
rm.ReadModel.AppendEvents(e)
|
||
|
}
|
||
|
}
|
||
|
return nil
|
||
|
}
|