Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- baseRouter.get('/fruitsList', (req, res) => {
- /*
- DataTable when Server-side processing is true sends the data it needs in the query string as you can
- see in the network tab of any web inspector filtering GET XHR requests.
- remember to always parse integer parameters to avoid any possible SQLinjection or XSS attack
- (as DataTable Server-side processing documentation recommend too)
- */
- var draw = parseInt(req.query.draw);
- var start = parseInt(req.query.start);
- var length = parseInt(req.query.length);
- /*
- following function calls some REST api performing the query in the db like
- `/api/v1/fruits?limit=${length}&offset=${start}`
- or performs some query like
- SELECT TOP `length` name, color, description FROM fruits WHERE id >= `start`
- */
- var fruitsList = await FruitsEndpoint.getFruitsList(start, length);
- /*
- following function calls some REST api performing the query in the db like
- `/api/v1/fruits/length
- or performs some query like
- SELECT count(*) FROM fruits
- because DataTable needs it to perform pagination
- */
- var totalFruitsLength = await FruitsEndpoint.getTotalFruitsLength();
- var fruitsListForFrontend = {
- draw: draw,
- recordsTotal : totalFruitsLength,
- recordsFiltered : totalFruitsLength,
- data: fruitsList
- };
- res.send(fruitsListForFrontend);
- });
Add Comment
Please, Sign In to add comment