Refactor le gestionnaire de stockage pour encapsuler les fonctions de création et de suppression de répertoires de projet dans un objet. Mettre à jour les routes pour utiliser la nouvelle structure.

This commit is contained in:
2025-04-03 10:31:29 +02:00
parent 0d0c101e20
commit c3b2059428
2 changed files with 17 additions and 16 deletions

View File

@@ -67,7 +67,7 @@ router.post('/projects', async (req, res) => {
const date = new Date(); const date = new Date();
const default_status = 0; const default_status = 0;
const project = await database_manager.project.create_project(name, description, date, default_status); 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 }); res.status(201).json({ message: 'Project added successfully', id: project.id });
} catch (error) { } catch (error) {
serverError.sendError('Error creating project:', res, error, 500); 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' }); return res.status(400).json({ error: 'Invalid project ID' });
} }
try { try {
storage_manager.deleteProjectDirectory(projectId); storage_manager.project.deleteProjectDirectory(projectId);
await database_manager.project.delete_project(projectId); await database_manager.project.delete_project(projectId);
res.status(200).json({ message: 'Project deleted successfully', id: projectId }); res.status(200).json({ message: 'Project deleted successfully', id: projectId });
} catch (error) { } catch (error) {

View File

@@ -89,19 +89,21 @@ async function deleteFile(name) {
} }
} }
function createProjectDirectory(projectId) { const project = {
createProjectDirectory: async function (projectId) {
const projectPath = `${projectId}`; const projectPath = `${projectId}`;
createFolder(projectPath); await createFolder(projectPath);
createFolder(`${projectPath}/images`); await createFolder(`${projectPath}/images`);
createFolder(`${projectPath}/videos`); await createFolder(`${projectPath}/videos`);
console.log("[FILE] createProjectDirectory : " + projectPath); console.log("[FILE] createProjectDirectory : " + projectPath);
} },
function deleteProjectDirectory(projectId) { deleteProjectDirectory: async function (projectId) {
const projectPath = `${projectId}`; const projectPath = `${projectId}`;
deleteFolder(projectPath); await deleteFolder(projectPath);
console.log("[FILE] deleteProjectDirectory : " + projectPath); console.log("[FILE] deleteProjectDirectory : " + projectPath);
} }
};
module.exports = { module.exports = {
createFolder, createFolder,
@@ -110,6 +112,5 @@ module.exports = {
saveFile, saveFile,
getFile, getFile,
deleteFile, deleteFile,
createProjectDirectory, project
deleteProjectDirectory,
}; };