feat: RBAC Phase 2d - Auswertung & Ausgabe auf @RequirePermission umgestellt

Dashboard, Search, Calendar, Statistics, Qr, Export, Documents:
@Roles(...) durch @RequirePermission(...) ersetzt bzw. neu eingefuehrt
(alle diese Controller hatten zuvor gar keine Rollenpruefung -
jeder eingeloggte Nutzer konnte lesen). Documents behaelt STAFF-Zugriff
auf Upload und Loeschen.

Verifiziert: tsc, lint, volle e2e-Suite 158/159 gruen (1 getrackter Skip).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Sonnet 5 committed 2026-08-26 07:09:20 +02:00
1 parent c510304813
commit 8832081973
7 files changed
+28 -4

No files matched your search

+3
View File
@@ -1,6 +1,7 @@
import { Controller, Get, Param, Res } from '@nestjs/common';
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import type { Response } from 'express';
import { RequirePermission } from '../auth/decorators/require-permission.decorator';
import { QrService } from './qr.service';
@ApiTags('qr')
@@ -9,6 +10,7 @@ import { QrService } from './qr.service';
export class QrController {
constructor(private readonly qrService: QrService) {}
@RequirePermission('qr:read')
@Get(':entityType/:id.svg')
async svg(
@Param('entityType') entityType: string,
@@ -20,6 +22,7 @@ export class QrController {
res.send(svg);
}
@RequirePermission('qr:read')
@Get(':entityType/:id/link')
async link(
@Param('entityType') entityType: string,