51 lines
1.3 KiB
JavaScript
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);
|
|
});
|
|
};
|
|
};
|