Skip to content

Backend - Implementar Endpoint para Atualizar User #30

@alvaropmontenegro

Description

@alvaropmontenegro

Tarefa: Backend – Implementar Endpoint para Atualizar User (filtrado por Tenant)

Implementar endpoint para atualizar os dados de um User existente. A atualização deve respeitar o isolamento por Tenant.


Endpoint – Atualizar User por ID

  • Definir rota:

    • PUT /users/{id}
  • Receber:

    • id (GUID) – via route param
    • Payload com campos atualizáveis:
      • role (Admin, Teacher, Member)
      • name
      • email
      • avatar
      • plan
      • phone
      • language
  • Regras:

    • Não permitir alteração de tenant_id
    • Não permitir alteração de created_at
    • Senha deve possuir endpoint separado (não atualizar aqui)
  • Validar:

    • GUID válido
    • Email válido
    • Role válida
    • Presença de tenant_id no contexto
  • Buscar aplicando filtro:

    • User.id == id AND User.tenant_id == tenant_id
  • Atualizar registro

  • Atualizar campo updated_at automaticamente

  • Retornar:

    • 200 OK com dados atualizados (sem senha)
    • 404 Not Found se não existir ou não pertencer ao Tenant
    • 400 Bad Request para erros de validação
    • 409 Conflict para conflitos (ex: email já existente no Tenant)

Contexto

A atualização deve respeitar o isolamento entre academias, garantindo que um Tenant não altere dados de outro.

Segurança multi-tenant é obrigatória.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions