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:
2025-01-15 15:14:08 +01:00
parent b0bf7e9f04
commit c0d07e3ec6
2 changed files with 85 additions and 0 deletions

14
test/dbTester.js Normal file
View 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);
}

View File

@@ -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;