module.exports = Self => { Self.remoteMethod('summary', { description: 'The invoiceIn summary', accessType: 'READ', accepts: [{ arg: 'id', type: 'number', required: true, description: 'The invoiceIn id', http: {source: 'path'} }], returns: { type: 'object', root: true }, http: { path: `/:id/summary`, verb: 'GET' } }); Self.summary = async(id, options) => { let myOptions = {}; if (typeof options == 'object') Object.assign(myOptions, options); const filter = { include: [ { relation: 'company', scope: { fields: ['id', 'code'] } }, { relation: 'supplier', scope: { fields: ['id', 'name'] } }, { relation: 'sageWithholding', scope: { fields: ['withholding'] } }, { relation: 'expenseDeductible', scope: { fields: ['id', 'name', 'taxTypeFk'] } }, { relation: 'currency', scope: { fields: ['id', 'name'] } } ] }; return Self.app.models.InvoiceIn.findById(id, filter, myOptions); }; };