Refactor la suppression de projet pour simplifier la logique et corriger la gestion du chemin du dossier

This commit is contained in:
2025-01-14 16:03:42 +01:00
parent 3afc702c22
commit 9e6fb8c0dc

View File

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