Ajout des fonctionnalités de gestion des projets : création, récupération et suppression de projets, avec gestion des dossiers associés.
This commit is contained in:
41
models/projectModel.js
Normal file
41
models/projectModel.js
Normal file
@@ -0,0 +1,41 @@
|
||||
module.exports = {
|
||||
createProject: async (db, projectData) => {
|
||||
const query = 'INSERT INTO public.projects (name, description, start_date, status) VALUES ($1, $2, $3, $4) RETURNING id';
|
||||
const values = [projectData.name, projectData.description, projectData.start_date, projectData.status];
|
||||
try {
|
||||
const result = await db.query(query, values);
|
||||
return result.rows[0].id;
|
||||
} catch (error) {
|
||||
throw new Error('Erreur lors de la création du projet: ' + error.message);
|
||||
}
|
||||
},
|
||||
|
||||
getProjectById: async (db, projectId) => {
|
||||
const query = 'SELECT * FROM public.projects WHERE id = $1';
|
||||
try {
|
||||
const result = await db.query(query, [projectId]);
|
||||
return result.rows[0];
|
||||
} catch (error) {
|
||||
throw new Error('Erreur lors de la récupération du projet: ' + error.message);
|
||||
}
|
||||
},
|
||||
|
||||
updateProject: async (db, projectId, projectData) => {
|
||||
const query = 'UPDATE public.projects SET name = $1, description = $2, start_date = $3, status = $4 WHERE id = $5';
|
||||
const values = [projectData.name, projectData.description, projectData.start_date, projectData.status, projectId];
|
||||
try {
|
||||
await db.query(query, values);
|
||||
} catch (error) {
|
||||
throw new Error('Erreur lors de la mise à jour du projet: ' + error.message);
|
||||
}
|
||||
},
|
||||
|
||||
deleteProject: async (db, projectId) => {
|
||||
const query = 'DELETE FROM public.projects WHERE id = $1';
|
||||
try {
|
||||
await db.query(query, [projectId]);
|
||||
} catch (error) {
|
||||
throw new Error('Erreur lors de la suppression du projet: ' + error.message);
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user