aboutsummaryrefslogtreecommitdiff
path: root/backend/internal/store/store.go
blob: e5e05f6b1915fde0efd166faa7eb213de016d737 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package store

import (
	"time"

	"yaum/internal/model"
)

type Store interface {
	ListServices() ([]model.ServiceWithHeartbeat, error)
	ListActiveServices() ([]model.Service, error)
	GetService(int) (*model.Service, error)
	AddService(model.Service) (*model.Service, error)
	UpdateService(int, model.Service) (*model.Service, error)
	ToggleService(int) (*model.Service, error)
	DeleteService(int) error
	AddHeartbeat(model.Heartbeat) error
	GetHistory(int, int) ([]model.Heartbeat, error)
	GetLastHeartbeat(int) (*model.Heartbeat, error)
	GetServiceStats(int) (*model.ServiceStats, error)

	GetActiveMaintenance(now time.Time) (*model.Maintenance, error)
}