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 }