fix: handle usermemberships on project and project grant delete (#825)

This commit is contained in:
Fabi
2020-10-13 07:46:44 +02:00
committed by GitHub
parent 010a5815f4
commit 905ee1c68a
6 changed files with 55 additions and 2 deletions

View File

@@ -87,10 +87,10 @@ func (u *UserMembershipView) AppendEvent(event *models.Event) (err error) {
err = u.setProjectMemberData(event)
case proj_es_model.ProjectGrantMemberAdded:
u.setRootData(event, model.MemberTypeProjectGrant)
err = u.setProjectMemberData(event)
err = u.setProjectGrantMemberData(event)
case proj_es_model.ProjectGrantMemberChanged,
proj_es_model.ProjectGrantMemberRemoved:
err = u.setProjectMemberData(event)
err = u.setProjectGrantMemberData(event)
}
return err
}

View File

@@ -83,3 +83,16 @@ func DeleteUserMembershipsByUserID(db *gorm.DB, table, userID string) error {
delete := repository.PrepareDeleteByKey(table, model.UserMembershipSearchKey(usr_model.UserMembershipSearchKeyUserID), userID)
return delete(db)
}
func DeleteUserMembershipsByAggregateID(db *gorm.DB, table, aggregateID string) error {
delete := repository.PrepareDeleteByKey(table, model.UserMembershipSearchKey(usr_model.UserMembershipSearchKeyAggregateID), aggregateID)
return delete(db)
}
func DeleteUserMembershipsByAggregateIDAndObjectID(db *gorm.DB, table, aggregateID, objectID string) error {
delete := repository.PrepareDeleteByKeys(table,
repository.Key{Key: model.UserMembershipSearchKey(usr_model.UserMembershipSearchKeyAggregateID), Value: aggregateID},
repository.Key{Key: model.UserMembershipSearchKey(usr_model.UserMembershipSearchKeyObjectID), Value: objectID},
)
return delete(db)
}