Pular para conteúdo

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
  • E-mail
  • 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.