From c3b2059428f0d950ed1925a525692f4ed1eb2542 Mon Sep 17 00:00:00 2001 From: Kerboul Date: Thu, 3 Apr 2025 10:31:29 +0200 Subject: [PATCH] =?UTF-8?q?Refactor=20le=20gestionnaire=20de=20stockage=20?= =?UTF-8?q?pour=20encapsuler=20les=20fonctions=20de=20cr=C3=A9ation=20et?= =?UTF-8?q?=20de=20suppression=20de=20r=C3=A9pertoires=20de=20projet=20dan?= =?UTF-8?q?s=20un=20objet.=20Mettre=20=C3=A0=20jour=20les=20routes=20pour?= =?UTF-8?q?=20utiliser=20la=20nouvelle=20structure.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/projectRoutes.js | 4 ++-- src/data/storage_manager.js | 29 +++++++++++++++-------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/routes/projectRoutes.js b/routes/projectRoutes.js index 973675b..acfbc3b 100644 --- a/routes/projectRoutes.js +++ b/routes/projectRoutes.js @@ -67,7 +67,7 @@ router.post('/projects', async (req, res) => { const date = new Date(); const default_status = 0; const project = await database_manager.project.create_project(name, description, date, default_status); - storage_manager.createProjectDirectory(project.id); + storage_manager.project.createProjectDirectory(project.id); res.status(201).json({ message: 'Project added successfully', id: project.id }); } catch (error) { serverError.sendError('Error creating project:', res, error, 500); @@ -80,7 +80,7 @@ router.delete('/projects/:id', async (req, res) => { return res.status(400).json({ error: 'Invalid project ID' }); } try { - storage_manager.deleteProjectDirectory(projectId); + storage_manager.project.deleteProjectDirectory(projectId); await database_manager.project.delete_project(projectId); res.status(200).json({ message: 'Project deleted successfully', id: projectId }); } catch (error) { diff --git a/src/data/storage_manager.js b/src/data/storage_manager.js index 8060da1..625ecfc 100644 --- a/src/data/storage_manager.js +++ b/src/data/storage_manager.js @@ -89,19 +89,21 @@ async function deleteFile(name) { } } -function createProjectDirectory(projectId) { - const projectPath = `${projectId}`; - createFolder(projectPath); - createFolder(`${projectPath}/images`); - createFolder(`${projectPath}/videos`); - console.log("[FILE] createProjectDirectory : " + projectPath); -} +const project = { + createProjectDirectory: async function (projectId) { + const projectPath = `${projectId}`; + await createFolder(projectPath); + await createFolder(`${projectPath}/images`); + await createFolder(`${projectPath}/videos`); + console.log("[FILE] createProjectDirectory : " + projectPath); + }, -function deleteProjectDirectory(projectId) { - const projectPath = `${projectId}`; - deleteFolder(projectPath); - console.log("[FILE] deleteProjectDirectory : " + projectPath); -} + deleteProjectDirectory: async function (projectId) { + const projectPath = `${projectId}`; + await deleteFolder(projectPath); + console.log("[FILE] deleteProjectDirectory : " + projectPath); + } +}; module.exports = { createFolder, @@ -110,6 +112,5 @@ module.exports = { saveFile, getFile, deleteFile, - createProjectDirectory, - deleteProjectDirectory, + project }; \ No newline at end of file