MS-BE-API-4: EventRole-CRUD-Route + Guest-Role-Endpunkt #124

Closed
opened 2026-06-25 19:21:14 +02:00 by niboer · 0 comments
Owner

Beschreibung

CRUD-Endpunkte fuer EventRoles (Composite-Rollen pro Event).
EventRoles enthalten ein permissions-JSONB-Array mit feingranularen
Berechtigungen. Zusaetzlich Endpunkt zum Setzen der compositeRole eines Gasts.

Aenderungen

openapi.yaml

  • Pfade hinzugefuegt:
    • GET /api/v1/events/{event_id}/roles - Rollen auflisten
    • POST /api/v1/events/{event_id}/roles - Rolle anlegen
    • GET /api/v1/events/{event_id}/roles/{role_id} - Einzel-Rolle
    • PUT /api/v1/events/{event_id}/roles/{role_id} - Rolle aktualisieren
    • DELETE /api/v1/events/{event_id}/roles/{role_id} - Rolle loeschen (nur Organisator)
    • GET /api/v1/events/{event_id}/guests/{person_id}/role - Gast-Rolle lesen
    • PUT /api/v1/events/{event_id}/guests/{person_id}/role - Gast-Rolle setzen
  • Neues Schema UpdateGuestRole
  • Neues Schema GuestRoleResponse

Route (src/routes/event-roles.ts)

  • 5 CRUD-Endpunkte
  • Auth:
    • GET (list + single):
      equireAuth +
      equireOrganizerOrEventAdmin
    • POST/PUT:
      equireAuth +
      equireOrganizerOrEventAdmin
    • DELETE:
      equireAuth +
      equireOrganizer (nur Organisator)

Route (src/routes/guests.ts)

  • GET .../guests/{pid}/role - compositeRole auslesen
  • PUT .../guests/{pid}/role - compositeRole setzen (systemRole entfaellt)
  • Auth:
    equireAuth +
    equireOrganizerOrEventAdmin

Registration (src/app.ts)

  • eventRolesRoutes importieren und registrieren

design.md �5.1

  • EventRole-Endpunkte in Auth-Matrix eintragen

Tests

  • event-roles.test.ts: 401/403/404/200/201/204 fuer alle 5 CRUD-Endpunkte
  • guests.test.ts: Role-Endpunkt-Tests (GET + PUT)

Abhaengigkeit

  • Setzt #123 voraus (systemRole-Entfernung)
## Beschreibung CRUD-Endpunkte fuer EventRoles (Composite-Rollen pro Event). EventRoles enthalten ein permissions-JSONB-Array mit feingranularen Berechtigungen. Zusaetzlich Endpunkt zum Setzen der compositeRole eines Gasts. ## Aenderungen ### openapi.yaml - Pfade hinzugefuegt: - GET /api/v1/events/{event_id}/roles - Rollen auflisten - POST /api/v1/events/{event_id}/roles - Rolle anlegen - GET /api/v1/events/{event_id}/roles/{role_id} - Einzel-Rolle - PUT /api/v1/events/{event_id}/roles/{role_id} - Rolle aktualisieren - DELETE /api/v1/events/{event_id}/roles/{role_id} - Rolle loeschen (nur Organisator) - GET /api/v1/events/{event_id}/guests/{person_id}/role - Gast-Rolle lesen - PUT /api/v1/events/{event_id}/guests/{person_id}/role - Gast-Rolle setzen - Neues Schema UpdateGuestRole - Neues Schema GuestRoleResponse ### Route (src/routes/event-roles.ts) - 5 CRUD-Endpunkte - Auth: - GET (list + single): equireAuth + equireOrganizerOrEventAdmin - POST/PUT: equireAuth + equireOrganizerOrEventAdmin - DELETE: equireAuth + equireOrganizer (nur Organisator) ### Route (src/routes/guests.ts) - GET .../guests/{pid}/role - compositeRole auslesen - PUT .../guests/{pid}/role - compositeRole setzen (systemRole entfaellt) - Auth: equireAuth + equireOrganizerOrEventAdmin ### Registration (src/app.ts) - eventRolesRoutes importieren und registrieren ### design.md �5.1 - EventRole-Endpunkte in Auth-Matrix eintragen ### Tests - event-roles.test.ts: 401/403/404/200/201/204 fuer alle 5 CRUD-Endpunkte - guests.test.ts: Role-Endpunkt-Tests (GET + PUT) ## Abhaengigkeit - Setzt #123 voraus (systemRole-Entfernung)
Sign in to join this conversation.
No description provided.