Ajout des fonctions de gestion des projets dans dbUtils et création d'un fichier de test pour valider les opérations de la base de données
This commit is contained in:
14
test/dbTester.js
Normal file
14
test/dbTester.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
const databaseUtils = require('../utils/dbUtils');
|
||||||
|
|
||||||
|
console.log('Testing database functions...');
|
||||||
|
|
||||||
|
async function printProjects() {
|
||||||
|
const projects = await databaseUtils.getProjects();
|
||||||
|
console.log('Projects:', projects);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
printProjects();
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error:', error);
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
const db = require('../db'); // Assurez-vous que le chemin est correct
|
||||||
|
|
||||||
|
const projectsTable = {
|
||||||
|
|
||||||
|
addProject: async (name, description) => {
|
||||||
|
const query = `
|
||||||
|
INSERT INTO projects (name, description)
|
||||||
|
VALUES ($1, $2)
|
||||||
|
RETURNING *;
|
||||||
|
`;
|
||||||
|
try {
|
||||||
|
const result = await db.query(query, [name, description]);
|
||||||
|
return result.rows[0];
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error adding project:', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getProjects: async () => {
|
||||||
|
const query = `
|
||||||
|
SELECT * FROM projects;
|
||||||
|
`;
|
||||||
|
try {
|
||||||
|
const result = await db.query(query);
|
||||||
|
return result.rows;
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching projects:', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getProjectById: async (id) => {
|
||||||
|
const query = `
|
||||||
|
SELECT * FROM projects WHERE id = $1;
|
||||||
|
`;
|
||||||
|
try {
|
||||||
|
const result = await db.query(query, [id]);
|
||||||
|
return result.rows[0];
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching project by id:', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
updateProject: async (id, name, description) => {
|
||||||
|
const query = `
|
||||||
|
UPDATE projects
|
||||||
|
SET name = $1, description = $2
|
||||||
|
WHERE id = $3
|
||||||
|
RETURNING *;
|
||||||
|
`;
|
||||||
|
try {
|
||||||
|
const result = await db.query(query, [name, description, id]);
|
||||||
|
return result.rows[0];
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error updating project:', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
deleteProject: async (id) => {
|
||||||
|
const query = `
|
||||||
|
DELETE FROM projects WHERE id = $1;
|
||||||
|
`;
|
||||||
|
try {
|
||||||
|
await db.query(query, [id]);
|
||||||
|
console.log('Project deleted successfully');
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error deleting project:', error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = projectsTable;
|
||||||
Reference in New Issue
Block a user