diff --git a/API/src/database/database.sqlite b/API/src/database/database.sqlite index 30bcb3756e4ba1b24718dc0f5798be127ea4b8fb..ab49992f314c8ca671c6eceac1143c7dea7146dc 100644 Binary files a/API/src/database/database.sqlite and b/API/src/database/database.sqlite differ diff --git a/API/src/express/Server.ts b/API/src/express/Server.ts index e45eed10423f19a3a9bae45f10e3e3a2910dce6a..329c81d2b1968ca91402a539a47c45fb39ef5d74 100644 --- a/API/src/express/Server.ts +++ b/API/src/express/Server.ts @@ -43,9 +43,9 @@ class Server { //TODO: Add routes and middlewares const routes = [ { path: '/', router: BaseRoutes}, - { path: '/guest', router: routerGuest }, - { path: '/gamer', router: routerGamer }, - { path: '/admin', router: routerAdmin } + { path: '/guests', router: routerGuest }, + { path: '/users', router: routerGamer }, + { path: '/admins', router: routerAdmin } ]; this.backend.use(express.json()) this.backend.use((req, res, next) => { diff --git a/API/src/routes/router-admin.ts b/API/src/routes/router-admin.ts index a8a1842e7e883b5e5b8bf9c46db7d437c7ff0d98..0a96a17b840de3ddc8d20e0b6064a070e71dd671 100644 --- a/API/src/routes/router-admin.ts +++ b/API/src/routes/router-admin.ts @@ -20,7 +20,7 @@ const router: express.Router = express.Router(); -router.get('/:admin/list-users', checkExistingUser, verifyToken, async (req: express.Request, res: express.Response) => { +router.get('/:admin/users', checkExistingUser, verifyToken, async (req: express.Request, res: express.Response) => { try { const users = await Database.getAllUsers(); res.status(StatusCodes.OK).json({users}); @@ -29,7 +29,7 @@ router.get('/:admin/list-users', checkExistingUser, verifyToken, async (req: exp } }); -router.get('/:admin/list-questions', checkExistingUser, verifyToken, async (req: express.Request, res: express.Response) => { +router.get('/:admin/questions', checkExistingUser, verifyToken, async (req: express.Request, res: express.Response) => { try { const questions = await Database.getAllQuestions(); questions.forEach(q => { @@ -44,11 +44,11 @@ router.get('/:admin/list-questions', checkExistingUser, verifyToken, async (req } }); -router.post('/:admin/create-user-account', checkExistingUser, checkUserFields, verifyToken, (req: express.Request, res: express.Response) => { +router.post('/:admin/users', checkExistingUser, checkUserFields, verifyToken, (req: express.Request, res: express.Response) => { createAccountCheck(req, res); }); -router.post('/:admin/create-question', checkExistingUser, checkQuestionFields, verifyToken, async (req: express.Request, res: express.Response) => { +router.post('/:admin/questions', checkExistingUser, checkQuestionFields, verifyToken, async (req: express.Request, res: express.Response) => { const data = req.body; const correctResponse: string = data.possibleResponse[data.correctResponse]; if (correctResponse !== undefined) { @@ -74,13 +74,13 @@ router.post('/:admin/create-question', checkExistingUser, checkQuestionFields, v } }); -router.put('/:admin/update-user-account', checkExistingUser, checkUsernameField, verifyToken, async (req: express.Request, res: express.Response) => { +router.put('/:admin/users/:username', checkExistingUser, checkUsernameField, verifyToken, async (req: express.Request, res: express.Response) => { const data=req.body; - const username = data.username; + const username = req.params.username; try{ const user = await User.findOne({where: {username}}); if(user){ - if(req.params.admin === data.username && data.accountType!==undefined){ + if(req.params.admin === username && data.accountType!==undefined){ res.status(StatusCodes.NOT_ACCEPTABLE).send(`Edit your account type is not possible`); return; } @@ -88,14 +88,14 @@ router.put('/:admin/update-user-account', checkExistingUser, checkUsernameField, const nbUserUpdated=await Database.updateUserAccount(data.username, data.password, data.firstname, data.lastname, data.email, data.accountType); if(nbUserUpdated){ res.status(StatusCodes.OK).json({ - message: `User ${data.username} updated` + message: `User ${username} updated` }); } }catch(error){ res.status(StatusCodes.BAD_REQUEST).json({error: `An error occured: ${error}`}); } }else{ - res.status(StatusCodes.NOT_FOUND).send(`The user ${data.username} not exist`); + res.status(StatusCodes.NOT_FOUND).send(`The user ${username} not exist`); } }catch (error){ res.status(StatusCodes.BAD_REQUEST).json({error: `An error occured: ${error}`}); @@ -105,9 +105,9 @@ router.put('/:admin/update-user-account', checkExistingUser, checkUsernameField, }); -router.put('/:admin/update-question', checkExistingUser,checkIdField, verifyToken, async (req: express.Request, res: express.Response) => { +router.put('/:admin/questions/:question_id', checkExistingUser,checkIdField, verifyToken, async (req: express.Request, res: express.Response) => { const data=req.body; - const id = data.id; + const id = req.params.question_id; try{ const question = await Question.findOne({where: {id}}); if(question){ @@ -131,16 +131,16 @@ router.put('/:admin/update-question', checkExistingUser,checkIdField, verifyToke -router.delete('/:admin/delete-user-account', checkExistingUser, checkUsernameField, verifyToken, async (req: express.Request, res: express.Response) => { - let data=req.body - if(req.params.admin !== data.username) { +router.delete('/:admin/users/:username', checkExistingUser, checkUsernameField, verifyToken, async (req: express.Request, res: express.Response) => { + let username=req.params.username; + if(req.params.admin !== username) { try{ - let userDelete=await Database.deleteUser(data.username); + let userDelete=await Database.deleteUser(username); console.log(`user delete= ${userDelete}`) if(userDelete === 1){ - res.status(StatusCodes.OK).json({message: `The user ${data.username} is successfully deleted`}); + res.status(StatusCodes.OK).json({message: `The user ${username} is successfully deleted`}); }else{ - res.status(StatusCodes.NOT_FOUND).send(`User "${data.username}" not exist`); + res.status(StatusCodes.NOT_FOUND).send(`User "${username}" not exist`); } }catch(error){ @@ -153,15 +153,15 @@ router.delete('/:admin/delete-user-account', checkExistingUser, checkUsernameFie }); -router.delete('/:admin/delete-question', checkExistingUser, checkIdField, verifyToken, async (req: express.Request, res: express.Response) => { - let data = req.body +router.delete('/:admin/questions/:question_id', checkExistingUser, checkIdField, verifyToken, async (req: express.Request, res: express.Response) => { + let questionId=parseInt(req.params.question_id); try { - let questionDelete = await Database.deleteQuestion(data.id); + let questionDelete = await Database.deleteQuestion(questionId); console.log(`question delete= ${questionDelete}`) if (questionDelete === 1) { - res.status(StatusCodes.OK).json({message: `The question ${data.id} is successfully deleted`}); + res.status(StatusCodes.OK).json({message: `The question ${questionId} is successfully deleted`}); } else { - res.status(StatusCodes.NOT_FOUND).send(`Question "${data.id}" not exist`); + res.status(StatusCodes.NOT_FOUND).send(`Question "${questionId}" not exist`); } } catch (error) { @@ -172,9 +172,9 @@ router.delete('/:admin/delete-question', checkExistingUser, checkIdField, verify }); -router.post('/:admin/get-user', checkExistingUser, verifyToken, async (req: express.Request, res: express.Response) => { - const data = req.body - let user=await Database.infoUser(data.username); +router.get('/:admin', checkExistingUser, verifyToken, async (req: express.Request, res: express.Response) => { + const username = req.params.admin + let user=await Database.infoUser(username); user.dataValues.password="CONFIDENTIAL!!!" if(user){ res.status(StatusCodes.OK).json({info_user: user.dataValues}); diff --git a/API/src/routes/router-gamer.ts b/API/src/routes/router-gamer.ts index 415929610f97d2abac8fcc3882222f26600fb99d..b4c9e5f68cc86afbee1966fde56ff860ebfb11bf 100644 --- a/API/src/routes/router-gamer.ts +++ b/API/src/routes/router-gamer.ts @@ -5,11 +5,8 @@ import {checkExistingUser, TokenRequest, verifyToken} from "./middleware"; const router: express.Router = express.Router(); -router.get('/', (req: express.Request, res: express.Response) => { - res.status(StatusCodes.OK).json({ message: 'Gamers route' }) -}); -router.get('/:username', checkExistingUser, verifyToken, (req: TokenRequest, res: express.Response) => { +router.get('/users/:username', checkExistingUser, verifyToken, (req: TokenRequest, res: express.Response) => { res.status(StatusCodes.OK).json({access_user: req.user}); }); diff --git a/API/src/routes/router-guest.ts b/API/src/routes/router-guest.ts index 32728878839f94492c75e6478f81560121cd08ce..e8bf8827446052490cfb083652e1d16d29fe8680 100644 --- a/API/src/routes/router-guest.ts +++ b/API/src/routes/router-guest.ts @@ -10,19 +10,15 @@ const jwt = require('jsonwebtoken'); const router: express.Router = express.Router(); -router.get('/', (req: express.Request, res: express.Response) => { - res.status(StatusCodes.OK).json({ message: 'Guests route' }) -}); - -router.post('/create-account', checkUserFields, (req: express.Request, res: express.Response) => { +router.post('/users', checkUserFields, (req: express.Request, res: express.Response) => { createAccountCheck(req, res); }); -router.post('/:username', checkExistingUser, async (req: express.Request, res: express.Response) => { +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){