Pular para o conteúdo principal

Status: Approved · v2 · SPEC-CONTRACTS-MAP-001

depends_on: SPEC-CONTRACTS-STRUCTURE-001

used_by: IS-ZERO-00.2

Mapa dos contratos por domínio

Mapa canônico para evitar DTOs duplicados e imports circulares.

Mapa

DomínioEntities/DTOsAPI contracts principais
Auth/Useruser.ts, auth.dto.ts, auth-intent.dto.tsregister, login, me, onboarding, intents
Territoryterritory.dto.ts, vocabulary.dto.tsstates, cities, districts, neighborhoods, resolve vocabulary
Teamteam.ts, team.dto.ts, team-player-link.dto.tspublic team, create/update, categories, squad, torcidas
Torcidatorcida.ts, torcida.dto.ts, torcida-member.dto.tspublic, create/update, approval, join/members
Playerplayer.ts, player.dto.ts, player-privacy.dto.tsme, privacy, invites, guest confirmation, stats
Matchmatch.ts, match-report.ts, match-event.tscreate/update, result, validation, contest, report/events
Championshipchampionship.ts, edition.ts, registration.ts, fixture.tspublication, regulation, registrations, format, standings
Wallet/Paymentwallet.ts, payment.ts, sponsor.tssupport, Pix, ledger, transfer, sponsorship
Feed/Notificationfeed.ts, notification.tsfeed, posts, suggestions, mutes, notifications, paid push
Search/Rankingsearch.ts, ranking.ts, statistics.tsuniversal search, filters, rankings/stats
Field/Servicefield.ts, service.ts, provider.tspublic/management, provider/event links
Reports/Supportreport.ts, support-request.tscreate/list/detail/cancel
Managementmanagement-membership.ts, audit-log.ts, upload.tsmanagers, permissions, ownership, assets

Ordem de implementação

  1. Base, money, pagination, errors, ApiResponse e assets.
  2. Territory, auth e user.
  3. Summaries públicos para quebrar dependências.
  4. Team/player/match/championship.
  5. Financeiro e engajamento.
  6. Busca, ranking e entidades auxiliares.
  7. Requests/responses por grupo de API.

Regras de referência

  • DTOs compostos usam summaries leves em vez de objetos completos.
  • PublicMatchDto referencia PublicTeamSummaryDto, não PublicTeamDto inteiro.
  • PlayerStatsDto não incorpora lista completa de partidas.
  • ManagementMembershipDto nunca aparece em resposta pública.
  • IDs de relacionamento permanecem disponíveis quando necessários para ações autorizadas.

Anti-padrões

  • Request dentro de entities/.
  • DTO público definido dentro de controller.
  • Reuso de management DTO em página pública.
  • Entidade de ORM exportada.
  • Array solto como response.
  • Date, float monetário ou any.

Critérios de aceite

  • Todo endpoint das specs aponta para request e response previstos.
  • Summaries reduzem ciclos.
  • Cada arquivo possui responsabilidade única.
  • Mapa é atualizado em toda nova spec aprovada.