Guest User

Untitled

a guest
Feb 19th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. baseRouter.get('/fruitsList', (req, res) => {
  2. /*
  3. DataTable when Server-side processing is true sends the data it needs in the query string as you can
  4. see in the network tab of any web inspector filtering GET XHR requests.
  5. remember to always parse integer parameters to avoid any possible SQLinjection or XSS attack
  6. (as DataTable Server-side processing documentation recommend too)
  7. */
  8. var draw = parseInt(req.query.draw);
  9. var start = parseInt(req.query.start);
  10. var length = parseInt(req.query.length);
  11.  
  12. /*
  13. following function calls some REST api performing the query in the db like
  14. `/api/v1/fruits?limit=${length}&offset=${start}`
  15. or performs some query like
  16. SELECT TOP `length` name, color, description FROM fruits WHERE id >= `start`
  17. */
  18. var fruitsList = await FruitsEndpoint.getFruitsList(start, length);
  19.  
  20. /*
  21. following function calls some REST api performing the query in the db like
  22. `/api/v1/fruits/length
  23. or performs some query like
  24. SELECT count(*) FROM fruits
  25. because DataTable needs it to perform pagination
  26. */
  27. var totalFruitsLength = await FruitsEndpoint.getTotalFruitsLength();
  28.  
  29. var fruitsListForFrontend = {
  30. draw: draw,
  31. recordsTotal : totalFruitsLength,
  32. recordsFiltered : totalFruitsLength,
  33. data: fruitsList
  34. };
  35.  
  36. res.send(fruitsListForFrontend);
  37.  
  38. });
Add Comment
Please, Sign In to add comment