41 lines
1.6 KiB
JavaScript
41 lines
1.6 KiB
JavaScript
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);
|
|
}
|
|
}
|
|
}; |