diff --git a/API/src/database/Database.ts b/API/src/database/Database.ts index aed639afc9c9892afe79a72f9b36029316f313f7..47bd801084ab4137a0814ad3f5ea99a7cb4ea6f4 100644 --- a/API/src/database/Database.ts +++ b/API/src/database/Database.ts @@ -1,9 +1,8 @@ import {Sequelize} from 'sequelize'; import * as path from "path"; -import {userType} from "./models/User"; +import {User, userType} from "./models/User"; import {initUser} from "./migrations/User_init"; import {initQuestion} from "./migrations/Question_init"; -import {User} from "./models/User" import {Question} from "./models/Question"; @@ -90,14 +89,8 @@ export class Database{ } - static async checkUserPassword(username: string, password: string): Promise<boolean>{ - const user= await User.findOne({ where: { username } }); - if(user){ - return password==user.dataValues.password - }else{ - return false - } - + static async infoUser(username: string): Promise<User>{ + return await User.findOne({where: {username}}); } diff --git a/API/src/database/database.sqlite b/API/src/database/database.sqlite index 5a843bb909e96719d7fe7976748a1bcf9692a046..6a3bf9c8400809ec4f207d5000d4cfa90723207f 100644 Binary files a/API/src/database/database.sqlite and b/API/src/database/database.sqlite differ diff --git a/API/src/routes/middleware.ts b/API/src/routes/middleware.ts index 9ea44d2308b93d21e6fdbcc01423b877266a6a8c..0c49da6e44e4d7e956ef3440463545acc48ba67d 100644 --- a/API/src/routes/middleware.ts +++ b/API/src/routes/middleware.ts @@ -34,7 +34,7 @@ export async function checkExistingUser(req: express.Request, res: express.Respo console.log(`type = ${typeAccount}`); console.log({message: typeAccount === 'user' ? `"${id}" => user` : `"${id}" => admin`}); }else{ - res.status(StatusCodes.NOT_FOUND).json({message: 'Username not exist'}); + res.status(StatusCodes.NOT_FOUND).json({message: 'USER_NOT_FOUND'}); } next(); @@ -93,10 +93,10 @@ export function createAccountCheck(req: express.Request, res: express.Response){ }}); }else{ if(result[1] === "Exist"){ - res.status(StatusCodes.NOT_ACCEPTABLE).json({error: "Username already exist"}); + res.status(StatusCodes.NOT_ACCEPTABLE).json({message: "USER_EXIST"}); } } }).catch(error => { - res.status(StatusCodes.BAD_REQUEST).json({error: "An error occured"}); + res.status(StatusCodes.BAD_REQUEST).json({message: "An error occured"}); }); } \ No newline at end of file diff --git a/API/src/routes/router-guest.ts b/API/src/routes/router-guest.ts index a23f51f2719959b058bba459ce84f5d17ef87006..79500bcdd50ece47bfb815a87c4a9967882bf3e7 100644 --- a/API/src/routes/router-guest.ts +++ b/API/src/routes/router-guest.ts @@ -21,11 +21,18 @@ router.post('/create-account', checkUserFields, (req: express.Request, res: expr router.post('/:username', checkExistingUser, async (req: express.Request, res: express.Response) => { const data = req.body - if (await Database.checkUserPassword(req.params.username, data.password)) { - res.status(StatusCodes.OK).json({message: "User can be authentified"}) - }else{ - res.status(StatusCodes.BAD_REQUEST).json({message: "User cannot be authentified"}) + let user=await Database.infoUser(req.params.username); + if(user){ + let usertype=user.dataValues.type === "user"?"USER":"ADMIN" + if (user.dataValues.password === data.password) { + res.status(StatusCodes.OK).json({message: usertype+"_ALLOWED"}) + }else{ + res.status(StatusCodes.BAD_REQUEST).json({message: "USER_PASSWORD_FALSE"}) + } } + + + });