diff --git a/backend/routes/routesToucan.js b/backend/routes/routesToucan.js index 1011874792b3edf8c5ca45f495b11a8b988bfd47..743518c88982dff54a80a1ed921821472e3e3629 100644 --- a/backend/routes/routesToucan.js +++ b/backend/routes/routesToucan.js @@ -3,17 +3,18 @@ var fs = require("fs"); var path = require("path"); var { celebrate } = require("celebrate"); -var { newToucan, validId } = require("../utils/schema"); +var { newToucan, validId, validLimit } = require("../utils/schema"); var env = require("../.env"); var upload = require("../utils/fileSaver"); var Toucan = require("../models/modelToucan"); var router = express.Router(); router.route("/toucans") - // Une route qui renvoie un json avec tous les toucans - .get(function(req,res) { + // Une route qui renvoie un json avec tous les toucans, si limit est défini et vaut n, on renvoie les n derniers toucans + .get(celebrate({query: validLimit}),function(req,res) { Toucan.find() .sort({date:-1}) + .limit(req.query.limit) .exec(function (err, toucans) { if (err) { res.send(err); diff --git a/backend/utils/schema.js b/backend/utils/schema.js index e053b50ecf8e9fb2c577bb648048e30e5f17261d..cdd8ce1435643d687974448dc2522dadab86a753 100644 --- a/backend/utils/schema.js +++ b/backend/utils/schema.js @@ -5,6 +5,7 @@ var newToucan = Joi.object({ date: Joi.date().required() }); -var validId = Joi.object({id: Joi.string().hex().length(24)}); +var validId = Joi.object({id: Joi.string().hex().length(24).required()}); +var validLimit = Joi.object({limit: Joi.number().integer()}); -module.exports = { newToucan, validId }; \ No newline at end of file +module.exports = { newToucan, validId, validLimit }; \ No newline at end of file