import { Controller, Post, Body, Logger, HttpCode, HttpStatus } from '@nestjs/common'; import { Public } from '../auth/public.decorator'; export interface PaperlessWebhookPayload { document_id: number; action: string; [key: string]: any; } @Controller('webhook') export class WebhookController { private readonly logger = new Logger(WebhookController.name); @Public() @Post('paperless') @HttpCode(HttpStatus.OK) async handlePaperlessWebhook(@Body() payload: PaperlessWebhookPayload): Promise<{ status: string }> { this.logger.log(`Webhook empfangen: action=${payload.action}, document=${payload.document_id}`); // TODO: Business-Logik für verschiedene Webhook-Events // - document_updated → Felder prüfen, Postprocessing auslösen // - document_consumed → GoBD-Archivierung prüfen return { status: 'received' }; } }