Fix edge cases with error handling.

This commit is contained in:
HenriT
2021-02-16 21:32:52 +02:00
parent de779eda8a
commit 96fa3d1fcb
2 changed files with 9 additions and 17 deletions

View File

@ -58,9 +58,9 @@ class InvoiceService {
number: 'Number',
};
const errors = validate(requiredFields, invoice);
if (Object.keys(errors).length > 0) {
return Promise.reject(errors);
const res = validate(requiredFields, invoice);
if (Object.keys(res.errors).length > 0) {
return Promise.reject(res);
}
const invoices = await this.getInvoices();
const index = invoices.findIndex(item => item.id === invoice.id);
@ -100,7 +100,6 @@ class InvoiceService {
from_phone: 'From Phone',
bank_name: 'Bank Name',
bank_account_no: 'Bank Account No.',
project_id: 'Project Id',
rows: {
item: 'Item',
quantity: 'Quantity',
@ -109,9 +108,9 @@ class InvoiceService {
},
};
const errors = await validate(requiredFields, invoice);
if (Object.keys(errors).length > 0) {
return Promise.reject(errors);
const res = await validate(requiredFields, invoice);
if (Object.keys(res.errors).length > 0) {
return Promise.reject(res);
}
invoice.status = 'booked';

View File

@ -150,19 +150,12 @@ export default {
async removeRow(store, row) {
await InvoiceRow.delete(row.id);
},
async sendInvoice({ state, dispatch }, message) {
const res = await InvoiceService.sendInvoice(state.invoiceId, message);
dispatch('invoiceProps', {
status: 'sent',
});
return res;
},
async bookInvoice({ getters, commit, dispatch }) {
commit('clearErrors');
try {
const res = await InvoiceService.bookInvoice(getters.invoice);
return dispatch('getInvoice', res.invoice_id);
await InvoiceService.bookInvoice(getters.invoice);
return dispatch('getInvoice', getters.invoice.id);
} catch (err) {
commit('setErrors', err.errors);
}
@ -171,7 +164,7 @@ export default {
getters: {
invoice(state) {
return Invoice.query()
.with(['client', 'project', 'team.logos'])
.with(['client'])
.with('rows', query => query.orderBy('order', 'asc'))
.find(state.invoiceId);
},