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ínio | Entities/DTOs | API contracts principais |
|---|---|---|
| Auth/User | user.ts, auth.dto.ts, auth-intent.dto.ts | register, login, me, onboarding, intents |
| Territory | territory.dto.ts, vocabulary.dto.ts | states, cities, districts, neighborhoods, resolve vocabulary |
| Team | team.ts, team.dto.ts, team-player-link.dto.ts | public team, create/update, categories, squad, torcidas |
| Torcida | torcida.ts, torcida.dto.ts, torcida-member.dto.ts | public, create/update, approval, join/members |
| Player | player.ts, player.dto.ts, player-privacy.dto.ts | me, privacy, invites, guest confirmation, stats |
| Match | match.ts, match-report.ts, match-event.ts | create/update, result, validation, contest, report/events |
| Championship | championship.ts, edition.ts, registration.ts, fixture.ts | publication, regulation, registrations, format, standings |
| Wallet/Payment | wallet.ts, payment.ts, sponsor.ts | support, Pix, ledger, transfer, sponsorship |
| Feed/Notification | feed.ts, notification.ts | feed, posts, suggestions, mutes, notifications, paid push |
| Search/Ranking | search.ts, ranking.ts, statistics.ts | universal search, filters, rankings/stats |
| Field/Service | field.ts, service.ts, provider.ts | public/management, provider/event links |
| Reports/Support | report.ts, support-request.ts | create/list/detail/cancel |
| Management | management-membership.ts, audit-log.ts, upload.ts | managers, permissions, ownership, assets |
Ordem de implementação
- Base, money, pagination, errors, ApiResponse e assets.
- Territory, auth e user.
- Summaries públicos para quebrar dependências.
- Team/player/match/championship.
- Financeiro e engajamento.
- Busca, ranking e entidades auxiliares.
- Requests/responses por grupo de API.
Regras de referência
- DTOs compostos usam summaries leves em vez de objetos completos.
PublicMatchDtoreferenciaPublicTeamSummaryDto, nãoPublicTeamDtointeiro.PlayerStatsDtonão incorpora lista completa de partidas.ManagementMembershipDtonunca 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 ouany.
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.