From 8785eafa6d94b6bd88a6de6b55cd31216831ec05 Mon Sep 17 00:00:00 2001
From: Damien <damien.armillon@gmail.com>
Date: Sun, 28 Apr 2019 23:31:21 +0200
Subject: [PATCH] Rajout Route suprimer toucan

---
 backend/routes/routesToucan.js | 40 ++++++++++++++++++++++++++++++++--
 1 file changed, 38 insertions(+), 2 deletions(-)

diff --git a/backend/routes/routesToucan.js b/backend/routes/routesToucan.js
index c8fb8d7..1011874 100644
--- a/backend/routes/routesToucan.js
+++ b/backend/routes/routesToucan.js
@@ -2,6 +2,7 @@ var express = require("express");
 var fs = require("fs");
 var path = require("path");
 var { celebrate } = require("celebrate");
+
 var { newToucan, validId } = require("../utils/schema");
 var env = require("../.env");
 var upload = require("../utils/fileSaver");
@@ -49,7 +50,7 @@ router.route("/toucans")
                 }
             });
         });
-
+// Renvoie le pdf du toucan avec l'id donné
 router.route("/pdf/:id")
     .get(celebrate({params: validId}), function (req,res) {
         var pdfPath = path.format({
@@ -59,7 +60,7 @@ router.route("/pdf/:id")
         });
         res.sendFile(pdfPath);
     });
-
+// Renvoie la cover du toucan avec l'id donné
 router.route("/img/:id")
     .get(celebrate({params: validId}),function(req,res) {
         var imgPath = path.join(env.savedExtensions[0].path,"/",req.params.id);
@@ -76,5 +77,40 @@ router.route("/img/:id")
             res.send(404,"Image non trouvée");
         }
     });
+// Supprime le toucan avec l'id donné
+router.route("/delete/:id")
+    .post(celebrate({params: validId}), function(req,res) {
+        Toucan.deleteOne({_id:req.params.id},
+            function(err) {
+                if (err) {
+                    res.send(err);
+                } else {    // Si on a supprimée l'entrée, on supprime le pdf
+                    var pdfPath = path.format({
+                        dir: env.savedExtensions[1].path,
+                        name: req.params.id,
+                        ext: ".pdf"
+                    });
+                    fs.unlink(pdfPath, (err) => {
+                        if (err) {
+                            res.send(err);
+                        } else {    // Si on a supprimé le pdf on supprime l'image
+                            var imgPath = path.join(env.savedExtensions[0].path,"/",req.params.id);
+                            env.savedExtensions[0].extensions.forEach(ext => {
+                                if (fs.existsSync(imgPath+ext)){
+                                    imgPath = imgPath+ext;
+                                    fs.unlink(imgPath, (err) => {
+                                        if (err) {
+                                            res.send(err);
+                                        } else {
+                                            res.send("Toucan supprimé");
+                                        }
+                                    });
+                                }
+                            });
+                        }
+                    });
+                }
+            });
+    });
 
 module.exports = router;
\ No newline at end of file
-- 
GitLab