diff --git a/features/ue/ue.go b/features/ue/ue.go index c2e17938..164a605f 100644 --- a/features/ue/ue.go +++ b/features/ue/ue.go @@ -76,15 +76,15 @@ var ( UriUEInfo = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueInfo" UriUENum = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueNum" UriPCFUser = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo" - UriPCFUserM = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/{number}" + UriPCFUserM = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/batch/{number}" UriPCFUserFileImport = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/import" - UriPCFUserFileExport = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/import" + UriPCFUserFileExport = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/export" CustomUriNBInfo = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/nbInfo" CustomUriUEInfo = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueInfo" CustomUriUENum = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueNum" CustomUriPCFUser = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo" - CustomUriPCFUserM = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/{number}" + CustomUriPCFUserM = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/batch/{number}" CustomUriPCFUserFileImport = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/import" CustomUriPCFUserFileExport = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/pcf/objectType/ueInfo/file/export" ) @@ -505,3 +505,69 @@ func GetNBInfoFromNF(w http.ResponseWriter, r *http.Request) { return } } + +// Get GetUEInfoFileExportNF from NF/NFs +func GetUEInfoFileExportNF(w http.ResponseWriter, r *http.Request) { + log.Info("GetUEInfoFromNF processing... ") + + // vars := mux.Vars(r) + // neType := vars["elementTypeValue"] + // if neType == "" { + // services.ResponseNotFound404UriNotExist(w, r) + // return + // } + //neTypeLower := strings.ToLower(neType) + var neId string + neIds := services.GetParamsArrByName("neId", r) + if len(neIds) == 1 { + neId = neIds[0] + } else { + services.ResponseNotFound404UriNotExist(w, r) + return + } + + // token, err := services.CheckFrontValidRequest(w, r) + // if err != nil { + // log.Error("Request error:", err) + // return + // } + // log.Debug("token:", token) + + neInfo, err := dborm.XormGetNeInfo("PCF", neId) + if err != nil { + log.Error("Failed to XormGetNeInfo:", err) + services.ResponseInternalServerError500ProcessError(w, err) + return + } else if neInfo == nil { + err := global.ErrCMNotFoundTargetNE + log.Error(global.ErrCMNotFoundTargetNE) + services.ResponseInternalServerError500ProcessError(w, err) + return + } + log.Trace("neInfo:", neInfo) + + hostUri := fmt.Sprintf("http://%s:%v", neInfo.Ip, neInfo.Port) + requestURI2NF := fmt.Sprintf("%s%s", hostUri, r.RequestURI) + + log.Debug("requestURI2NF:", requestURI2NF) + + resp, err := client.R(). + EnableTrace(). + SetHeaders(map[string]string{tokenConst.HEADER_KEY: r.Header.Get(tokenConst.HEADER_KEY)}). + // SetHeaders(map[string]string{"accessToken": token}). + SetHeaders(map[string]string{"User-Agent": config.GetDefaultUserAgent()}). + SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). + Get(requestURI2NF) + if err != nil { + log.Error("Get system state from NF is failed:", err) + services.ResponseInternalServerError500ProcessError(w, err) + return + } else { + w.WriteHeader(resp.StatusCode()) + w.Write(resp.Body()) + // var response services.MapResponse + // _ = json.Unmarshal(resp.Body(), &response) + // services.ResponseWithJson(w, resp.StatusCode(), response) + return + } +} diff --git a/lib/routes/routes.go b/lib/routes/routes.go index 50f66f0f..7b4b56f8 100644 --- a/lib/routes/routes.go +++ b/lib/routes/routes.go @@ -274,10 +274,10 @@ func init() { Register("DELETE", ue.UriPCFUserM, ue.DeletePCFUserInfo, nil) Register("DELETE", ue.CustomUriPCFUserM, ue.DeletePCFUserInfo, nil) //PCF User file - Register("GET", ue.UriPCFUserFileExport, ue.GetUEInfoFromNF, nil) + Register("GET", ue.UriPCFUserFileExport, ue.GetUEInfoFileExportNF, nil) Register("GET", ue.CustomUriPCFUserFileExport, ue.GetUEInfoFromNF, nil) - Register("POST", ue.UriPCFUserFileImport, ue.PostPCFUserInfo, nil) - Register("POST", ue.CustomUriPCFUserFileImport, ue.PostPCFUserInfo, nil) + Register("PUT", ue.UriPCFUserFileImport, ue.PutPCFUserInfo, nil) + Register("PUT", ue.CustomUriPCFUserFileImport, ue.PutPCFUserInfo, nil) // UE Number Register("GET", ue.UriUENum, ue.GetUENumFromNF, nil)