From 2a24864003dacefc1522a99e3fcc7d123c97b444 Mon Sep 17 00:00:00 2001 From: Kerboul Date: Wed, 12 Feb 2025 09:12:11 +0100 Subject: [PATCH] =?UTF-8?q?Modifier=20la=20route=20POST=20/videos=20pour?= =?UTF-8?q?=20simplifier=20la=20validation=20des=20champs=20et=20mettre=20?= =?UTF-8?q?=C3=A0=20jour=20la=20documentation=20Swagger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/videoRoutes.js | 76 +++++++------------------------------------ 1 file changed, 11 insertions(+), 65 deletions(-) diff --git a/routes/videoRoutes.js b/routes/videoRoutes.js index 406dbc6..0a74280 100644 --- a/routes/videoRoutes.js +++ b/routes/videoRoutes.js @@ -122,75 +122,21 @@ router.get('/videos/:id', (req, res) => { }); /** - * @swagger - * /videos: - * post: - * summary: Ajouter une nouvelle vidéo - * description: Ajoute une nouvelle vidéo à la base de données. - * requestBody: - * required: true - * content: - * application/json: - * schema: - * type: object - * properties: - * project_id: - * type: integer - * measurement_ids: - * type: string - * video_path: - * type: string - * duration: - * type: number - * resolution: - * type: string - * name: - * type: string - * responses: - * 201: - * description: Vidéo ajoutée avec succès. - * 400: - * description: Tous les champs sont requis. - * 500: - * description: Erreur serveur. + * project_id: integer + * measurement_id: liste de integers + * name_video: string + * resolution: string + * duration: integer + * */ router.post('/videos', (req, res) => { - const { project_id, measurement_ids, video_path, duration, resolution, name } = req.body; - if (!project_id || !measurement_ids || !video_path || !duration || !resolution || !name) { - return res.status(400).json({ error: 'All fields are required' }); + const { project_id, measurement_ids, name, resolution, duration } = req.body; + if (!project_id || !measurement_ids || !name || !resolution || !duration) { + return res.status(400).json({ error: 'Tous les champs sont requis.' }); } - - const list_ids = measurement_ids.split(','); - const image_count = list_ids.length; - const videoPath = '/videos/' + name + '.mp4'; - - const query_first = 'SELECT timestamp FROM public.measurements WHERE id = $1'; - const query_last = 'SELECT timestamp FROM public.measurements WHERE id = $1'; - - db.query(query_first, [list_ids[0]], (err, results) => { - if (err) { - serverError.sendError('Erreur lors de la récupération du timestamp de la première image:', res, err); - } - const start_timestamp = results.rows[0].timestamp; - - db.query(query_last, [list_ids[image_count - 1]], (err, results) => { - if (err) { - serverError.sendError('Erreur lors de la récupération du timestamp de la dernière image:', res, err); - } - const end_timestamp = results.rows[0].timestamp; - const fps = image_count / duration; - - const query = 'INSERT INTO public.videos (project_id, measurement_ids, video_path, start_timestamp, end_timestamp, image_count, resolution, duration, fps, status, name) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING id'; - db.query(query, [project_id, measurement_ids, videoPath, start_timestamp, end_timestamp, image_count, resolution, duration, fps, 0, name], (err, results) => { - if (err) { - serverError.sendError('Erreur lors de l\'ajout de la vidéo:', res, err); - } - res.status(201).json({ message: 'Vidéo ajoutée avec succès', id: results.rows[0].id }); - }); - }); - }); + console.log('Creating video with:', { project_id, measurement_ids, name, resolution, duration }); + res.json({ message: 'Vidéo créée avec succès (simulation)', video: { project_id, measurement_ids, name, resolution, duration } }); }); - /** * @swagger * /videos/{id}: