Skip to content
Snippets Groups Projects
Commit 43b733ce authored by Chif Gergő's avatar Chif Gergő
Browse files

Use the response object to share data between middlewares

parent 37cd1d74
No related branches found
No related tags found
2 merge requests!10Feature/12 dev auto deploy,!6Feature/news api
import { Request, Response, NextFunction } from 'express'; import { Request, Response, NextFunction } from "express";
import News from '../../models/NewsSchema'; import News from "../../models/NewsSchema";
const addNews = () => { const addNews = () => {
return (req: Request, res: Response, next: NextFunction) => { return (req: Request, res: Response, next: NextFunction) => {
const news = new News(); const news = new News();
news.title = req.body.title; news.title = req.body.title;
news.text = req.body.text; news.text = req.body.text;
news.publishedAt = new Date().toDateString() news.publishedAt = new Date().toDateString();
news.save((err) => { news.save(err => {
if(err){ if (err) {
} else {
} else { res.status(201);
res.status(201) res.data.newsObject = news;
res.json(news) }
}; next();
}); });
}; };
}; };
export default addNews; export default addNews;
\ No newline at end of file
import { Request, Response, NextFunction } from 'express'; import { Request, Response, NextFunction } from "express";
import News from '../../models/NewsSchema'; import News from "../../models/NewsSchema";
const deleteNews = () => { const deleteNews = () => {
return (req: Request, res: Response, next: NextFunction) => { return (req: Request, res: Response, next: NextFunction) => {
News.findByIdAndDelete(req.params.id, (error, result) => { News.findByIdAndDelete(req.params.id, (error, result) => {
if(!error){ if (!error) {
res.status(204); res.status(204);
res.json({}); res.json({});
} else { } else {
console.warn(error); console.warn(error);
} }
}) });
} };
} };
export default deleteNews; export default deleteNews;
\ No newline at end of file
import { Request, Response, NextFunction } from 'express'; import { Request, Response, NextFunction } from "express";
import News from '../../models/NewsSchema'; import News from "../../models/NewsSchema";
const getNews = () => { const getNews = () => {
return (req: Request, res: Response, next: NextFunction) => { return (req: Request, res: Response, next: NextFunction) => {
News.findById(req.params.id, (error, result) => {
News.findById(req.params.id, (error, result) => { if (!error) {
if(!error){ res.status(200);
res.status(200); res.data.newsObject = result;
res.json(result); } else {
} else { console.warn(error);
console.warn(error); }
} next();
}) });
};
};
}; };
export default getNews; export default getNews;
\ No newline at end of file
import { Request, Response, NextFunction } from 'express'; import { Request, Response, NextFunction } from "express";
import News from '../../models/NewsSchema'; import News from "../../models/NewsSchema";
const getNewsList = () => { const getNewsList = () => {
return (req: Request, res: Response, next: NextFunction) => { return (req: Request, res: Response, next: NextFunction) => {
News.find({}, (err, news) => { News.find({}, (err, news) => {
if(!err){ if (!err) {
res.json({ news: news}); res.data.news = news;
} }
}); next();
} });
};
} };
export default getNewsList; export default getNewsList;
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment