Réorganisation des routes API et ajout de la gestion des téléchargements d'images
This commit is contained in:
@@ -1,91 +0,0 @@
|
||||
const db = require('../db'); // Assurez-vous que le chemin est correct
|
||||
const { get } = require('../routes/api');
|
||||
|
||||
const projectsTable = {
|
||||
create: async (name, description, startDate, status) => {
|
||||
const query = 'INSERT INTO public.projects (name, description, start_date, status) VALUES ($1, $2, $3, $4) RETURNING *';
|
||||
const values = [name, description, startDate, status];
|
||||
const res = await db.query(query, values);
|
||||
return res.rows[0];
|
||||
},
|
||||
update: async (id, name, description, startDate, status) => {
|
||||
const query = 'UPDATE public.projects SET name = $1, description = $2, start_date = $3, status = $4 WHERE id = $5 RETURNING *';
|
||||
const values = [name, description, startDate, status, id];
|
||||
const res = await db.query(query, values);
|
||||
return res.rows[0];
|
||||
},
|
||||
delete: async (id) => {
|
||||
const query = 'DELETE FROM public.projects WHERE id = $1';
|
||||
const values = [id];
|
||||
await db.query(query, values);
|
||||
},
|
||||
getById: async (id) => {
|
||||
const query = 'SELECT * FROM public.projects WHERE id = $1';
|
||||
const values = [id];
|
||||
const res = await db.query(query, values);
|
||||
return res.rows[0];
|
||||
},
|
||||
getAll: async () => {
|
||||
const query = 'SELECT * FROM public.projects';
|
||||
const res = await db.query(query);
|
||||
return res.rows;
|
||||
}
|
||||
};
|
||||
|
||||
const measurementsTable = {
|
||||
create: async (projectId, timestamp, imagePath, temperature, humidity, completed) => {
|
||||
const query = 'INSERT INTO public.measurements (project_id, timestamp, image_path, temperature, humidity, completed) VALUES ($1, $2, $3, $4, $5, $6) RETURNING *';
|
||||
const values = [projectId, timestamp, imagePath, temperature, humidity, completed];
|
||||
const res = await db.query(query, values);
|
||||
return res.rows[0];
|
||||
},
|
||||
update: async (id, projectId, timestamp, imagePath, temperature, humidity, completed) => {
|
||||
const query = 'UPDATE public.measurements SET project_id = $1, timestamp = $2, image_path = $3, temperature = $4, humidity = $5, completed = $6 WHERE id = $7 RETURNING *';
|
||||
const values = [projectId, timestamp, imagePath, temperature, humidity, completed, id];
|
||||
const res = await db.query(query, values);
|
||||
return res.rows[0];
|
||||
},
|
||||
delete: async (id) => {
|
||||
const query = 'DELETE FROM public.measurements WHERE id = $1';
|
||||
const values = [id];
|
||||
await db.query(query, values);
|
||||
},
|
||||
getById: async (id) => {
|
||||
const query = 'SELECT * FROM public.measurements WHERE id = $1';
|
||||
const values = [id];
|
||||
const res = await db.query(query, values);
|
||||
return res.rows[0];
|
||||
}
|
||||
};
|
||||
|
||||
const videosTable = {
|
||||
create: async (projectId, measurementIds, videoPath, startTimestamp, endTimestamp, imageCount, resolution, duration, fps, status, name) => {
|
||||
const query = 'INSERT INTO public.videos (project_id, measurement_ids, video_path, start_timestamp, end_timestamp, image_count, resolution, duration, fps, status, name) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING *';
|
||||
const values = [projectId, measurementIds, videoPath, startTimestamp, endTimestamp, imageCount, resolution, duration, fps, status, name];
|
||||
const res = await db.query(query, values);
|
||||
return res.rows[0];
|
||||
},
|
||||
update: async (id, projectId, measurementIds, videoPath, startTimestamp, endTimestamp, imageCount, resolution, duration, fps, status, name) => {
|
||||
const query = 'UPDATE public.videos SET project_id = $1, measurement_ids = $2, video_path = $3, start_timestamp = $4, end_timestamp = $5, image_count = $6, resolution = $7, duration = $8, fps = $9, status = $10, name = $11 WHERE id = $12 RETURNING *';
|
||||
const values = [projectId, measurementIds, videoPath, startTimestamp, endTimestamp, imageCount, resolution, duration, fps, status, name, id];
|
||||
const res = await db.query(query, values);
|
||||
return res.rows[0];
|
||||
},
|
||||
delete: async (id) => {
|
||||
const query = 'DELETE FROM public.videos WHERE id = $1';
|
||||
const values = [id];
|
||||
await db.query(query, values);
|
||||
},
|
||||
getById: async (id) => {
|
||||
const query = 'SELECT * FROM public.videos WHERE id = $1';
|
||||
const values = [id];
|
||||
const res = await db.query(query, values);
|
||||
return res.rows[0];
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
projectsTable,
|
||||
measurementsTable,
|
||||
videosTable
|
||||
};
|
||||
@@ -1,40 +0,0 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const PROJECTS_DIR = path.join('/storage');
|
||||
|
||||
/**
|
||||
* Crée un dossier pour un projet donné.
|
||||
* @param {number} projectId - L'ID du projet.
|
||||
* @param {string} baseDir - Le répertoire de base où le dossier du projet sera créé.
|
||||
*/
|
||||
function createProjectDirectory(projectId) {
|
||||
console.log('PROJECTS_DIR:', PROJECTS_DIR);
|
||||
const projectDir = path.join(PROJECTS_DIR, `${projectId}`);
|
||||
console.log(`Creating directory: ${projectDir}`);
|
||||
if (!fs.existsSync(projectDir)) {
|
||||
fs.mkdirSync(projectDir, { recursive: true });
|
||||
console.log(`Directory created: ${projectDir}`);
|
||||
} else {
|
||||
console.log(`Directory already exists: ${projectDir}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime le dossier d'un projet donné.
|
||||
* @param {number} projectId - L'ID du projet.
|
||||
*/
|
||||
function deleteProjectDirectory(projectId) {
|
||||
console.log('PROJECTS_DIR:', PROJECTS_DIR);
|
||||
const projectDir = path.join(PROJECTS_DIR, `${projectId}`);
|
||||
if (fs.existsSync(projectDir)) {
|
||||
fs.rmSync(projectDir, { recursive: true, force: true });
|
||||
console.log(`Directory deleted: ${projectDir}`);
|
||||
} else {
|
||||
console.log(`Directory does not exist: ${projectDir}`);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
createProjectDirectory,
|
||||
deleteProjectDirectory
|
||||
};
|
||||
Reference in New Issue
Block a user