From 8a3cd8446ceddf1277c51249cf5252797c84e736 Mon Sep 17 00:00:00 2001 From: Bernd Verst <4535280+berndverst@users.noreply.github.com> Date: Thu, 24 Mar 2022 18:27:45 -0700 Subject: [PATCH 1/2] fix mongodb get request Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com> --- state/mongodb/mongodb.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/state/mongodb/mongodb.go b/state/mongodb/mongodb.go index d51dafaab..2f5b10e9c 100644 --- a/state/mongodb/mongodb.go +++ b/state/mongodb/mongodb.go @@ -235,6 +235,22 @@ func (m *MongoDB) Get(req *state.GetRequest) (*state.GetResponse, error) { if data, err = bson.MarshalExtJSON(obj, false, true); err != nil { return &state.GetResponse{}, err } + if data, err = json.Marshal(string(data)); err != nil { + return &state.GetResponse{}, err + } + case primitive.A: + newobj := bson.D{{"value", obj}} + + if data, err = bson.MarshalExtJSON(newobj, false, true); err != nil { + return &state.GetResponse{}, err + } + var input interface{} + json.Unmarshal(data, &input) + value := input.(map[string]interface{})["value"] + if data, err = json.Marshal(value); err != nil { + return &state.GetResponse{}, err + } + default: if data, err = json.Marshal(result.Value); err != nil { return &state.GetResponse{}, err From 80fda909e8cb23931d0737310770a6b34eb2d896 Mon Sep 17 00:00:00 2001 From: Mukundan Sundararajan Date: Fri, 25 Mar 2022 18:32:57 +0530 Subject: [PATCH 2/2] fix conf tests. Signed-off-by: Mukundan Sundararajan <65565396+mukundansundar@users.noreply.github.com> --- state/mongodb/mongodb.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/state/mongodb/mongodb.go b/state/mongodb/mongodb.go index 2f5b10e9c..9774614bf 100644 --- a/state/mongodb/mongodb.go +++ b/state/mongodb/mongodb.go @@ -235,18 +235,15 @@ func (m *MongoDB) Get(req *state.GetRequest) (*state.GetResponse, error) { if data, err = bson.MarshalExtJSON(obj, false, true); err != nil { return &state.GetResponse{}, err } - if data, err = json.Marshal(string(data)); err != nil { - return &state.GetResponse{}, err - } case primitive.A: - newobj := bson.D{{"value", obj}} + newobj := bson.D{{Key: value, Value: obj}} if data, err = bson.MarshalExtJSON(newobj, false, true); err != nil { return &state.GetResponse{}, err } var input interface{} json.Unmarshal(data, &input) - value := input.(map[string]interface{})["value"] + value := input.(map[string]interface{})[value] if data, err = json.Marshal(value); err != nil { return &state.GetResponse{}, err }