forked from dbroqua/MusicTopus
Updated env + Added SignIn/SignUp
This commit is contained in:
parent
2218d2663b
commit
33c87b434c
25 changed files with 625 additions and 41 deletions
|
@ -1,11 +1,82 @@
|
|||
import express from 'express';
|
||||
import express from "express";
|
||||
import passport from "passport";
|
||||
import { ensureLoggedIn } from "connect-ensure-login";
|
||||
|
||||
import Pages from "../middleware/Pages";
|
||||
import Auth from "../middleware/Auth";
|
||||
|
||||
import render from "../libs/format";
|
||||
|
||||
// eslint-disable-next-line new-cap
|
||||
const router = express.Router();
|
||||
|
||||
/* GET home page. */
|
||||
router.get('/', function(req, res, next) {
|
||||
res.render('index', {title: 'World'});
|
||||
router
|
||||
.route("/")
|
||||
.get(ensureLoggedIn("/connexion"), (req, res) =>
|
||||
res.redirect("/ma-collection")
|
||||
);
|
||||
|
||||
router
|
||||
.route("/connexion")
|
||||
.get((req, res, next) => {
|
||||
try {
|
||||
const page = new Pages(req, "connexion");
|
||||
|
||||
render(res, page);
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
})
|
||||
.post(
|
||||
passport.authenticate("user", {
|
||||
failureRedirect: "/connexion",
|
||||
failureFlash: true,
|
||||
}),
|
||||
(req, res) => {
|
||||
const { next, query } = req.body;
|
||||
let url = `/${next}`;
|
||||
|
||||
if (next) {
|
||||
if (query) {
|
||||
const params = JSON.parse(query);
|
||||
Object.keys(params).forEach((key) => {
|
||||
url += `${url.indexOf("?") === -1 ? "?" : "&"}${key}=${
|
||||
params[key]
|
||||
}`;
|
||||
});
|
||||
}
|
||||
return res.redirect(url);
|
||||
}
|
||||
return res.redirect("/");
|
||||
}
|
||||
);
|
||||
|
||||
router
|
||||
.route("/inscription")
|
||||
.get((req, res, next) => {
|
||||
try {
|
||||
const page = new Pages(req, "inscription");
|
||||
|
||||
render(res, page);
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
})
|
||||
.post(async (req, res) => {
|
||||
try {
|
||||
await Auth.register(req);
|
||||
|
||||
res.redirect("/");
|
||||
} catch (err) {
|
||||
res.redirect("/inscription");
|
||||
}
|
||||
});
|
||||
|
||||
router.route("/se-deconnecter").get((req, res) => {
|
||||
req.logout();
|
||||
req.session.destroy(() => {
|
||||
res.redirect("/");
|
||||
});
|
||||
});
|
||||
|
||||
export default router;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue