module.exports = Self => { Self.remoteMethod('sorted', { description: 'Sort the vehicles by warehouse', accessType: 'WRITE', accepts: [{ arg: 'warehouseFk', type: 'number' }], returns: { type: ['object'], root: true }, http: { path: `/sorted`, verb: `POST` } }); Self.sorted = async warehouseFk => { return Self.rawSql(` SELECT v.id, v.warehouseFk, v.numberPlate, w.name FROM vehicle v JOIN warehouse w ON w.id = v.warehouseFk ORDER BY v.warehouseFk = ? DESC, w.id, v.numberPlate ASC; `, [warehouseFk]); }; };