diff --git a/server/backend/internal/store/store.go b/server/backend/internal/store/store.go index a1fb64a..879a142 100644 --- a/server/backend/internal/store/store.go +++ b/server/backend/internal/store/store.go @@ -328,6 +328,20 @@ func (s *ScreenStore) UpsertDisplayState(ctx context.Context, screenID, displayS return err } +// GetDisplayState gibt den zuletzt gemeldeten Display-Zustand zurück. +// Gibt "unknown" zurück wenn kein Eintrag vorhanden ist. +func (s *ScreenStore) GetDisplayState(ctx context.Context, screenID string) (string, error) { + var state string + err := s.pool.QueryRow(ctx, + `select coalesce(display_state,'unknown') + from screen_status where screen_id = $1`, screenID).Scan(&state) + if err != nil { + // Kein Eintrag → unbekannt, kein Fehler + return "unknown", nil + } + return state, nil +} + // ------------------------------------------------------------------ // MediaStore // ------------------------------------------------------------------