const fs = require("node:fs"); const express = require("express"); const app = express(); const port = 7788; const data = "./data.json"; app.use(express.json()); // Add Access Control Allow Origin headers app.use((req, res, next) => { res.setHeader("Access-Control-Allow-Origin", "*"); res.header( "Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept", ); next(); }); app.get("/api/text", (req, res) => { fs.readFile("data.json", "utf8", (err, data) => { if (err) { res.send(err); return; } res.send(data); }); }); app.post("/api/add", (req, res) => { let content = {}; if (req.body) { content = req.body; } else { console.log("AAAA"); res.send("ERROR: NO BODY SPECIFIED"); return; } let text = content.text; fs.readFile("data.json", "utf8", (err, data) => { if (err) { res.send(err); return; } let array = JSON.parse(data)["text-array"]; array.push(text); let arrjson = '{"text-array": ['; for (let i in array) { if (i == array.length - 1) { arrjson += '"' + array[i] + '"'; } else { arrjson += '"' + array[i] + '",'; } } arrjson += "]}"; fs.writeFileSync("data.json", arrjson); res.send(text); }); }); app.post("/api/remove", (req, res) => { let content = {}; if (req.body) { content = req.body; } else { res.send("ERROR: NO BODY SPECIFIED"); return; } let id = content.id; console.log(id); fs.readFile("data.json", "utf8", (err, data) => { if (err) { res.send(err); return; } let array = JSON.parse(data)["text-array"]; array.splice(id, 1); let arrjson = '{"text-array": ['; for (let i in array) { if (i == array.length - 1) { arrjson += '"' + array[i] + '"'; } else { arrjson += '"' + array[i] + '",'; } } arrjson += "]}"; fs.writeFileSync("data.json", arrjson); }); res.send("Removed element at id: " + id); }); app.listen(port, () => { console.log(`Example app listening on port ${port}`); });