Files
InsanityLab-web/.superpowers/sdd/task-5-report.md
T
Adriano b913a2bf90 registri dei piani in git (AI-OS#309)
Refs gitea:Adriano/AI-OS#310

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-06 10:36:26 +02:00

1.3 KiB

Task 5 Report — Ownership articoli in API posts + assegnazione autore

Implementazione

File creati/modificati esattamente come da brief:

  • src/lib/posts.ts (modificato): aggiunta canModifyPost(role, userId, post) — admin/superuser sempre true, altrimenti post.author_id === userId.
  • src/pages/api/admin/posts/index.ts (modificato): POST legge locals e passa author_id: locals.user!.id a createPost.
  • src/pages/api/admin/posts/[id].ts (modificato): PUT/DELETE caricano il post esistente, 404 se assente, 403 se canModifyPost è false.
  • tests/posts-ownership.test.ts (nuovo): copiato verbatim dal brief.

TDD evidence

RED — npm test -- tests/posts-ownership.test.ts prima dell'implementazione:

TypeError: canModifyPost is not a function

GREEN — dopo implementazione di canModifyPost:

Test Files  1 passed (1)
     Tests  2 passed (2)

Full suite — npm run build + npm test:

build: Complete!
Test Files  12 passed (12)
     Tests  60 passed (60)

Concerns

Nessuno bloccante.

Commit

c3267c9 feat(posts-api): assegna autore in POST, ownership su PUT/DELETE
4 files changed, 39 insertions(+), 7 deletions(-)
create mode 100644 tests/posts-ownership.test.ts

Status: COMPLETATO