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:
@@ -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
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user