Tasks¶
Versão: 1.0 Escopo: Documento único contendo todas as tasks técnicas do projeto.
TASK-001¶
<Backward: US-001>Forward: TC-001- Descrição: Criar endpoint de API backend
POST /api/notebookspara salvar um novo caderno na raiz. - Critério de aceitação técnico: O endpoint deve receber o nome do caderno e persistir a nova entidade raiz no banco de dados.
TASK-002¶
<Backward: US-001>Forward: TC-002- Descrição: Desenvolver o componente de interface para acionar a criação de um novo caderno.
- Critério de aceitação técnico: A tela deve exibir um modal ou formulário de cadastro de caderno integrado com o endpoint de criação.
TASK-003¶
<Backward: US-002>Forward: TC-003- Descrição: Implementar a listagem de cadernos no frontend e o endpoint
GET /api/notebookscorrespondente. - Critério de aceitação técnico: O sistema deve buscar e exibir todos os cadernos criados pelo usuário na interface organizacional.
TASK-004¶
<Backward: US-003>Forward: TC-004- Descrição: Criar endpoint
POST /api/inboxpara a captura rápida de itens na Inbox sem exigir classificação. - Critério de aceitação técnico: O item deve ser armazenado com o estado inicial de Inbox e sem vínculo obrigatório a um caderno.
TASK-005¶
<Backward: US-003>Forward: TC-005- Descrição: Desenvolver a interface de captura rápida (input dedicado) direcionada à Inbox.
- Critério de aceitação técnico: O campo de texto deve permitir o registro instantâneo de pensamentos/tarefas sem fricção.
TASK-006¶
<Backward: US-004>Forward: TC-006- Descrição: Implementar a visualização e listagem dos registros da Inbox via
GET /api/inbox. - Critério de aceitação técnico: A interface deve exibir todos os itens que estão atualmente na área temporária de captura.
TASK-007¶
<Backward: US-005>Forward: TC-007- Descrição: Criar endpoint
PATCH /api/items/{id}/classifypara associar um item da Inbox a um caderno. - Critério de aceitação técnico: A API deve alterar o estado do item de Inbox para Ativo e registrar o ID do caderno correspondente.
TASK-008¶
<Backward: US-005>Forward: TC-008- Descrição: Desenvolver o fluxo de movimentação visual (drag & drop ou menu de seleção) da Inbox para o Caderno na interface.
- Critério de aceitação técnico: O item deve sumir da listagem da Inbox instantaneamente após a classificação.
TASK-009¶
<Backward: US-006>Forward: TC-009- Descrição: Implementar validação de integridade no banco de dados garantindo unicidade de relacionamento (1 Item pertence a exatamente 1 Caderno).
- Critério de aceitação técnico: O modelo relacional deve impedir chaves estrangeiras duplicadas ou nulas em cadernos pós-classificação.
TASK-010¶
<Backward: US-007>Forward: TC-010- Descrição: Criar endpoint
POST /api/itemspara criação de itens do tipo TODO com campos opcionais. - Critério de aceitação técnico: O banco deve persistir a flag
is_completedinicializada como falsa por padrão e aceitar due date/horário opcionais.
TASK-011¶
<Backward: US-007>Forward: TC-011- Descrição: Desenvolver o formulário de criação de TODO na interface do usuário.
- Critério de aceitação técnico: O formulário deve expor campos flexíveis para horário e data limite.
TASK-012¶
<Backward: US-008>Forward: TC-012- Descrição: Adaptar o endpoint
POST /api/itemspara validar e persistir itens do tipo SCHEDULE. - Critério de aceitação técnico: O backend deve rejeitar a criação de SCHEDULE se os campos de data/hora de início e término não forem fornecidos.
TASK-013¶
<Backward: US-008>Forward: TC-013- Descrição: Desenvolver os campos de validação de horário de início e término para o tipo SCHEDULE no frontend.
- Critério de aceitação técnico: A interface deve obrigar o preenchimento temporal para submissão do compromisso.
TASK-014¶
<Backward: US-009>Forward: TC-014- Descrição: Implementar lógica de relacionamento opcional permitindo associar um ID de SCHEDULE a um TODO (
schedule_id). - Critério de aceitação técnico: O banco deve suportar chave estrangeira unidirecional de TODO para SCHEDULE.
TASK-015¶
<Backward: US-010>Forward: TC-015- Descrição: Criar endpoint
POST /api/items/{todo_id}/subitemspara inserção de sub-itens vinculados. - Critério de aceitação técnico: O sub-item deve ser gravado estritamente atrelado ao ID do TODO pai.
TASK-016¶
<Backward: US-010>Forward: TC-016- Descrição: Desenvolver o componente de checklist de sub-itens na interface do TODO e bloquear adições em SCHEDULEs.
- Critério de aceitação técnico: A UI deve ocultar a seção de sub-itens caso o item selecionado seja do tipo SCHEDULE.
TASK-017¶
<Backward: US-011>Forward: TC-017- Descrição: Implementar lógica de escopo isolado para sub-itens no backend.
- Critério de aceitação técnico: A conclusão de um sub-item deve atualizar exclusivamente o estado interno daquele checklist pai sem propagação global.
TASK-018¶
<Backward: US-012>Forward: TC-018- Descrição: Criar endpoint
POST /api/items/{id}/duplicationpara clonagem seletiva de itens. - Critério de aceitação técnico: O sistema deve gerar um novo registro copiando título (com prefixo “Cópia de”), caderno e prioridade.
TASK-019¶
<Backward: US-012>Forward: TC-019- Descrição: Configurar as propriedades iniciais padrão na duplicação (estado ATIVO e ausência de datas).
- Critério de aceitação técnico: O registro clonado não deve herdar datas do item original.
TASK-020¶
<Backward: US-013>Forward: TC-020- Descrição: Ajustar a query de duplicação para zerar/ignorar explicitamente status de conclusão, sub-itens e vínculos SCHEDULE.
- Critério de aceitação técnico: As relações filhas e vínculos de agenda não devem ser duplicados na cópia.
TASK-021¶
<Backward: US-014>Forward: TC-021- Descrição: Criar endpoint
DELETE /api/items/{id}para exclusão definitiva de itens sem sub-itens. - Critério de aceitação técnico: O sistema deve apagar o registro do banco sem exigir validações adicionais caso não existam sub-itens.
TASK-022¶
<Backward: US-014>Forward: TC-022- Descrição: Implementar a ação de exclusão direta via interface para itens sem dependências filhas.
- Critério de aceitação técnico: O clique no botão de deletar remove o item da tela imediatamente.
TASK-023¶
<Backward: US-015>Forward: TC-023- Descrição: Implementar verificação pré-deleção no endpoint
DELETE /api/items/{id}para detectar existência de sub-itens. - Critério de aceitação técnico: Se houver sub-itens, o backend deve retornar flag indicando necessidade de confirmação ou disparar deleção em cascata controlada.
TASK-024¶
<Backward: US-015>Forward: TC-024- Descrição: Desenvolver o modal de confirmação de exclusão para TODOs contendo sub-itens no frontend.
- Critério de aceitação técnico: O sistema deve alertar o usuário que todos os sub-itens vinculados serão removidos juntos.
TASK-025¶
<Backward: US-016>Forward: TC-025- Descrição: Criar endpoint
PATCH /api/items/{id}/archivepara transição manual para o estado Arquivado. - Critério de aceitação técnico: O backend deve aceitar a alteração de estado apenas para itens que já estejam concluídos.
TASK-026¶
<Backward: US-016>Forward: TC-026- Descrição: Adicionar o botão de arquivamento manual na interface de itens concluídos.
- Critério de aceitação técnico: O arquivamento não deve ser acionado por rotinas automáticas de sistema.
TASK-027¶
<Backward: US-017>Forward: TC-027- Descrição: Implementar lógica de recorrência básica (diária, semanal, mensal) com data de término no modelo de dados.
- Critério de aceitação técnico: O sistema deve calcular as repetições corretamente para SCHEDULEs e TODOs.
TASK-028¶
<Backward: US-017>Forward: TC-028- Descrição: Criar componentes visuais de configuração de recorrência nos formulários de itens.
- Critério de aceitação técnico: O usuário deve conseguir selecionar a frequência de repetição desejada.
TASK-029¶
<Backward: US-018>Forward: TC-029- Descrição: Garantir restrição de código impedindo endpoints de edição ou exclusão de instâncias isoladas de séries recorrentes.
- Critério de aceitação técnico: O sistema não deve expor opções de override para instâncias individuais (atendendo à limitação da V1).
TASK-030¶
<Backward: US-019>Forward: TC-030- Descrição: Criar endpoint
PATCH /api/items/{id}/snoozeaceitando atalhos de adiamento rápido. - Critério de aceitação técnico: O backend deve atualizar a data de reaparecimento para o dia seguinte (08:00), 3 dias à frente ou próxima segunda-feira.
TASK-031¶
<Backward: US-019>Forward: TC-031- Descrição: Desenvolver o menu de opções rápidas de Snooze na interface de tarefas ativas.
- Critério de aceitação técnico: O item adiado deve ser ocultado temporariamente da listagem padrão até a data estipulada.
TASK-032¶
<Backward: US-020>Forward: TC-032- Descrição: Implementar suporte a data manual customizada no endpoint e na UI de Snooze.
- Critério de aceitação técnico: O usuário deve conseguir selecionar livremente uma data específica no calendário para reaparecimento do item.
TASK-033¶
<Backward: US-021>Forward: TC-033- Descrição: Desenvolver a Visão Diária do Calendário (timeline vertical de 24 horas) no frontend.
- Critério de aceitação técnico: A interface deve renderizar os blocos temporais do dia selecionado.
TASK-034¶
<Backward: US-021>Forward: TC-034- Descrição: Criar endpoint
GET /api/calendar/dailypara prover dados agregados de SCHEDULEs e TODOs qualificados por data. - Critério de aceitação técnico: A API deve retornar apenas itens válidos para exibição temporal.
TASK-035¶
<Backward: US-022>Forward: TC-035- Descrição: Desenvolver as visões Semanal, Mensal e Agenda no módulo de Calendário.
- Critério de aceitação técnico: O frontend deve suportar a alternância fluida entre os quatro modos de visualização temporal.
TASK-036¶
<Backward: US-022>Forward: TC-036- Descrição: Criar endpoints de agregação
GET /api/calendar/weekly,monthlyeagenda. - Critério de aceitação técnico: Os dados devem ser retornados estruturados de acordo com o escopo de cada visão.
TASK-037¶
<Backward: US-023>Forward: TC-037- Descrição: Implementar regras de exibição cruzada de itens no calendário no backend/frontend.
- Critério de aceitação técnico: SCHEDULEs devem aparecer sempre; TODOs devem aparecer apenas se possuírem horário ou due date; TODOs sem data devem ser rigorosamente omitidos.
TASK-038¶
<Backward: US-024>Forward: TC-038- Descrição: Criar endpoint
GET /api/planner/dailypara o Planner Diário. - Critério de aceitação técnico: A API deve retornar todos os TODOs do dia selecionado juntamente com os TODOs que não possuem nenhuma data associada.
TASK-039¶
<Backward: US-024>Forward: TC-039- Descrição: Desenvolver a tela do Planner Diário no frontend.
- Critério de aceitação técnico: A interface deve agrupar tarefas diárias e pendências sem data em um painel unificado.
TASK-040¶
<Backward: US-025>Forward: TC-040- Descrição: Aplicar restrição de filtro rígido para excluir qualquer item do tipo SCHEDULE do Planner Diário.
- Critério de aceitação técnico: Nenhuma consulta ou renderização do Planner Diário pode incluir instâncias de SCHEDULE.
TASK-041¶
<Backward: US-026>Forward: TC-041- Descrição: Criar endpoint
GET /api/search?q=para busca textual simples. - Critério de aceitação técnico: A consulta SQL/ORM deve buscar correspondências estritamente nos títulos de itens do tipo TODO, ignorando Cadernos e SCHEDULEs.
TASK-042¶
<Backward: US-026>Forward: TC-042- Descrição: Desenvolver a barra de busca simples no frontend.
- Critério de aceitação técnico: A UI deve exibir os resultados filtrados em tempo real conforme o input do usuário.
TASK-043¶
<Backward: US-027>Forward: TC-043- Descrição: Adicionar parâmetros de filtro em tela (status, caderno, prioridade e período) ao endpoint de busca.
- Critério de aceitação técnico: O backend deve refinar o dataset retornado aplicando os filtros opcionais combinados.
TASK-044¶
<Backward: US-027>Forward: TC-044- Descrição: Desenvolver os componentes de filtro visual na tela de resultados de busca.
- Critério de aceitação técnico: O usuário deve conseguir selecionar status, cadernos, prioridades e intervalos de data para refinar a busca.
TASK-045¶
<Backward: US-028>Forward: TC-045- Descrição: Implementar lógica de ordenação por critérios específicos (Manual/Drag & Drop, Prioridade, Data limite, Criação, Estimativa e Caderno) no Todo List.
- Critério de aceitação técnico: A listagem deve reorganizar os elementos dinamicamente ao selecionar um critério de ordenação.
TASK-046¶
<Backward: US-028>Forward: TC-046- Descrição: Desenvolver os seletores de ordenação na interface do Todo List.
- Critério de aceitação técnico: O modo manual deve permitir persistir a posição alterada por arrastar e soltar.
TASK-047¶
<Backward: US-029>Forward: TC-047- Descrição: Programar a regra de ordenação padrão estrutural no backend (prioridade > data limite > data de criação).
- Critério de aceitação técnico: Quando nenhuma ordenação explícita for informada pelo usuário, a consulta SQL deve ordenar os registros respeitando rigorosamente essa hierarquia.
TASK-048¶
<Backward: US-038>Forward: TC-048- Descrição: Criar endpoint
PUT /api/user/accountpara atualização de informações pessoais de cadastro. - Critério de aceitação técnico: O sistema deve validar e persistir as alterações de perfil na conta do usuário de forma segura.
TASK-049¶
<Backward: US-038>Forward: TC-049- Descrição: Desenvolver a tela de configurações de conta no frontend.
- Critério de aceitação técnico: As atualizações de perfil salvas devem refletir imediatamente a identificação global do usuário em toda a plataforma.
TASK-050¶
<Backward: US-030>Forward: TC-050- Descrição: Criar endpoint
POST /api/auth/loginpara validação de credenciais de e-mail e senha. - Critério de aceitação técnico: O backend deve verificar o hash de senha gerando e retornando tokens JWT (Access e Refresh) em caso de sucesso.
TASK-051¶
<Backward: US-030>Forward: TC-051- Descrição: Desenvolver tela de login e lógica de armazenamento seguro de sessão no frontend.
- Critério de aceitação técnico: A interface deve renderizar os inputs, efetuar a chamada à API e persistir os tokens para roteamento autenticado.
TASK-052¶
<Backward: US-031>Forward: TC-052- Descrição: Padronizar retornos genéricos do endpoint
POST /api/auth/loginem falhas. - Critério de aceitação técnico: O sistema deve devolver a mesma mensagem de erro genérica (Status 401) tanto para falhas de usuário inexistente quanto para senha inválida.
TASK-053¶
<Backward: US-032>Forward: TC-053- Descrição: Implementar account lockout (limite de tentativas) na autenticação (Força Bruta).
- Critério de aceitação técnico: O backend deve travar contas temporariamente se atingirem 5 falhas sucessivas, impedindo novas requisições.
TASK-054¶
<Backward: US-032>Forward: TC-054- Descrição: Adequar a interface para renderizar bloqueio temporário por falhas repetidas.
- Critério de aceitação técnico: A UI deve intervir e apresentar uma notificação clara com o aviso de bloqueio, impedindo novas tentativas visuais.
TASK-055¶
<Backward: US-033>Forward: TC-055- Descrição: Criar endpoint
GET /api/auth/sessionspara listagem das sessões do usuário. - Critério de aceitação técnico: A API deve recuperar e listar as sessões ativas do usuário atreladas ao device, IP ou client user-agent.
TASK-056¶
<Backward: US-033>Forward: TC-056- Descrição: Desenvolver a tela de dispositivos e sessões ativas no painel de configurações.
- Critério de aceitação técnico: O frontend deve exibir de forma amigável os navegadores/dispositivos atualmente autenticados.
TASK-057¶
<Backward: US-034>Forward: TC-057- Descrição: Criar endpoint
DELETE /api/auth/sessions/{id}para exclusão e revogação de tokens de outras sessões. - Critério de aceitação técnico: O servidor de autenticação deve invalidar o refresh token e forçar a expiração das credenciais atreladas ao ID passado.
TASK-058¶
<Backward: US-034>Forward: TC-058- Descrição: Implementar a funcionalidade e botão “Encerrar Sessão” para sessões remotas.
- Critério de aceitação técnico: O usuário deve conseguir, pelo seu dispositivo atual, clicar e desconectar ativamente os dispositivos de terceiros.
TASK-059¶
<Backward: US-035>Forward: TC-059- Descrição: Ajustar o endpoint de Login para capturar e tratar status de Contas Desativadas e criar
POST /api/user/reactivate. - Critério de aceitação técnico: Se a conta tentar fazer login mas estiver desativada, a API deve retornar um status flag (ex: 403 / requires_reactivation). O endpoint reativar altera a flag para “Ativa”.
TASK-060¶
<Backward: US-035>Forward: TC-060- Descrição: Desenvolver o fluxo de interceptação de login (Modal de Reativação) no frontend.
- Critério de aceitação técnico: Se recebida a flag de conta desativada, exibir alerta ao usuário para reativar, e caso ele aceite, prosseguir chamando a reativação e logo após, os tokens.
TASK-061¶
<Backward: US-036>Forward: TC-061- Descrição: Criar endpoint
POST /api/auth/registerpara cadastro público. - Critério de aceitação técnico: O banco deve persistir os dados do usuário, garantindo status inicial de conta “Ativa” (sem step extra de email).
TASK-062¶
<Backward: US-036>Forward: TC-062- Descrição: Desenvolver a página pública e formulário de inscrição.
- Critério de aceitação técnico: A interface deve ter campos para Nome, E-mail e Senha e encaminhar diretamente ao onboarding após submissão bem-sucedida.
TASK-063¶
<Backward: US-037>Forward: TC-063- Descrição: Implementar regras e validação de segurança no endpoint e interface de registro.
- Critério de aceitação técnico: O sistema não pode permitir cadastro com e-mail duplicado e deve forçar checagem Regex de senhas fortes.
TASK-064¶
<Backward: US-039>Forward: TC-064- Descrição: Criar endpoint
PUT /api/user/passwordpara troca de senha logada. - Critério de aceitação técnico: O backend deve exigir a comprovação da senha atual e só então realizar o update gerando o novo hash.
TASK-065¶
<Backward: US-039>Forward: TC-065- Descrição: Construir a interface para troca de senha dentro das configurações de conta.
- Critério de aceitação técnico: Form com 3 inputs (Senha Atual, Nova Senha, Confirmação) devidamente validados.
TASK-066¶
<Backward: US-040>Forward: TC-066- Descrição: Configurar gatilho de invalidação automática de sessão na API.
- Critério de aceitação técnico: A mudança bem-sucedida no endpoint
PUT /api/user/passworddeve invalidar automaticamente as demais sessões ativas do respectivo ID.
TASK-067¶
<Backward: US-041>Forward: TC-067- Descrição: Criar endpoint
POST /api/user/deactivatepara suspender uso da conta. - Critério de aceitação técnico: O banco deve alterar a flag de status de usuário para inativo, mantendo referências e integridade de todos os dados do BD.
TASK-068¶
<Backward: US-041>Forward: TC-068- Descrição: Desenvolver botão com alerta para desativar a conta temporariamente.
- Critério de aceitação técnico: A interface deve avisar que a desativação desloga o usuário, mas retém os dados.
TASK-069¶
<Backward: US-042>Forward: TC-069- Descrição: Criar endpoint
DELETE /api/user/accountcom deleção forçada e em cascata. - Critério de aceitação técnico: A lógica do banco deve garantir a deleção transacional onde TODOs, SCHEDULEs, Cadernos e informações de conta sejam totalmente apagados do banco de dados.
TASK-070¶
<Backward: US-042>Forward: TC-070- Descrição: Desenvolver o fluxo perigoso de exclusão de conta permanente na UI.
- Critério de aceitação técnico: O usuário deve obrigatoriamente preencher uma caixa de confirmação (ex: “Excluir minha conta”) antes do acionamento final ser habilitado.
TASK-071¶
<Backward: US-051>Forward: TC-071- Descrição: Criar endpoint
POST /api/auth/refreshque valida o refresh token via cookiehttpOnlye emite um novo access token. - Critério de aceitação técnico: O endpoint deve rejeitar (401) refresh tokens expirados ou revogados e emitir um novo Access Token válido em caso de sucesso.
TASK-072¶
<Backward: US-043>Forward: TC-072- Descrição: Criar endpoint
DELETE /api/notebooks/{id}que retorna os itens do caderno paranotebookId = null(Inbox) em transação, antes de remover o caderno. - Critério de aceitação técnico: Nenhum item deve ser perdido; a operação deve ser atômica (transação única, ADR-010).
TASK-073¶
<Backward: US-044>Forward: TC-073- Descrição: Desenvolver o botão de exclusão de caderno na interface, com alerta de confirmação informando que os itens serão movidos para a Inbox.
- Critério de aceitação técnico: O caderno deve sumir da listagem e seus itens devem aparecer na Inbox imediatamente após a confirmação.
TASK-074¶
<Backward: US-050>Forward: TC-074- Descrição: Criar endpoint
GET /api/items/{id}retornando as propriedades completas do item, incluindo sub-itens quando aplicável. - Critério de aceitação técnico: A resposta deve incluir todos os campos do item e a lista de sub-itens (se TODO).
TASK-075¶
<Backward: US-045, US-046>Forward: TC-075- Descrição: Criar endpoint
PATCH /api/items/{id}para edição parcial de propriedades (título, prioridade, dueDate, recorrência), validando campos compatíveis com o tipo do item. - Critério de aceitação técnico: O backend deve rejeitar edição de campos não pertencentes ao tipo do item (ex.: dueDate em SCHEDULE) e deve impedir a alteração do campo
type.
TASK-076¶
<Backward: US-047, US-048>Forward: TC-076- Descrição: Criar endpoint
PATCH /api/items/{id}/completepara alternar o estadoisCompletedde itens TODO. - Critério de aceitação técnico: O endpoint deve rejeitar a chamada para itens do tipo SCHEDULE e não deve alterar o campo
status.
TASK-077¶
<Backward: US-054>Forward: TC-077- Descrição: Criar endpoint
PATCH /api/items/{todoId}/subitems/{subItemId}para alternar o estadoisCompletedde um sub-item. - Critério de aceitação técnico: A alteração deve afetar exclusivamente o sub-item indicado, sem propagar ao TODO pai ou a outros sub-itens.
TASK-078¶
<Backward: US-049>Forward: TC-078- Descrição: Criar endpoint
DELETE /api/items/{todoId}/subitems/{subItemId}para remoção individual de um sub-item. - Critério de aceitação técnico: Apenas o sub-item indicado deve ser removido; o TODO pai e os demais sub-itens devem permanecer intactos.
TASK-079¶
<Backward: US-055>Forward: TC-079- Descrição: Criar endpoint
PATCH /api/items/reorderque recebe a lista ordenada completa de IDs de um escopo (ex.: caderno) e persiste a nova posição manual de cada item. - Critério de aceitação técnico: O backend deve validar que todos os IDs enviados pertencem ao escopo informado antes de persistir, rejeitando listas incompletas ou com IDs estranhos ao escopo (ver ADR-026).
TASK-080¶
<Backward: US-051>Forward: TC-080- Descrição: Implementar interceptor HTTP no frontend que captura respostas 401 de Access Token expirado, aciona
POST /api/auth/refreshsilenciosamente e reenvia a requisição original. - Critério de aceitação técnico: O usuário não deve perceber interrupção de navegação enquanto o Refresh Token for válido; falha na renovação deve redirecionar ao login.
TASK-081¶
<Backward: US-052>Forward: TC-081- Descrição: Criar endpoint
DELETE /api/auth/sessionsque revoga todas as sessões do usuário, exceto a sessão corrente, reutilizandorevokeAllSessions(userId, exceptSessionId)(ADR-007). - Critério de aceitação técnico: A sessão que originou a requisição nunca deve ser revogada pela própria chamada.
TASK-082¶
<Backward: US-053>Forward: TC-082- Descrição: Criar endpoint
GET /api/user/meretornando os dados de perfil do usuário autenticado. - Critério de aceitação técnico: A resposta deve refletir os dados persistidos mais recentes, sem cache desatualizado.
TASK-083¶
<Backward: US-053>Forward: TC-083- Descrição: Popular automaticamente o formulário de Configurações com os dados retornados por
GET /api/user/meao carregar a tela. - Critério de aceitação técnico: Os campos do formulário devem chegar preenchidos antes de qualquer edição do usuário.
TASK-084¶
<Backward: US-050>Forward: TC-084- Descrição: Desenvolver o modal/tela de detalhes de item no frontend, consumindo
GET /api/items/{id}, exibindo sub-itens quando aplicável. - Critério de aceitação técnico: O modal deve renderizar corretamente tanto itens TODO (com sub-itens) quanto SCHEDULE (sem seção de sub-itens).
TASK-085¶
<Backward: US-045>Forward: TC-085- Descrição: Desenvolver o formulário de edição de item no frontend, consumindo
PATCH /api/items/{id}, ocultando campos não aplicáveis ao tipo do item selecionado. - Critério de aceitação técnico: O formulário não deve exibir campo de dueDate para itens SCHEDULE, nem campos de horário obrigatório para TODO.
TASK-086¶
<Backward: US-047>Forward: TC-086- Descrição: Adicionar checkbox de conclusão na listagem de TODOs, consumindo
PATCH /api/items/{id}/complete. - Critério de aceitação técnico: O clique no checkbox deve refletir o novo estado imediatamente na interface, sem recarregar a página.
TASK-087¶
<Backward: US-054>Forward: TC-087- Descrição: Adicionar checkbox de conclusão em cada sub-item do checklist, consumindo
PATCH /api/items/{todoId}/subitems/{subItemId}. - Critério de aceitação técnico: A marcação de um sub-item não deve alterar visualmente o estado do TODO pai.
TASK-088¶
<Backward: US-049>Forward: TC-088- Descrição: Adicionar botão de remoção individual em cada sub-item do checklist, consumindo
DELETE /api/items/{todoId}/subitems/{subItemId}. - Critério de aceitação técnico: O sub-item deve desaparecer da lista imediatamente após a confirmação da remoção.
TASK-089¶
<Backward: US-052>Forward: TC-089- Descrição: Adicionar botão “Encerrar todas as outras sessões” na tela de gerenciamento de sessões, consumindo
DELETE /api/auth/sessions. - Critério de aceitação técnico: Após o clique, a listagem deve manter apenas a sessão corrente.
TASK-090¶
<Backward: US-055>Forward: TC-090- Descrição: Adaptar o modo de ordenação Manual do Todo List (já iniciado em TASK-046) para persistir a nova ordem via
PATCH /api/items/reorderao final do drag & drop. - Critério de aceitação técnico: Ao recarregar a página, a ordem manual definida deve ser mantida, refletindo a última chamada bem-sucedida ao endpoint.