Plataforma multi-tenant
Empresa, filial, sessão e isolamento. Toda operação no M3R nasce neste recorte.
O M3R é um ERP multi-empresa e multi-filial. Não existe consulta “de todos os tenants”. Cada tela, API e extensão herda o recorte da sessão.
Recorte
| Conceito | Tabela | O que recorta |
|---|---|---|
| Empresa (tenant) | cadastro de company | dados, licença, flags, extensões |
| Filial | filial da empresa | estoque, NF-e, caixa, títulos, OP |
| Usuário | FAU001 | sessão, papéis, empresas acessíveis |
| Acesso empresa | UserCompanyAccess | o que o usuário vê além do system_admin |
system_admin da plataforma enxerga todas as empresas. Operador comum só as empresas ativas no vínculo.
Headers de toda chamada operacional
IDs na URL são Hashids (salts por entidade), não o inteiro interno. O Swagger autenticado na API lista o contrato.
Access token é curto. O ERP renova com refresh serializado entre abas. Integração server-to-server usa credencial do tenant, nunca um segredo de plataforma.
Sessão
- Login (
POST /auth/login) devolve access + refresh, permissões e empresas. - O operador escolhe empresa e filial.
- Toda tela seguinte manda os headers acima.
- Logout ou 401 real limpa tokens e caches de usuário/empresa/filial/permissão.
Status de usuário: FIRST_ACCESS (troca de senha), ACTIVE, INACTIVE, BLOCKED, BLOCKED_EXPIRED, BLOCKED_EXCEEDED_PASSWORD.
O ciclo que a plataforma amarra
Compras atualizam estoque, o estoque alimenta produção e venda, a venda emite documento fiscal e o financeiro recebe as obrigações. Nenhum desses módulos opera “sozinho”: o documento de um processo é a entrada do seguinte.
