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 {
//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) => {
......
......@@ -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});
......
......@@ -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});
});
......
......@@ -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){
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment