Modifier le type de measurement_ids en chaîne et simplifier le traitement lors de la création d'une vidéo

This commit is contained in:
2025-02-12 10:44:57 +01:00
parent 25c056c3d8
commit c0215643ea
2 changed files with 5 additions and 22 deletions

View File

@@ -160,9 +160,7 @@ router.get('/videos/:id', (req, res) => {
* project_id: * project_id:
* type: integer * type: integer
* measurement_ids: * measurement_ids:
* type: array * type: string
* items:
* type: integer
* name: * name:
* type: string * type: string
* resolution: * resolution:
@@ -181,21 +179,9 @@ router.post('/videos', (req, res) => {
return res.status(400).json({ error: 'Tous les champs sont requis.' }); return res.status(400).json({ error: 'Tous les champs sont requis.' });
} }
let parsedMeasurementIds; console.log('Creating video with measurements:', measurement_ids);
try {
parsedMeasurementIds = JSON.parse(measurement_ids);
if (!Array.isArray(parsedMeasurementIds)) {
console.log('Invalid measurement IDs:', parsedMeasurementIds);
throw new Error('Invalid measurement IDs');
}
} catch (error) {
console.log('Error parsing measurement IDs:', error);
return res.status(400).json({ error: 'Invalid measurement IDs format' });
}
console.log('Creating video with measurements:', parsedMeasurementIds); videoManager.createVideoProject(project_id, measurement_ids, name, resolution, duration).then(video => {
videoManager.createVideoProject(project_id, parsedMeasurementIds, name, resolution, duration).then(video => {
res.json({ message: 'Vidéo créée avec succès', video }); res.json({ message: 'Vidéo créée avec succès', video });
}).catch(err => { }).catch(err => {
console.error('Erreur lors de la création de la vidéo:', err); console.error('Erreur lors de la création de la vidéo:', err);

View File

@@ -9,14 +9,11 @@ const measureManager = require('../measure/measureManager');
const PROJECTS_DIR = path.join('.'); const PROJECTS_DIR = path.join('.');
async function createVideoProject(projectId, parsedMeasurementIds, name, resolution, duration) { async function createVideoProject(projectId, measurementIds, name, resolution, duration) {
// insérer une nouvelle vidéo dans la base de données // insérer une nouvelle vidéo dans la base de données
const status = 0; // status brouillon const status = 0; // status brouillon
const query = 'INSERT INTO public.videos (project_id, measurement_ids, name, resolution, duration, status) VALUES ($1, $2, $3, $4, $5, $6) RETURNING *'; const query = 'INSERT INTO public.videos (project_id, measurement_ids, name, resolution, duration, status) VALUES ($1, $2, $3, $4, $5, $6) RETURNING *';
const values = [projectId, measurementIds, name, resolution, duration, status];
// les données de parsedMeasurementIds sont sous la forme {"1", "2", "3"} par exemple mais il faudraient qu'elle soit sous la forme [1, 2, 3]
const formattedMeasurementIds = parsedMeasurementIds.map(id => parseInt(id, 10));
const values = [projectId, formattedMeasurementIds, name, resolution, duration, status];
const res = await db.query(query, values); const res = await db.query(query, values);
console.log('New video created:', res.rows[0]); console.log('New video created:', res.rows[0]);
return res.rows[0]; return res.rows[0];