fix(abnahme): Healthcheck schweigt, zwei Konventionen praezisiert (#41)
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s

This commit was merged in pull request #41.
This commit is contained in:
2026-10-04 14:12:28 +00:00
parent 9027229b55
commit 88d7db8c3d
12 changed files with 307 additions and 31 deletions
+17 -3
View File
@@ -1,12 +1,26 @@
import { prisma } from "@/lib/db";
/** Healthcheck fuer Docker und den Reverse Proxy. Prueft, ob die Datenbank antwortet. */
/**
* Healthcheck fuer Docker und den Reverse Proxy. Prueft, ob die Datenbank antwortet.
*
* Dieser Pfad ist absichtlich ohne Anmeldung erreichbar — er steht in der
* Allowlist von `src/proxy.ts`, damit ein Healthcheck kein Cookie braucht.
* Deshalb geht die **Begruendung** eines Fehlers nicht hinaus: eine Meldung von
* Prisma oder `pg` nennt typischerweise Host, Port, Benutzernamen und
* Datenbanknamen. Nach aussen genuegt, **ob** es geht; warum nicht, steht im
* Protokoll des Prozesses (`docker compose logs web`,
* `journalctl -u laufzettel`). Dasselbe Muster wie in
* `src/server/actions/verzeichnis.ts` (#039).
*/
export async function GET(): Promise<Response> {
try {
await prisma.$queryRaw`SELECT 1`;
return Response.json({ status: "ok" });
} catch (fehler) {
const meldung = fehler instanceof Error ? fehler.message : "unbekannter Fehler";
return Response.json({ status: "fehler", meldung }, { status: 503 });
console.error(
"Healthcheck fehlgeschlagen:",
fehler instanceof Error ? `${fehler.name}: ${fehler.message}` : "unbekannter Fehler",
);
return Response.json({ status: "fehler" }, { status: 503 });
}
}