bug fixes

This commit is contained in:
nnajah1 2025-05-02 11:48:09 +08:00
parent 92842c0069
commit d159a4a682
3 changed files with 83 additions and 92 deletions

View File

@ -320,7 +320,7 @@ export default async function API(endpoint, method, headers, params, body, onSuc
const navigationRef = getNavigationRef(); const navigationRef = getNavigationRef();
const headerToUse = () => { const headerToUse = () => {
switch (method) { switch(method) {
case "post": case "post":
return { return {
'Accept': headers.Accept ? headers.Accept : 'application/json', '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 || '' 'card_number': headers.card_number || ''
}; };
case "get": case "get":
if (headers.Authorization) { if(headers.Authorization) {
return { return {
'Accept': 'application/json', 'Accept': 'application/json',
'Authorization': `${headers.Authorization || ''}`, 'Authorization': `${headers.Authorization || ''}`,
@ -343,7 +343,7 @@ export default async function API(endpoint, method, headers, params, body, onSuc
return {}; return {};
case "delete": case "delete":
if (headers.Authorization) { if(headers.Authorization) {
return { return {
'Accept': 'application/json', 'Accept': 'application/json',
'Authorization': `${headers.Authorization || ''}`, 'Authorization': `${headers.Authorization || ''}`,
@ -367,7 +367,7 @@ export default async function API(endpoint, method, headers, params, body, onSuc
} }
} }
switch (method) { switch(method) {
case "post": { case "post": {
axios({ axios({
method: method, method: method,
@ -379,17 +379,15 @@ export default async function API(endpoint, method, headers, params, body, onSuc
callLogs(response.data, "success", "frontend", subject, action) callLogs(response.data, "success", "frontend", subject, action)
onSuccess(response.data) onSuccess(response.data)
}).catch(async (err) => { }).catch(async (err) => {
const hasResponse = err?.response && err?.response?.data;
const errorToResponse = { const errorToResponse = {
status: hasResponse ? err.response.data.status || err.response.status : null, status: err?.response?.data?.status || err?.response?.status,
message: hasResponse ? err.response.data.message || err.response.message : "Something went wrong, please try again." 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"); let tokens = await DB.get("token");
if (!tokens.length) return; if(!tokens.length) return;
store.dispatch({ store.dispatch({
type: TYPE_OPEN_ALERT, type: TYPE_OPEN_ALERT,
@ -404,18 +402,18 @@ export default async function API(endpoint, method, headers, params, body, onSuc
await DB.reset(); await DB.reset();
navigationRef.reset({ navigationRef.reset({
index: 0, index: 0,
routes: [{ name: 'Login' }], routes: [{name: 'Login'}],
}); });
} }
} }
}) })
callLogs(err?.response || err, "error", "frontend", subject, action); callLogs(err?.response, "error", "frontend", subject, action)
onError(err?.response); // Always use errorToResponse onError(err?.response)
return; return;
} }
callLogs(err?.response || err, "error", "frontend", subject, action); callLogs(err?.response, "error", "frontend", subject, action);
onError(errorToResponse); onError(errorToResponse)
}) })
return; return;
} }
@ -431,18 +429,15 @@ export default async function API(endpoint, method, headers, params, body, onSuc
callLogs(response.data, "success", "frontend", subject, action) callLogs(response.data, "success", "frontend", subject, action)
onSuccess(response.data) onSuccess(response.data)
}).catch(async (err) => { }).catch(async (err) => {
const hasResponse = err?.response && err?.response?.data;
const errorToResponse = { const errorToResponse = {
status: hasResponse ? err.response.data.status || err.response.status : null, status: err?.response?.data?.status || err?.response?.status,
message: hasResponse ? err.response.data.message || err.response.message : "Something went wrong, please try again." 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"); let tokens = await DB.get("token");
if (!tokens.length) return; if(!tokens.length) return;
store.dispatch({ store.dispatch({
type: TYPE_OPEN_ALERT, type: TYPE_OPEN_ALERT,
@ -457,19 +452,18 @@ export default async function API(endpoint, method, headers, params, body, onSuc
await DB.reset(); await DB.reset();
navigationRef.reset({ navigationRef.reset({
index: 0, index: 0,
routes: [{ name: 'Login' }], routes: [{name: 'Login'}],
}); });
} }
} }
}) })
callLogs(err?.response || err, "error", "frontend", subject, action); callLogs(err?.response, "error", "frontend", subject, action)
onError(err?.response); // Always use errorToResponse onError(err?.response)
return; return;
} }
callLogs(err?.response || err, "error", "frontend", subject, action); callLogs(err?.response, "error", "frontend", subject, action);
onError(errorToResponse); onError(errorToResponse)
}) })
return; return;
} }
@ -488,18 +482,15 @@ export default async function API(endpoint, method, headers, params, body, onSuc
onSuccess(response.data) onSuccess(response.data)
}).catch(async (err) => { }).catch(async (err) => {
console.log(err) console.log(err)
const hasResponse = err?.response && err?.response?.data;
const errorToResponse = { const errorToResponse = {
status: hasResponse ? err.response.data.status || err.response.status : null, status: err?.response?.data?.status || err?.response?.status,
message: hasResponse ? err.response.data.message || err.response.message : "Something went wrong, please try again." 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"); let tokens = await DB.get("token");
if (!tokens.length) return; if(!tokens.length) return;
store.dispatch({ store.dispatch({
type: TYPE_OPEN_ALERT, type: TYPE_OPEN_ALERT,
@ -514,18 +505,18 @@ export default async function API(endpoint, method, headers, params, body, onSuc
await DB.reset(); await DB.reset();
navigationRef.reset({ navigationRef.reset({
index: 0, index: 0,
routes: [{ name: 'Login' }], routes: [{name: 'Login'}],
}); });
} }
} }
}) })
callLogs(err?.response || err, "error", "frontend", subject, action); callLogs(err?.response, "error", "frontend", subject, action)
onError(err?.response); // Always use errorToResponse onError(err?.response)
return; return;
} }
callLogs(err?.response || err, "error", "frontend", subject, action); callLogs(err?.response, "error", "frontend", subject, action);
onError(errorToResponse); onError(errorToResponse)
}) })
return; return;
} }
@ -541,18 +532,15 @@ export default async function API(endpoint, method, headers, params, body, onSuc
callLogs(response.data, "success", "frontend", subject, action) callLogs(response.data, "success", "frontend", subject, action)
onSuccess(response.data) onSuccess(response.data)
}).catch(async (err) => { }).catch(async (err) => {
const hasResponse = err?.response && err?.response?.data;
const errorToResponse = { const errorToResponse = {
status: hasResponse ? err.response.data.status || err.response.status : null, status: err?.response?.data?.status || err?.response?.status,
message: hasResponse ? err.response.data.message || err.response.message : "Something went wrong, please try again." 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"); let tokens = await DB.get("token");
if (!tokens.length) return; if(!tokens.length) return;
store.dispatch({ store.dispatch({
type: TYPE_OPEN_ALERT, type: TYPE_OPEN_ALERT,
@ -567,18 +555,18 @@ export default async function API(endpoint, method, headers, params, body, onSuc
await DB.reset(); await DB.reset();
navigationRef.reset({ navigationRef.reset({
index: 0, index: 0,
routes: [{ name: 'Login' }], routes: [{name: 'Login'}],
}); });
} }
} }
}) })
callLogs(err?.response || err, "error", "frontend", subject, action); callLogs(err?.response, "error", "frontend", subject, action)
onError(err?.response); // Always use errorToResponse onError(err?.response)
return; return;
} }
callLogs(err?.response || err, "error", "frontend", subject, action); callLogs(err?.response, "error", "frontend", subject, action);
onError(errorToResponse); onError(errorToResponse)
}) })
return; return;
} }
@ -597,18 +585,15 @@ export default async function API(endpoint, method, headers, params, body, onSuc
callLogs(response.data, "success", "frontend", subject, action) callLogs(response.data, "success", "frontend", subject, action)
onSuccess(response.data) onSuccess(response.data)
}).catch(async (err) => { }).catch(async (err) => {
const hasResponse = err?.response && err?.response?.data;
const errorToResponse = { const errorToResponse = {
status: hasResponse ? err.response.data.status || err.response.status : null, status: err?.response?.data?.status || err?.response?.status,
message: hasResponse ? err.response.data.message || err.response.message : "Something went wrong, please try again." 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"); let tokens = await DB.get("token");
if (!tokens.length) return; if(!tokens.length) return;
store.dispatch({ store.dispatch({
type: TYPE_OPEN_ALERT, type: TYPE_OPEN_ALERT,
@ -623,18 +608,18 @@ export default async function API(endpoint, method, headers, params, body, onSuc
await DB.reset(); await DB.reset();
navigationRef.reset({ navigationRef.reset({
index: 0, index: 0,
routes: [{ name: 'Login' }], routes: [{name: 'Login'}],
}); });
} }
} }
}) })
callLogs(err?.response || err, "error", "frontend", subject, action); callLogs(err?.response, "error", "frontend", subject, action)
onError(err?.response); // Always use errorToResponse onError(err?.response)
return; return;
} }
callLogs(err?.response || err, "error", "frontend", subject, action); callLogs(err?.response, "error", "frontend", subject, action);
onError(errorToResponse); onError(errorToResponse)
}) })
return; return;

