cvgen/routes/front.routes.js
2025-09-09 15:38:47 +02:00

48 lines
1.5 KiB
JavaScript

// filepath: c:\Users\amaizy\Desktop\cvgen\routes\front.routes.js
const express = require("express");
const router = express.Router();
const { getUserProfile } = require("../controllers/linkedin");
// Page d'accueil
router.get("/", (req, res) => {
res.send(`
<h1>Welcome to the CV Generator Home Page!</h1>
<a href="/api/auth/linkedin">
<button>Connexion LinkedIn</button>
</a>
`);
});
// Route pour afficher le profil utilisateur (API)
router.get("/profile", getUserProfile);
// Route protégée /me
router.get("/me", (req, res) => {
const user = req.session.user;
if (!user || !user.nom || !user.img) {
return res.redirect("/");
}
res.send(`
<h2>Bienvenue, ${user.nom} !</h2>
<img src="${user.img}" alt="Photo de profil" width="100" height="100" style="border-radius:50%;" />
<form method="POST" action="/me/link">
<label for="linkedinUrl">Votre URL LinkedIn :</label>
<input type="url" id="linkedinUrl" name="linkedinUrl" placeholder="https://www.linkedin.com/in/votre-profil" required>
<button type="submit">Enregistrer</button>
</form>
`);
});
// Traitement du formulaire d'URL LinkedIn
router.post("/me/link", express.urlencoded({ extended: true }), (req, res) => {
if (!req.session.user) return res.redirect("/");
req.session.user.linkedinUrl = req.body.linkedinUrl;
res.send(`
<p>URL LinkedIn enregistrée : <a href="${req.body.linkedinUrl}" target="_blank">${req.body.linkedinUrl}</a></p>
<a href="/me">Retour</a>
`);
});
module.exports = router;