From c44ae3ffe767869a2815b398d164cbfa3dafe0a6 Mon Sep 17 00:00:00 2001 From: Hajar RAHMOUNI Date: Sun, 8 Oct 2023 12:50:23 +0200 Subject: [PATCH] deletion of photos when announcement is deleted --- database/connection.js | 2 +- routes/announcement.js | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/database/connection.js b/database/connection.js index c1c6259..a96ff52 100644 --- a/database/connection.js +++ b/database/connection.js @@ -2,7 +2,7 @@ const mongoose = require('mongoose'); require('dotenv').config(); const dbName = process.env.DB_NAME; -const url = `mongodb://mongodb:27017/${dbName}`; +const url = `mongodb://monogodb:27017/${dbName}`; const connectToDatabase = async () => { try { diff --git a/routes/announcement.js b/routes/announcement.js index a4fe6ad..cfbb2df 100644 --- a/routes/announcement.js +++ b/routes/announcement.js @@ -220,7 +220,6 @@ router.post('/update/:id', isAuthenticated, isAgent, upload.array('photos[]'), a // route to delete an ad router.get('/delete/:id', isAuthenticated, isAgent, async (req, res) => { - try { const announcementId = req.params.id; const user = req.user; @@ -230,8 +229,17 @@ router.get('/delete/:id', isAuthenticated, isAgent, async (req, res) => { return res.status(404).json({ message: 'annonce non trouvée' }); } if (user.username !== deletedAnnouncement.userName) { - return res.status(403).json({ message: 'User non autorisée' }); + return res.status(403).json({ message: 'User non autorisé' }); } + + deletedAnnouncement.photos.forEach((photo) => { + const filePath = path.join('public', 'uploads', photo); + console.log(fs.existsSync(filePath)); + if (fs.existsSync(filePath)) { + fs.unlinkSync(filePath); + } + }); + res.redirect('/announcements'); } catch (error) { res.status(500).json({ message: error.message }); -- GitLab