Skip to main content
NotificationRecipient representa a entrega e o estado individual de uma Notification para um usuário. Ele permite controlar leitura, arquivamento e remoção por destinatário.

Campos

CampoTipoDescrição
notificationRecipientIdUUIDIdentificador único
notificationIdUUIDNotificação recebida
recipientUserIdUUIDUsuário destinatário
deliveredAtDateTime?Data em que foi entregue via realtime ou inbox
readAtDateTime?Data em que foi marcada como lida
archivedAtDateTime?Data em que foi arquivada
statusNotificationRecipientStatusEstado da notificação para o destinatário
createdByUUID?Usuário que criou o registro, quando aplicável
createdAtDateTimeData de criação
updatedByUUID?Usuário que fez a última atualização, quando aplicável
updatedAtDateTimeData da última atualização
deletedByUUID?Usuário que removeu o registro, quando aplicável
deletedAtDateTime?Data de remoção lógica

Relacionamentos

Regras de negócio

  • O par notificationId + recipientUserId deve ser único.
  • NotificationRecipient guarda o estado por usuário; a mesma Notification pode ter múltiplos recipients.
  • UNREAD é o estado inicial.
  • READ deve preencher readAt.
  • ARCHIVED deve preencher archivedAt.
  • deliveredAt representa entrega in-app ou realtime; envio externo por email/WhatsApp não é controlado por esta entidade.
  • Remoção lógica afeta apenas a visualização do destinatário e não apaga a Notification.

Enums

NotificationRecipientStatus

ValorDescrição
UNREADNotificação ainda não lida
READNotificação lida
ARCHIVEDNotificação arquivada pelo destinatário

Example

{
  "notificationRecipientId": "0197fa01-d2e2-70df-8fd3-9e22a345a196",
  "notificationId": "0197fa00-3e63-7f58-a878-7ef7ecfa9bc1",
  "recipientUserId": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "deliveredAt": "2026-07-04T16:00:02.000Z",
  "readAt": null,
  "archivedAt": null,
  "status": "UNREAD",
  "createdBy": null,
  "createdAt": "2026-07-04T16:00:00.000Z",
  "updatedBy": null,
  "updatedAt": "2026-07-04T16:00:02.000Z",
  "deletedBy": null,
  "deletedAt": null
}