import jwt from "jsonwebtoken"; import passport from "passport"; import jwtSecret from "../config/jwtConfig"; import { db } from "../db.mjs"; import logger from "../logger.mjs"; module.exports = (app) => { app.post("/loginUser", (req, res, next) => { passport.authenticate("login", (err, users, info) => { if (err) { logger.error(`error ${err}`); } if (info !== undefined) { logger.error(info.message); if (info.message === "bad username") { res.status(401).send(info.message); } else { res.status(403).send(info.message); } } else { req.logIn(users, async () => { let user = await db("users") .select("*") .where({ username: req.body.username }); user = user[0]; const token = jwt.sign({ id: user.id }, jwtSecret.secret, { expiresIn: 60 * 60, }); res.status(200).send({ auth: true, token, message: "user found & logged in", }); // User.findOne({ // where: { // username: req.body.username, // }, // }).then((user) => { // const token = jwt.sign({ id: user.id }, jwtSecret.secret, { // expiresIn: 60 * 60, // }); // res.status(200).send({ // auth: true, // token, // message: "user found & logged in", // }); // }); }); } })(req, res, next); }); };