E2 reset response model updated
[ric-plt/e2mgr.git] / E2Manager / models / update_enb_request.go
index 1d6a63a..79d970c 100644 (file)
 
 package models
 
-import "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
+import (
+       "encoding/json"
+       "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
+       "github.com/golang/protobuf/jsonpb"
+)
+
+type UpdateEnbRawRequest struct {
+       RanName    string
+       Enb        json.RawMessage
+}
 
 type UpdateEnbRequest struct {
-       RanName string
-       *entities.Enb
-       *entities.Gnb
+       RanName    string
+       Enb        *entities.Enb
+}
+
+func (r *UpdateEnbRequest) UnmarshalJSON(data []byte) error {
+       updateEnbRawRequest := UpdateEnbRawRequest{}
+       err := json.Unmarshal(data, &updateEnbRawRequest)
+
+       if err != nil {
+               return err
+       }
+
+       if updateEnbRawRequest.Enb != nil {
+               enb := entities.Enb{}
+               err = jsonpb.UnmarshalString(string(updateEnbRawRequest.Enb), &enb)
+
+               if err != nil {
+                       return err
+               }
+
+               r.Enb = &enb
+       }
+
+       return nil
 }
\ No newline at end of file