diff --git a/frontend/src/views/warranty/WarrantiesList.vue b/frontend/src/views/warranty/WarrantiesList.vue index cfdcd66..aa064b0 100644 --- a/frontend/src/views/warranty/WarrantiesList.vue +++ b/frontend/src/views/warranty/WarrantiesList.vue @@ -228,6 +228,14 @@ function openModal(item = null) { } function closeModal() { showModal.value = false; editing.value = null } +// API errors nest the message at data.data.error.message (see error_response). +function apiError(err, fallback) { + return err.response?.data?.data?.error?.message + || err.response?.data?.error?.message + || err.response?.data?.message + || fallback +} + async function save() { error.value = '' saving.value = true @@ -241,7 +249,7 @@ async function save() { closeModal() loadData() } catch (err) { - error.value = err.response?.data?.error?.message || err.response?.data?.message || 'Failed to save' + error.value = apiError(err, 'Failed to save') } finally { saving.value = false } @@ -253,16 +261,18 @@ async function deleteWarranty(w) { await warrantyApi.remove(w.warrantyid) loadData() } catch (err) { - alert(err.response?.data?.error?.message || 'Failed to delete') + alert(apiError(err, 'Failed to delete')) } } async function refresh(w) { try { - await warrantyApi.refresh(w.warrantyid) + const response = await warrantyApi.refresh(w.warrantyid) loadData() + const updated = response.data?.data + if (updated) alert(`Refreshed: ${updated.vendor} - ${updated.servicelevel || 'coverage'} ends ${updated.enddate || 'unknown'}`) } catch (err) { - alert(err.response?.data?.error?.message || err.response?.data?.message || 'Refresh failed') + alert(apiError(err, 'Refresh failed')) } }