Advertisement
Guest User

Untitled

a guest
Jul 17th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function getAds(req, res) {
  2.     jwt.verify(req.token, 'secretKey', (err) => {
  3.         if (err) {
  4.             res.sendStatus(403);
  5.         }
  6.         else {
  7.             let page = req.query.page || 0;
  8.             let items_per_page = parseInt(req.query.items_per_page) || 10;
  9.             let sort_order = req.query.sort_order || 'asc';
  10.             let sortField = req.query.sort || 'name';
  11.             let firstElementIndex = page * items_per_page;
  12.             const tag_query = req.query.tags ? {tags: req.query.tags} : {};
  13.             const query = req.query.find ? {title: req.query.find} : {};
  14.  
  15.                     Promise.all([
  16.                         adItem.find((query, tag_query))
  17.                             .skip(firstElementIndex)
  18.                             .limit(items_per_page)
  19.                             .sort({[sortField]: sort_order})
  20.                             .exec(),
  21.                         adItem.find({})
  22.                             .count()
  23.                             .exec(),
  24.                     ]).then(([docs, numberOfItems]) => {
  25.                         res.json({results: docs, count: numberOfItems});
  26.  
  27.                     }).catch(e => {
  28.                         res.json({message: e.message});
  29.                     });
  30.             }
  31.     })
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement