Pular para o conteúdo principal

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

ConceitoTipo principal
Sessão / loginsrc/models/types/Auth.ts
Usersrc/models/types/User.ts
Company / cadastrosrc/models/types/Company.ts
Form fieldsclient-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
E-mailEmailTemplate.ts, SettingsEmailTemplate.ts
PresençaPresence.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.bloqueio no 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

TermoSignificado
White Label / diretórioEmpresa governada na SPA
Subempresa / filialCompany com mãe; path /directories/:parent/:id
API CentralAuth e directory v1
API DefaultGovernança e catálogos global-*
Scope UUIDEscopo de template/máscara/API de integração
MCCMerchant Category Code (ABECS + tabelas globais)
KYCCadastro de provedores/endpoints de KYC
N0–N5Níveis de role da empresa
CRM AdminUsuá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.