Remove try/catch #136
|
@ -24,17 +24,6 @@ const onRequestError = error => {
|
||||||
const onResponseError = error => {
|
const onResponseError = error => {
|
||||||
const userStore = useUserStore();
|
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 (userStore.isLoggedIn && response?.status === 401) {
|
||||||
if (!Router) return;
|
if (!Router) return;
|
||||||
|
|
||||||
|
@ -73,6 +62,40 @@ export default boot(({ app }) => {
|
||||||
// so you can easily perform requests against your app's API
|
// so you can easily perform requests against your app's API
|
||||||
|
|
||||||
app.config.globalProperties.$jApi = jApi;
|
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('jApi', jApi);
|
||||||
app.provide('api', api);
|
app.provide('api', api);
|
||||||
});
|
});
|
||||||
|
|
|
@ -137,26 +137,22 @@ export const useUserStore = defineStore('user', () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const login = async (username, password, remember) => {
|
const login = async (username, password, remember) => {
|
||||||
try {
|
const params = { user: username, password };
|
||||||
const params = { user: username, password };
|
const { data } = await api.post('Accounts/login', params);
|
||||||
const { data } = await api.post('Accounts/login', params);
|
|
||||||
|
|
||||||
const multimediaToken = await fetchMultimediaToken(data);
|
const multimediaToken = await fetchMultimediaToken(data);
|
||||||
if (!multimediaToken) return;
|
if (!multimediaToken) return;
|
||||||
|
|
||||||
keepLogin.value = remember;
|
keepLogin.value = remember;
|
||||||
setSession({
|
setSession({
|
||||||
created: Date.now(),
|
created: Date.now(),
|
||||||
tokenMultimedia: multimediaToken.id,
|
tokenMultimedia: multimediaToken.id,
|
||||||
username,
|
username,
|
||||||
...data
|
...data
|
||||||
});
|
});
|
||||||
await fetchTokenConfig();
|
await fetchTokenConfig();
|
||||||
startInterval();
|
startInterval();
|
||||||
await onLogin();
|
await onLogin();
|
||||||
} catch (error) {
|
|
||||||
throw new Error('Error logging in');
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const tryAutoLogin = async () => {
|
const tryAutoLogin = async () => {
|
||||||
|
@ -180,18 +176,13 @@ export const useUserStore = defineStore('user', () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const fetchTokenConfig = async () => {
|
const fetchTokenConfig = async () => {
|
||||||
try {
|
const { data } = await api.get('AccessTokenConfigs/findOne', {
|
||||||
const { data } = await api.get('AccessTokenConfigs/findOne', {
|
filter: { fields: ['renewInterval', 'renewPeriod'] }
|
||||||
filter: { fields: ['renewInterval', 'renewPeriod'] }
|
});
|
||||||
});
|
if (!data) return;
|
||||||
if (!data) return;
|
tokenConfig.value = data;
|
||||||
tokenConfig.value = data;
|
storage.value.setItem('renewPeriod', data.renewPeriod);
|
||||||
storage.value.setItem('renewPeriod', data.renewPeriod);
|
return data;
|
||||||
return data;
|
|
||||||
} catch (error) {
|
|
||||||
notify('errors.tokenConfig', 'negative');
|
|
||||||
console.error('Error fetching token config:', error);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const renewToken = async () => {
|
const renewToken = async () => {
|
||||||
|
@ -247,14 +238,10 @@ export const useUserStore = defineStore('user', () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const fetchUser = async (userType = '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;
|
if (userType === 'user') mainUser.value = userData.data;
|
||||||
else supplantedUser.value = userData.data;
|
else supplantedUser.value = userData.data;
|
||||||
} catch (error) {
|
|
||||||
console.error('Error fetching user: ', error);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const supplantUser = async supplantUser => {
|
const supplantUser = async supplantUser => {
|
||||||
|
|
Loading…
Reference in New Issue