API REST backend #37

Closed
opened 2026-04-06 14:33:12 +00:00 by maximus · 0 comments
Owner

Contexte

Implémenter les endpoints CRUD + sync avec les contrôles de sécurité.

Ref: spec-simpl-liste-web.md

Taches

  • Middleware auth sur /api/* (session cookie + Bearer JWT avec validation signature/exp/aud/iss)
  • Endpoints CRUD listes (avec soft-delete)
  • Endpoints CRUD tâches (avec filtres, tri, sous-tâches, soft-delete)
  • Endpoints CRUD tags + assignation (avec soft-delete)
  • Endpoints sync (GET since + POST batch avec idempotency keys)
  • Vérification BOLA par entité sur le batch sync (WHERE id = ? AND userId = ?)
  • Schemas Zod strict sur chaque endpoint (whitelist de champs, rejeter champs inconnus)
  • Rate limiting granulaire (sync 10/min, création 30/min, lecture 200/min)
  • Endpoint POST /api/ws-ticket (nonce éphémère TTL 30s, usage unique)
  • Tests API (optionnel mais recommandé)

Dépendances

Depends on #35, #36

## Contexte Implémenter les endpoints CRUD + sync avec les contrôles de sécurité. Ref: `spec-simpl-liste-web.md` ## Taches - [ ] Middleware auth sur `/api/*` (session cookie + Bearer JWT avec validation signature/exp/aud/iss) - [ ] Endpoints CRUD listes (avec soft-delete) - [ ] Endpoints CRUD tâches (avec filtres, tri, sous-tâches, soft-delete) - [ ] Endpoints CRUD tags + assignation (avec soft-delete) - [ ] Endpoints sync (GET since + POST batch avec idempotency keys) - [ ] Vérification BOLA par entité sur le batch sync (`WHERE id = ? AND userId = ?`) - [ ] Schemas Zod strict sur chaque endpoint (whitelist de champs, rejeter champs inconnus) - [ ] Rate limiting granulaire (sync 10/min, création 30/min, lecture 200/min) - [ ] Endpoint `POST /api/ws-ticket` (nonce éphémère TTL 30s, usage unique) - [ ] Tests API (optionnel mais recommandé) ## Dépendances Depends on #35, #36
maximus added this to the spec-simpl-liste-web milestone 2026-04-06 14:33:12 +00:00
maximus added the
status:ready
type:feature
source:human
labels 2026-04-06 14:33:12 +00:00
maximus added
status:approved
and removed
status:ready
labels 2026-04-06 15:51:09 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: maximus/simpl-liste#37
No description provided.