From 9347bc9425af7c63575ded3f82be2cec72fe6f28 Mon Sep 17 00:00:00 2001
From: Damien <damien.armillon@gmail.com>
Date: Tue, 30 Apr 2019 12:08:25 +0200
Subject: [PATCH] On peut demander qu'un nombre limit de toucan

---
 backend/routes/routesToucan.js | 7 ++++---
 backend/utils/schema.js        | 5 +++--
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/backend/routes/routesToucan.js b/backend/routes/routesToucan.js
index 1011874..743518c 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 e053b50..cdd8ce1 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
-- 
GitLab