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:
@@ -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);
|
||||||
|
|||||||
@@ -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];
|
||||||
|
|||||||
Reference in New Issue
Block a user