docs(backlog): log TECH-08 for paginated response meta in organizer composables

Documents the technical debt introduced when the organizer API composables
(useSections, useFormSchemas) adopted a minimal PaginatedResponse shape
that discards Laravel's links and meta blocks. PR-b2 will surface the
first UI consumer that needs pagination controls.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-24 10:32:40 +02:00
parent 2b16d4fd8f
commit a777c8335f

View File

@@ -489,6 +489,33 @@ apps/portal om drift te voorkomen.
---
### TECH-08 — Paginated response meta wordt weggegooid in organizer composables
**Aanleiding:** `apps/app/src/composables/api/useSections.ts` en
`apps/app/src/composables/api/useFormSchemas.ts` definiëren beiden een
lokale `PaginatedResponse<T> = { data: T[] }` shape die alleen de
`data` array eruit trekt. De Laravel paginator geeft ook `links` en
`meta` (huidige pagina, totaal, per-page) terug — die informatie gaat
nu verloren. Voor de huidige consumers geen probleem (geen paginatie-
controls), maar zodra een lijstweergave in de organizer UI een
"Volgende"-knop, pagina-selector of totaaltelling wil tonen, loopt de
composable tegen die beperking aan. PR-b2 (/forms lijst-view) is de
eerste concrete trigger.
**Wat:** Upgrade de shared response-shape in beide composables naar
`{ data: T[], links: { first, last, prev, next }, meta: { current_page, from, last_page, path, per_page, to, total } }` (exacte veldnamen
conform Laravel's `ResourceCollection` default). Retourneer het hele
meta-blok mee uit de `useXList` composables zodat de UI kan paginate.
Bij voorkeur één gedeelde TypeScript interface exporteren uit een
nieuwe `apps/app/src/types/api.ts` zodat de derde, vierde, ...
composable die volgt hetzelfde patroon erft. Nieuwe composables voor
lijst-endpoints moeten vanaf dat moment deze interface gebruiken.
**Prioriteit:** Middel — blokkeert geen huidige features, maar elke
composable die zonder paginering-support wordt gebouwd voegt werk toe
aan de latere migratie. Oplossen vlak vóór PR-b2 paginering-UI
introduceert is het natuurlijke moment.
---
### ~~TECH-02 — scopeForFestival helper op Event model~~ ✅ OPGELOST
---