Refactor: Consent-API von Events entkoppeln (PUT /api/v1/persons/{id}/consent) #249
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#249
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
Der bisherige Consent-Endpoint
PUT /api/v1/events/{event_id}/guests/{person_id}/consentist an ein Event gekoppelt und prueft auf Existenz eineseventGuest. Laut Design-Dokument (02-datenmodell.md) ist Consent jedoch ein personenbezogenes Feature. Ein User kann aktuell keinen Consent geben, wenn er zu keinem Event eingeladen ist.Aenderungen
Backend (
component/backend)PUT /api/v1/persons/{person_id}/consentrequireAuth + requireOwnDataOrGroupMember('person_id'){ policyVersion: string, acceptedBy?: string }ConsentResponsebackend/src/routes/guests.tswird entferntbackend/openapi.yaml) um neuen Path ergaenztbackend/src/__tests__/consent.test.ts: neue Testgruppe, alte entferntFrontend (
component/frontend)consent-dialog.svelte: eventId-Prop und invitations-Prop entfernt; PUT-URL auf neuen Pfad geaendert+layout.server.ts:consentDialogInvitationsnicht mehr benoetigt → entfernt+layout.svelte,account/+page.svelte: Props angepasstconsent-dialog.test.ts: angepasstDokumentation (
component/docs)docs/design/02-datenmodell.md: Consent-Datenfluss aktualisiert, "kein Backend-Guard"-Aussage korrigiertdocs/design/03-api-design.md: Consent-Endpoint in Persons-Gruppe verschobendocs/design/03-autorisierungsmatrix.md: Alten Eintrag entfernt, neuen unter Persons ergaenztdocs/design/04-frontend-architektur.md: Props aktualisiertfrontend/AGENTS.md: Consent-Abschnitt aktualisiertREADME.md: API-Übersicht aktualisiertDependencies / Notes
PUT /api/v1/events/{event_id}/guests/{person_id}/consentinconsent.test.tswerden komplett entferntrequireSelfOrGroupMemberin auth.ts bleibt erhalten (wird von anderen Endpoints genutzt)