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 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) {

View File

@@ -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
};