Ajouter une route pour récupérer la progression de la création de vidéos et améliorer la gestion des erreurs dans la fonction createVideoWithList
This commit is contained in:
@@ -202,6 +202,46 @@ router.get('/videos/reset/:video_id', (req, res) => {
|
||||
});
|
||||
});
|
||||
|
||||
router.get('/videos/progress/:video_id', async (req, res) => {
|
||||
try {
|
||||
const result = await db.query(`
|
||||
SELECT
|
||||
progress,
|
||||
EXTRACT(EPOCH FROM (NOW() - started_at)) as elapsed,
|
||||
eta,
|
||||
status
|
||||
FROM public.videos
|
||||
WHERE id = $1
|
||||
`, [req.params.video_id]);
|
||||
|
||||
if (result.rows.length === 0) {
|
||||
return res.status(404).json({ error: 'Vidéo non trouvée' });
|
||||
}
|
||||
|
||||
const video = result.rows[0];
|
||||
res.json({
|
||||
progress: video.progress,
|
||||
elapsed: video.elapsed,
|
||||
eta: video.eta,
|
||||
status: this.getStatusLabel(video.status)
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.status(500).json({ error: 'Erreur de récupération' });
|
||||
}
|
||||
});
|
||||
|
||||
function getStatusLabel(status) {
|
||||
const statusMap = {
|
||||
0: 'En attente',
|
||||
1: 'Terminé',
|
||||
2: 'Échec',
|
||||
3: 'En cours'
|
||||
};
|
||||
return statusMap[status] || 'Inconnu';
|
||||
}
|
||||
|
||||
|
||||
router.get('/cat', (_, res) => {
|
||||
const videoPath = dbTester.getCatVideo();
|
||||
|
||||
Reference in New Issue
Block a user