ores.inbox.notification_recipient
Table of Contents
Each person a notification reaches has their own row, kept until they read or
clear it, and a person reads only their own. read_at and cleared_at are the
person's read state: null until they read or clear it. The unread count on
every screen counts a person's rows with no read_at.
A row is identified by the notification and the account.
1. Flags
It states no :events:. Its component has no service-side composition point for change events yet, so a generated event registrar would publish nothing.
2. Left
The notification the person receives.
References ores_inbox_notifications_tbl.id (soft FK).
ctx.generate_uuid()
3. Right
The account that receives the notification.
References ores_iam_accounts_tbl.id (soft FK).
ctx.generate_uuid()
4. Columns
4.1. read_at
When the person read it, or null while it is unread.
std::nullopt
4.2. cleared_at
When the person cleared it from their list, or null while it is shown.
std::nullopt
5. SQL
5.1. Flags
6. Foreign keys
6.1. notification_id
The notification the person receives; must exist in ores_inbox_notifications_tbl.
6.2. account_id
The account that receives it; must exist in ores_iam_accounts_tbl.
7. Repository
8. C++
8.1. Flags
8.2. Domain includes
#include <optional> #include <string> #include <boost/uuid/uuid.hpp>
8.3. Entity includes
#include <string>
8.4. Conventions
8.5. Table display
| column | header |
|---|---|
| notification_id | Notification |
| account_id | Account |
| read_at | Read At |
| cleared_at | Cleared At |
| version | Version |
8.6. Presentation
A recipient is identified by the pair it links, so the model declares no key field.
9. See also
- Notification requirements — durable, personal copies with read state.
- ores.inbox.notification — the notification a recipient receives.
- ores.inbox.notification_delivery — each attempt to reach a recipient.