Remove try/catch #136

Open
jsegarra wants to merge 3 commits from import_quasar_js into beta
2 changed files with 58 additions and 48 deletions

View File

@ -24,17 +24,6 @@ const onRequestError = error => {
const onResponseError = error => {
const userStore = useUserStore();
let message = error.message;
const response = error.response;
const responseData = response && response.data;
const responseError = responseData && response.data.error;
if (responseError) {
message = responseError.message;
}
notify(message, 'negative');
if (userStore.isLoggedIn && response?.status === 401) {
if (!Router) return;
@ -73,6 +62,40 @@ export default boot(({ app }) => {
// so you can easily perform requests against your app's API
app.config.globalProperties.$jApi = jApi;
app.config.errorHandler = async error => {
let message;
const response = error.response;
const responseData = response?.data;
const responseError = responseData && response.data.error;
if (responseError) {
message = responseError.message;
}
switch (response?.status) {
case 422:
if (error.name == 'ValidationError')
message +=
' "' +
responseError.details.context +
'.' +
Object.keys(responseError.details.codes).join(',') +
'"';
break;
case 500:
message = 'errors.statusInternalServerError';
break;
case 502:
message = 'errors.statusBadGateway';
break;
case 504:
message = 'errors.statusGatewayTimeout';
break;
}
console.error(error);
notify(message ?? 'globals.error', 'negative', 'error');
};
app.provide('jApi', jApi);
app.provide('api', api);
});

View File

@ -137,26 +137,22 @@ export const useUserStore = defineStore('user', () => {
};
const login = async (username, password, remember) => {
try {
const params = { user: username, password };
const { data } = await api.post('Accounts/login', params);
const params = { user: username, password };
const { data } = await api.post('Accounts/login', params);
const multimediaToken = await fetchMultimediaToken(data);
if (!multimediaToken) return;
const multimediaToken = await fetchMultimediaToken(data);
if (!multimediaToken) return;
keepLogin.value = remember;
setSession({
created: Date.now(),
tokenMultimedia: multimediaToken.id,
username,
...data
});
await fetchTokenConfig();
startInterval();
await onLogin();
} catch (error) {
throw new Error('Error logging in');
}
keepLogin.value = remember;
setSession({
created: Date.now(),
tokenMultimedia: multimediaToken.id,
username,
...data
});
await fetchTokenConfig();
startInterval();
await onLogin();
};
const tryAutoLogin = async () => {
@ -180,18 +176,13 @@ export const useUserStore = defineStore('user', () => {
};
const fetchTokenConfig = async () => {
try {
const { data } = await api.get('AccessTokenConfigs/findOne', {
filter: { fields: ['renewInterval', 'renewPeriod'] }
});
if (!data) return;
tokenConfig.value = data;
storage.value.setItem('renewPeriod', data.renewPeriod);
return data;
} catch (error) {
notify('errors.tokenConfig', 'negative');
console.error('Error fetching token config:', error);
}
const { data } = await api.get('AccessTokenConfigs/findOne', {
filter: { fields: ['renewInterval', 'renewPeriod'] }
});
if (!data) return;
tokenConfig.value = data;
storage.value.setItem('renewPeriod', data.renewPeriod);
return data;
};
const renewToken = async () => {
@ -247,14 +238,10 @@ export const useUserStore = defineStore('user', () => {
};
const fetchUser = async (userType = 'user') => {
try {
const userData = await api.get('VnUsers/getCurrentUserData');
const userData = await api.get('VnUsers/getCurrentUserData');
if (userType === 'user') mainUser.value = userData.data;
else supplantedUser.value = userData.data;
} catch (error) {
console.error('Error fetching user: ', error);
}
if (userType === 'user') mainUser.value = userData.data;
else supplantedUser.value = userData.data;
};
const supplantUser = async supplantUser => {