Ajout de la gestion des vidéos inachevées et mise à jour des fonctions de création et de mise à jour des vidéos dans le gestionnaire de base de données.
This commit is contained in:
@@ -215,28 +215,46 @@ const video = {
|
||||
const query = `SELECT * FROM videos;`;
|
||||
return (await db.query(query)).rows;
|
||||
}),
|
||||
|
||||
get_video_by_id: handleDatabaseOperation(async (id) => {
|
||||
const query = `SELECT * FROM videos WHERE id = $1;`;
|
||||
return (await db.query(query, [id])).rows[0];
|
||||
}),
|
||||
|
||||
get_videos_by_project_id: handleDatabaseOperation(async (project_id) => {
|
||||
const query = `SELECT * FROM videos WHERE project_id = $1;`;
|
||||
return (await db.query(query, [project_id])).rows;
|
||||
}),
|
||||
create_video: handleDatabaseOperation(async (project_id, measurement_ids, video_file, resolution, duration, status, name, progress, started_at, updated_at, eta) => {
|
||||
const query = `INSERT INTO videos (project_id, measurement_ids, video_file, resolution, duration, status, name, progress, started_at, updated_at, eta) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING *;`;
|
||||
return (await db.query(query, [project_id, measurement_ids, video_file, resolution, duration, status, name, progress, started_at, updated_at, eta])).rows[0];
|
||||
|
||||
create_video: handleDatabaseOperation(async (projectId, measurementIds, name, resolution, duration, status = 0) => {
|
||||
const query = `INSERT INTO public.videos (project_id, measurement_ids, name, resolution, duration, status) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id;`;
|
||||
const values = [projectId, measurementIds, name, resolution, duration, status];
|
||||
return (await db.query(query, values)).rows[0];
|
||||
}),
|
||||
|
||||
edit_video_by_id: handleDatabaseOperation(async (id, updates) => {
|
||||
const fields = Object.keys(updates).map((key, index) => `${key} = $${index + 2}`).join(', ');
|
||||
const values = [id, ...Object.values(updates)];
|
||||
const query = `UPDATE videos SET ${fields} WHERE id = $1 RETURNING *;`;
|
||||
return (await db.query(query, values)).rows[0];
|
||||
}),
|
||||
|
||||
update_video_file_path_by_id: handleDatabaseOperation(async (id, video_file) => {
|
||||
const query = `UPDATE videos SET video_file = $1 WHERE id = $2 RETURNING *;`;
|
||||
return (await db.query(query, [video_file, id])).rows[0];
|
||||
}
|
||||
),
|
||||
|
||||
delete_video_by_id: handleDatabaseOperation(async (id) => {
|
||||
const query = `DELETE FROM videos WHERE id = $1;`;
|
||||
await db.query(query, [id]);
|
||||
})
|
||||
}),
|
||||
|
||||
get_unfinished_videos: handleDatabaseOperation(async () => {
|
||||
// récupérer liste des vidéos dont le status est = 0, 2 ou 3
|
||||
const query = `SELECT * FROM videos WHERE status IN (0, 2, 3);`;
|
||||
return (await db.query(query)).rows;
|
||||
}),
|
||||
};
|
||||
|
||||
const camera = {
|
||||
@@ -244,12 +262,14 @@ const camera = {
|
||||
const query = `SELECT * FROM camera;`;
|
||||
return (await db.query(query)).rows;
|
||||
}),
|
||||
|
||||
edit_camera: handleDatabaseOperation(async (id, updates) => {
|
||||
const fields = Object.keys(updates).map((key, index) => `${key} = $${index + 2}`).join(', ');
|
||||
const values = [id, ...Object.values(updates)];
|
||||
const query = `UPDATE camera SET ${fields} WHERE id = $1 RETURNING *;`;
|
||||
return (await db.query(query, values)).rows[0];
|
||||
}),
|
||||
|
||||
delete_camera: handleDatabaseOperation(async (id) => {
|
||||
const query = `DELETE FROM camera WHERE id = $1;`;
|
||||
await db.query(query, [id]);
|
||||
|
||||
Reference in New Issue
Block a user