diff --git a/src/middlewares/user/addUser.ts b/src/middlewares/user/addUser.ts index 8745d6311891755a1d75ded3af7e1406a49aa7c2..af47ce6e30550e456d1b0db66100258cdc929114 100644 --- a/src/middlewares/user/addUser.ts +++ b/src/middlewares/user/addUser.ts @@ -22,7 +22,7 @@ const addUser = () => (req: Request, res: Response, next: NextFunction) => { res.status(201); res.data = {profile}; } - res.json(profile); + next() }); } diff --git a/src/middlewares/user/deleteUser.ts b/src/middlewares/user/deleteUser.ts index 5e31308bd73e06b42318ae2e83295efc40de6785..fe4eb181a4e0424b637227bf5cb8d5f67cfcd187 100644 --- a/src/middlewares/user/deleteUser.ts +++ b/src/middlewares/user/deleteUser.ts @@ -5,11 +5,10 @@ const deletUser = () => (req: Request, res: Response, next: NextFunction) => { Profile.findByIdAndDelete(req.params.id, (error) => { if (error) { res.status(400); - } else { res.status(204); } - res.json({}); + next(); }); } diff --git a/src/middlewares/user/getUser.ts b/src/middlewares/user/getUser.ts index 8988a784ee70c13965f0bf5028e47482c3122864..0f165ef4f5276bf5ba84b0f1cfb1cef2f4f63d34 100644 --- a/src/middlewares/user/getUser.ts +++ b/src/middlewares/user/getUser.ts @@ -1,17 +1,17 @@ -import {Request, Response, NextFunction} from 'express'; +import { Request, Response, NextFunction } from 'express'; import Profile from '../../models/ProfileSchema'; -const getUser = () => (req: Request, res: Response, next: NextFunction) =>{ - Profile.findById(req.params.id, (error, profile) => { - if (!error) { - res.status(200); - res.data = {profile}; - } else { - console.warn(error); - res.status(400); - } - res.json(profile); - }); +const getUser = () => (req: Request, res: Response, next: NextFunction) => { + Profile.findById(req.params.id, (error, profile) => { + if (error) { + console.warn(error); + res.status(400); + } else { + res.status(200); + res.data = { profile }; + } + next(); + }); } export default getUser; \ No newline at end of file diff --git a/src/middlewares/user/getUsersList.ts b/src/middlewares/user/getUsersList.ts index e05b7527bffa38be94e98e601425289d4340d13d..5cd7a515512c99f6ba85587244de281666250d39 100644 --- a/src/middlewares/user/getUsersList.ts +++ b/src/middlewares/user/getUsersList.ts @@ -10,7 +10,7 @@ const getUsersList = () => (req: Request, res: Response, next: NextFunction) =>{ res.status(200); res.data = {profiles} } - res.json(profiles); + next(); }) } diff --git a/src/middlewares/user/responseUser.ts b/src/middlewares/user/responseUser.ts new file mode 100644 index 0000000000000000000000000000000000000000..07d6958cbdeade91bea4ae0d8a24ba6b9f6dafb1 --- /dev/null +++ b/src/middlewares/user/responseUser.ts @@ -0,0 +1,7 @@ +import { Request, Response, NextFunction, response } from 'express'; + +const responseUser = () => (req: Request, res: Response) => { + res.json(res.data.profile); +} + +export default responseUser; \ No newline at end of file diff --git a/src/middlewares/user/responseUserList.ts b/src/middlewares/user/responseUserList.ts new file mode 100644 index 0000000000000000000000000000000000000000..364b3c490615cf41d242baa211dd95cac0bde51a --- /dev/null +++ b/src/middlewares/user/responseUserList.ts @@ -0,0 +1,7 @@ +import { Request, Response, NextFunction, response } from 'express'; + +const responseUserList = () => (req: Request, res: Response) => { + res.json(res.data.profiles); +} + +export default responseUserList; \ No newline at end of file diff --git a/src/middlewares/user/updateUser.ts b/src/middlewares/user/updateUser.ts index 712fa553be08adac8f9e97dab908441a9d942604..2097af527aff8f1f91a540563ebb766caccc9abe 100644 --- a/src/middlewares/user/updateUser.ts +++ b/src/middlewares/user/updateUser.ts @@ -4,29 +4,25 @@ import Profile from '../../models/ProfileSchema'; const updateUser = () => (req: Request, res: Response, next: NextFunction) => { const validFields = ['studentCardNumber', 'roomNumber', 'picture']; Profile.findOne( - {_id : req.params.id}, - (error, profile) => { + {_id : req.params.id}, + (error, profile) => { + res.status(200); + if (error) { res.status(400); - if (error) { - res.status(400); - - } - else { - if(profile){ - - validFields.forEach(field => { - const value = req.body[field] - if(value) - profile.set(field, value); - }); - - res.status(200); - profile.save(); - res.data = {profile}; - } - } - res.json(profile); + } + else { + if(profile){ + validFields.forEach(field => { + const value = req.body[field] + if(value) + profile.set(field, value); + }); + profile.save(); + res.data = {profile}; + } } + next(); + } ); } diff --git a/src/middlewares/utils/emptyResponse.ts b/src/middlewares/utils/emptyResponse.ts new file mode 100644 index 0000000000000000000000000000000000000000..60be09bb11e956e78c3db4ca2f3b886574b25535 --- /dev/null +++ b/src/middlewares/utils/emptyResponse.ts @@ -0,0 +1,5 @@ +import { Request, Response } from 'express'; + + + +const emptyResponse = () => (req: Request, res: Response) => res.json({}); \ No newline at end of file diff --git a/src/routes/user.ts b/src/routes/user.ts index c3baf0ac9e16ea9701e143356782240d442791b5..cb39dd4dc86d6b16ec0c0cd11250047bb530511e 100644 --- a/src/routes/user.ts +++ b/src/routes/user.ts @@ -10,14 +10,18 @@ import updateUser from "../middlewares/user/updateUser"; import updateWarning from "../middlewares/user/updateWarning"; import addUser from '../middlewares/user/addUser'; import authenticated from '../middlewares/auth/authenticated'; +import emptyResponse from 'src/middlewares/utils/emptyResponse'; +import responseUser from 'src/middlewares/user/responseUser'; +import responseUserList from 'src/middlewares/user/responseUserList'; + const usersRoute = (app: Application): void => { - app.get('/users', authenticated(), getUsersList() ); + app.get('/users', authenticated(), getUsersList(), responseUserList()); - app.post('/users', authenticated(), addUser() ); + app.post('/users', authenticated(), addUser(), responseUser()); - app.get('/users/:id', getUser() ); + app.get('/users/:id', getUser(), responseUser() ); app.get('/users/:id/warnings', getWarningsList() ); @@ -25,11 +29,11 @@ import authenticated from '../middlewares/auth/authenticated'; app.post('/users/:id/warnings', addWarning()); - app.put('/users/:id', updateUser()); + app.put('/users/:id', updateUser(), responseUser() ); app.put('/users/:userId/warnings/:warningId', updateWarning()); - app.delete('/users/:id', deleteUser()); + app.delete('/users/:id', deleteUser(), emptyResponse()); app.delete('/users/:userId/warnings/:warningId', deleteWarning()); }