|
|
|
@ -36,43 +36,51 @@ func (query *ShowSeries) renderEndpoints() {
|
|
|
|
|
}
|
|
|
|
|
endpointPart = endpointPart[:len(endpointPart)-len("OR")]
|
|
|
|
|
endpointPart += ")"
|
|
|
|
|
query.RawQuery = fmt.Sprintf("\"%s\" WHERE \"%s\"", query.RawQuery, endpointPart)
|
|
|
|
|
query.RawQuery = fmt.Sprintf("%s WHERE %s", query.RawQuery, endpointPart)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (query *ShowSeries) renderInclude() {
|
|
|
|
|
if len(query.Include) > 0 {
|
|
|
|
|
// include
|
|
|
|
|
if len(query.Include) == 1 && query.Include[0] == nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
includePart := "("
|
|
|
|
|
for _, include := range query.Include {
|
|
|
|
|
for _, value := range include.Values {
|
|
|
|
|
includePart += fmt.Sprintf(" \"%s\"='%s' OR", include.Key, value)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
includePart = includePart[:len(includePart)-len("OR")]
|
|
|
|
|
includePart = includePart[:len(includePart)-len("AND")]
|
|
|
|
|
includePart += ")"
|
|
|
|
|
if !strings.Contains(query.RawQuery, "WHERE") {
|
|
|
|
|
query.RawQuery += " WHERE"
|
|
|
|
|
query.RawQuery = fmt.Sprintf(" %s WHERE %s", query.RawQuery, includePart)
|
|
|
|
|
} else {
|
|
|
|
|
query.RawQuery = fmt.Sprintf(" %s AND %s", query.RawQuery, includePart)
|
|
|
|
|
}
|
|
|
|
|
query.RawQuery = fmt.Sprintf(" %s AND %s", query.RawQuery, includePart)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (query *ShowSeries) renderExclude() {
|
|
|
|
|
if len(query.Exclude) > 0 {
|
|
|
|
|
// exclude
|
|
|
|
|
if len(query.Exclude) == 1 && query.Exclude[0] == nil {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
excludePart := "("
|
|
|
|
|
for _, exclude := range query.Exclude {
|
|
|
|
|
for _, value := range exclude.Values {
|
|
|
|
|
excludePart += fmt.Sprintf(" \"%s\"='%s' OR", exclude.Key, value)
|
|
|
|
|
excludePart += fmt.Sprintf(" \"%s\"!='%s' AND", exclude.Key, value)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
excludePart = excludePart[:len(excludePart)-len("OR")]
|
|
|
|
|
excludePart = excludePart[:len(excludePart)-len("AND")]
|
|
|
|
|
excludePart += ")"
|
|
|
|
|
if !strings.Contains(query.RawQuery, "WHERE") {
|
|
|
|
|
query.RawQuery += " WHERE"
|
|
|
|
|
query.RawQuery = fmt.Sprintf(" %s WHERE %s", query.RawQuery, excludePart)
|
|
|
|
|
} else {
|
|
|
|
|
query.RawQuery = fmt.Sprintf(" %s AND %s", query.RawQuery, excludePart)
|
|
|
|
|
}
|
|
|
|
|
query.RawQuery = fmt.Sprintf(" %s AND %s", query.RawQuery, excludePart)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|