Implémentation SkydiverId API

This commit is contained in:
Rampeur
2024-05-08 20:37:33 +02:00
parent eb64f2c411
commit a4d2b76bc5
43 changed files with 2772 additions and 1267 deletions
+20 -73
View File
@@ -1,54 +1,33 @@
var router = require('express').Router(),
mongoose = require('mongoose'),
Dropzone = mongoose.model('Dropzone'),
Jump = mongoose.model('Jump'),
User = mongoose.model('User');
const auth = require('../auth');
const auth = require('../auth'),
queries = require('../queries');
router.get('/', auth.required, function (req, res, next) {
router.get('/allByOaci', auth.required, function (req, res, next) {
User.findById(req.payload.id).then(function (user) {
if (!user) {
return res.sendStatus(401);
return res.status(401).json({ errors: { "Unauthorized": "autentification requise" } });
}
var limit = 25;
var offset = 0;
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;
}
var query = [
{
'$match': {
'$expr': {
'$eq': [ '$author' , { '$toObjectId': user._id.toString() } ]
}
}
}, {
'$group': {
'_id': {
'lieu': '$lieu',
'oaci': '$oaci'
},
'count': {
'$sum': 1
}
}
}, {
'$sort':
{
'_id': 1
},
}
];
let query = queries.getDropZonesByOaciQuery(user._id.toString());
Jump.aggregate(query)
.limit(Number(limit))
.skip(Number(offset))
.limit(Number(limit))
.exec()
.then(function (result) {
var dropzones = 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
@@ -57,60 +36,28 @@ router.get('/', auth.required, function (req, res, next) {
}).catch(next);
});
router.get('/allByDate', auth.required, function (req, res, next) {
router.get('/allByOaciByYear', auth.required, function (req, res, next) {
User.findById(req.payload.id).then(function (user) {
if (!user) {
return res.sendStatus(401);
return res.status(401).json({ errors: { "Unauthorized": "autentification requise" } });
}
var limit = 25;
var offset = 0;
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;
}
var query = [
{
'$match': {
'$expr': {
'$eq': [ '$author' , { '$toObjectId': user._id.toString() } ]
}
}
}, {
'$project': {
'_id': 0,
'lieu': 1,
'oaci': 1,
'year': {
'$year': '$date'
}
}
}, {
'$group': {
'_id': {
'lieu': '$lieu',
'oaci': '$oaci',
'year': '$year'
},
'count': {
'$sum': 1
}
}
}, {
'$sort': {
'_id': 1
}
}
];
let query = queries.getDropZonesByOaciByYearQuery(user._id.toString());
Jump.aggregate(query)
.limit(Number(limit))
.skip(Number(offset))
.limit(Number(limit))
.exec()
.then(function (result) {
var dropzones = result;
//console.log(dropzones);
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