Ajouter des fonctions pour créer et supprimer des vidéos dans videoManager et mettre à jour la route POST /videos pour utiliser ces nouvelles fonctions
This commit is contained in:
@@ -194,6 +194,13 @@ router.post('/videos', (req, res) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
console.log('Creating video with measurements:', parsedMeasurementIds);
|
console.log('Creating video with measurements:', parsedMeasurementIds);
|
||||||
|
|
||||||
|
videoManager.createVideo(project_id, parsedMeasurementIds, name, resolution, duration).then(video => {
|
||||||
|
res.json({ message: 'Vidéo créée avec succès', video });
|
||||||
|
}).catch(err => {
|
||||||
|
serverError.sendError('Erreur lors de la création de la vidéo:', res, err);
|
||||||
|
});
|
||||||
|
|
||||||
res.json({ message: 'Vidéo créée avec succès (simulation)', video: { project_id, measurement_ids: parsedMeasurementIds, name, resolution, duration } });
|
res.json({ message: 'Vidéo créée avec succès (simulation)', video: { project_id, measurement_ids: parsedMeasurementIds, name, resolution, duration } });
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -226,15 +233,10 @@ router.delete('/videos/:id', (req, res) => {
|
|||||||
if (!videoId || isNaN(videoId)) {
|
if (!videoId || isNaN(videoId)) {
|
||||||
return res.status(400).json({ error: 'Invalid video ID' });
|
return res.status(400).json({ error: 'Invalid video ID' });
|
||||||
}
|
}
|
||||||
const query = 'DELETE FROM public.videos WHERE id = $1 RETURNING id';
|
videoManager.deleteVideoProject(videoId).then(() => {
|
||||||
db.query(query, [videoId], (err, results) => {
|
res.json({ message: 'Vidéo supprimée avec succès' });
|
||||||
if (err) {
|
}).catch(err => {
|
||||||
serverError.sendError('Erreur lors de la suppression de la vidéo:', res, err);
|
serverError.sendError('Erreur lors de la suppression de la vidéo:', res, err);
|
||||||
}
|
|
||||||
if (results.rowCount === 0) {
|
|
||||||
return res.status(404).json({ error: 'Aucune vidéo trouvée avec cet ID.' });
|
|
||||||
}
|
|
||||||
res.status(200).json({ message: 'Vidéo supprimée avec succès', id: videoId });
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,23 @@ const measureManager = require('../measure/measureManager');
|
|||||||
|
|
||||||
const PROJECTS_DIR = path.join('.');
|
const PROJECTS_DIR = path.join('.');
|
||||||
|
|
||||||
|
async function createVideoProject(projectId, parsedMeasurementIds, name, resolution, duration) {
|
||||||
|
// insérer une nouvelle vidéo dans la base de données
|
||||||
|
const query = 'INSERT INTO public.videos (project_id, measurement_ids, name, resolution, duration) VALUES ($1, $2, $3, $4, $5) RETURNING *';
|
||||||
|
const values = [projectId, parsedMeasurementIds, name, resolution, duration];
|
||||||
|
const res = await db.query(query, values);
|
||||||
|
console.log('New video created:', res.rows[0]);
|
||||||
|
return res.rows[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
async function deleteVideoProject(videoId) {
|
||||||
|
const query = 'DELETE FROM public.videos WHERE id = $1';
|
||||||
|
const values = [videoId];
|
||||||
|
const res = await db.query(query, values);
|
||||||
|
console.log('Video deleted:', res.rows[0]);
|
||||||
|
return res.rows[0];
|
||||||
|
}
|
||||||
|
|
||||||
async function createVideoWithList(projectId, pathList) {
|
async function createVideoWithList(projectId, pathList) {
|
||||||
//pathList étant la liste des chemins déjà triés
|
//pathList étant la liste des chemins déjà triés
|
||||||
const tempFile = path.join('temp.txt');
|
const tempFile = path.join('temp.txt');
|
||||||
@@ -108,4 +125,4 @@ async function createVideo(projectId) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = { createVideo, createVideoWithList };
|
module.exports = { createVideo, createVideoWithList, createVideoProject, deleteVideoProject };
|
||||||
|
|||||||
Reference in New Issue
Block a user