Die drei Befunde der Abnahme stehen jetzt auch im Gitea-Tracker; die Issue-Dateien tragen ihre Nummern. Refs #19
36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
# #025 Healthcheck gibt die rohe Datenbankfehlermeldung heraus
|
||
|
||
**Status:** offen
|
||
**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:** –
|
||
|
||
## 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
|
||
|
||
- [ ] 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
|