fix: prevent sub-subtask creation (limit nesting to 2 levels) #62

Closed
opened 2026-04-09 00:47:28 +00:00 by maximus · 0 comments
Owner

Contexte

Ref #59

Actuellement, quand on sélectionne une sous-tâche, on a l'option de créer une autre sous-tâche en dessous. On veut limiter à deux niveaux : tâches → sous-tâches (pas de sous-sous-tâches).

Travail à faire

Web

  • Dans web/src/components/TaskItem.tsx, masquer le bouton "Ajouter une sous-tâche" quand depth >= 1
  • Dans web/src/app/api/tasks/route.ts POST, valider que le parentId ne pointe pas vers une tâche qui a elle-même un parentId (validation côté API)

Mobile

  • Vérifier que le même comportement est appliqué dans app/task/new.tsx

Fichiers concernés

  • web/src/components/TaskItem.tsx — masquer bouton sous-tâche si depth >= 1
  • web/src/app/api/tasks/route.ts — validation profondeur côté serveur
  • app/task/new.tsx — vérification mobile

Critères d'acceptation

  • Impossible de créer une sous-tâche sous une sous-tâche (UI masquée)
  • L'API rejette la création si la profondeur dépasse 2 niveaux

Complexité

Simple

## Contexte Ref #59 Actuellement, quand on sélectionne une sous-tâche, on a l'option de créer une autre sous-tâche en dessous. On veut limiter à deux niveaux : tâches → sous-tâches (pas de sous-sous-tâches). ## Travail à faire ### Web - [ ] Dans `web/src/components/TaskItem.tsx`, masquer le bouton "Ajouter une sous-tâche" quand `depth >= 1` - [ ] Dans `web/src/app/api/tasks/route.ts` POST, valider que le `parentId` ne pointe pas vers une tâche qui a elle-même un `parentId` (validation côté API) ### Mobile - [ ] Vérifier que le même comportement est appliqué dans `app/task/new.tsx` ## Fichiers concernés - `web/src/components/TaskItem.tsx` — masquer bouton sous-tâche si depth >= 1 - `web/src/app/api/tasks/route.ts` — validation profondeur côté serveur - `app/task/new.tsx` — vérification mobile ## Critères d'acceptation - [ ] Impossible de créer une sous-tâche sous une sous-tâche (UI masquée) - [ ] L'API rejette la création si la profondeur dépasse 2 niveaux ## Complexité Simple
maximus added the
status:ready
type:bug
labels 2026-04-09 00:48:09 +00:00
maximus added
status:review
and removed
status:ready
labels 2026-04-09 01:14:09 +00:00
maximus added
status:approved
and removed
status:review
labels 2026-04-09 01:23:14 +00:00
Sign in to join this conversation.
No milestone
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#62
No description provided.