From 948d043eb262ac46f81817dde761b597c39e1752 Mon Sep 17 00:00:00 2001 From: Chi Chang <edingroot@gmail.com> Date: Sun, 30 Aug 2020 18:22:52 +0800 Subject: [PATCH] Fix ue info api error handling --- frontend/src/redux/actions/ueinfoActions.js | 114 ++++++++++---------- frontend/src/util/UEInfoApiHelper.js | 12 ++- 2 files changed, 67 insertions(+), 59 deletions(-) diff --git a/frontend/src/redux/actions/ueinfoActions.js b/frontend/src/redux/actions/ueinfoActions.js index 93c9cb0..d803651 100644 --- a/frontend/src/redux/actions/ueinfoActions.js +++ b/frontend/src/redux/actions/ueinfoActions.js @@ -1,56 +1,60 @@ export default class ueinfoActions { - static SET_REG_UE = 'UEINFO/SET_REG_UE'; - static SET_UE_DETAIL = 'UEINFO/SET_UE_DETAIL'; - static SET_UE_DETAIL_AMF = 'UEINFO/SET_UE_DETAIL_AMF' - static SET_UE_DETAIL_SMF = 'UEINFO/SET_UE_DETAIL_SMF' - static SET_REG_UE_ERR = 'UEINFO/SET_REG_UE_ERR'; - static SET_UE_DETAIL_SM_CTX_REF = 'UEINFO/SET_UE_DETAIL_SM_CTX_REF' - - /** - * @param users {User} - */ - static setRegisteredUE(users) { - return { - type: this.SET_REG_UE, - registered_users: users, - }; - } - - static setUEInfoDetail(ueInfoDetail) { - return { - type: this.SET_UE_DETAIL, - ueInfoDetail: ueInfoDetail, - }; - } - - static setUEInfoDetailAMF(AMFDetail) { - return { - type: this.SET_UE_DETAIL_AMF, - amfInfo: AMFDetail - }; - } - - static setUEInfoDetailSMF(SMFDetail) { - return { - type: this.SET_UE_DETAIL_SMF, - smfInfo: SMFDetail - }; - } - - static setUEInfoDetailSmContextRef(smContextRef) { - return { - type: this.SET_UE_DETAIL_SM_CTX_REF, - smContextRef: smContextRef - }; - - } - - static setRegisteredUEError(errMsg) { - return { - type: this.SET_REG_UE_ERR, - get_registered_ue_err: true, - registered_ue_err_msg: errMsg - }; - - } - } \ No newline at end of file + static SET_REG_UE = 'UEINFO/SET_REG_UE'; + static SET_UE_DETAIL = 'UEINFO/SET_UE_DETAIL'; + static SET_UE_DETAIL_AMF = 'UEINFO/SET_UE_DETAIL_AMF' + static SET_UE_DETAIL_SMF = 'UEINFO/SET_UE_DETAIL_SMF' + static SET_REG_UE_ERR = 'UEINFO/SET_REG_UE_ERR'; + static SET_UE_DETAIL_SM_CTX_REF = 'UEINFO/SET_UE_DETAIL_SM_CTX_REF' + + static setRegisteredUE(users) { + return { + type: this.SET_REG_UE, + registered_users: users, + }; + } + + static setUEInfoDetail(ueInfoDetail) { + return { + type: this.SET_UE_DETAIL, + ueInfoDetail: ueInfoDetail, + }; + } + + static setUEInfoDetailAMF(AMFDetail) { + return { + type: this.SET_UE_DETAIL_AMF, + amfInfo: AMFDetail + }; + } + + static setUEInfoDetailSMF(SMFDetail) { + return { + type: this.SET_UE_DETAIL_SMF, + smfInfo: SMFDetail + }; + } + + static setUEInfoDetailSmContextRef(smContextRef) { + return { + type: this.SET_UE_DETAIL_SM_CTX_REF, + smContextRef: smContextRef + }; + } + + static setRegisteredUEError(errMsg) { + return { + type: this.SET_REG_UE_ERR, + get_registered_ue_err: true, + registered_ue_err_msg: errMsg + }; + } + + static unsetRegisteredUEError() { + return { + type: this.SET_REG_UE_ERR, + get_registered_ue_err: false, + registered_ue_err_msg: '' + }; + } + +} diff --git a/frontend/src/util/UEInfoApiHelper.js b/frontend/src/util/UEInfoApiHelper.js index bd29de7..dbfc7b8 100644 --- a/frontend/src/util/UEInfoApiHelper.js +++ b/frontend/src/util/UEInfoApiHelper.js @@ -6,6 +6,8 @@ import UEInfo from "../models/UEInfo"; class UeInfoApiHelper { static async fetchRegisteredUE() { + const MSG_FETCH_ERROR = "Error fetching registered UEs. Is the core network up?"; + try { let url = "registered-ue-context" // console.log("Making request to ", url, " ....") @@ -21,6 +23,7 @@ class UeInfoApiHelper { } store.dispatch(ueinfoActions.setRegisteredUE(registered_users)); + store.dispatch(ueinfoActions.unsetRegisteredUEError()); return true; } else { console.log("Request failed, url:", url) @@ -30,17 +33,18 @@ class UeInfoApiHelper { if (response.data !== undefined){ err_msg = response.data } else { - err_msg = "Error fetching registered UEs" + err_msg = MSG_FETCH_ERROR } store.dispatch(ueinfoActions.setRegisteredUEError(err_msg)); } } catch (error) { let err_msg; - if (error.response !== undefined){ - err_msg = error.response.data.cause + if (error.response && error.response.data){ + err_msg = error.response.data.cause || MSG_FETCH_ERROR } else { - err_msg = "Error fetching registered UEs" + err_msg = MSG_FETCH_ERROR } + console.log(error.response); store.dispatch(ueinfoActions.setRegisteredUEError(err_msg)); } -- GitLab