Files
Laufzettel/docs/issues/025-gesundheit-fehlermeldung.md
T
Florian Wilde ed96ed7b1e
Prüfung / pruefung (push) Canceled after 0s
Prüfung / pruefung (pull_request) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s
Prüfung / e2e (pull_request) Canceled after 0s
docs(issues): Folge-Issues #38 bis #40 mit dem Tracker verbinden
Die drei Befunde der Abnahme stehen jetzt auch im Gitea-Tracker; die
Issue-Dateien tragen ihre Nummern.

Refs #19
2026-09-27 02:10:52 +02:00

1.3 KiB
Raw Blame History

#025 Healthcheck gibt die rohe Datenbankfehlermeldung heraus

Status: offen Im Tracker: #39 Meilenstein: v0.2.0 Labels: phase-2, backend Geschätzt: 1 h Tatsächlich: –

Ziel

src/app/api/gesundheit/route.ts antwortet im Fehlerfall mit

{ "status": "fehler", "meldung": "<fehler.message>" }

Der Pfad ist absichtlich ohne Anmeldung erreichbar — er steht in der Allowlist des Proxys, und tests/sicherheitsrichtlinie.test.ts hält das fest. Eine Fehlermeldung von Prisma oder pg nennt typischerweise Host, Port, Benutzername und Datenbanknamen. Das ist für einen öffentlich erreichbaren Endpunkt zu viel: er soll sagen, ob es geht, nicht warum nicht.

Aufgefallen beim Abnahme-Review zu #019.

Aufgaben

  • Nach außen nur { "status": "fehler" } mit Status 503
  • Die Begründung serverseitig protokollieren, damit sie beim Suchen nicht fehlt
  • Prüfen, ob docs/betrieb/ irgendwo die Meldung als Diagnosehilfe nennt — dann auf das Log verweisen

Akzeptanzkriterien

  • Test: bei nicht erreichbarer Datenbank enthält die Antwort weder Host noch Port noch Benutzernamen
  • Test: der Statuscode bleibt 503, damit Docker und der Reverse Proxy weiter richtig entscheiden