Select Git revision
router-guest.ts
Forked from an inaccessible project.
router-guest.ts 1.45 KiB
import express from 'express';
import { StatusCodes } from 'http-status-codes';
import {checkExistingUser, checkUserFields, createAccountCheck} from './middleware'
import {Database} from "../database/Database";
import * as process from "process";
import {userType} from "../database/models/User";
const jwt = require('jsonwebtoken');
const router: express.Router = express.Router();
router.post('/users', checkUserFields, (req: express.Request, res: express.Response) => {
createAccountCheck(req, res);
});
router.post('/users/:username', checkExistingUser, async (req: express.Request, res: express.Response) => {
const data = req.body
let user=await Database.infoUser(req.params.username);
if(user){
let usertype=user.dataValues.type === "user"?"USER":"ADMIN"
if (user.dataValues.password === data.password) {
// Génération du token JWT
const userInfo={ type: user.dataValues.type, username: req.params.username, firstname: user.dataValues.firstname, lastname: user.dataValues.lastname }
const secretKey=process.env.SECRET_KEY;
const token = jwt.sign(userInfo, secretKey);
res.status(StatusCodes.OK).json({message: usertype+"_ALLOWED", token: token, firstname: user.dataValues.firstname, lastname: user.dataValues.lastname});
}else{
res.status(StatusCodes.BAD_REQUEST).json({message: "USER_PASSWORD_FALSE"})
}
}
});
export default router;