Renommer l'endpoint pour créer une vidéo et ajouter des champs supplémentaires dans la requête

This commit is contained in:
2025-01-12 15:11:56 +00:00
parent beb64e9cf4
commit 72e53e3c40

View File

@@ -363,18 +363,62 @@ router.get('/videos/:id', (req, res) => {
/**
* @swagger
* /videos:
* /createvideo:
* post:
* description: Use to add a new video
* description: Use to create a new video
* 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: Video added successfully
* description: Video created successfully
* 500:
* description: Internal server error
*/
router.post('/videos', (req, res) => {
const query = 'INSERT INTO public.videos (project_id, measurement_ids, video_path, start_timestamp, end_timestamp, image_count, resolution, duration, fps, status) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING id';
db.query(query, [req.body.project_id, req.body.measurement_ids, req.body.video_path, req.body.start_timestamp, req.body.end_timestamp, req.body.image_count, req.body.resolution, req.body.duration, req.body.fps, req.body.status], (err, results) => {
router.post('/createvideo', (req, res) => {
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) RETURNING id';
list_ids = req.body.measurement_ids.split(',');
image_count = list_ids.length;
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) {
console.error('Erreur lors de la récupération du timestamp de la première image:', err);
return res.status(500).json({ error: 'Erreur serveur' });
}
start_timestamp = results.rows[0].timestamp;
});
db.query(query_last, [list_ids[image_count - 1]], (err, results) => {
if (err) {
console.error('Erreur lors de la récupération du timestamp de la dernière image:', err);
return res.status(500).json({ error: 'Erreur serveur' });
}
end_timestamp = results.rows[0].timestamp;
});
// déduire du nombre d'images le nombre d'images par seconde via la duration qui sera précisée
fps = image_count / req.body.duration;
db.query(query, [req.body.project_id, req.body.measurement_ids, req.body.video_path, start_timestamp, end_timestamp, image_count, req.body.resolution, req.body.duration, fps, 0, req.body.name], (err, results) => {
if (err) {
console.error('Erreur lors de l\'ajout de la vidéo:', err);
return res.status(500).json({ error: 'Erreur serveur' });