package scheduler import ( "time" "github.com/containarr/server/internal/store" ) // StoreAdapter wraps *store.Store so it satisfies StoreInterface. type StoreAdapter struct { s *store.Store } // NewStoreAdapter creates a StoreAdapter wrapping the given *store.Store. func NewStoreAdapter(s *store.Store) *StoreAdapter { return &StoreAdapter{s: s} } // ListDueAutoUpdatePolicies implements StoreInterface by converting // *store.AutoUpdatePolicy to DuePolicy. func (a *StoreAdapter) ListDueAutoUpdatePolicies(now time.Time) ([]DuePolicy, error) { policies, err := a.s.ListDueAutoUpdatePolicies(now) if err != nil { return nil, err } out := make([]DuePolicy, 0, len(policies)) for _, p := range policies { out = append(out, DuePolicy{ AgentID: p.AgentID, ContainerID: p.ContainerID, }) } return out, nil } // UpdateAutoUpdateChecked implements StoreInterface. func (a *StoreAdapter) UpdateAutoUpdateChecked(agentID, containerID string, at time.Time) error { return a.s.UpdateAutoUpdateChecked(agentID, containerID, at) }