Skip to content

Backend - Implementar Endpoint para Criar User #23

@alvaropmontenegro

Description

@alvaropmontenegro

Tarefa: Backend – Implementar Endpoint para Criar User

Implementar um endpoint no backend para criar um novo usuário no sistema.

  • Definir rota para criação de usuário (POST /users)
  • Receber os seguintes dados no payload:
    • id (GUID) – gerado automaticamente
    • tenant_id – referência ao Tenant ao qual o usuário pertence (FK → Tenant.id)
    • role – perfil do usuário (Admin, Teacher, Member)
    • name – nome completo do usuário
    • email – email de login/contato
    • avatar - foto do contato
    • plan - cada Tenant pode definir seus proprios planos (smartfit => black, fit, smart)
    • password – senha criptografada
    • phone – telefone de contato
    • language - idioma escolhido pelo usuario (valor inicial: pegar valor do tenant)
    • created_at – timestamp de criação (gerado automaticamente)
  • Validar dados obrigatórios e formatos (email, telefone, role)
  • Verificar existência do tenant_id no banco antes de criar o usuário
  • Persistir usuário no banco de dados
  • Retornar resposta adequada:
    • 201 Created em caso de sucesso, com os dados do usuário criado (sem retornar senha)
    • Erros apropriados para validações, conflitos ou Tenant inexistente

Contexto

No contexto do aplicativo de academia, um User representa um usuário do sistema vinculado a um Tenant. O papel do usuário (Admin, Teacher ou Member) define as permissões e ações que ele pode executar dentro do sistema, garantindo controle de acesso adequado.

O endpoint deve assegurar que cada usuário seja corretamente associado a um Tenant, validando dados e mantendo segurança, especialmente em relação à senha.

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