salix/services/client/common/methods/client/addresses.js

51 lines
1.3 KiB
JavaScript

module.exports = function(Client) {
Client.remoteMethod('addressesList', {
description: 'List items using a filter',
accessType: 'READ',
accepts: [
{
arg: 'id',
type: 'string',
required: true,
description: 'Model id',
http: {source: 'path'}
},
{
arg: 'filter',
type: 'object',
required: true,
description: 'Filter defining where',
http: function(ctx) {
return ctx.req.query;
}
}
],
returns: {
arg: 'data',
type: ['Address'],
root: true
},
http: {
path: `/:id/addressesList`,
verb: 'get'
}
});
Client.addressesList = function(id, params, callback) {
let filter = {
where: {
clientFk: id
},
skip: (params.page - 1) * params.size,
limit: params.size,
order: ['isDefaultAddress DESC', 'isEnabled DESC']
};
Client.app.models.Address.find(filter, function(err, instances) {
if (err)
return callback(err, null);
callback(null, instances);
});
};
};