Files
paperlessmanager/paperless-backend/src/webhook/webhook.controller.ts
T

26 lines
865 B
TypeScript

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' };
}
}