From 2450359710fc989dd778fbfe6c688a5e7a4fba28 Mon Sep 17 00:00:00 2001 From: Kerboul Date: Wed, 12 Feb 2025 11:50:18 +0100 Subject: [PATCH] =?UTF-8?q?Ajouter=20une=20route=20pour=20r=C3=A9initialis?= =?UTF-8?q?er=20le=20statut=20d'une=20vid=C3=A9o=20par=20ID=20et=20supprim?= =?UTF-8?q?er=20le=20fichier=20vid=C3=A9o=20associ=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/videoRoutes.js | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/routes/videoRoutes.js b/routes/videoRoutes.js index a4c2730..0c15d02 100644 --- a/routes/videoRoutes.js +++ b/routes/videoRoutes.js @@ -346,6 +346,56 @@ router.post('/videos/render/:video_id', async (req, res) => { }); }); +/** + * @swagger + * /videos/reset/{video_id}: + * get: + * summary: Reset the status of a video by video ID + * parameters: + * - in: path + * name: video_id + * required: true + * schema: + * type: string + * description: The video ID + * responses: + * 200: + * description: Video reset successfully + * 404: + * description: Video not found + * 500: + * description: Server error + */ +router.get('/videos/reset/:video_id', (req, res) => { + const videoId = req.params.video_id; + const query = 'SELECT video_file FROM public.videos WHERE id = $1'; + + db.query(query, [videoId], (err, results) => { + if (err) { + return serverError.sendError('Error getting video:', res, err); + } + if (results.rows.length === 0) { + return res.status(404).json({ error: 'Video not found' }); + } + + const videoFile = results.rows[0].video_file; + fs.unlink(videoFile, (err) => { + if (err) { + console.error('Error deleting video file:', err); + return res.status(500).json({ error: 'Error deleting video file' }); + } + + const updateQuery = 'UPDATE public.videos SET status = 0, video_file = NULL WHERE id = $1'; + db.query(updateQuery, [videoId], (err) => { + if (err) { + return serverError.sendError('Error resetting video status:', res, err); + } + res.json({ message: 'Video reset successfully' }); + }); + }); + }); +}); + /** * @swagger