notifications holds the notices shown at the top of a user’s project dashboard. One document is one notice for one user, identified by its key. Only the notifications service touches the collection (services/notifications/app/js/Notifications.js); web and third-party-datastore call its HTTP API. There is no Mongoose schema.
Fields
Who Writes It
Notices that CE and our modules create:
NotificationsBuilder.mjs also builds keys for group invitations, institution affiliations, subscriptions and old debug projects. Their callers are in the subscription and institution code, and the old-debug-projects check only runs when isSaas (services/web/app/src/Features/Project/ProjectListController.mjs:234-236).
Who Reads It
Indexes
Notes
- A read notice is not deleted: only
templateKeygoes. Because the document still holds the key, a lateraddNotificationwithoutforceCreatefor the same key does nothing (Notifications.js:21-24). - The
/key/:keyroutes act on the key alone, across users (Notifications.js:76-100). - If
webhas noapis.notifications.url, it neither creates nor reads notices (NotificationsHandler.mjs:17,:41).

