fix(backend): Gruppen-Rechte fuer Mitglieder korrigieren (edit-group OR member) #228
Labels
No labels
component/backend
component/docs
component/e2e
component/frontend
component/infra
component/keycloak
prio/high
prio/low
prio/medium
type/bug
type/chore
type/feature
type/refactor
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
WompSchmiede/FamilienFeierPlaner#228
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Ein Mitglied eines Haushalts (Gruppe) kann aktuell nur Aktionen ausfuehren, wenn es die
edit-group-Realm-Rolle besitzt (d.h.app-admin). Normale Mitglieder bekommen 403.Gewuenschtes Verhalten (OR-Logik):
edit-group-Rolle im JWT/api/v1/groups/{group_id}requireCompositeRole('edit-group')requireCompositeRoleOrGroupMember('edit-group', 'group_id')/api/v1/groups/{group_id}requireCompositeRole('edit-group')requireCompositeRoleOrLastMember('edit-group', 'group_id')/api/v1/groups/{group_id}/members/{person_id}requireOwnDataOrCompositeRole('edit-group', 'person_id')requireOwnDataOrCompositeRoleOrGroupMember('edit-group', 'person_id')Zusaetzlich: Nach erfolgreichem DELETE member wird
createdByaufrequest.user.personIdgesetzt, wenn die entfernte Person der Ersteller war.Neue Auth-Hooks
requireCompositeRoleOrGroupMember(permission, groupIdParam)edit-group-Rolle OR approved GroupMemberrequireCompositeRoleOrLastMember(permission, groupIdParam)edit-group-Rolle OR (approved Member AND count=1)requireOwnDataOrCompositeRoleOrGroupMember(permission, personIdParam)edit-group-Rolle OR any GroupMemberAufgaben
auth.tsgroups.tsaustauschencreatedBy-Reassignment nach Member-Removalauth.test.ts+groups.test.tsdocs/design/03-autorisierungsmatrix.mdaktualisierenedit-groupODERmembers.length === 1edit-groupgroup-permissions.spec.ts— rename + delete-visibility TestsAkzeptanzkriterien
edit-groupkann Gruppe umbenennen (PUT 200)edit-groupkann anderes Mitglied entfernen (DELETE member 204)edit-groupkann Gruppe mit 2+ Mitgliedern NICHT loeschen (DELETE 403)app-adminkann weiterhin alle Aktionen ausfuehren