29bc79996b
Settings are loaded from the DB and added to the AppConfig during startup. When updating settings, they are stored in AppConfig, and written do the database.
32 lines
1.5 KiB
Go
32 lines
1.5 KiB
Go
package database
|
|
|
|
import (
|
|
"context"
|
|
"github.com/analogj/scrutiny/webapp/backend/pkg"
|
|
"github.com/analogj/scrutiny/webapp/backend/pkg/models"
|
|
"github.com/analogj/scrutiny/webapp/backend/pkg/models/collector"
|
|
"github.com/analogj/scrutiny/webapp/backend/pkg/models/measurements"
|
|
)
|
|
|
|
type DeviceRepo interface {
|
|
Close() error
|
|
|
|
RegisterDevice(ctx context.Context, dev models.Device) error
|
|
GetDevices(ctx context.Context) ([]models.Device, error)
|
|
UpdateDevice(ctx context.Context, wwn string, collectorSmartData collector.SmartInfo) (models.Device, error)
|
|
UpdateDeviceStatus(ctx context.Context, wwn string, status pkg.DeviceStatus) (models.Device, error)
|
|
GetDeviceDetails(ctx context.Context, wwn string) (models.Device, error)
|
|
DeleteDevice(ctx context.Context, wwn string) error
|
|
|
|
SaveSmartAttributes(ctx context.Context, wwn string, collectorSmartData collector.SmartInfo) (measurements.Smart, error)
|
|
GetSmartAttributeHistory(ctx context.Context, wwn string, durationKey string, attributes []string) ([]measurements.Smart, error)
|
|
|
|
SaveSmartTemperature(ctx context.Context, wwn string, deviceProtocol string, collectorSmartData collector.SmartInfo) error
|
|
|
|
GetSummary(ctx context.Context) (map[string]*models.DeviceSummary, error)
|
|
GetSmartTemperatureHistory(ctx context.Context, durationKey string) (map[string][]measurements.SmartTemperature, error)
|
|
|
|
LoadSettings(ctx context.Context) (*models.Settings, error)
|
|
SaveSettings(ctx context.Context, settings models.Settings) error
|
|
}
|