diff --git a/routes/videoRoutes.js b/routes/videoRoutes.js index 2ef8ec0..0a39f43 100644 --- a/routes/videoRoutes.js +++ b/routes/videoRoutes.js @@ -301,39 +301,40 @@ router.get('/videos/file/:video_id', (req, res) => { * 500: * description: Server error */ -router.post('/videos/render/:video_id', (req, res) => { +router.post('/videos/render/:video_id', async (req, res) => { const videoId = req.params.video_id; const query = 'SELECT measurement_ids, project_id FROM public.videos WHERE id = $1'; - db.query(query, [videoId], (err, results) => { + + db.query(query, [videoId], async (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 measurementIds = results.rows[0].measurement_ids; const project_id = results.rows[0].project_id; console.log('Measurement IDs:', measurementIds); console.log('Project ID:', project_id); - const pathList = measureManager.getPathList(measurementIds, project_id).then(pathList => { + + try { + const pathList = await measureManager.getPathList(measurementIds, project_id); console.log('Path list:', pathList); res.json({ message: 'Render process started' }); - const videoFile = videoManager.createVideoWithList(project_id, pathList); + + const videoFile = await videoManager.createVideoWithList(project_id, pathList); console.log('Video file:', videoFile); - try { - videoManager.updateVideoFile(videoId, videoFile); - } catch (err) { - console.error('Error updating video file:', err); - res.status(500).json({ error: 'Error updating video file' }); - } - }).catch(err => { - console.error('Error getting path list:', err); - res.status(500).json({ error: 'Error getting path list' }); - }); + await videoManager.updateVideoFile(videoId, videoFile); + } catch (err) { + console.error('Error during video rendering:', err); + res.status(500).json({ error: 'Error during video rendering' }); + } }); }); + /** * @swagger * /cat: