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.
This commit is contained in:
Harlekin
2026-09-01 00:01:49 +02:00
parent ade977538d
commit 8375d1cb03
13 changed files with 374 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
{
"name": "@afis/worker",
"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": {
"@afis/db": "workspace:*",
"discord.js": "14.27.0",
"pg": "8.13.1"
},
"devDependencies": {
"@eslint/js": "^9.39.0",
"@types/node": "^22.10.0",
"@types/pg": "^8.11.10",
"eslint": "9.39.5",
"tsx": "4.20.6",
"typescript": "5.9.3",
"typescript-eslint": "^8.20.0",
"vitest": "4.1.11"
}
}