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.
27 lines
612 B
JSON
27 lines
612 B
JSON
{
|
|
"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"
|
|
}
|
|
}
|