auth front

This commit is contained in:
jleroy
2025-03-11 11:28:14 +01:00
parent 4e41294eee
commit 32ee0904f1
21 changed files with 363 additions and 23 deletions

View File

@@ -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();
}
}
};

View File

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

View File

@@ -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} 🔗`);