add: pcfuserInfo interface
This commit is contained in:
@@ -44,6 +44,7 @@ var (
|
|||||||
|
|
||||||
XormCommonUri = config.DefaultUriPrefix + "/databaseManagement/{apiVersion}/{elementTypeValue}/{objectTypeValue}" // for internal
|
XormCommonUri = config.DefaultUriPrefix + "/databaseManagement/{apiVersion}/{elementTypeValue}/{objectTypeValue}" // for internal
|
||||||
XormDatabaseUri = config.DefaultUriPrefix + "/database/{apiVersion}/{elementTypeValue}/{objectTypeValue}" // for crontask
|
XormDatabaseUri = config.DefaultUriPrefix + "/database/{apiVersion}/{elementTypeValue}/{objectTypeValue}" // for crontask
|
||||||
|
XormDataRestUri = config.DefaultUriPrefix + "/dataManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/{objectTypeValue}"
|
||||||
XormExtDataUri = config.DefaultUriPrefix + "/dataManagement/{apiVersion}/{elementTypeValue}/{objectTypeValue}" // for external
|
XormExtDataUri = config.DefaultUriPrefix + "/dataManagement/{apiVersion}/{elementTypeValue}/{objectTypeValue}" // for external
|
||||||
XormDataSQLUri = config.DefaultUriPrefix + "/dataManagement/{apiVersion}/{elementTypeValue}/{objectTypeValue}" // for external
|
XormDataSQLUri = config.DefaultUriPrefix + "/dataManagement/{apiVersion}/{elementTypeValue}/{objectTypeValue}" // for external
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package ue
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -74,10 +75,14 @@ var (
|
|||||||
UriNBInfo = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/nbInfo"
|
UriNBInfo = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/nbInfo"
|
||||||
UriUEInfo = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueInfo"
|
UriUEInfo = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueInfo"
|
||||||
UriUENum = config.DefaultUriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueNum"
|
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"
|
||||||
|
|
||||||
CustomUriNBInfo = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/nbInfo"
|
CustomUriNBInfo = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/nbInfo"
|
||||||
CustomUriUEInfo = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueInfo"
|
CustomUriUEInfo = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueInfo"
|
||||||
CustomUriUENum = config.UriPrefix + "/ueManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/ueNum"
|
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"
|
||||||
)
|
)
|
||||||
|
|
||||||
var client = resty.New()
|
var client = resty.New()
|
||||||
@@ -160,6 +165,215 @@ func GetUEInfoFromNF(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get UEInfo from NF/NFs
|
||||||
|
func PostPCFUserInfo(w http.ResponseWriter, r *http.Request) {
|
||||||
|
log.Info("PostPCFUserInfo processing... ")
|
||||||
|
|
||||||
|
// vars := mux.Vars(r)
|
||||||
|
// neType := vars["elementTypeValue"]
|
||||||
|
// if neType == "" {
|
||||||
|
// services.ResponseNotFound404UriNotExist(w, r)
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
//neTypeLower := strings.ToLower(neType)
|
||||||
|
neType := "PCF"
|
||||||
|
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(neType, 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)
|
||||||
|
|
||||||
|
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen)) //io.LimitReader限制大小
|
||||||
|
if err != nil {
|
||||||
|
log.Error("io.ReadAll is failed:", err)
|
||||||
|
services.ResponseNotFound404UriNotExist(w, r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
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"}).
|
||||||
|
SetBody(body).
|
||||||
|
Post(requestURI2NF)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to post:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
var response services.DataResponse
|
||||||
|
_ = json.Unmarshal(resp.Body(), &response)
|
||||||
|
services.ResponseWithJson(w, resp.StatusCode(), response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get UEInfo from NF/NFs
|
||||||
|
func PutPCFUserInfo(w http.ResponseWriter, r *http.Request) {
|
||||||
|
log.Info("PutPCFUserInfo processing... ")
|
||||||
|
|
||||||
|
// vars := mux.Vars(r)
|
||||||
|
// neType := vars["elementTypeValue"]
|
||||||
|
// if neType == "" {
|
||||||
|
// services.ResponseNotFound404UriNotExist(w, r)
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
//neTypeLower := strings.ToLower(neType)
|
||||||
|
neType := "PCF"
|
||||||
|
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(neType, 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)
|
||||||
|
|
||||||
|
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen)) //io.LimitReader限制大小
|
||||||
|
if err != nil {
|
||||||
|
log.Error("io.ReadAll is failed:", err)
|
||||||
|
services.ResponseNotFound404UriNotExist(w, r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
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"}).
|
||||||
|
SetBody(body).
|
||||||
|
Put(requestURI2NF)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to put:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
var response services.DataResponse
|
||||||
|
_ = json.Unmarshal(resp.Body(), &response)
|
||||||
|
services.ResponseWithJson(w, resp.StatusCode(), response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get UEInfo from NF/NFs
|
||||||
|
func DeletePCFUserInfo(w http.ResponseWriter, r *http.Request) {
|
||||||
|
log.Info("DeletePCFUserInfo processing... ")
|
||||||
|
|
||||||
|
// vars := mux.Vars(r)
|
||||||
|
// neType := vars["elementTypeValue"]
|
||||||
|
// if neType == "" {
|
||||||
|
// services.ResponseNotFound404UriNotExist(w, r)
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
//neTypeLower := strings.ToLower(neType)
|
||||||
|
neType := "PCF"
|
||||||
|
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(neType, 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"}).
|
||||||
|
Delete(requestURI2NF)
|
||||||
|
if err != nil {
|
||||||
|
log.Error("Failed to delete:", err)
|
||||||
|
services.ResponseInternalServerError500ProcessError(w, err)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
var response services.DataResponse
|
||||||
|
_ = json.Unmarshal(resp.Body(), &response)
|
||||||
|
services.ResponseWithJson(w, resp.StatusCode(), response)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Get UEInfo from SMF
|
// Get UEInfo from SMF
|
||||||
func GetUENumFromNF(w http.ResponseWriter, r *http.Request) {
|
func GetUENumFromNF(w http.ResponseWriter, r *http.Request) {
|
||||||
log.Info("GetUENumFromNF processing... ")
|
log.Info("GetUENumFromNF processing... ")
|
||||||
|
|||||||
@@ -99,6 +99,11 @@ func init() {
|
|||||||
Register("PUT", dbrest.CustomXormCommonUri, dbrest.DatabaseUpdateData, nil)
|
Register("PUT", dbrest.CustomXormCommonUri, dbrest.DatabaseUpdateData, nil)
|
||||||
Register("DELETE", dbrest.CustomXormCommonUri, dbrest.DatabaseDeleteData, nil)
|
Register("DELETE", dbrest.CustomXormCommonUri, dbrest.DatabaseDeleteData, nil)
|
||||||
|
|
||||||
|
Register("GET", dbrest.XormDataRestUri, dbrest.ExtDatabaseGetData, nil)
|
||||||
|
Register("POST", dbrest.XormDataRestUri, dbrest.ExtDatabaseInsertData, nil)
|
||||||
|
Register("PUT", dbrest.XormDataRestUri, dbrest.ExtDatabaseUpdateData, nil)
|
||||||
|
Register("DELETE", dbrest.XormDataRestUri, dbrest.ExtDatabaseDeleteData, nil)
|
||||||
|
|
||||||
Register("GET", dbrest.XormExtDataUri, dbrest.ExtDatabaseGetData, nil)
|
Register("GET", dbrest.XormExtDataUri, dbrest.ExtDatabaseGetData, nil)
|
||||||
Register("POST", dbrest.XormExtDataUri, dbrest.ExtDatabaseInsertData, nil)
|
Register("POST", dbrest.XormExtDataUri, dbrest.ExtDatabaseInsertData, nil)
|
||||||
Register("PUT", dbrest.XormExtDataUri, dbrest.ExtDatabaseUpdateData, nil)
|
Register("PUT", dbrest.XormExtDataUri, dbrest.ExtDatabaseUpdateData, nil)
|
||||||
@@ -247,11 +252,29 @@ func init() {
|
|||||||
// AAAA
|
// AAAA
|
||||||
Register("GET", aaaa.CustomUriAAAASSO, aaaa.GetSSOFromAAAA, nil)
|
Register("GET", aaaa.CustomUriAAAASSO, aaaa.GetSSOFromAAAA, nil)
|
||||||
|
|
||||||
// UEInfo
|
// UEInfo: SMF
|
||||||
Register("GET", ue.UriUEInfo, ue.GetUEInfoFromNF, nil)
|
Register("GET", ue.UriUEInfo, ue.GetUEInfoFromNF, nil)
|
||||||
Register("GET", ue.CustomUriUEInfo, ue.GetUEInfoFromNF, nil)
|
Register("GET", ue.CustomUriUEInfo, ue.GetUEInfoFromNF, nil)
|
||||||
|
|
||||||
// UEInfo
|
// UEInfo: PCF
|
||||||
|
Register("GET", ue.UriPCFUser, ue.GetUEInfoFromNF, nil)
|
||||||
|
Register("GET", ue.CustomUriPCFUser, ue.GetUEInfoFromNF, nil)
|
||||||
|
Register("POST", ue.UriPCFUser, ue.PostPCFUserInfo, nil)
|
||||||
|
Register("POST", ue.CustomUriPCFUser, ue.PostPCFUserInfo, nil)
|
||||||
|
Register("PUT", ue.UriPCFUser, ue.PutPCFUserInfo, nil)
|
||||||
|
Register("PUT", ue.CustomUriPCFUser, ue.PutPCFUserInfo, nil)
|
||||||
|
Register("DELETE", ue.UriPCFUser, ue.DeletePCFUserInfo, nil)
|
||||||
|
Register("DELETE", ue.CustomUriPCFUser, ue.DeletePCFUserInfo, nil)
|
||||||
|
|
||||||
|
// PCFUEInfo: batch add/modify/delete
|
||||||
|
Register("POST", ue.UriPCFUserM, ue.PostPCFUserInfo, nil)
|
||||||
|
Register("POST", ue.CustomUriPCFUserM, ue.PostPCFUserInfo, nil)
|
||||||
|
Register("PUT", ue.UriPCFUserM, ue.PutPCFUserInfo, nil)
|
||||||
|
Register("PUT", ue.CustomUriPCFUserM, ue.PutPCFUserInfo, nil)
|
||||||
|
Register("DELETE", ue.UriPCFUserM, ue.DeletePCFUserInfo, nil)
|
||||||
|
Register("DELETE", ue.CustomUriPCFUserM, ue.DeletePCFUserInfo, nil)
|
||||||
|
|
||||||
|
// UE Number
|
||||||
Register("GET", ue.UriUENum, ue.GetUENumFromNF, nil)
|
Register("GET", ue.UriUENum, ue.GetUENumFromNF, nil)
|
||||||
Register("GET", ue.CustomUriUENum, ue.GetUENumFromNF, nil)
|
Register("GET", ue.CustomUriUENum, ue.GetUENumFromNF, nil)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user