summaryrefslogtreecommitdiff
path: root/routes/login.js
diff options
context:
space:
mode:
authorJulien Dessaux2022-11-19 18:41:35 +0100
committerJulien Dessaux2022-11-19 18:41:35 +0100
commit54e06aa44a3134dfc42db3e4b473abf5e181fc42 (patch)
tree35c2358e0cbe47d21972535b8485aa0fd9756b8d /routes/login.js
parentUpdated dependencies and fixed lint errors (diff)
downloadjeux-de-mots-54e06aa44a3134dfc42db3e4b473abf5e181fc42.tar.gz
jeux-de-mots-54e06aa44a3134dfc42db3e4b473abf5e181fc42.tar.bz2
jeux-de-mots-54e06aa44a3134dfc42db3e4b473abf5e181fc42.zip
cleaned up the distinction between routes and controllers
Diffstat (limited to 'routes/login.js')
-rw-r--r--routes/login.js48
1 files changed, 0 insertions, 48 deletions
diff --git a/routes/login.js b/routes/login.js
deleted file mode 100644
index 89299dd..0000000
--- a/routes/login.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import express from "express";
-import { check, validationResult } from "express-validator";
-
-import makeLoginController from "../controllers/login.js";
-import bodyParser from "../middlewares/formParser.js";
-import session from "../middlewares/sessions.js";
-import { login } from "../database/users.js";
-
-const router = express.Router();
-router.use(session);
-
-router.get("/", (req, res) => {
- if (req.session.user !== undefined) {
- return res.redirect(302, "/play");
- }
- return res.render("login", makeLoginController(req));
-});
-
-const checkUsername = check("username")
- .trim()
- .matches(/^[a-z][-a-z0-9_]+$/i)
- .withMessage("Un identifiant d'au moins deux charactères est requis.");
-const checkPassword = check("password")
- .isStrongPassword()
- .withMessage("Veuillez utiliser un mot de passe d'au moins 8 caractères contenant au moins une minuscule, majuscule, chiffre et charactère spécial.");
-
-router.post("/", [bodyParser, checkUsername, checkPassword], async (req, res) => {
- if (req.session.user !== undefined) {
- return res.redirect(302, "/play");
- }
- let controller = makeLoginController(req);
- controller.data = req.body;
- controller.errors = validationResult(req).mapped();
- if (Object.keys(controller.errors).length === 0) {
- const user = await login(controller.data.username, controller.data.password);
- if (user !== null) {
- req.session.user = user;
- } else {
- controller.errors.mismatch = "L'identifiant et le mot de passe ne correspondent pas, ou l'identifiant n'existe pas.";
- }
- }
- if (Object.keys(controller.errors).length === 0) {
- return res.redirect(302, "/play");
- }
- return res.render("login", controller);
-});
-
-export default router;