Skip to content

Commit

Permalink
Remove QualMapToJSONString and instead add QualMapToSerializableSlice.
Browse files Browse the repository at this point in the history
…Closes #786
  • Loading branch information
kaidaguerre committed Apr 9, 2024
1 parent 6bb4cbb commit 2c54c66
Showing 1 changed file with 14 additions and 21 deletions.
35 changes: 14 additions & 21 deletions grpc/quals.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package grpc

import (
"bytes"
"encoding/json"
"fmt"
"strings"
"time"
Expand Down Expand Up @@ -66,32 +64,27 @@ func QualMapsEqual(l map[string]*proto.Quals, r map[string]*proto.Quals) bool {
return true
}

func QualMapToJSONString(qualMap map[string]*proto.Quals) (string, error) {
var res []map[string]interface{}
type SerializableQual struct {
Column string `json:"column"`
Operator string `json:"operator"`
Value any `json:"value"`
}

func QualMapToSerializableSlice(qualMap map[string]*proto.Quals) []SerializableQual {
if len(qualMap) == 0 {
return "[]", nil
return nil
}

var res []SerializableQual
for _, quals := range qualMap {
for _, q := range quals.GetQuals() {
res = append(res, map[string]interface{}{
"column": q.FieldName,
"operator": q.GetStringValue(),
"value": GetQualValue(q.Value),
res = append(res, SerializableQual{
Column: q.FieldName,
Operator: q.GetStringValue(),
Value: GetQualValue(q.Value),
})

}
}
writeBuffer := bytes.NewBufferString("")
encoder := json.NewEncoder(writeBuffer)
encoder.SetIndent("", " ")
encoder.SetEscapeHTML(false)

if err := encoder.Encode(res); err != nil {
return "", err
}

return writeBuffer.String(), nil
return res
}

func QualToString(q *proto.Qual) string {
Expand Down

0 comments on commit 2c54c66

Please sign in to comment.