const Component = require(`${appPath}/core/component`); const db = require(`${appPath}/core/database`); const emailHeader = new Component('email-header'); const emailFooter = new Component('email-footer'); const attachment = new Component('attachment'); const attachments = require('./attachments.json'); module.exports = { name: 'letter-debtor-nd', async serverPrefetch() { this.debtor = await this.fetchDebtor(this.recipientId, this.companyId); if (!this.debtor) throw new Error('Something went wrong'); }, data() { return {attachments}; }, methods: { fetchDebtor(clientId, companyId) { return db.findOne(` SELECT c.dueDay, c.iban, sa.iban, be.name AS bankName FROM client c JOIN company AS cny JOIN supplierAccount AS sa ON sa.id = cny.supplierAccountFk JOIN bankEntity be ON be.id = sa.bankEntityFk WHERE c.id = ? AND cny.id = ?`, [clientId, companyId]); } }, components: { 'email-header': emailHeader.build(), 'email-footer': emailFooter.build(), 'attachment': attachment.build() }, props: { authorization: { required: true }, recipientId: { required: true }, companyId: { required: true } } };