Files
Laufzettel/docs/issues/025-gesundheit-fehlermeldung.md
T
florian.wilde 88d7db8c3d
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s
fix(abnahme): Healthcheck schweigt, zwei Konventionen praezisiert (#41)
2026-10-04 14:12:28 +00:00

36 lines
1.3 KiB
Markdown

# #025 Healthcheck gibt die rohe Datenbankfehlermeldung heraus
**Status:** erledigt
**Im Tracker:** [#39](https://git.wilde-server.de/florian.wilde/Laufzettel/issues/39)
**Meilenstein:** v0.2.0
**Labels:** phase-2, backend
**Geschätzt:** 1 h **Tatsächlich:** 25 min
## Ziel
`src/app/api/gesundheit/route.ts` antwortet im Fehlerfall mit
```json
{ "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](019-betrieb-release.md).
## Aufgaben
- [x] Nach außen nur `{ "status": "fehler" }` mit Status 503
- [x] Die Begründung serverseitig protokollieren, damit sie beim Suchen nicht fehlt
- [x] Prüfen, ob `docs/betrieb/` irgendwo die Meldung als Diagnosehilfe nennt — dann auf das Log
verweisen
## Akzeptanzkriterien
- [x] Test: bei nicht erreichbarer Datenbank enthält die Antwort weder Host noch Port noch
Benutzernamen
- [x] Test: der Statuscode bleibt 503, damit Docker und der Reverse Proxy weiter richtig entscheiden