From 43b733ceac1fa01ffd52e79e268096fd63fecb92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chif=20Gerg=C5=91?= <chif.gergo@kszk.bme.hu> Date: Mon, 9 Mar 2020 22:57:10 +0100 Subject: [PATCH] Use the response object to share data between middlewares --- src/middlewares/news/addNews.ts | 35 ++++++++++++++--------------- src/middlewares/news/deleteNews.ts | 29 ++++++++++++------------ src/middlewares/news/getNews.ts | 30 ++++++++++++------------- src/middlewares/news/getNewsList.ts | 27 +++++++++++----------- 4 files changed, 58 insertions(+), 63 deletions(-) diff --git a/src/middlewares/news/addNews.ts b/src/middlewares/news/addNews.ts index 7e802e74..43c6437f 100644 --- a/src/middlewares/news/addNews.ts +++ b/src/middlewares/news/addNews.ts @@ -1,23 +1,22 @@ -import { Request, Response, NextFunction } from 'express'; -import News from '../../models/NewsSchema'; - +import { Request, Response, NextFunction } from "express"; +import News from "../../models/NewsSchema"; const addNews = () => { - return (req: Request, res: Response, next: NextFunction) => { - const news = new News(); - news.title = req.body.title; - news.text = req.body.text; - news.publishedAt = new Date().toDateString() + return (req: Request, res: Response, next: NextFunction) => { + const news = new News(); + news.title = req.body.title; + news.text = req.body.text; + news.publishedAt = new Date().toDateString(); - news.save((err) => { - if(err){ - - } else { - res.status(201) - res.json(news) - }; - }); - }; + news.save(err => { + if (err) { + } else { + res.status(201); + res.data.newsObject = news; + } + next(); + }); + }; }; -export default addNews; \ No newline at end of file +export default addNews; diff --git a/src/middlewares/news/deleteNews.ts b/src/middlewares/news/deleteNews.ts index affd9ba7..7f633037 100644 --- a/src/middlewares/news/deleteNews.ts +++ b/src/middlewares/news/deleteNews.ts @@ -1,18 +1,17 @@ -import { Request, Response, NextFunction } from 'express'; -import News from '../../models/NewsSchema'; - +import { Request, Response, NextFunction } from "express"; +import News from "../../models/NewsSchema"; const deleteNews = () => { - return (req: Request, res: Response, next: NextFunction) => { - News.findByIdAndDelete(req.params.id, (error, result) => { - if(!error){ - res.status(204); - res.json({}); - } else { - console.warn(error); - } - }) - } -} + return (req: Request, res: Response, next: NextFunction) => { + News.findByIdAndDelete(req.params.id, (error, result) => { + if (!error) { + res.status(204); + res.json({}); + } else { + console.warn(error); + } + }); + }; +}; -export default deleteNews; \ No newline at end of file +export default deleteNews; diff --git a/src/middlewares/news/getNews.ts b/src/middlewares/news/getNews.ts index b0bebcb2..e48a3d6c 100644 --- a/src/middlewares/news/getNews.ts +++ b/src/middlewares/news/getNews.ts @@ -1,20 +1,18 @@ -import { Request, Response, NextFunction } from 'express'; -import News from '../../models/NewsSchema'; - +import { Request, Response, NextFunction } from "express"; +import News from "../../models/NewsSchema"; const getNews = () => { - return (req: Request, res: Response, next: NextFunction) => { - - News.findById(req.params.id, (error, result) => { - if(!error){ - res.status(200); - res.json(result); - } else { - console.warn(error); - } - }) - - }; + return (req: Request, res: Response, next: NextFunction) => { + News.findById(req.params.id, (error, result) => { + if (!error) { + res.status(200); + res.data.newsObject = result; + } else { + console.warn(error); + } + next(); + }); + }; }; -export default getNews; \ No newline at end of file +export default getNews; diff --git a/src/middlewares/news/getNewsList.ts b/src/middlewares/news/getNewsList.ts index 4c58564b..c55aa8a2 100644 --- a/src/middlewares/news/getNewsList.ts +++ b/src/middlewares/news/getNewsList.ts @@ -1,16 +1,15 @@ -import { Request, Response, NextFunction } from 'express'; -import News from '../../models/NewsSchema'; - +import { Request, Response, NextFunction } from "express"; +import News from "../../models/NewsSchema"; const getNewsList = () => { - return (req: Request, res: Response, next: NextFunction) => { - News.find({}, (err, news) => { - if(!err){ - res.json({ news: news}); - } - }); - } - -} - -export default getNewsList; \ No newline at end of file + return (req: Request, res: Response, next: NextFunction) => { + News.find({}, (err, news) => { + if (!err) { + res.data.news = news; + } + next(); + }); + }; +}; + +export default getNewsList; -- GitLab