query unknown fieldtypes in db
This commit is contained in:
parent
5aed4560e9
commit
e483794ce1
3 changed files with 12 additions and 14 deletions
|
@ -23,7 +23,7 @@ func NewInfluxStorage(cfg config.InfluxConfig) (*influxStorage, error) {
|
|||
influx := new(influxStorage)
|
||||
influx.config = cfg
|
||||
influx.client = influxdb2.NewClient(cfg.Host, cfg.Token)
|
||||
influx.measurement = "data"
|
||||
influx.measurement = "weather-data"
|
||||
log.Print("Successfully created influx-client")
|
||||
return influx, nil
|
||||
}
|
||||
|
@ -60,8 +60,8 @@ func (storage *influxStorage) createFluxQuery(query *WeatherQuery) string {
|
|||
fields := ""
|
||||
concat := ""
|
||||
|
||||
for _, sensorValueType := range GetSensorValueTypes() {
|
||||
if query.Values[sensorValueType] {
|
||||
for sensorValueType, value := range query.Values {
|
||||
if value {
|
||||
fields = fmt.Sprintf("%v %v r._field == \"%v\"", fields, concat, string(sensorValueType))
|
||||
concat = "or"
|
||||
}
|
||||
|
@ -98,11 +98,7 @@ func (storage *influxStorage) executeFluxQuery(query string) ([]*WeatherData, er
|
|||
|
||||
data, contained := containsWeatherData(queryResults, sensorId, timestamp)
|
||||
|
||||
for _, sensorValueType := range GetSensorValueTypes() {
|
||||
if result.Record().Field() == string(sensorValueType) {
|
||||
data.Values[sensorValueType] = result.Record().Value().(float64)
|
||||
}
|
||||
}
|
||||
data.Values[SensorValueType(result.Record().Field())] = result.Record().Value().(float64)
|
||||
|
||||
if !contained {
|
||||
data.SensorId = sensorId
|
||||
|
|
|
@ -56,8 +56,8 @@ func NewWeatherData() *WeatherData {
|
|||
|
||||
//OnlyQueriedValues remove all values not contained by the WeatherQuery
|
||||
func (data *WeatherData) OnlyQueriedValues(query *WeatherQuery) *WeatherData {
|
||||
for _, sensorValueType := range GetSensorValueTypes() {
|
||||
if !query.Values[sensorValueType] {
|
||||
for sensorValueType, value := range query.Values {
|
||||
if !value {
|
||||
delete(data.Values, sensorValueType)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,10 +57,12 @@ func ParseFromUrlQuery(query url.Values) (*WeatherQuery, error) {
|
|||
}
|
||||
}
|
||||
|
||||
for _, sensorValueType := range GetSensorValueTypes() {
|
||||
queryParam := query.Get(string(sensorValueType))
|
||||
if bval, err := strconv.ParseBool(queryParam); err == nil {
|
||||
result.Values[sensorValueType] = bval
|
||||
for k, v := range query {
|
||||
if k == "start" || k == "end" {
|
||||
continue
|
||||
}
|
||||
if bval, err := strconv.ParseBool(v[0]); err == nil {
|
||||
result.Values[SensorValueType(k)] = bval
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue