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
+2
View File
@@ -52,6 +52,7 @@ import { ReadingSessionModule } from './modules/reading-session/reading-session.
import { UserBookStatusModule } from './modules/user-book-status/user-book-status.module';
import { AuditModule } from './modules/audit/audit.module';
import { MigrationModule } from './modules/migration/migration.module';
import { NotificationModule } from './modules/notification/notification.module';
@Module({
imports: [
@@ -112,6 +113,7 @@ import { MigrationModule } from './modules/migration/migration.module';
UserBookStatusModule,
AuditModule,
MigrationModule,
NotificationModule,
],
providers: [
{ provide: APP_GUARD, useClass: ThrottlerGuard },