Modelo de dados (visão do frontend)
Este repo não possui schema SQL nem ERD oficial. O que existe são tipos TypeScript que espelham os JSON das APIs. Fonte de verdade do banco está nos backends Central e Default.
Agregados que o front conhece
Tenant (UUID)
└── Company / White Label (UUID, parentCompanyId?, slug, status)
├── Addresses, branding, documents (directory v1)
├── Users (company_id / whiteLabelUuid, role_number N0–N5)
├── Roles-company + metadata-permissions (módulos)
├── KYC, MCC, adquirentes, fórmulas, taxas
├── Email templates, sidebar-painel, autentique
└── Theme tokens, icon/banner do tenant
User (auth)
└── Perfil Central + branding (icon/banner) Default ou Central
Role Central (role_number + membros)
Audit log (por companyUuid)
Tenant storage / análises técnicas (quota e uso)
Arquivos de contrato
| Conceito | Tipo principal |
|---|---|
| Sessão / login | src/models/types/Auth.ts |
| User | src/models/types/User.ts |
| Company / cadastro | src/models/types/Company.ts |
| Form fields | client-form-fields.ts, white-label-cadastro-form-fields.ts, planos-cadastro-form-fields.ts, terminais-cadastro-form-fields.ts, estabelecimento-comercial-cadastro-form-fields.ts |
EmailTemplate.ts, SettingsEmailTemplate.ts | |
| Presença | Presence.ts |
| Tenant (companyTenant) | src/models/companyTenant.ts |
Regras úteis
- Matriz vs filial:
parentCompanyId/isFilial/GET /api/companies/me/subcompanies-list-context - Isolamento: JWT
tenantId+companyUuid; listagens Default filtram no backend (perm-user-list, N0 vs N1) - Status empresa:
ativo/inativo+metadata.bloqueiono PATCH/block - Roles White Label:
role_number(n0…); admin equivalente no front:domain/roles/adminRole.ts(A1/A2/A3/N0) - UUIDs na URL da SPA: ofuscados; o ID real vai no path HTTP
Dicionário curto
| Termo | Significado |
|---|---|
| White Label / diretório | Empresa governada na SPA |
| Subempresa / filial | Company com mãe; path /directories/:parent/:id |
| API Central | Auth e directory v1 |
| API Default | Governança e catálogos global-* |
| Scope UUID | Escopo de template/máscara/API de integração |
| MCC | Merchant Category Code (ABECS + tabelas globais) |
| KYC | Cadastro de provedores/endpoints de KYC |
| N0–N5 | Níveis de role da empresa |
| CRM Admin | Usuário da plataforma (/users), não do tenant |
Quando o backend publicar OpenAPI/AsyncAPI, linkar aqui e reduzir este documento a divergências do cliente.