Skip to content
Snippets Groups Projects
Commit 86dc57a2 authored by narindra.rajohnso's avatar narindra.rajohnso
Browse files

edit to have logic route API

parent ca88de10
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -43,9 +43,9 @@ class Server { ...@@ -43,9 +43,9 @@ class Server {
//TODO: Add routes and middlewares //TODO: Add routes and middlewares
const routes = [ const routes = [
{ path: '/', router: BaseRoutes}, { path: '/', router: BaseRoutes},
{ path: '/guest', router: routerGuest }, { path: '/guests', router: routerGuest },
{ path: '/gamer', router: routerGamer }, { path: '/users', router: routerGamer },
{ path: '/admin', router: routerAdmin } { path: '/admins', router: routerAdmin }
]; ];
this.backend.use(express.json()) this.backend.use(express.json())
this.backend.use((req, res, next) => { this.backend.use((req, res, next) => {
......
...@@ -20,7 +20,7 @@ const router: express.Router = express.Router(); ...@@ -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 { try {
const users = await Database.getAllUsers(); const users = await Database.getAllUsers();
res.status(StatusCodes.OK).json({users}); res.status(StatusCodes.OK).json({users});
...@@ -29,7 +29,7 @@ router.get('/:admin/list-users', checkExistingUser, verifyToken, async (req: exp ...@@ -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 { try {
const questions = await Database.getAllQuestions(); const questions = await Database.getAllQuestions();
questions.forEach(q => { questions.forEach(q => {
...@@ -44,11 +44,11 @@ router.get('/:admin/list-questions', checkExistingUser, verifyToken, async (req ...@@ -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); 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 data = req.body;
const correctResponse: string = data.possibleResponse[data.correctResponse]; const correctResponse: string = data.possibleResponse[data.correctResponse];
if (correctResponse !== undefined) { if (correctResponse !== undefined) {
...@@ -74,13 +74,13 @@ router.post('/:admin/create-question', checkExistingUser, checkQuestionFields, v ...@@ -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 data=req.body;
const username = data.username; const username = req.params.username;
try{ try{
const user = await User.findOne({where: {username}}); const user = await User.findOne({where: {username}});
if(user){ 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`); res.status(StatusCodes.NOT_ACCEPTABLE).send(`Edit your account type is not possible`);
return; return;
} }
...@@ -88,14 +88,14 @@ router.put('/:admin/update-user-account', checkExistingUser, checkUsernameField, ...@@ -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); const nbUserUpdated=await Database.updateUserAccount(data.username, data.password, data.firstname, data.lastname, data.email, data.accountType);
if(nbUserUpdated){ if(nbUserUpdated){
res.status(StatusCodes.OK).json({ res.status(StatusCodes.OK).json({
message: `User ${data.username} updated` message: `User ${username} updated`
}); });
} }
}catch(error){ }catch(error){
res.status(StatusCodes.BAD_REQUEST).json({error: `An error occured: ${error}`}); res.status(StatusCodes.BAD_REQUEST).json({error: `An error occured: ${error}`});
} }
}else{ }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){ }catch (error){
res.status(StatusCodes.BAD_REQUEST).json({error: `An error occured: ${error}`}); res.status(StatusCodes.BAD_REQUEST).json({error: `An error occured: ${error}`});
...@@ -105,9 +105,9 @@ router.put('/:admin/update-user-account', checkExistingUser, checkUsernameField, ...@@ -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 data=req.body;
const id = data.id; const id = req.params.question_id;
try{ try{
const question = await Question.findOne({where: {id}}); const question = await Question.findOne({where: {id}});
if(question){ if(question){
...@@ -131,16 +131,16 @@ router.put('/:admin/update-question', checkExistingUser,checkIdField, verifyToke ...@@ -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) => { router.delete('/:admin/users/:username', checkExistingUser, checkUsernameField, verifyToken, async (req: express.Request, res: express.Response) => {
let data=req.body let username=req.params.username;
if(req.params.admin !== data.username) { if(req.params.admin !== username) {
try{ try{
let userDelete=await Database.deleteUser(data.username); let userDelete=await Database.deleteUser(username);
console.log(`user delete= ${userDelete}`) console.log(`user delete= ${userDelete}`)
if(userDelete === 1){ 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{ }else{
res.status(StatusCodes.NOT_FOUND).send(`User "${data.username}" not exist`); res.status(StatusCodes.NOT_FOUND).send(`User "${username}" not exist`);
} }
}catch(error){ }catch(error){
...@@ -153,15 +153,15 @@ router.delete('/:admin/delete-user-account', checkExistingUser, checkUsernameFie ...@@ -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) => { router.delete('/:admin/questions/:question_id', checkExistingUser, checkIdField, verifyToken, async (req: express.Request, res: express.Response) => {
let data = req.body let questionId=parseInt(req.params.question_id);
try { try {
let questionDelete = await Database.deleteQuestion(data.id); let questionDelete = await Database.deleteQuestion(questionId);
console.log(`question delete= ${questionDelete}`) console.log(`question delete= ${questionDelete}`)
if (questionDelete === 1) { 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 { } else {
res.status(StatusCodes.NOT_FOUND).send(`Question "${data.id}" not exist`); res.status(StatusCodes.NOT_FOUND).send(`Question "${questionId}" not exist`);
} }
} catch (error) { } catch (error) {
...@@ -172,9 +172,9 @@ router.delete('/:admin/delete-question', checkExistingUser, checkIdField, verify ...@@ -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) => { router.get('/:admin', checkExistingUser, verifyToken, async (req: express.Request, res: express.Response) => {
const data = req.body const username = req.params.admin
let user=await Database.infoUser(data.username); let user=await Database.infoUser(username);
user.dataValues.password="CONFIDENTIAL!!!" user.dataValues.password="CONFIDENTIAL!!!"
if(user){ if(user){
res.status(StatusCodes.OK).json({info_user: user.dataValues}); res.status(StatusCodes.OK).json({info_user: user.dataValues});
......
...@@ -5,11 +5,8 @@ import {checkExistingUser, TokenRequest, verifyToken} from "./middleware"; ...@@ -5,11 +5,8 @@ import {checkExistingUser, TokenRequest, verifyToken} from "./middleware";
const router: express.Router = express.Router(); 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}); res.status(StatusCodes.OK).json({access_user: req.user});
}); });
......
...@@ -10,19 +10,15 @@ const jwt = require('jsonwebtoken'); ...@@ -10,19 +10,15 @@ const jwt = require('jsonwebtoken');
const router: express.Router = express.Router(); 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); 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 const data = req.body
let user=await Database.infoUser(req.params.username); let user=await Database.infoUser(req.params.username);
if(user){ if(user){
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment