feat: add platform notification core
This commit is contained in:
@@ -38,6 +38,14 @@ Hosted Authentik login используется только как времен
|
||||
- backend-интеграция с Authentik API как внутренняя sync/projection;
|
||||
- audit log админских действий.
|
||||
|
||||
`Notification Core` является платформенным владельцем уведомлений:
|
||||
|
||||
- принимает факты от Hub, Engine, Operational Core и будущих сервисов;
|
||||
- хранит `notification_events` как факт произошедшего события;
|
||||
- хранит `notification_deliveries` как адресную доставку на surface `hub`, `engine` и будущие поверхности;
|
||||
- хранит server-side read-state, не завязанный на localStorage браузера;
|
||||
- не использует Authentik DB и не становится владельцем доменных заявок Hub или Engine.
|
||||
|
||||
`Task Manager / Plane` остается отдельным приложением:
|
||||
|
||||
- собственная БД;
|
||||
@@ -83,6 +91,7 @@ NODEDC/
|
||||
```text
|
||||
launcher_db -> clients, users, memberships, groups, invites, app registry, access model, profiles, audit
|
||||
authentik_db -> identity/session/OIDC projection from Launcher
|
||||
notification_db -> notification_events, notification_deliveries, read-state
|
||||
plane_db -> workspace, projects, tasks, comments, app roles
|
||||
future_app_db -> доменная логика будущих приложений
|
||||
```
|
||||
@@ -91,6 +100,8 @@ future_app_db -> доменная логика будущих приложе
|
||||
|
||||
Launcher является источником бизнес-пользователя. Authentik хранит техническую identity, необходимую для SSO, но не заменяет Launcher в администрировании клиентов, команд, доступов и профиля.
|
||||
|
||||
Notification recipient определяется как распознанный platform subject. Для email без platform user record delivery не создается: source flow может хранить pending intent/invite, а delivery появляется после регистрации/создания platform identity. Pending access-request user, который уже может войти в Hub и видеть витрину, считается допустимым recipient для `hub` delivery. Surface-specific delivery, например `engine`, создается только когда пользователь имеет доступ к этой surface.
|
||||
|
||||
## App standalone rule
|
||||
|
||||
Подключаемые приложения не должны становиться невынимаемыми частями NODE.DC.
|
||||
|
||||
Reference in New Issue
Block a user