View File

@ -105,6 +105,7 @@ class ApplyCardD extends React.PureComponent {
<Text style={{ fontSize: 16, color: this.props.app_theme?.theme.dark ? this.props.app_theme?.theme.colors.text : Theme.colors.textPrimary, width: '85%', textAlign: 'center'}}>Select your preferred card type</Text> <Text style={{ fontSize: 16, color: this.props.app_theme?.theme.dark ? this.props.app_theme?.theme.colors.text : Theme.colors.textPrimary, width: '85%', textAlign: 'center'}}>Select your preferred card type</Text>
</View> </View>
<FlatList <FlatList
scrollEnabled={false}
data={this.state.Cards} data={this.state.Cards}
contentContainerStyle={{ flex: 1, padding: 30 }} contentContainerStyle={{ flex: 1, padding: 30 }}
numColumns={2} numColumns={2}

View File

@ -6,10 +6,12 @@ import { getAppVersion, getOS, getOSVersion, getUniqueID } from './device.js';
import { getModel } from 'react-native-device-info'; import { getModel } from 'react-native-device-info';
export const callLogs = async (error, status, type, subject, action) => { export const callLogs = async (error, status, type, subject, action) => {
try {
const name = Theme.formatter.NAME(store.getState().appUserInfoReducer.userinfo.data); const name = Theme.formatter.NAME(store.getState().appUserInfoReducer.userinfo.data);
const data = { const data = {
"project": environment.PROJECT_CODE, "project": environment.PROJECT_CODE,
"user": name || "Guest", "user": name,
"source": type || "frontend", "source": type || "frontend",
"type": status, "type": status,
"subject": subject || "Screen", "subject": subject || "Screen",
@ -35,4 +37,7 @@ export const callLogs = async (error, status, type, subject, action) => {
"Project-Key": environment.PROJECT_KEY "Project-Key": environment.PROJECT_KEY
} }
}) })
}catch {
}
} }