Refactor la suppression de projet pour simplifier la logique et corriger la gestion du chemin du dossier
This commit is contained in:
@@ -48,29 +48,24 @@ exports.getAllProjects = (req, res) => {
|
||||
* @param {Object} res - La réponse à renvoyer au client.
|
||||
*/
|
||||
exports.deleteProject = (req, res) => {
|
||||
const projectId = req.params.id;
|
||||
const projectId = req.params.id;
|
||||
|
||||
// Récupérer le chemin du dossier du projet
|
||||
const query = 'SELECT folder_path FROM public.projects WHERE id = $1';
|
||||
db.query(query, [projectId])
|
||||
.then(result => {
|
||||
if (result.rowCount === 0) {
|
||||
return res.status(404).json({ error: 'Aucun projet trouvé avec cet ID.' });
|
||||
}
|
||||
const folderPath = result.rows[0].folder_path;
|
||||
// Supprimer le projet de la base de données
|
||||
const query = 'DELETE FROM public.projects WHERE id = $1';
|
||||
db.query(query, [projectId])
|
||||
.then(result => {
|
||||
if (result.rowCount === 0) {
|
||||
return res.status(404).json({ error: 'Aucun projet trouvé avec cet ID.' });
|
||||
}
|
||||
|
||||
// Supprimer le projet de la base de données
|
||||
return db.query('DELETE FROM public.projects WHERE id = $1', [projectId])
|
||||
.then(() => {
|
||||
// Supprimer le dossier du projet
|
||||
return fileUtils.deleteProjectDirectory(folderPath);
|
||||
});
|
||||
})
|
||||
.then(() => {
|
||||
res.status(200).json({ message: 'Projet supprimé avec succès' });
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('Erreur lors de la suppression du projet:', err);
|
||||
res.status(500).json({ error: 'Erreur serveur' });
|
||||
});
|
||||
// Supprimer le dossier du projet
|
||||
return fileUtils.deleteProjectDirectory(projectId);
|
||||
})
|
||||
.then(() => {
|
||||
res.status(200).json({ message: 'Projet supprimé avec succès' });
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('Erreur lors de la suppression du projet:', err);
|
||||
res.status(500).json({ error: 'Erreur serveur' });
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user