19 lines
802 B
JavaScript
19 lines
802 B
JavaScript
const UserError = require('vn-loopback/util/user-error');
|
|
|
|
module.exports = Self => {
|
|
Self.observe('before save', async function(ctx) {
|
|
if (ctx.isNewInstance) return;
|
|
|
|
const models = Self.app.models;
|
|
const invoiceIn = await models.InvoiceIn.findById(ctx.currentInstance.invoiceInFk, null, ctx.options);
|
|
if (invoiceIn.isBooked) throw new UserError('InvoiceIn is already booked');
|
|
});
|
|
|
|
Self.observe('before delete', async function(ctx) {
|
|
const models = Self.app.models;
|
|
const invoiceInTax = await Self.findById(ctx.where.id, null, ctx.options);
|
|
const invoiceIn = await models.InvoiceIn.findById(invoiceInTax.invoiceInFk, null, ctx.options);
|
|
if (invoiceIn.isBooked) throw new UserError('InvoiceIn is already booked');
|
|
});
|
|
};
|