feat(notifications): add notification center with real-time updates

- add notifications DB schema, repository, service, gateway, and controller
- add shared notification types, categories, and preference models
- add NotificationAccess permission with authorization matrix probe
- add frontend composable with Socket.IO subscription and REST API
- add NotificationPopover, NotificationItem, and NotificationPreferences components
- integrate notification producers in scanner, metadata fetch, book bucket, author enrichment, email, migration, and file write-back services
- add 30-day auto-cleanup via existing CleanupService cron
- add 29 backend unit tests for notification service and controller
This commit is contained in:
neon
2026-04-15 03:15:05 -06:00
parent f3d185ccb2
commit 40d829a8a9
53 changed files with 2193 additions and 62 deletions
@@ -411,6 +411,11 @@ describe('Authorization matrix (e2e)', () => {
path: '/audit-log',
token: 'allPerms',
},
[Permission.NotificationAccess]: {
method: 'GET',
path: '/notifications',
token: 'allPerms',
},
};
const failures: MatrixFailure[] = [];