X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmodels%2Fupdate_enb_request.go;h=79d970c385b4a196c921cb16e0c3b16e41fbfece;hb=a8eaf55eb9612967a2e217f9494736e9ef89b113;hp=1d6a63ae958ba15849e36bd6c0684b526bf059b8;hpb=5830d4db63151dd466533673fd76d842302f0034;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/models/update_enb_request.go b/E2Manager/models/update_enb_request.go index 1d6a63a..79d970c 100644 --- a/E2Manager/models/update_enb_request.go +++ b/E2Manager/models/update_enb_request.go @@ -19,10 +19,40 @@ 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