app.notifications
TablePartitioned by monthRow level security on
Inbox notifications (Section 7.3), one per recipient, in monthly partitions. Readable only by the recipient while they belong to the org (invariant 3). Copy is rendered from the i18n catalogs by kind with message_args.
Primary key: id, created_at
| Column | Type | Nullable | Description |
|---|---|---|---|
| id | uuid | No | Notification id, UUID v7. |
| org_id | uuid | No | Owning org. A row never moves to another org.References app.organizations.id |
| recipient_person_id | uuid | No | Person the notification is for.References app.people.id |
| kind | text | No | Notification kind from app.notification_templates. |
| actor_person_id | uuid | Yes | Person whose action caused it, when one did.References app.people.id |
| subject_table | text | Yes | Table of the record it is about. |
| subject_id | uuid | Yes | Id of the record it is about. |
| project_id | uuid | Yes | Project of the record, when it belongs to one.References app.projects.id |
| message_args | jsonb | No | ICU message arguments for the kind's catalog messages (display values such as a record title). Never relational data. |
| read_at | timestamp with time zone | Yes | When the recipient read it. |
| archived_at | timestamp with time zone | Yes | When the recipient archived it. |
| created_at | timestamp with time zone | No | When the row was inserted. Set by the database. |
| created_by | uuid | Yes | Person who inserted the row, or null for a platform process. Set by the database.References app.people.id |
| updated_at | timestamp with time zone | No | When the row last changed. Set by the database. |
| updated_by | uuid | Yes | Person who last changed the row, or null for a platform process. Set by the database.References app.people.id |
| deleted_at | timestamp with time zone | Yes | Soft delete time. A row with deleted_at set is ignored by every access helper. |