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);
|
||||
|
||||
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 } });
|
||||
});
|
||||
|
||||
@@ -226,15 +233,10 @@ router.delete('/videos/:id', (req, res) => {
|
||||
if (!videoId || isNaN(videoId)) {
|
||||
return res.status(400).json({ error: 'Invalid video ID' });
|
||||
}
|
||||
const query = 'DELETE FROM public.videos WHERE id = $1 RETURNING id';
|
||||
db.query(query, [videoId], (err, results) => {
|
||||
if (err) {
|
||||
videoManager.deleteVideoProject(videoId).then(() => {
|
||||
res.json({ message: 'Vidéo supprimée avec succès' });
|
||||
}).catch(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('.');
|
||||
|
||||
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) {
|
||||
//pathList étant la liste des chemins déjà triés
|
||||
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