26 lines
865 B
TypeScript
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' };
|
|
}
|
|
}
|