Skip to content

data-model-ebd

Caminho: platform/ministrys/{ministryId}/data/ebds/{sessionId} (coleção por tenant).

Um documento por ocorrência de EBD em uma unidade em uma data.


CampoTipoObrigatórioDescrição
idstringSimID do documento (sessionId)
ministryIdstringSimEscopo tenant (ministério)
unitIdstringSimUnidade (igreja) onde ocorreu
datestring (ISO 8601)SimData da ocorrência (domingo)
statusstringSimCREATED, IN_PROGRESS, CONCLUDED, CLOSED
typestringSimFULL_CLASS, REGULAR_CLASS, UNIQUE_CLASS, ONLINE_CLASS, CANCELED, REPLACED_BY_EVENT, REPLACED_BY_CULT
replaceCausestringNãoLOCAL_EVENT, MINISTERIAL_EVENT, BAPTISM, WEATHER_CONDITION, etc.
replaceCauseObservationstringNãoObservação sobre a causa
weatherTypestringNãoSUNNY, PARTLY_CLOUDY, CLOUDY, LIGHT_RAIN, HEAVY_RAIN, THUNDERSTORM, FOG
temperaturestringNãoVERY_COLD, COLD, MILD, WARM, VERY_WARM
totalStudentsnumberSimTotal de alunos (default 0)
totalVisitorsnumberSimTotal de visitantes (default 0)
totalLeadersnumberSimTotal de líderes (default 0)
totalWorkersnumberSimTotal de obreiros (default 0)
totalPastorsnumberSimTotal de pastores (default 0)
observationstringNãoObservação geral
principalsarrayNãoLista de userIds responsáveis
createdAtstring (ISO 8601)NãoData de criação
updatedAtstring (ISO 8601)NãoData de atualização

Caminho: platform/ministrys/{ministryId}/data/ebds/{sessionId}/lessons/{lessonId}

As classes (Lessons) são uma subcoleção dentro da EbdSession. Cada documento representa uma aula/classe ministrada na sessão.

Responsabilidade de inclusão: As classes são incluídas pelo usuário que cria a EbdSession, não derivadas automaticamente dos ClassGroups da unidade. O criador escolhe quais classes farão parte daquela sessão.

Sugestão na criação: No momento da criação de uma nova EbdSession, o sistema deve sugerir as classes usadas no domingo anterior da mesma unidade. O criador pode aceitar a sugestão, remover ou adicionar classes antes de confirmar.

Campos conforme entidade Lesson (classGroupId, theme, teacherId, monitorId, totais, etc.).


ColeçãoCamposUso
ebdsunitId ASC, date DESCListar sessões por unidade, mais recentes primeiro

  • Listar sessões de uma unidade: where('unitId', '==', unitId).orderBy('date', 'desc').limit(n)
  • Buscar sessão por data: where('unitId', '==', unitId).where('date', '==', dateStr)
  • Sugestão de classes: Para sugerir classes na criação, buscar a sessão mais recente anterior à data: where('unitId', '==', unitId).where('date', '<', dateStr).orderBy('date', 'desc').limit(1) e ler a subcoleção lessons dessa sessão

TipoDocumento
ADRADR-0005, ADR-0003, ADR-0024
PRDPRD-0003
Legadomodel_ebd, model_ebd_class