Skip to content

Commit abd6094

Browse files
committed
Added api end point for getting products data from files inside data directory
1 parent 3fcafec commit abd6094

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

server/app.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const app = express();
44
const cors = require("cors");
55
app.use(cors());
66
const fs = require("fs");
7+
const path = require("path");
78

89
const scrapeDynamicWebpage = require("./scrapers/dynamincSiteScraper");
910
const scrapeStaticWebpage = require("./scrapers/staticSiteScraper");
@@ -12,19 +13,32 @@ const scrapeStaticWebpage = require("./scrapers/staticSiteScraper");
1213
var folder = "./data";
1314

1415
if (!fs.existsSync(folder)) {
15-
fs.mkdirSync(folder);
16-
console.log("Folder Created Successfully.");
16+
fs.mkdirSync(folder);
17+
console.log("Folder Created Successfully.");
1718
}
1819
app.get("/", function (req, res) {
19-
res.send("Happy web scraping");
20+
res.send("Happy web scraping");
2021
});
2122

22-
app.get("/items", function (req, res) {
23-
res.json(data);
23+
app.get("/api/v1/items", function (req, res) {
24+
fs.readdir("./data", (err, files) => {
25+
if (err) {
26+
console.error(err);
27+
res.status(500).send(err);
28+
} else {
29+
let data = {};
30+
files.forEach((file) => {
31+
const filePath = path.join("./data", file);
32+
const fileData = JSON.parse(fs.readFileSync(filePath, "utf8"));
33+
data[file] = fileData;
34+
});
35+
res.json(data);
36+
}
37+
});
2438
});
2539

2640
app.listen(PORT, () => {
27-
console.log("Server running on port " + PORT);
41+
console.log("Server running on port " + PORT);
2842
});
2943

3044
// scrapeDynamicWebpage();

0 commit comments

Comments
 (0)