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

Emacs 29.3 (Org mode 9.6.15)