From d159a4a68221a6078ec293970bf2727b59e6684c Mon Sep 17 00:00:00 2001 From: nnajah1 Date: Fri, 2 May 2025 11:48:09 +0800 Subject: [PATCH] bug fixes --- app/components/api/index.js | 167 +++++++++++++++----------------- app/screens/login/apply/card.js | 1 + app/utils/logs.js | 7 +- 3 files changed, 83 insertions(+), 92 deletions(-) diff --git a/app/components/api/index.js b/app/components/api/index.js index 9d7bd6b9..77cd4a72 100644 --- a/app/components/api/index.js +++ b/app/components/api/index.js @@ -38,14 +38,14 @@ // headers: Head, // params: params // }); - + // let json = await response.json(); // if(json.message === "Unauthenticated.") { // let tokens = await DB.get("token"); // if(!tokens.length) return; - + // store.dispatch({ // type: TYPE_OPEN_ALERT, // payload: { @@ -84,7 +84,7 @@ // 'card_number': `${headers.card_number}` || '' // }) // }); - + // let json = await response.json(); // if(json.message === "Unauthenticated.") { @@ -138,9 +138,9 @@ // if(json.message === "Unauthenticated.") { // let tokens = await DB .get("token"); - + // if(!tokens.length) return; - + // store.dispatch({ // type: TYPE_OPEN_ALERT, // payload: { @@ -175,7 +175,7 @@ // let tokens = await DB.get("token"); // if(!tokens.length) return; - + // store.dispatch({ // type: TYPE_OPEN_ALERT, // payload: { @@ -219,7 +219,7 @@ // let tokens = await DB.get("token"); // if(!tokens.length) return; - + // store.dispatch({ // type: TYPE_OPEN_ALERT, // payload: { @@ -259,14 +259,14 @@ // headers: Head, // params: params // }) - + // let json = await response.json(); // if(json.message === "Unauthenticated.") { // let tokens = await DB.get("token"); // if(!tokens.length) return; - + // store.dispatch({ // type: TYPE_OPEN_ALERT, // payload: { @@ -318,9 +318,9 @@ const defaultHeaders = { export default async function API(endpoint, method, headers, params, body, onSuccess, onError, subject, action) { const navigationRef = getNavigationRef(); - + const headerToUse = () => { - switch (method) { + switch(method) { case "post": return { 'Accept': headers.Accept ? headers.Accept : 'application/json', @@ -329,7 +329,7 @@ export default async function API(endpoint, method, headers, params, body, onSuc 'card_number': headers.card_number || '' }; case "get": - if (headers.Authorization) { + if(headers.Authorization) { return { 'Accept': 'application/json', 'Authorization': `${headers.Authorization || ''}`, @@ -343,7 +343,7 @@ export default async function API(endpoint, method, headers, params, body, onSuc return {}; case "delete": - if (headers.Authorization) { + if(headers.Authorization) { return { 'Accept': 'application/json', 'Authorization': `${headers.Authorization || ''}`, @@ -367,7 +367,7 @@ export default async function API(endpoint, method, headers, params, body, onSuc } } - switch (method) { + switch(method) { case "post": { axios({ method: method, @@ -379,18 +379,16 @@ export default async function API(endpoint, method, headers, params, body, onSuc callLogs(response.data, "success", "frontend", subject, action) onSuccess(response.data) }).catch(async (err) => { - const hasResponse = err?.response && err?.response?.data; - const errorToResponse = { - status: hasResponse ? err.response.data.status || err.response.status : null, - message: hasResponse ? err.response.data.message || err.response.message : "Something went wrong, please try again." - }; + status: err?.response?.data?.status || err?.response?.status, + message: err?.response?.data?.message || err?.response?.message || "Something went wrong, please try again." + } - if (errorToResponse.status === 401) { + if(errorToResponse.status === 401) { let tokens = await DB.get("token"); - - if (!tokens.length) return; - + + if(!tokens.length) return; + store.dispatch({ type: TYPE_OPEN_ALERT, payload: { @@ -404,18 +402,18 @@ export default async function API(endpoint, method, headers, params, body, onSuc await DB.reset(); navigationRef.reset({ index: 0, - routes: [{ name: 'Login' }], + routes: [{name: 'Login'}], }); } } }) - callLogs(err?.response || err, "error", "frontend", subject, action); - onError(err?.response); // Always use errorToResponse + callLogs(err?.response, "error", "frontend", subject, action) + onError(err?.response) return; } - callLogs(err?.response || err, "error", "frontend", subject, action); - onError(errorToResponse); + callLogs(err?.response, "error", "frontend", subject, action); + onError(errorToResponse) }) return; } @@ -431,19 +429,16 @@ export default async function API(endpoint, method, headers, params, body, onSuc callLogs(response.data, "success", "frontend", subject, action) onSuccess(response.data) }).catch(async (err) => { - const hasResponse = err?.response && err?.response?.data; - const errorToResponse = { - status: hasResponse ? err.response.data.status || err.response.status : null, - message: hasResponse ? err.response.data.message || err.response.message : "Something went wrong, please try again." - }; + status: err?.response?.data?.status || err?.response?.status, + message: err?.response?.data?.message || err?.response?.message || "Something went wrong, please try again." + } - - if (errorToResponse.status === 401) { + if(errorToResponse.status === 401) { let tokens = await DB.get("token"); - - if (!tokens.length) return; - + + if(!tokens.length) return; + store.dispatch({ type: TYPE_OPEN_ALERT, payload: { @@ -457,19 +452,18 @@ export default async function API(endpoint, method, headers, params, body, onSuc await DB.reset(); navigationRef.reset({ index: 0, - routes: [{ name: 'Login' }], + routes: [{name: 'Login'}], }); } } }) - callLogs(err?.response || err, "error", "frontend", subject, action); - onError(err?.response); // Always use errorToResponse + callLogs(err?.response, "error", "frontend", subject, action) + onError(err?.response) return; } - callLogs(err?.response || err, "error", "frontend", subject, action); - onError(errorToResponse); - + callLogs(err?.response, "error", "frontend", subject, action); + onError(errorToResponse) }) return; } @@ -477,7 +471,7 @@ export default async function API(endpoint, method, headers, params, body, onSuc case "delete": { let url = !params.noID ? (EP[endpoint] + "?" + params) : EP[endpoint] + "/" + params.value; let urlToUse = endpoint.includes("/") ? EP[endpoint.split('/')[0]] + `/${endpoint.split('/')[1]}` : endpoint.includes(":") ? endpoint : url; - + axios({ method: method, url: urlToUse, @@ -488,19 +482,16 @@ export default async function API(endpoint, method, headers, params, body, onSuc onSuccess(response.data) }).catch(async (err) => { console.log(err) - const hasResponse = err?.response && err?.response?.data; - const errorToResponse = { - status: hasResponse ? err.response.data.status || err.response.status : null, - message: hasResponse ? err.response.data.message || err.response.message : "Something went wrong, please try again." - }; + status: err?.response?.data?.status || err?.response?.status, + message: err?.response?.data?.message || err?.response?.message || "Something went wrong, please try again." + } - - if (errorToResponse.status === 401) { + if(errorToResponse.status === 401) { let tokens = await DB.get("token"); - - if (!tokens.length) return; - + + if(!tokens.length) return; + store.dispatch({ type: TYPE_OPEN_ALERT, payload: { @@ -514,18 +505,18 @@ export default async function API(endpoint, method, headers, params, body, onSuc await DB.reset(); navigationRef.reset({ index: 0, - routes: [{ name: 'Login' }], + routes: [{name: 'Login'}], }); } } }) - callLogs(err?.response || err, "error", "frontend", subject, action); - onError(err?.response); // Always use errorToResponse + callLogs(err?.response, "error", "frontend", subject, action) + onError(err?.response) return; } - callLogs(err?.response || err, "error", "frontend", subject, action); - onError(errorToResponse); + callLogs(err?.response, "error", "frontend", subject, action); + onError(errorToResponse) }) return; } @@ -541,19 +532,16 @@ export default async function API(endpoint, method, headers, params, body, onSuc callLogs(response.data, "success", "frontend", subject, action) onSuccess(response.data) }).catch(async (err) => { - const hasResponse = err?.response && err?.response?.data; - const errorToResponse = { - status: hasResponse ? err.response.data.status || err.response.status : null, - message: hasResponse ? err.response.data.message || err.response.message : "Something went wrong, please try again." - }; + status: err?.response?.data?.status || err?.response?.status, + message: err?.response?.data?.message || err?.response?.message || "Something went wrong, please try again." + } - - if (errorToResponse.status === 401) { + if(errorToResponse.status === 401) { let tokens = await DB.get("token"); - - if (!tokens.length) return; - + + if(!tokens.length) return; + store.dispatch({ type: TYPE_OPEN_ALERT, payload: { @@ -567,22 +555,22 @@ export default async function API(endpoint, method, headers, params, body, onSuc await DB.reset(); navigationRef.reset({ index: 0, - routes: [{ name: 'Login' }], + routes: [{name: 'Login'}], }); } } }) - callLogs(err?.response || err, "error", "frontend", subject, action); - onError(err?.response); // Always use errorToResponse + callLogs(err?.response, "error", "frontend", subject, action) + onError(err?.response) return; } - callLogs(err?.response || err, "error", "frontend", subject, action); - onError(errorToResponse); + callLogs(err?.response, "error", "frontend", subject, action); + onError(errorToResponse) }) return; } - + case "patch": let url = !params.noID ? (EP[endpoint] + "?" + params) : EP[endpoint] + "/" + params.value; const urlToUse = endpoint.includes("/") ? EP[endpoint.split('/')[0]] + `/${endpoint.split('/')[1]}` : endpoint.includes(":") ? endpoint : url; @@ -597,19 +585,16 @@ export default async function API(endpoint, method, headers, params, body, onSuc callLogs(response.data, "success", "frontend", subject, action) onSuccess(response.data) }).catch(async (err) => { - const hasResponse = err?.response && err?.response?.data; - const errorToResponse = { - status: hasResponse ? err.response.data.status || err.response.status : null, - message: hasResponse ? err.response.data.message || err.response.message : "Something went wrong, please try again." - }; + status: err?.response?.data?.status || err?.response?.status, + message: err?.response?.data?.message || err?.response?.message || "Something went wrong, please try again." + } - - if (errorToResponse.status === 401) { + if(errorToResponse.status === 401) { let tokens = await DB.get("token"); - - if (!tokens.length) return; - + + if(!tokens.length) return; + store.dispatch({ type: TYPE_OPEN_ALERT, payload: { @@ -623,18 +608,18 @@ export default async function API(endpoint, method, headers, params, body, onSuc await DB.reset(); navigationRef.reset({ index: 0, - routes: [{ name: 'Login' }], + routes: [{name: 'Login'}], }); } } }) - callLogs(err?.response || err, "error", "frontend", subject, action); - onError(err?.response); // Always use errorToResponse + callLogs(err?.response, "error", "frontend", subject, action) + onError(err?.response) return; } - callLogs(err?.response || err, "error", "frontend", subject, action); - onError(errorToResponse); + callLogs(err?.response, "error", "frontend", subject, action); + onError(errorToResponse) }) return; diff --git a/app/screens/login/apply/card.js b/app/screens/login/apply/card.js index 27fc9d2f..22429a97 100644 --- a/app/screens/login/apply/card.js +++ b/app/screens/login/apply/card.js @@ -105,6 +105,7 @@ class ApplyCardD extends React.PureComponent { Select your preferred card type { + + try { const name = Theme.formatter.NAME(store.getState().appUserInfoReducer.userinfo.data); const data = { "project": environment.PROJECT_CODE, - "user": name || "Guest", + "user": name, "source": type || "frontend", "type": status, "subject": subject || "Screen", @@ -35,4 +37,7 @@ export const callLogs = async (error, status, type, subject, action) => { "Project-Key": environment.PROJECT_KEY } }) + }catch { + + } } \ No newline at end of file