mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 04:57:33 +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:
@@ -71,25 +71,29 @@ func (u *UserMembershipView) AppendEvent(event *models.Event) (err error) {
|
||||
u.setRootData(event, model.MemberTypeIam)
|
||||
err = u.setIamMemberData(event)
|
||||
case iam_es_model.IAMMemberChanged,
|
||||
iam_es_model.IAMMemberRemoved:
|
||||
iam_es_model.IAMMemberRemoved,
|
||||
iam_es_model.IAMMemberCascadeRemoved:
|
||||
err = u.setIamMemberData(event)
|
||||
case org_es_model.OrgMemberAdded:
|
||||
u.setRootData(event, model.MemberTypeOrganisation)
|
||||
err = u.setOrgMemberData(event)
|
||||
case org_es_model.OrgMemberChanged,
|
||||
org_es_model.OrgMemberRemoved:
|
||||
org_es_model.OrgMemberRemoved,
|
||||
org_es_model.OrgMemberCascadeRemoved:
|
||||
err = u.setOrgMemberData(event)
|
||||
case proj_es_model.ProjectMemberAdded:
|
||||
u.setRootData(event, model.MemberTypeProject)
|
||||
err = u.setProjectMemberData(event)
|
||||
case proj_es_model.ProjectMemberChanged,
|
||||
proj_es_model.ProjectMemberRemoved:
|
||||
proj_es_model.ProjectMemberRemoved,
|
||||
proj_es_model.ProjectMemberCascadeRemoved:
|
||||
err = u.setProjectMemberData(event)
|
||||
case proj_es_model.ProjectGrantMemberAdded:
|
||||
u.setRootData(event, model.MemberTypeProjectGrant)
|
||||
err = u.setProjectGrantMemberData(event)
|
||||
case proj_es_model.ProjectGrantMemberChanged,
|
||||
proj_es_model.ProjectGrantMemberRemoved:
|
||||
proj_es_model.ProjectGrantMemberRemoved,
|
||||
proj_es_model.ProjectGrantMemberCascadeRemoved:
|
||||
err = u.setProjectGrantMemberData(event)
|
||||
}
|
||||
return err
|
||||
|
@@ -35,6 +35,16 @@ func UserMembershipsByAggregateID(db *gorm.DB, table, aggregateID string) ([]*mo
|
||||
return memberships, err
|
||||
}
|
||||
|
||||
func UserMembershipsByUserID(db *gorm.DB, table, userID string) ([]*model.UserMembershipView, error) {
|
||||
memberships := make([]*model.UserMembershipView, 0)
|
||||
aggregateIDQuery := &usr_model.UserMembershipSearchQuery{Key: usr_model.UserMembershipSearchKeyUserID, Value: userID, Method: domain.SearchMethodEquals}
|
||||
query := repository.PrepareSearchQuery(table, model.UserMembershipSearchRequest{
|
||||
Queries: []*usr_model.UserMembershipSearchQuery{aggregateIDQuery},
|
||||
})
|
||||
_, err := query(db, &memberships)
|
||||
return memberships, err
|
||||
}
|
||||
|
||||
func UserMembershipsByResourceOwner(db *gorm.DB, table, resourceOwner string) ([]*model.UserMembershipView, error) {
|
||||
memberships := make([]*model.UserMembershipView, 0)
|
||||
aggregateIDQuery := &usr_model.UserMembershipSearchQuery{Key: usr_model.UserMembershipSearchKeyResourceOwner, Value: resourceOwner, Method: domain.SearchMethodEquals}
|
||||
|
Reference in New Issue
Block a user