Worker- und PDF-Dienst

Der Worker hängt am Discord-Gateway und schreibt alle 30 Sekunden sein
Lebenszeichen in die Datenbank, damit /api/health im Web-Container den
Gateway-Zustand kennt, ohne selbst mit Discord zu sprechen. healthcheck.js
prüft genau dieses Lebenszeichen. Der eigentliche Rollen-Abgleich kommt in
Phase 1.

Der PDF-Dienst rendert die Druckansicht über Playwright. Kein PDF-Layout von
Hand, die Gestaltung kommt aus @media print der Seite selbst. Er kennt keine
Rechte: wer darf, entscheidet die Web-App, bevor sie hier anfragt, und schickt
das Sitzungs-Cookie des Abrufers mit, damit die gerenderte Seite dessen
Freigabestufe sieht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Harlekin
2026-09-01 00:01:49 +02:00
co-authored by Claude Opus 5
parent 6b0cd331bb
commit 6f6cd34973
13 changed files with 374 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
{
"name": "@afis/pdf",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "tsx watch src/index.ts",
"start": "node dist/index.js",
"build": "tsc -p tsconfig.build.json",
"lint": "eslint src --max-warnings 0",
"typecheck": "tsc --noEmit",
"test": "vitest run --passWithNoTests"
},
"dependencies": {
"playwright": "1.62.1"
},
"devDependencies": {
"@eslint/js": "^9.39.0",
"@types/node": "^22.10.0",
"eslint": "9.39.5",
"tsx": "4.20.6",
"typescript": "5.9.3",
"typescript-eslint": "^8.20.0",
"vitest": "4.1.11"
}
}