diff --git a/go.mod b/go.mod index 5a4c62654be9c4150966208b709b51206a78232d..ac559ba1458f121f2da972246d94344898ffb8ad 100644 --- a/go.mod +++ b/go.mod @@ -12,6 +12,7 @@ require ( github.com/go-redis/redis/v8 v8.11.4 github.com/go-redis/redis_rate/v9 v9.1.2 github.com/google/uuid v1.3.0 + github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 github.com/opensearch-project/opensearch-go v1.1.0 github.com/pkg/errors v0.9.1 github.com/r3labs/diff/v2 v2.14.2 diff --git a/go.sum b/go.sum index ba9a7ff8cf137b2fb589ce03e67a0e562766a7a1..2045b77f00a848db31a3131c8678fbca67665df1 100644 --- a/go.sum +++ b/go.sum @@ -83,6 +83,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= diff --git a/utils/utils.go b/utils/utils.go index bdf64cc6d594d411ce33b3ac03300978869e7072..3936b9718dd7f22878984d3f9478c618b65a6921 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -3,7 +3,6 @@ package utils import ( "archive/zip" "bytes" - "encoding/json" "fmt" "io/ioutil" "os" @@ -11,7 +10,7 @@ import ( "strings" "time" - "gitlab.bob.co.za/bob-public-utils/bobgroup-go-utils/struct_utils" + "github.com/mohae/deepcopy" ) // GetEnv is a helper function for getting environment variables with a default @@ -98,16 +97,8 @@ func readZipFile(zipFile *zip.File) ([]byte, error) { return ioutil.ReadAll(zipFileData) } -func DeepCopy(toValue interface{}, fromValue interface{}) (err error) { - valueBytes, err := json.Marshal(fromValue) - if err != nil { - return err - } - err = struct_utils.UnmarshalJSON(valueBytes, toValue) - if err != nil { - return err - } - return nil +func DeepCopy(fromValue interface{}) (toValue interface{}) { + return deepcopy.Copy(fromValue) } func UnwrapBool(b *bool) bool {