Update: Move Cors inside Routes definition

This commit is contained in:
Yûki VACHOT 2021-12-23 13:18:04 +01:00
parent a12926f277
commit f26fcdc961
3 changed files with 39 additions and 23 deletions

26
config/cors.config.js Normal file
View file

@ -0,0 +1,26 @@
const cors = require('cors');
module.exports.cors = cors;
const allowList = [
'http://127.0.0.1:4200',
'http://127.0.0.1:4201',
'https://admin-polynotfound.herokuapp.com/',
'https://polynotfound.herokuapp.com/'
];
const corsOptionsDelegate = function(req, callback) {
let corsOptions;
if (allowList.indexOf(req.header('Origin')) !== -1) {
corsOptions = {
origin: true,
credentials: true
}
} else {
corsOptions = {
origin: false,
credentials: true
}
}
callback(null, corsOptions)
}
module.exports.options = corsOptionsDelegate;

View file

@ -1,42 +1,43 @@
const users = require("../controllers/user.controller");
const {cors, options} = require("../config/cors.config");
module.exports = app => {
let router = require("express").Router();
// Authenticate a User
router.post("/user/auth", users.auth);
router.post("/user/auth", cors(options), users.auth);
// Logout a User
router.delete("/user/logout", users.logout);
router.delete("/user/logout", cors(options), users.logout);
// Request password reset with email
router.post("/user/resetPass", users.resetPass);
router.post("/user/resetPass", cors(options), users.resetPass);
// Create and Save a new User
router.post("/user/create", users.create);
router.post("/user/create", cors(options), users.create);
// Retrieve all Users if admin
router.get("/user/findAll", users.findAll);
router.get("/user/findAll", cors(options), users.findAll);
// Find single User from id if admin or session id
router.get("/user/findOne/:id", users.findOne);
router.get("/user/findOne/:id", cors(options), users.findOne);
// Update a User from id if admin or session id
router.put("/user/update/:id", users.update);
router.put("/user/update/:id", cors(options), users.update);
// Delete a User from id if admin or session id
router.delete("/user/delete/:id", users.delete);
router.delete("/user/delete/:id", cors(options), users.delete);
// Delete all Users if superAdmin
router.delete("/user/deleteAll", users.deleteAll);
router.delete("/user/deleteAll", cors(options), users.deleteAll);
// Get all Roles depending on the User session id
router.get("/user/roles", users.roles);
router.get("/user/roles", cors(options), users.roles);
// Get 1 or multiple ad adapted to the User session id
router.get("/user/ad", users.ad);
router.get("/user/ad", cors(options), users.ad);
// Get History
router.get("/user/history", users.history);
router.get("/user/history", cors(options), users.history);
app.use('/api', router);
};

View file

@ -9,17 +9,6 @@ const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
const cors = require('cors');
app.use(cors({
origin: [
'http://127.0.0.1:4200',
'http://127.0.0.1:4201',
'https://admin-polynotfound.herokuapp.com/',
'https://polynotfound.herokuapp.com/'
],
credentials: true
}));
const db = require("./models/mongodb.model");
console.log("Db Url: ",db.url);
db.mongoose