frontend: create-post: better error handling

Signed-off-by: Nicolas Froger <nicolas@kektus.xyz>
This commit is contained in:
Nicolas Froger 2024-07-26 15:35:45 +02:00
commit 4356816f07
No known key found for this signature in database

View file

@ -46,6 +46,13 @@ const formStatus = ref({
errorMsg: ''
})
function formError(message) {
formStatus.value.sending = false
formStatus.value.error = true
formStatus.value.errorMsg = message
formContainer.value.classList.remove('invisible')
}
const onSubmit = form.handleSubmit(async (values) => {
if (!authStore.isAuth)
return
@ -65,14 +72,16 @@ const onSubmit = form.handleSubmit(async (values) => {
'X-admin-token': authStore.adminToken
},
body: JSON.stringify({ filename: file.file.name })
}).catch((e) => {
console.log('Contact API asset failed: ' + e)
formError('Erreur à la préparation de l\'envoi d\'un média : ' + e)
})
if (!response)
return
if (!response.ok) {
console.log('Contact API asset failed: ' + response.statusText + '\n\n' + response.body)
formStatus.value.sending = false
formStatus.value.error = true
formStatus.value.errorMsg = 'Une erreur est survenue à la préparation de l\'envoi d\'un média : ' + response.statusText
formContainer.value.classList.remove('invisible')
formError('Erreur à la préparation de l\'envoi d\'un média : ' + response.statusText)
return
}
const responseBody = await response.json()
@ -88,13 +97,15 @@ const onSubmit = form.handleSubmit(async (values) => {
const s3Response = await fetch(`${S3_ENDPOINT}/${S3_BUCKET}/`, {
method: 'POST',
body: mediaUploadFormData
}).catch((e) => {
console.log('Erreur envoi S3: ' + e)
formError('Une erreur est survenue pendant l\'envoi d\'un média : ' + e)
})
if (!s3Response)
return
if (!s3Response.ok) {
console.log('Envoi media S3 failed: ' + s3Response.statusText + '\n\n' + s3Response.body)
formStatus.value.sending = false
formStatus.value.error = true
formStatus.value.errorMsg = 'Une erreur est survenue pendant l\'envoi d\'un média : ' + s3Response.statusText
formContainer.value.classList.remove('invisible')
formError('Une erreur est survenue pendant l\'envoi d\'un média : ' + s3Response.statusText)
return
}
@ -115,13 +126,15 @@ const onSubmit = form.handleSubmit(async (values) => {
country: values.country,
assets: assets
})
}).catch((e) => {
console.log('Erreur envoi post : ' + e)
formError('Une erreur est survenue pendant l\'envoi du post : ' + e)
})
if (!response)
return
if (!response.ok) {
console.log('POST post API failed: ' + response.statusText + '\n\n' + response.body)
formStatus.value.sending = false
formStatus.value.error = true
formStatus.value.errorMsg = 'Une erreur est survenue lors de l\'envoi du poste : ' + response.statusText
formContainer.value.classList.remove('hidden')
formError('Une erreur est survenue lors de l\'envoi du poste : ' + response.statusText)
return
}