package sensors import ( "log/slog" "time" ) type Service struct { repo Repository } func NewService(repo Repository) *Service { return &Service{ repo: repo, } } func (s *Service) RegisterSensor(sensor Sensor) error { err := s.repo.CreateSensor(sensor) if err != nil { slog.Error("error registering sensor", "error", err) return err } return nil } func (s *Service) RegisterSensorData(data SensorData) error { err := s.repo.CreateSensorData(data) if err != nil { slog.Error("error registering sensor data") return err } return nil } func (s *Service) UpdateSensor(sensor Sensor) error { return s.repo.UpdateSensor(sensor) } func (s *Service) GetSensor(sensorID string) (Sensor, error) { return s.repo.ReadSensor(sensorID) } func (s *Service) GetValues(sensorID string, from, to time.Time) ([]SensorData, error) { return s.repo.ReadSensorValues(sensorID, from, to) } func (s *Service) ListSensors() ([]Sensor, error) { return s.repo.ReadAllSensors() }