Skip to content

TDD — Classe de Domínio `Ebd`

Aprovado para implementação da classe (sem integração de uso)

Registrar a definição técnica da classe Ebd no domínio como agregador das sessões EBD da unidade.

  • Criar apenas a classe de domínio e enum de status.
  • Não integrar em repository, use case, DI, UI ou backend nesta etapa.

Arquivo alvo de código:

  • frontend/lib/domain/entities/ebd.dart

Campos previstos (com tipo):

  1. id: String
  2. unitId: String
  3. name: String
  4. description: String?
  5. status: EbdStatus
  6. active: bool
  7. sessions: List<EbdSessionNew>
  8. coordinators: List<ChurchPersonRef>
  9. additionalInfo: String?
CódigoDescrição amigável
ACTIVEAtiva
INACTIVEInativa
PENDINGPendente
BLOCKEDBloqueada
ARCHIVEDArquivada
  • Ebd compõe sessões por sessions: List<EbdSessionNew>.
  • Ebd compõe responsáveis por coordinators: List<ChurchPersonRef>.
  • Sem toMap/fromMap nesta primeira versão.
  • Sem alteração das classes já existentes em produção.
  • Classe deve permanecer pura de domínio (sem Flutter/Firebase).
  • Persistência Firestore.
  • Mapeadores em infrastructure.
  • Ajuste de fluxos de relatório.
  • Migração de chamadas para Ebd.
  • docs/architecture/adrs/adr-0005-modelo-de-dominio-conceitual.md
  • docs/architecture/adrs/adr-0007-padrao-de-organizacao-de-codigo.md
  • docs/architecture/tdd/data-model/tdd-classe-ebd-session-new.md
  • docs/architecture/tdd/data-model/tdd-classe-church.md