diff --git a/backend/controllers/authController.js b/backend/controllers/authController.js index b10d207..0be461e 100644 --- a/backend/controllers/authController.js +++ b/backend/controllers/authController.js @@ -141,3 +141,42 @@ export const checkAuth = (req, res) => { }); } }; + +export const getprofile = async (req, res) => { + const token = req.cookies.jwt; + let conn; + try { + conn = await pool.getConnection(); + + req.user = jwt.verify(token, process.env.JWT_SECRET); + + // Requête pour récupérer les informations de l'utilisateur sauf le mot de passe + const query = ` + SELECT id, email, firstname, lastname, updated_at, created_at + FROM users + WHERE id = ?`; + const results = await conn.query(query, [req.user.id]); + + // Vérifie si l'utilisateur existe + if (results.length === 0) { + return res.status(404).json({ + message: 'Utilisateur non trouvé.', + status: false + }); + } + + return res.status(200).json({ + results + }); + } catch (error) { + console.error('Erreur lors de la récupération de l\'utilisateur :', error); + return res.status(500).json({ + message: 'Erreur lors de la récupération de l\'utilisateur.', + status: false + }); + } finally { + if (conn) { + await conn.release(); + } + } +}; diff --git a/backend/routes/apiRoutes.js b/backend/routes/apiRoutes.js index 573f5a6..79573e7 100644 --- a/backend/routes/apiRoutes.js +++ b/backend/routes/apiRoutes.js @@ -5,7 +5,7 @@ import { register, login, checkAuth, - logout, + logout, getprofile, } from "../controllers/authController.js"; import {verifyToken} from "../middleware/tokenJWTMiddleware.js"; import multer from "multer"; @@ -29,7 +29,7 @@ const generateFileName = (originalName) => { }; const storage = multer.diskStorage({ destination: function (req, file, cb) { - cb(null, 'uploads/'); // Stockage des fichiers dans le dossier uploads/ + cb(null, 'uploads/'); }, filename: function (req, file, cb) { cb(null, generateFileName(file.originalname)); @@ -48,6 +48,7 @@ router.post('/upload', verifyToken, upload.single('file'), (req, res) => { router.post('/auth/register', register); router.post('/auth/login', login); router.post('/auth/logout', logout); +router.get('/auth/user', verifyToken, getprofile); router.get('/auth/check-auth', verifyToken, checkAuth); export default router; diff --git a/backend/server.js b/backend/server.js index a838b9c..edf07e7 100644 --- a/backend/server.js +++ b/backend/server.js @@ -63,7 +63,6 @@ const startServer = async () => { console.log(`🚀 Lancement de l'API en cours... 🔧`); await testDatabaseConnection(); app.listen(process.env.PORT, () => { - console.log(`📢 NODE_ENV = ${process.env.NODE_ENV} 🌍`); console.log(`📢 Chargement du fichier : ${envFile} 📄`); console.log(`🚀 API démarrée sur le port ${process.env.PORT} 🎯`); console.log(`🌍 Allowed Origin : ${process.env.ALLOWED_ORIGIN} 🔗`); diff --git a/package-lock.json b/package-lock.json index f60d572..3c0def8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "eni-angular", "version": "0.0.0", "dependencies": { + "@angular/animations": "^19.2.1", "@angular/common": "^19.2.0", "@angular/compiler": "^19.2.0", "@angular/core": "^19.2.0", @@ -350,6 +351,21 @@ "tslib": "^2.1.0" } }, + "node_modules/@angular/animations": { + "version": "19.2.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.2.1.tgz", + "integrity": "sha512-I67XYXBic9bM+yfce6Dqa950TsrEWB6uwSB2l6eIg3Byp48yJxQYbyjvjDbMXPieU2Bzo8FYVSD+lc8cF4+L6A==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/core": "19.2.1" + } + }, "node_modules/@angular/build": { "version": "19.2.1", "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.2.1.tgz", diff --git a/package.json b/package.json index b699ad7..23b80c2 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ }, "private": true, "dependencies": { + "@angular/animations": "^19.2.1", "@angular/common": "^19.2.0", "@angular/compiler": "^19.2.0", "@angular/core": "^19.2.0", diff --git a/src/app/_component/sidbar/sidbar.component.html b/src/app/_component/sidbar/sidbar.component.html index 7dd8ee8..6661e5c 100644 --- a/src/app/_component/sidbar/sidbar.component.html +++ b/src/app/_component/sidbar/sidbar.component.html @@ -6,7 +6,7 @@