var router = require('express').Router(), mongoose = require('mongoose'), Jump = mongoose.model('Jump'); const auth = require('../../../middlewares/auth'), queries = require('../../queries'); const { UserService } = require('../../../services'); router.get('/allByOaci', auth.required, function (req, res, next) { UserService.getUserById(req.payload.id).then(function (user) { if (!user) { return res.status(401).json({ errors: { "Unauthorized": "autentification requise" } }); } let limit = 25; let offset = 0; if (typeof req.query.limit !== 'undefined') { limit = req.query.limit; } if (typeof req.query.offset !== 'undefined') { offset = req.query.offset; } let query = queries.getDropZonesByOaciQuery(user.id); Jump.aggregate(query) .skip(Number(offset)) .limit(Number(limit)) .exec() .then(function (result) { let dropzones = result.map(function (data) { return { lieu: data._id.lieu, oaci: data._id.oaci, count: data.count }; }); return res.json({ dropzones: dropzones, dropzonesCount: dropzones.length }); }).catch(next); }).catch(next); }); router.get('/allByOaciByYear', auth.required, function (req, res, next) { UserService.getUserById(req.payload.id).then(function (user) { if (!user) { return res.status(401).json({ errors: { "Unauthorized": "autentification requise" } }); } let limit = 25; let offset = 0; if (typeof req.query.limit !== 'undefined') { limit = req.query.limit; } if (typeof req.query.offset !== 'undefined') { offset = req.query.offset; } let query = queries.getDropZonesByOaciByYearQuery(user.id); Jump.aggregate(query) .skip(Number(offset)) .limit(Number(limit)) .exec() .then(function (result) { let dropzones = result.map(function (data) { return { lieu: data._id.lieu, oaci: data._id.oaci, year: data._id.year, count: data.count }; }); return res.json({ dropzones: dropzones, dropzonesCount: dropzones.length }); }).catch(next); }).catch(next); }); module.exports = router;