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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user