Skip to content

Commit 43e8d2b

Browse files
committed
feat: get related news
1 parent d28d21f commit 43e8d2b

File tree

4 files changed

+768
-706
lines changed

4 files changed

+768
-706
lines changed

controllers/blog.controller.js

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
const httpStatus = require("http-status");
2-
const bbcNews = require("../store/bbc.json");
3-
const cnnNews = require("../store/cnn.json");
4-
const allNews = [...bbcNews, ...cnnNews];
2+
const allNews = require("../store/data.json");
53

64
const getAllNews = (req, res) => {
75
const category = req.query.category;
@@ -29,10 +27,15 @@ const getSingleNews = (req, res) => {
2927
});
3028
}
3129

30+
const related_news = getRelatedNews(singleNews);
31+
3232
return res.status(httpStatus.OK).send({
3333
success: true,
3434
message: "Returned news successfully",
35-
result: singleNews,
35+
result: {
36+
data: singleNews,
37+
related_news: related_news
38+
},
3639
});
3740
};
3841

@@ -41,11 +44,7 @@ const getNewsByType = (req, res) => {
4144
const category = req.query.category;
4245
let news = [];
4346

44-
if (type == "bbc") {
45-
news = bbcNews;
46-
} else if (type == "cnn") {
47-
news = cnnNews;
48-
}
47+
news = allNews.filter((_news) => _news.type === type)
4948

5049
if (category) {
5150
news = getNewsByCategory(news, category);
@@ -62,4 +61,8 @@ const getNewsByCategory = (news, category) => {
6261
return news.filter((_news) => _news.category === category);
6362
};
6463

64+
const getRelatedNews = (news) => {
65+
return allNews.filter((_news) => _news.category === news.category && _news.id !== news.id && _news.type === news.type);
66+
};
67+
6568
module.exports = { getAllNews, getSingleNews, getNewsByType };

0 commit comments

Comments
 (0)