From 542e1f03a44475951bff18c2abae1ef4f4ac9fa7 Mon Sep 17 00:00:00 2001 From: brobert Date: Sun, 19 Oct 2025 09:21:41 +0200 Subject: [PATCH] feat: impedir soltar tarea personal sin asignatarios; backend+UI Co-authored-by: aider (openrouter/openai/gpt-5) --- apps/web/src/lib/ui/data/TaskItem.svelte | 5 +-- apps/web/src/routes/api/me/tasks/+server.ts | 8 +++++ .../routes/api/tasks/[id]/unassign/+server.ts | 19 +++++++++++ src/db/migrations/index.ts | 33 +++++++++++++++++++ src/services/command.ts | 7 ++++ src/tasks/service.ts | 28 ++++++++++++++-- .../services/command.claim-unassign.test.ts | 5 ++- tests/unit/tasks/claim-unassign.test.ts | 16 +++++---- 8 files changed, 108 insertions(+), 13 deletions(-) diff --git a/apps/web/src/lib/ui/data/TaskItem.svelte b/apps/web/src/lib/ui/data/TaskItem.svelte index 7576f1a..0f8b9ba 100644 --- a/apps/web/src/lib/ui/data/TaskItem.svelte +++ b/apps/web/src/lib/ui/data/TaskItem.svelte @@ -55,6 +55,7 @@ let showAssignees = false; let assigneesButtonEl: HTMLButtonElement | null = null; $: assigneesCount = Array.isArray(assignees) ? assignees.length : 0; + $: canUnassign = !(groupId == null && assigneesCount === 1 && isAssigned); $: assigneesAria = assigneesCount === 0 ? "Sin responsables" @@ -509,9 +510,9 @@