- PermissionsGuard lehnt Routen ohne @RequirePermissions/@AllowAnyAuthenticated
ab. API-Keys umgehen keine Rechteprüfung mehr, sondern gelten nur auf
Routen mit @AllowApiKey (Paperless-Webhook, externer Upload, checksum,
Agent-Routen des Etikettendrucks).
- Rechte für 24 bisher offene Routen ergänzt, u.a. paperless/documents
(nur Admin), paperless/documents/:id und Kontonummern (Posteingang/
manuell), webhook/status (Admin). routen-rechte.spec.ts prüft alle Routen.
- Etiketten-Agent: printed/error nur für abgeholte, offene Jobs (bedingtes
Update, sonst 409) – ein gedruckter Job kann seine Nummer nicht mehr
freigeben. Feldwerte nur aus den Eingabefeldern der Vorlage ({number}
nicht vorgebbar) und URL-kodiert in GET-/Callback-URLs.
- PUT paperless/inbox/:id ignoriert Freigabe (CF15) und Zahlung (CF16)
ohne die jeweilige Rolle (Funktionstrennung).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
27 lines
946 B
TypeScript
27 lines
946 B
TypeScript
import { Controller, Get, Post, Body, Param } from '@nestjs/common';
|
|
import { KontonummernService } from './kontonummern.service';
|
|
import { RequirePermissions } from '../auth/permissions.decorator';
|
|
import { Permission } from '../auth/permissions.enum';
|
|
|
|
export class CreateKontonummerDto {
|
|
correspondentId: number;
|
|
nummer: string;
|
|
}
|
|
|
|
@Controller('api/kontonummern')
|
|
// Bankverbindungen: nur für die Dokumentbearbeitung (Posteingang, manuell)
|
|
@RequirePermissions(Permission.VIEW_INBOX, Permission.PROCESS_MANUALLY)
|
|
export class KontonummernController {
|
|
constructor(private readonly kontonummernService: KontonummernService) {}
|
|
|
|
@Get('FromCorrespondent/:id')
|
|
async getByCorrespondent(@Param('id') id: string) {
|
|
return this.kontonummernService.findByCorrespondent(parseInt(id, 10));
|
|
}
|
|
|
|
@Post()
|
|
async create(@Body() dto: CreateKontonummerDto) {
|
|
return this.kontonummernService.create(dto.correspondentId, dto.nummer);
|
|
}
|
|
}
|