42 lines
804 B
Go
42 lines
804 B
Go
|
|
package services
|
||
|
|
|
||
|
|
type SensorConfigService struct {
|
||
|
|
ctx *Context
|
||
|
|
}
|
||
|
|
|
||
|
|
func (s *SensorConfigService) SetValue(sensor string, key string, value string) error {
|
||
|
|
_, err := s.ctx.DB.Exec("INSERT OR REPLACE INTO sensor_config (sensor, key, value) VALUES (?, ?, ?)", sensor, key, value)
|
||
|
|
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
|
||
|
|
func (s *SensorConfigService) GetValues(sensor string) (map[string]string, error) {
|
||
|
|
var key string
|
||
|
|
var value string
|
||
|
|
|
||
|
|
config := make(map[string]string)
|
||
|
|
|
||
|
|
rows, err := s.ctx.DB.Query("SELECT key, value FROM sensor_config WHERE sensor = ?", sensor)
|
||
|
|
|
||
|
|
if err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
|
||
|
|
defer rows.Close()
|
||
|
|
|
||
|
|
for rows.Next() {
|
||
|
|
err := rows.Scan(&key, &value)
|
||
|
|
if err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
config[key] = value
|
||
|
|
}
|
||
|
|
|
||
|
|
err = rows.Err()
|
||
|
|
if err != nil {
|
||
|
|
return nil, err
|
||
|
|
}
|
||
|
|
|
||
|
|
return config, nil
|
||
|
|
}
|