- Added `pg` and `@types/pg` dependencies for PostgreSQL integration. - Updated `useEvaluation` hook to load user evaluations from the API, improving data management. - Refactored `saveUserEvaluation` and `loadUserEvaluation` functions to interact with the API instead of localStorage. - Introduced error handling for profile loading and evaluation saving to enhance robustness. - Added new methods for managing user profiles and evaluations, including `clearUserProfile` and `loadEvaluationForProfile`.
34 lines
744 B
TypeScript
34 lines
744 B
TypeScript
import { Pool } from "pg";
|
|
|
|
// Configuration de la base de données
|
|
const dbConfig = {
|
|
host: process.env.DB_HOST || "localhost",
|
|
port: parseInt(process.env.DB_PORT || "5432"),
|
|
database: process.env.DB_NAME || "peakskills",
|
|
user: process.env.DB_USER || "peakskills_user",
|
|
password: process.env.DB_PASSWORD || "peakskills_password",
|
|
};
|
|
|
|
// Pool de connexions global
|
|
let pool: Pool | null = null;
|
|
|
|
export function getPool(): Pool {
|
|
if (!pool) {
|
|
pool = new Pool(dbConfig);
|
|
|
|
pool.on("error", (err) => {
|
|
console.error("Unexpected error on idle client", err);
|
|
process.exit(-1);
|
|
});
|
|
}
|
|
|
|
return pool;
|
|
}
|
|
|
|
export async function closePool(): Promise<void> {
|
|
if (pool) {
|
|
await pool.end();
|
|
pool = null;
|
|
}
|
|
}
|