aboutsummaryrefslogtreecommitdiff
path: root/backend/internal/store/store.go
blob: 3fc348dc40b45f35f5d0ba546d568cf841ebd04f (plain)
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
28
29
30
31
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, int) ([]model.Heartbeat, error)
	CountHeartbeats(int) (int, error)
	GetLastHeartbeat(int) (*model.Heartbeat, error)
	GetServiceStats(int) (*model.ServiceStats, error)

	GetActiveMaintenance(now time.Time) (*model.Maintenance, error)
	ListMaintenances() ([]model.Maintenance, error)
	AddMaintenance(model.Maintenance) (*model.Maintenance, error)
	UpdateMaintenance(int, model.Maintenance) (*model.Maintenance, error)
	DeleteMaintenance(int) error

	GetSSLInfo(int) (*model.SSLInfo, error)
	SaveSSLInfo(model.SSLInfo) error
}