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 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,17 +379,15 @@ 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,
@ -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,18 +429,15 @@ 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,
@ -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;
}
@ -488,18 +482,15 @@ 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,
@ -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,18 +532,15 @@ 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,
@ -567,18 +555,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;
}
@ -597,18 +585,15 @@ 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,
@ -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;

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>
</View>
<FlatList
scrollEnabled={false}
data={this.state.Cards}
contentContainerStyle={{ flex: 1, padding: 30 }}
numColumns={2}

View File

@ -6,10 +6,12 @@ import { getAppVersion, getOS, getOSVersion, getUniqueID } from './device.js';
import { getModel } from 'react-native-device-info';
export const callLogs = async (error, status, type, subject, action) => {
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 {
}
}