From 7593a289c95d8d4be7f7c27a0f98741478200b7f Mon Sep 17 00:00:00 2001 From: soudarsane Date: Thu, 15 Jun 2023 16:00:10 +0200 Subject: [PATCH 1/2] fusion des 2 routes en / --- app/controllers/RecruteurController.ts | 5 ++-- app/index.ts | 3 +- app/routes/AdminRouter.ts | 20 +++++--------- app/routes/CandidatureRouter.ts | 38 -------------------------- app/routes/FicheRouter.ts | 10 ++----- app/routes/MainRouter.ts | 30 ++++++++++++++++++-- app/routes/OfferRouter.ts | 10 ++----- app/routes/RecruterRouter.ts | 9 ++++-- app/views/demandeRecruteur.ejs | 4 +-- 9 files changed, 53 insertions(+), 76 deletions(-) delete mode 100644 app/routes/CandidatureRouter.ts diff --git a/app/controllers/RecruteurController.ts b/app/controllers/RecruteurController.ts index 1873edc..b94f4c1 100644 --- a/app/controllers/RecruteurController.ts +++ b/app/controllers/RecruteurController.ts @@ -1,12 +1,13 @@ import express from "express"; import {CandidatureRepository} from "../repository/CandidatureRepository"; import {Alert} from "../utils/Alert"; +import {loggedInNoRedirection} from "../passport/passportFunctions"; export class RecruteurController { static index(req: express.Request, res: express.Response) { //Get candidatures by siren - res.render("recruteur/index", {title: "Home"}); + res.render("recruteur/index", {title: "Home", user: loggedInNoRedirection(req, res)}); } static candidatures(req: express.Request, res: express.Response) { @@ -21,4 +22,4 @@ export class RecruteurController { res.redirect("/recruteur"); }); } -} \ No newline at end of file +} diff --git a/app/index.ts b/app/index.ts index 63c4b0d..d2cad0a 100644 --- a/app/index.ts +++ b/app/index.ts @@ -6,9 +6,9 @@ import {offerRouter} from "./routes/OfferRouter"; import {adminRouter} from "./routes/AdminRouter"; import {ficheRouter} from "./routes/FicheRouter"; import bodyParser from "body-parser"; -import {candidatureRouter} from "./routes/CandidatureRouter"; import {recruterRouter} from "./routes/RecruterRouter"; import {apiRouter} from "./routes/ApiRouter"; +const {passport} = require("./passport/passportFunctions"); dotenv.config(); @@ -26,7 +26,6 @@ app.use("/", defaultRouter); app.use("/offre", offerRouter); app.use("/fiche", ficheRouter); app.use("/admin", adminRouter); -app.use("/", candidatureRouter); app.use("/recruteur", recruterRouter); app.use("/api", apiRouter); diff --git a/app/routes/AdminRouter.ts b/app/routes/AdminRouter.ts index 873233a..8f4ea29 100644 --- a/app/routes/AdminRouter.ts +++ b/app/routes/AdminRouter.ts @@ -4,19 +4,13 @@ import {AdminController} from "../controllers/AdminController"; const { passport, loggedIn, checkRole } = require("../passport/passportFunctions"); export const adminRouter = Router(); - adminRouter.use(passport.initialize()); adminRouter.use(passport.session()); - -//Vérification de la connexion pour toutes les routes -adminRouter.use(checkRole("Administrateur")); -//adminRouter.get("/demandes", loggedIn(), AdminController.demandes); - -adminRouter.get("/", AdminController.index); -adminRouter.get("/utilisateurs", AdminController.utilisateurs); -adminRouter.get("/demandes", AdminController.demandes); -adminRouter.get("/accepterDemande/:email", AdminController.accepterDemande); -adminRouter.get("/refuserDemande/:email", AdminController.refuserDemande); -adminRouter.get("/offres", AdminController.offres); -adminRouter.get("/offre/:numero", AdminController.offre); +adminRouter.get("/", checkRole("Administrateur"), AdminController.index); +adminRouter.get("/utilisateurs", checkRole("Administrateur"), AdminController.utilisateurs); +adminRouter.get("/demandes", checkRole("Administrateur"), AdminController.demandes); +adminRouter.get("/accepterDemande/:email", checkRole("Administrateur"), AdminController.accepterDemande); +adminRouter.get("/refuserDemande/:email", checkRole("Administrateur"), AdminController.refuserDemande); +adminRouter.get("/offres", checkRole("Administrateur"), AdminController.offres); +adminRouter.get("/offre/:numero", checkRole("Administrateur"), AdminController.offre); diff --git a/app/routes/CandidatureRouter.ts b/app/routes/CandidatureRouter.ts deleted file mode 100644 index d4edc07..0000000 --- a/app/routes/CandidatureRouter.ts +++ /dev/null @@ -1,38 +0,0 @@ -import {Router} from "express"; -import {CandidatureController} from "../controllers/CandidatureController"; -import {v4 as uuidv4} from 'uuid'; -import multer, {Multer} from 'multer'; -const { passport, loggedIn, checkRole } = require("../passport/passportFunctions"); - -export const candidatureRouter = Router(); - -const upload: Multer = multer({ - storage: multer.diskStorage({ - destination: (req, file, callback) => { - callback(null, './uploads'); // Destination folder - }, - filename: (req, file, callback) => { - const uniqueID = uuidv4(); // Generate a unique ID - const originalFileName = file.originalname; - const fileName = `${uniqueID}_${originalFileName}`; // Append unique ID to the original filename - callback(null, fileName); - }, - }), -}); - -candidatureRouter.use(passport.initialize()); -candidatureRouter.use(passport.session()); - -//Vérification de la connexion pour toutes les routes -candidatureRouter.use(checkRole("Candidat")); - -candidatureRouter.get("/candidatures", CandidatureController.candidatures); - -candidatureRouter.get("/canditature/:numero", CandidatureController.candidater); -candidatureRouter.post("/canditature/:numero", upload.fields([ - {name: 'cv', maxCount: 1}, - {name: 'lettre', maxCount: 1} -]), CandidatureController.candidater); - - - diff --git a/app/routes/FicheRouter.ts b/app/routes/FicheRouter.ts index 0bb4005..ebe602c 100644 --- a/app/routes/FicheRouter.ts +++ b/app/routes/FicheRouter.ts @@ -1,14 +1,10 @@ import express from "express"; import {FicheController} from "../controllers/FicheController"; +import {candidatureRouter} from "./CandidatureRouter"; const { passport, loggedIn, checkRole } = require("../passport/passportFunctions"); export const ficheRouter = express.Router(); - ficheRouter.use(passport.initialize()); ficheRouter.use(passport.session()); - -//Vérification de la connexion pour toutes les routes -ficheRouter.use(checkRole("Recruteur")); - -ficheRouter.get("/creation", FicheController.creation); -ficheRouter.post("/creation", FicheController.creation); +ficheRouter.get("/creation", checkRole("Recruteur"), FicheController.creation); +ficheRouter.post("/creation", checkRole("Recruteur"), FicheController.creation); diff --git a/app/routes/MainRouter.ts b/app/routes/MainRouter.ts index 6fa6ceb..85507b5 100644 --- a/app/routes/MainRouter.ts +++ b/app/routes/MainRouter.ts @@ -1,5 +1,7 @@ import {Router} from "express"; import {HomeController} from "../controllers/HomeController"; +import multer, {Multer} from "multer"; +import {CandidatureController} from "../controllers/CandidatureController"; const { v4: uuidv4 } = require("uuid"); const session = require("express-session"); @@ -23,15 +25,39 @@ defaultRouter.use( } }) ); + +const upload: Multer = multer({ + storage: multer.diskStorage({ + destination: (req, file, callback) => { + callback(null, './uploads'); // Destination folder + }, + filename: (req, file, callback) => { + const uniqueID = uuidv4(); // Generate a unique ID + const originalFileName = file.originalname; + const fileName = `${uniqueID}_${originalFileName}`; // Append unique ID to the original filename + callback(null, fileName); + }, + }), +}); + defaultRouter.use(passport.initialize()); defaultRouter.use(passport.session()); - defaultRouter.get("/", HomeController.index); defaultRouter.get("/login", HomeController.login); defaultRouter.get("/register", HomeController.register); defaultRouter.get("/devenir-recruteur", checkRole("Candidat"), HomeController.demandeRecruteur); defaultRouter.post("/devenir-recruteur", checkRole("Candidat"), HomeController.demandeRecruteur); +defaultRouter.get("/candidatures", checkRole("Candidat"), CandidatureController.candidatures); +defaultRouter.get("/canditature/:numero", checkRole("Candidat"), CandidatureController.candidater); +defaultRouter.post("/canditature/:numero", checkRole("Candidat"), upload.fields([ + {name: 'cv', maxCount: 1}, + {name: 'lettre', maxCount: 1} +]), CandidatureController.candidater); + + + + defaultRouter.post( "/login", function (req, res, next) { @@ -49,7 +75,7 @@ defaultRouter.post( if (role == "Administrateur") { url="admin"; } else if(role == "Recruteur"){ - url="offre"; + url="recruteur"; }else{ url=""; } diff --git a/app/routes/OfferRouter.ts b/app/routes/OfferRouter.ts index e5b9573..1fe99e0 100644 --- a/app/routes/OfferRouter.ts +++ b/app/routes/OfferRouter.ts @@ -1,14 +1,10 @@ import express from "express"; import {OfferController} from "../controllers/OfferController"; +import {defaultRouter} from "./MainRouter"; const { passport, loggedIn, checkRole } = require("../passport/passportFunctions"); export const offerRouter = express.Router(); - offerRouter.use(passport.initialize()); offerRouter.use(passport.session()); - -//Vérification de la connexion pour toutes les routes -offerRouter.use(checkRole("Recruteur")); - -offerRouter.get("/creation", OfferController.creation); -offerRouter.post("/creation", OfferController.creation); +offerRouter.get("/creation", checkRole("Recruteur"), OfferController.creation); +offerRouter.post("/creation", checkRole("Recruteur"), OfferController.creation); diff --git a/app/routes/RecruterRouter.ts b/app/routes/RecruterRouter.ts index f049928..bb53c98 100644 --- a/app/routes/RecruterRouter.ts +++ b/app/routes/RecruterRouter.ts @@ -1,8 +1,11 @@ import express from "express"; import {RecruteurController} from "../controllers/RecruteurController"; +import {offerRouter} from "./OfferRouter"; +const { passport, loggedIn, checkRole } = require("../passport/passportFunctions"); export const recruterRouter = express.Router(); - -recruterRouter.get("/", RecruteurController.index); -recruterRouter.get("/candidatures", RecruteurController.candidatures); +recruterRouter.use(passport.initialize()); +recruterRouter.use(passport.session()); +recruterRouter.get("/", checkRole("Recruteur"), RecruteurController.index); +recruterRouter.get("/candidatures", checkRole("Recruteur"), RecruteurController.candidatures); diff --git a/app/views/demandeRecruteur.ejs b/app/views/demandeRecruteur.ejs index 20fafb1..47f820e 100644 --- a/app/views/demandeRecruteur.ejs +++ b/app/views/demandeRecruteur.ejs @@ -11,7 +11,7 @@
Choisissez l'entreprise pour laquelle vous demandez à être recruteur
-
+
From b6182757b3af0c2be959cc3d4c62995594b2a596 Mon Sep 17 00:00:00 2001 From: soudarsane Date: Thu, 15 Jun 2023 16:18:49 +0200 Subject: [PATCH 2/2] unused import deleted --- app/routes/FicheRouter.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/app/routes/FicheRouter.ts b/app/routes/FicheRouter.ts index ebe602c..db1c37e 100644 --- a/app/routes/FicheRouter.ts +++ b/app/routes/FicheRouter.ts @@ -1,6 +1,5 @@ import express from "express"; import {FicheController} from "../controllers/FicheController"; -import {candidatureRouter} from "./CandidatureRouter"; const { passport, loggedIn, checkRole } = require("../passport/passportFunctions"); export const ficheRouter = express.Router();