Angular-Fullstack: Using $resourse query with params

Issue

I’m using Angular-Fullstack generator, and I’m not able to get a list of drivers depending on a companyID, through $resource query. This is what I have:

server/api/driver/index.js:

router.get('/:company', controller.index);

server/api/driver/driver.controller.js:

export function index(req, res) {
  return Driver.find({company: req.params.company}).exec()
    .then(function(res){
       console.log(res); /* I get here the result correctly */
       respondWithResult(res)
    })
    .catch(handleError(res));
}

client/services/driver.service.js:

export function DriverResource($resource) {
  'ngInject';

  return $resource('/api/drivers/:id/:company', {company: '@_id'});
}

client/app/driver/driver.controller.js:

this.driverList = Driver.query({company: Auth.getCurrentUser()._id}});
console.log(this.driverList); /* Empty array */

I’d be grateful if someone could help me getting the response from the server…

Thank you in advance.

Solution

I just realised that I was duplicating the ‘res’ variable:

server/api/driver/driver.controller.js:

export function index(req, res) {
  return Driver.find({company: req.params.company}).exec()
    .then(function(**res**){
       /* Should be the result, not the response */
       console.log(**res**);
       respondWithResult(**res**)
    })
    .catch(handleError(res));
}

Answered By – nash

Answer Checked By – David Goodson (AngularFixing Volunteer)

Leave a Reply

Your email address will not be published.