-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Tarefa: Backend – Implementar Endpoints para Selecionar Users (sempre filtrando por Tenant)
Implementar endpoints no backend para consultar usuários no sistema. Toda busca deve obrigatoriamente ser filtrada pelo Tenant.
Regras Gerais
- Toda requisição deve conter o contexto do
tenant_id(header, claim ou rota — seguir padrão do projeto) - Todas as consultas devem aplicar filtro obrigatório:
User.tenant_id == tenant_id
- Não retornar o campo
passwordem nenhuma resposta - Utilizar DTO de resposta
Endpoint 1 – Buscar User por ID
- Definir rota:
GET /users/{id}
- Receber:
id(GUID) – via route param
- Validar:
idGUID válido- Presença do
tenant_idno contexto
- Consultar no banco aplicando filtro:
User.id == id AND User.tenant_id == tenant_id
- Retornar:
200 OKcom dados do usuário404 Not Foundse não existir ou não pertencer ao Tenant400 Bad Requestseidinválido
Endpoint 2 – Buscar User por Email
- Definir rota:
GET /users/email/{email}
- Receber:
email– via route param
- Validar formato do email
- Consultar no banco aplicando filtro:
User.email == email AND User.tenant_id == tenant_id
- Retornar:
200 OKcom dados do usuário404 Not Foundse não existir400 Bad Requestpara email inválido
Endpoint 3 – Listar Todos Users do Tenant
- Definir rota:
GET /users
- Consultar todos os usuários do Tenant:
User.tenant_id == tenant_id
- Retornar:
200 OKcom lista de usuários- Lista vazia caso não existam registros (não retornar erro)
Contexto
No aplicativo de academia, cada User pertence a um único Tenant.
Nenhuma consulta deve permitir acesso a usuários de outro Tenant, garantindo isolamento de dados e segurança multi-tenant.
Todas as consultas devem respeitar o escopo do Tenant autenticado.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels