mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 07:57:32 +00:00
fix: Remove user with cascading memberships (#1811)
* fix: remove usermemberships on user remove * fix: text user remove with memberships * fix: translations * Update internal/iam/repository/eventsourcing/model/types.go Co-authored-by: Livio Amstutz <livio.a@gmail.com> * fix: uncomment tests * fix: remove memberships if user removed Co-authored-by: Livio Amstutz <livio.a@gmail.com>
This commit is contained in:
@@ -18,6 +18,7 @@ func RegisterEventMappers(es *eventstore.Eventstore) {
|
||||
RegisterFilterEventMapper(MemberAddedEventType, MemberAddedEventMapper).
|
||||
RegisterFilterEventMapper(MemberChangedEventType, MemberChangedEventMapper).
|
||||
RegisterFilterEventMapper(MemberRemovedEventType, MemberRemovedEventMapper).
|
||||
RegisterFilterEventMapper(MemberCascadeRemovedEventType, MemberCascadeRemovedEventMapper).
|
||||
RegisterFilterEventMapper(LabelPolicyAddedEventType, LabelPolicyAddedEventMapper).
|
||||
RegisterFilterEventMapper(LabelPolicyChangedEventType, LabelPolicyChangedEventMapper).
|
||||
RegisterFilterEventMapper(LabelPolicyActivatedEventType, LabelPolicyActivatedEventMapper).
|
||||
|
@@ -9,9 +9,10 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
MemberAddedEventType = orgEventTypePrefix + member.AddedEventType
|
||||
MemberChangedEventType = orgEventTypePrefix + member.ChangedEventType
|
||||
MemberRemovedEventType = orgEventTypePrefix + member.RemovedEventType
|
||||
MemberAddedEventType = orgEventTypePrefix + member.AddedEventType
|
||||
MemberChangedEventType = orgEventTypePrefix + member.ChangedEventType
|
||||
MemberRemovedEventType = orgEventTypePrefix + member.RemovedEventType
|
||||
MemberCascadeRemovedEventType = orgEventTypePrefix + member.CascadeRemovedEventType
|
||||
)
|
||||
|
||||
type MemberAddedEvent struct {
|
||||
@@ -88,7 +89,6 @@ func NewMemberRemovedEvent(
|
||||
aggregate *eventstore.Aggregate,
|
||||
userID string,
|
||||
) *MemberRemovedEvent {
|
||||
|
||||
return &MemberRemovedEvent{
|
||||
MemberRemovedEvent: *member.NewRemovedEvent(
|
||||
eventstore.NewBaseEventForPush(
|
||||
@@ -109,3 +109,33 @@ func MemberRemovedEventMapper(event *repository.Event) (eventstore.EventReader,
|
||||
|
||||
return &MemberRemovedEvent{MemberRemovedEvent: *e.(*member.MemberRemovedEvent)}, nil
|
||||
}
|
||||
|
||||
type MemberCascadeRemovedEvent struct {
|
||||
member.MemberCascadeRemovedEvent
|
||||
}
|
||||
|
||||
func NewMemberCascadeRemovedEvent(
|
||||
ctx context.Context,
|
||||
aggregate *eventstore.Aggregate,
|
||||
userID string,
|
||||
) *MemberCascadeRemovedEvent {
|
||||
return &MemberCascadeRemovedEvent{
|
||||
MemberCascadeRemovedEvent: *member.NewCascadeRemovedEvent(
|
||||
eventstore.NewBaseEventForPush(
|
||||
ctx,
|
||||
aggregate,
|
||||
MemberCascadeRemovedEventType,
|
||||
),
|
||||
userID,
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
func MemberCascadeRemovedEventMapper(event *repository.Event) (eventstore.EventReader, error) {
|
||||
e, err := member.CascadeRemovedEventMapper(event)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &MemberCascadeRemovedEvent{MemberCascadeRemovedEvent: *e.(*member.MemberCascadeRemovedEvent)}, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user