Skip to content

Data Model — Mensagens

Modelo de dados da coleção dedicada de mensagens, conforme ADR-0023 — Coleção Dedicada de Mensagens.


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

Um documento por mensagem.


CampoTipoObrigatórioDescrição
idstringSimIdentificador único da mensagem (ex.: auto-ID do Firestore)
receiverIdstringSimUID do usuário destinatário
emitterIdstringSimUID do emissor (usuário ou sistema)
emitterNamestringNãoNome do emissor para exibição
emitterEmailstringNãoEmail do emissor
emittedAtstring (ISO 8601)SimData/hora de envio
titlestringSimTítulo da mensagem
bodystringNãoCorpo/conteúdo da mensagem
typestringSimTipo: SYSTEM, PERSONAL, GROUP, PUBLIC, etc.
readStatusstringSimStatus de leitura: UNREAD, READ, IGNORED
prioritystringSimPrioridade: LOW, NORMAL, HIGH, URGENT (ordem de destaque: URGENT > HIGH > NORMAL > LOW)
ministryIdstringSimEscopo tenant (ministério)
unitIdstringNãoUnidade organizacional quando aplicável
deletedAtstring (ISO 8601)NãoPreenchido quando receptor exclui (soft delete)

As ações do receptor (excluir, marcar como lida, ignorar) são refletidas nos campos:

  • Excluir: deletedAt preenchido; documento pode ser filtrado da lista ou removido
  • Marcar como lida: readStatus = READ
  • Ignorar: readStatus = IGNORED

Para suportar o listener em tempo real e queries:

ColeçãoCamposUso
platform/.../messagesreceiverId ASC, deletedAt ASC, priority ASC, emittedAt DESCListar mensagens do destinatário, excluídas filtradas, ordenadas por prioridade e data

Para mensagens visíveis a todos no ministério (ex.: aviso de horário da EBD, boas-vindas), use receiverId: "*".

O listener do frontend consulta receiverId in [emailDoUsuario, "*"] quando logado, ou receiverId == "*" quando não logado (parte pública da aba Início).


  • receiverId → email do destinatário ou "*" para broadcast público
  • emitterIdplatform/users/{uid} ou identificador de sistema
  • ministryId → escopo multitenancy (ADR-0012)

TipoDocumento
ADRADR-0023 — Coleção Dedicada de Mensagens
TDDTDD API Mensagens