FE: Consent-Dialog und Person-Detail von Waterfall-Requests befreien #172
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#172
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 Consent-Dialog (
consent-dialog.svelte) und die Person-Detail-Seite (persons/[personId]/+page.server.ts) machen client-seitige Waterfall-Requests, die durch Server-Datenversorgung eliminiert werden koennen.Befund
Consent-Dialog (
frontend/src/lib/components/consent-dialog.svelte:36-81):GET /api/v1/persons/{id}/invitations(falls keine eventId gesetzt)GET /api/v1/groups(alle Gruppen laden)GET /api/v1/groups/{id}/members(N Calls, sequentiell per for-of)GET /api/v1/persons(alle Personen fuer Namensaufloesung)Person-Detail (
frontend/src/routes/app/persons/[personId]/+page.server.ts:20-68):GET /api/v1/persons/{personId}(Einzelperson)GET /api/v1/groups(alle Gruppen)GET /api/v1/groups/{id}/members(N Calls)GET /api/v1/persons(alle Personen fuer Namensaufloesung in Schleife Z. 61-64)IST-Zustand
SOLL-Zustand
Consent-Dialog:
Person-Detail:
GET /api/v1/persons/{personId}?include=group(1 Call statt N+3){ ..., group: { groupId, name, members: [{personId, firstName, lastName}] } }Abhaengigkeiten
groups?include=members) — Backend-Endpunkt fuer Gruppen-Daten mit Members inlinepersons/{id}?include=group) — Backend-Endpunkt fuer Person inkl. Gruppen-MitgliedschaftLabels
component/frontend, prio/high, type/refactor
Meilenstein
MS-REST (#32)