Renommer l'endpoint pour créer une vidéo et ajouter des champs supplémentaires dans la requête
This commit is contained in:
@@ -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' });
|
||||
|
||||
Reference in New Issue
Block a user