feat(store): UpsertDisplayState für screen_status

This commit is contained in:
Jesko Anschütz 2026-03-26 23:05:18 +01:00
parent a833220ca6
commit c359757e31

View file

@ -34,6 +34,12 @@ type Screen struct {
CreatedAt time.Time `json:"created_at"`
}
type ScreenStatus struct {
ScreenID string `json:"screen_id"`
DisplayState string `json:"display_state"`
ReportedAt time.Time `json:"reported_at"`
}
type MediaAsset struct {
ID string `json:"id"`
TenantID string `json:"tenant_id"`
@ -310,6 +316,18 @@ func scanScreen(row interface {
return &sc, nil
}
// UpsertDisplayState speichert den zuletzt gemeldeten Display-Zustand eines Screens.
func (s *ScreenStore) UpsertDisplayState(ctx context.Context, screenID, displayState string) error {
_, err := s.pool.Exec(ctx,
`insert into screen_status (screen_id, display_state, reported_at)
values ($1, $2, now())
on conflict (screen_id) do update
set display_state = excluded.display_state,
reported_at = excluded.reported_at`,
screenID, displayState)
return err
}
// ------------------------------------------------------------------
// MediaStore
// ------------------------------------------------------------------