mirror of
https://github.com/mokuappio/serverless-invoices.git
synced 2025-10-27 16:01:07 -04:00
Fix edge cases with error handling.
This commit is contained in:
@ -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';
|
||||
|
||||
@ -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);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user