Users¶
Objetivo¶
O módulo Users é responsável pelo gerenciamento completo dos usuários da CoreFlow Platform.
Este módulo centraliza todas as informações cadastrais, preferências, status e vínculos dos usuários, sendo compartilhado por todos os produtos da plataforma.
Nenhum produto deverá implementar cadastro próprio de usuários.
Responsabilidades¶
O módulo deverá fornecer:
- Cadastro de usuários
- Atualização cadastral
- Perfil
- Preferências
- Avatar
- Idioma
- Fuso horário
- Situação do usuário
- Associação com empresas
- Associação com papéis (Roles)
- Associação com equipes
- Histórico de alterações
Arquitetura¶
Users
│
┌───────────┼───────────┐
│ │ │
Authentication RBAC Companies
│ │ │
└───────────┼───────────┘
Audit
Entidade Principal¶
User¶
A entidade User representa uma pessoa autenticável dentro da plataforma.
Todo usuário deverá possuir um identificador único.
Dados Cadastrais¶
Campos mínimos:
- Nome
- Nome de exibição
- Telefone
- CPF (quando aplicável)
- Data de nascimento
- Avatar
- Idioma
- Fuso horário
Situação¶
Estados possíveis:
- Ativo
- Inativo
- Bloqueado
- Suspenso
- Pendente de ativação
Preferências¶
Cada usuário poderá definir:
- Tema
- Idioma
- Timezone
- Página inicial
- Formato de data
- Formato monetário
- Preferências de notificações
Associação com Empresas¶
Um usuário poderá pertencer a:
- uma empresa
- várias empresas
Cada vínculo possuirá permissões independentes.
Associação com Papéis¶
Um usuário poderá possuir:
- um papel
- vários papéis
As permissões efetivas serão calculadas pelo módulo RBAC.
Equipes¶
Usuários poderão ser organizados em equipes.
Exemplos:
- Comercial
- Financeiro
- RH
- TI
- Diretoria
Ciclo de Vida¶
stateDiagram-v2
[*] --> Pendente
Pendente --> Ativo
Ativo --> Suspenso
Suspenso --> Ativo
Ativo --> Bloqueado
Bloqueado --> Ativo
Ativo --> Inativo
Inativo --> Ativo
APIs¶
GET /api/v1/users/
GET /api/v1/users/{id}/
POST /api/v1/users/
PUT /api/v1/users/{id}/
PATCH /api/v1/users/{id}/
DELETE /api/v1/users/{id}/
Auditoria¶
Registrar obrigatoriamente:
- Cadastro
- Alterações
- Exclusão lógica
- Mudança de status
- Alteração de papéis
- Alteração de empresas
- Alteração de preferências
Integrações¶
O módulo deverá integrar-se com:
- Authentication
- Companies
- RBAC
- Audit
- Notifications
- Files
Regras de Negócio¶
- O e-mail deverá ser único.
- Usuários inativos não poderão autenticar.
- Usuários bloqueados não poderão criar sessões.
- Toda alteração deverá gerar auditoria.
- Exclusões deverão utilizar Soft Delete.
Permissões¶
As permissões serão definidas exclusivamente pelo módulo RBAC.
O módulo Users não deverá conter regras de autorização.
Testes Obrigatórios¶
- Cadastro
- Atualização
- Exclusão lógica
- Associação com empresas
- Associação com papéis
- Preferências
- Alteração de status
- Auditoria
Anti-patterns¶
É proibido:
- Cadastro duplicado
- Autorização implementada neste módulo
- Exclusão física de usuários
- Dados sensíveis sem proteção
- Regras de negócio em Views
Objetivo Final¶
Disponibilizar um cadastro único, consistente, auditável e reutilizável de usuários para todos os produtos da CoreFlow Platform, garantindo integração com autenticação, autorização e multiempresa.