morz-infoboard/server/backend
Jesko Anschütz ea90af1403 Ergaenze derived_state als Query-Filter fuer Uebersicht und Status-API
GET /api/v1/screens/status und GET /status akzeptieren jetzt
derived_state=online|degraded|offline zum direkten Filtern nach der
serverseitig abgeleiteten Diagnoseeinschaetzung. Erlaubte Werte sind
online, degraded und offline; unknown ist explizit nicht erlaubt, da
derived_state immer auf einen der drei Werte abgebildet wird.

Abgrenzung zu server_connectivity: derived_state filtert nach dem
zusammengefassten Zustand (stale + connectivity + status), waehrend
server_connectivity nur den gemeldeten Connectivity-Wert betrifft.
Beide Filter koennen kombiniert werden.

Tests: FiltersByDerivedState, RejectsInvalidDerivedState

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 20:29:16 +01:00
..
cmd/api Lege Entwicklungsleitfaden und Go-Gerueste an 2026-03-22 13:42:00 +01:00
internal Ergaenze derived_state als Query-Filter fuer Uebersicht und Status-API 2026-03-22 20:29:16 +01:00
Dockerfile Baue Layout-Resolver und lokale Entwicklungsgerueste aus 2026-03-22 16:03:21 +01:00
go.mod Lege Entwicklungsleitfaden und Go-Gerueste an 2026-03-22 13:42:00 +01:00
README.md Baue Layout-Resolver und lokale Entwicklungsgerueste aus 2026-03-22 16:03:21 +01:00

Backend

Dieses Verzeichnis enthaelt das erste Geruest fuer das zentrale Backend.

Ziel fuer die erste Ausbaustufe:

  • HTTP-API in Go
  • Health-Endpunkt
  • saubere Projektstruktur fuer spaetere API-, Worker- und Datenbankmodule
  • erste serverseitige Aufloesungslogik fuer message_wall

Geplante Unterstruktur:

  • cmd/api/ fuer den API-Startpunkt
  • internal/app/ fuer App-Initialisierung
  • internal/campaigns/ fuer Kampagnen- und Template-Logik
  • internal/httpapi/ fuer HTTP-Routing und Handler
  • internal/config/ fuer Konfiguration

Aktuell vorhanden:

  • GET /healthz
  • GET /api/v1
  • GET /api/v1/meta
  • POST /api/v1/tools/message-wall/resolve als erste serverseitige Layout-Aufloesung fuer message_wall
  • einheitliches API-Fehlerformat im HTTP-Layer