This commit is contained in:
j3d1 2023-12-13 08:09:29 +01:00
parent 8d55b00027
commit ea27165e25
13 changed files with 162 additions and 34 deletions

View file

@ -20,17 +20,26 @@ axios.interceptors.response.use(response => response, error => {
return axios.request(error.config);
}
});
} else
return Promise.reject(error);
});
axios.interceptors.response.use(response => response, error => {
console.log('error interceptor fired');
console.error(error); // todo: toast error
console.log(Object.entries(error));
if (error.isAxiosError) {
} else if (error.response.status === 403) {
const message = `
<h3>Access denied.</h3>
<p>
url: ${error.config.url}
<br>
method: ${error.config.method}
<br>
response-body: ${error.response && error.response.body}
</p>
`;
store.commit('createToast', {title: 'Error: Access denied', message, color: 'danger'});
return Promise.reject(error)
} else {
console.log('error interceptor fired');
console.error(error); // todo: toast error
console.log(Object.entries(error));
if (error.isAxiosError) {
const message = `
<h3>A HTTP ${error.config.method} request failed.</h3>
<p>
url: ${error.config.url}
@ -40,11 +49,12 @@ axios.interceptors.response.use(response => response, error => {
response-body: ${error.response && error.response.body}
</p>
`;
store.commit('createToast', {title: 'Error: HTTP', message, color: 'danger'});
} else {
store.commit('createToast', {title: 'Error: Unknown', message: error.toString(), color: 'danger'});
store.commit('createToast', {title: 'Error: HTTP', message, color: 'danger'});
} else {
store.commit('createToast', {title: 'Error: Unknown', message: error.toString(), color: 'danger'});
}
return Promise.reject(error);
}
return Promise.reject(error);
});
const store = new Vuex.Store({
@ -226,8 +236,12 @@ const store = new Vuex.Store({
router.push({path: `/${getters.getEventSlug}/items/`, query: {box}});
},
async loadEventItems({commit, getters}) {
const {data} = await axios.get(`/2/${getters.getEventSlug}/items/`);
commit('replaceLoadedItems', data);
try {
const {data} = await axios.get(`/2/${getters.getEventSlug}/items/`);
commit('replaceLoadedItems', data);
} catch (e) {
console.error("Error loading items");
}
},
async searchEventItems({commit, getters}, query) {
const foo = utf8.encode(query);