Scrum4Me/app/api/products/[id]
Madhura68 e89fb7149f feat(PBI-79/ST-1335): sprint-membership-summary + cross-sprint-blocks endpoints
Twee nieuwe GET-route handlers, beide verplicht gescoped op pbiIds (geen
product-brede aanroepen).

- app/api/products/[id]/sprint-membership-summary/route.ts
  Response: { [pbiId]: { total, inSprint } } via twee prisma.groupBy calls
  (totaal + binnen actieve sprint). Voor state-B tri-state.

- app/api/products/[id]/cross-sprint-blocks/route.ts
  Response: { [storyId]: { sprintId, sprintName } } voor stories in andere
  OPEN sprints. UX-hint voor disabled-vinkjes; commit-acties blijven
  autoritatief.

Tests: 13 cases dekken happy path, 400 zonder pbiIds, 400 zonder sprintId,
404 zonder product-access, auth-fail, en NOT-clause voor excludeSprintId.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 13:48:47 +02:00
..
backlog feat(PBI-74): Zustand product-workspace rearchitecture (Stories 1-8) (#180) 2026-05-10 02:25:19 +02:00
claude-context feat(PBI-63): meerdere sprints per product + EXCLUDED + sprint-switcher (#161) 2026-05-08 00:15:04 +02:00
cross-sprint-blocks feat(PBI-79/ST-1335): sprint-membership-summary + cross-sprint-blocks endpoints 2026-05-11 13:48:47 +02:00
next-story feat(PBI-63): meerdere sprints per product + EXCLUDED + sprint-switcher (#161) 2026-05-08 00:15:04 +02:00
solo-workspace Load/render workspace alignment (#182) 2026-05-10 07:34:58 +02:00
sprint-membership-summary feat(PBI-79/ST-1335): sprint-membership-summary + cross-sprint-blocks endpoints 2026-05-11 13:48:47 +02:00
sprints feat(PBI-74): sprint-workspace-store (Story 9) (#181) 2026-05-10 06:53:04 +02:00