feat: add auto update
This commit is contained in:
39
server/internal/scheduler/adapter.go
Normal file
39
server/internal/scheduler/adapter.go
Normal file
@ -0,0 +1,39 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user