-
Notifications
You must be signed in to change notification settings - Fork 0
/
store_interface.go
27 lines (25 loc) · 1.11 KB
/
store_interface.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package pkg
import (
"github.com/google/uuid"
"time"
)
type StoreInterface interface {
Initialize() error
UpsertTaskDefinition(definition TaskDefinition) error
ListTaskDefinitions(offset, limit int, metadataQuery interface{}) ([]TaskDefinition, error)
GetTaskDefinition(id *uuid.UUID) (TaskDefinition, error)
GetTaskDefinitions(ids []*uuid.UUID) ([]TaskDefinition, error)
DeleteTaskDefinition(id *uuid.UUID) error
DeleteTaskDefinitions(ids []*uuid.UUID) error
DeleteTaskDefinitionsByMetadata(metadataQuery interface{}) error
UpsertTaskInstance(taskInstance TaskInstance) error
GetTaskInstance(id *uuid.UUID) (TaskInstance, error)
ListTaskInstances(offset, limit int) ([]TaskInstance, error)
DeleteTaskInstance(id *uuid.UUID) error
GetTaskDefinitionsToSchedule(limit time.Time) ([]TaskDefinition, error)
GetTaskInstancesToRun(limit time.Time) ([]TaskInstance, error)
// markTaskInstanceComplete() should also mark the task definition complete, if the definition is non-recurring
MarkTaskInstanceComplete(instance TaskInstance) error
DeleteCompletedTaskInstances() error
DeleteCompletedTaskDefinitions() error
}