Parte do épico Central de perfil do profissional (frente: backend). Mocks são base direcional.
Objetivo: Excluir conta (soft delete) com revogação efetiva do token.
Arquivos: Modify src/controller/userController/index.mjs, src/middleware/authMiddleware.mjs, src/routes/index.mjs · Test src/tests/deleteAccount.test.mjs
Dependências: #86 (campo active)
O que fazer:
- Endpoint autenticado que faz soft delete do próprio usuário (
active: false).
- Ajustar o
authMiddleware: após validar o JWT, carregar o usuário e barrar active: false (403). Sem isso, o token (~12h) continua válido após a exclusão. Aceitar o lookup por request (ou cache com TTL curto).
Test scenarios: exclusão marca active: false; token de conta inativada → 403 em rota protegida; sem token → 401; um usuário só exclui a própria conta.
Pronto quando: o profissional inativa a própria conta e o token deixa de ter efeito imediatamente.
Rollback: reativar (active: true) via banco; nenhum dado destruído.
Parte do épico Central de perfil do profissional (frente: backend). Mocks são base direcional.
Objetivo: Excluir conta (soft delete) com revogação efetiva do token.
Arquivos: Modify
src/controller/userController/index.mjs,src/middleware/authMiddleware.mjs,src/routes/index.mjs· Testsrc/tests/deleteAccount.test.mjsDependências: #86 (campo
active)O que fazer:
active: false).authMiddleware: após validar o JWT, carregar o usuário e barraractive: false(403). Sem isso, o token (~12h) continua válido após a exclusão. Aceitar o lookup por request (ou cache com TTL curto).Test scenarios: exclusão marca
active: false; token de conta inativada → 403 em rota protegida; sem token → 401; um usuário só exclui a própria conta.Pronto quando: o profissional inativa a própria conta e o token deixa de ter efeito imediatamente.
Rollback: reativar (
active: true) via banco; nenhum dado destruído.