in client/client.go [659:733]
func (client *Client) BuildHaSearchQuery(haquery *HaQuery) (_result *string, _err error) {
if tea.BoolValue(util.IsUnset(haquery.Query)) {
_err = tea.NewSDKError(map[string]interface{}{
"name": "ParameterMissing",
"message": "'HaQuery.query' can not be unset",
})
return _result, _err
}
tempString := tea.String("query=" + tea.StringValue(haquery.Query))
configStr, _err := client.BuildHaQueryconfigClauseStr(haquery.Config)
if _err != nil {
return _result, _err
}
tempString = tea.String(tea.StringValue(tempString) + "&&cluster=" + tea.StringValue(util.DefaultString(haquery.Cluster, tea.String("general"))))
tempString = tea.String(tea.StringValue(tempString) + "&&config=" + tea.StringValue(configStr))
if !tea.BoolValue(util.IsUnset(haquery.Filter)) {
filterStr := haquery.Filter
if !tea.BoolValue(util.Empty(filterStr)) {
fieldValueTrimed := string_.Trim(filterStr)
tempString = tea.String(tea.StringValue(tempString) + "&&filter=" + tea.StringValue(fieldValueTrimed))
}
}
if !tea.BoolValue(util.IsUnset(haquery.CustomQuery)) {
for _, keyField := range map_.KeySet(haquery.CustomQuery) {
fieldValue := haquery.CustomQuery[tea.StringValue(keyField)]
if !tea.BoolValue(util.Empty(fieldValue)) {
fieldValueTrimed := string_.Trim(fieldValue)
keyFieldTrimed := string_.Trim(keyField)
tempString = tea.String(tea.StringValue(tempString) + "&&" + tea.StringValue(keyFieldTrimed) + "=" + tea.StringValue(fieldValueTrimed))
}
}
}
if !tea.BoolValue(util.IsUnset(haquery.Sort)) {
sortStr := client.BuildHaQuerySortClauseStr(haquery.Sort)
if !tea.BoolValue(util.Empty(sortStr)) {
tempString = tea.String(tea.StringValue(tempString) + "&&sort=" + tea.StringValue(sortStr))
}
}
if !tea.BoolValue(util.IsUnset(haquery.Aggregate)) {
aggregateClauseStr, _err := client.BuildHaQueryAggregateClauseStr(haquery.Aggregate)
if _err != nil {
return _result, _err
}
if !tea.BoolValue(util.Empty(aggregateClauseStr)) {
tempString = tea.String(tea.StringValue(tempString) + "&&aggregate=" + tea.StringValue(aggregateClauseStr))
}
}
if !tea.BoolValue(util.IsUnset(haquery.Distinct)) {
distinctClauseStr, _err := client.BuildHaQueryDistinctClauseStr(haquery.Distinct)
if _err != nil {
return _result, _err
}
if !tea.BoolValue(util.Empty(distinctClauseStr)) {
tempString = tea.String(tea.StringValue(tempString) + "&&distinct=" + tea.StringValue(distinctClauseStr))
}
}
kvpairs := client.BuildSearcKvPairClauseStr(haquery.Kvpairs)
if !tea.BoolValue(util.Empty(kvpairs)) {
tempString = tea.String(tea.StringValue(tempString) + "&&kvpairs=" + tea.StringValue(kvpairs))
}
_result = tempString
return _result, _err
}