From 2c54c6612da15b5c3e131e2c8d62aa2587fdacee Mon Sep 17 00:00:00 2001 From: kaidaguerre Date: Tue, 9 Apr 2024 11:45:26 -0500 Subject: [PATCH] Remove QualMapToJSONString and instead add QualMapToSerializableSlice. Closes #786 --- grpc/quals.go | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/grpc/quals.go b/grpc/quals.go index ef04eef0..584bb1a3 100644 --- a/grpc/quals.go +++ b/grpc/quals.go @@ -1,8 +1,6 @@ package grpc import ( - "bytes" - "encoding/json" "fmt" "strings" "time" @@ -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 {