Files
ApiCore/ApiCore-Backend/src/compliance/compliance.module.ts
T
Nick SzaunigandClaude Opus 5.5 b912d29166
Backend Image / build-and-push (push) Successful in 4m58s
Frontend Image / build-and-push (push) Successful in 7m57s
feat: T6 wave 4 – notice PDFs, compliance notifications, readiness core
- Authority notice PDFs: pure model plus renderer, TSK count in A4
  landscape, FEHLT for missing particulars, stored totals with correction
  note; GET /authority-notices/:id/pdf with compliance:read.
- Compliance notifications in category COMPLIANCE: herd change and TSK
  reference day, at most one unread per topic and user (advisory lock);
  daily rule TskReferenceDayReached with Berlin day and catch-up; handlers
  in API and worker.
- Readiness core: live evaluation of seven pure rules, fingerprinted
  acknowledgements that reopen when revoked or stale, subject masking,
  read-only GET paths; READINESS_RULES injectable; kept out of the worker.
- e2e hygiene: no unscoped deletes, seeded settings rows saved/restored.
- ARCHITECTURE.md §12.8–12.10, §10 handler rows, Annahmen 78–85.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-15 14:48:57 +02:00

22 lines
946 B
TypeScript

import { Module } from '@nestjs/common';
import { NotificationsModule } from '../notifications/notifications.module';
import { AuthorityNoticesController } from './authority-notices.controller';
import { AuthorityNoticesService } from './authority-notices.service';
import { ComplianceEventHandlers } from './compliance.handlers';
import { ComplianceSettingsController } from './compliance-settings.controller';
import { ComplianceSettingsService } from './compliance-settings.service';
// No provider here may inject PermissionResolverService: the worker imports
// this module too (it carries the event handlers).
@Module({
imports: [NotificationsModule],
controllers: [ComplianceSettingsController, AuthorityNoticesController],
providers: [
ComplianceSettingsService,
AuthorityNoticesService,
ComplianceEventHandlers,
],
exports: [ComplianceSettingsService, AuthorityNoticesService],
})
export class ComplianceModule {}