Scrum4Me/__tests__
Madhura68 4b234dc300 api: REST endpoints for ideas (M12 T-500)
- app/api/ideas/route.ts: GET (list with archived/product_id/status filters,
  user_id-scope), POST (creates DRAFT with auto IDEA-NNN code, 201)
- app/api/ideas/[id]/route.ts: GET (idea + recent logs), PATCH
  (ideaUpdateSchema, isIdeaEditable guard)
- lib/idea-dto.ts: API projection — converts Prisma row → DTO with
  lowercase status + has_grill_md/has_plan_md flags (md content excluded
  from list payloads, fetch via dedicated download action)

Auth: session OR API-token via authenticateApiRequest. Strict user_id
scope (no productAccessFilter — Idee is privé per Q8). 404 (not 403) for
foreign-user reads to prevent enumeration.

Tests: 13 cases (auth-401, demo-403, validation-422, malformed-400,
not-found-404, status-mismatch-422, filter param round-trip, DTO shape).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 19:55:49 +02:00
..
actions actions: promoteTodoToIdeaAction (M12 T-499) 2026-05-04 19:52:37 +02:00
api api: REST endpoints for ideas (M12 T-500) 2026-05-04 19:55:49 +02:00
app feat(ST-1138): mobile Solo-pagina + verify TaskDetailDialog (T-331/T-332/T-333) 2026-05-04 10:52:41 +02:00
components feat(dashboard): pencil-icoon edit-trigger op product-card (todo cmoq3ox51) 2026-05-04 11:21:14 +02:00
lib lib: idea-code generator + plan_md yaml-frontmatter parser (M12 T-494) 2026-05-04 19:40:39 +02:00
proxy M12 / ST-1110: Demo gebruiker read-only (#17) 2026-04-29 18:44:14 +02:00
realtime End-to-end smoke-test: PBI/Story/Task verschijnen zonder refresh (#57) 2026-05-02 21:09:37 +02:00
stores Verify-gate uitbreiden: DIVERGENT/PARTIAL vereist agent-acknowledgement (#53) 2026-05-02 17:45:19 +02:00
lars-flow-checklist.md docs(ST-612): update Lars-flow checklist met todo Data Table stappen 2026-04-25 20:10:16 +02:00