48 lines
1.5 KiB
JavaScript
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;
|