Ajouter une route pour réinitialiser le statut d'une vidéo par ID et supprimer le fichier vidéo associé

This commit is contained in:
2025-02-12 11:50:18 +01:00
parent 7c342c3b69
commit 2450359710

View File

@@ -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