index.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. const fs = require("node:fs");
  2. const express = require("express");
  3. const app = express();
  4. const port = 7788;
  5. const data = "./data.json";
  6. app.use(express.json());
  7. // Add Access Control Allow Origin headers
  8. app.use((req, res, next) => {
  9. res.setHeader("Access-Control-Allow-Origin", "*");
  10. res.header(
  11. "Access-Control-Allow-Headers",
  12. "Origin, X-Requested-With, Content-Type, Accept",
  13. );
  14. next();
  15. });
  16. app.get("/api/text", (req, res) => {
  17. fs.readFile("data.json", "utf8", (err, data) => {
  18. if (err) {
  19. res.send(err);
  20. return;
  21. }
  22. res.send(data);
  23. });
  24. });
  25. app.post("/api/add", (req, res) => {
  26. let content = {};
  27. if (req.body) {
  28. content = req.body;
  29. } else {
  30. console.log("AAAA");
  31. res.send("ERROR: NO BODY SPECIFIED");
  32. return;
  33. }
  34. let text = content.text;
  35. fs.readFile("data.json", "utf8", (err, data) => {
  36. if (err) {
  37. res.send(err);
  38. return;
  39. }
  40. let array = JSON.parse(data)["text-array"];
  41. array.push(text);
  42. let arrjson = '{"text-array": [';
  43. for (let i in array) {
  44. if (i == array.length - 1) {
  45. arrjson += '"' + array[i] + '"';
  46. } else {
  47. arrjson += '"' + array[i] + '",';
  48. }
  49. }
  50. arrjson += "]}";
  51. fs.writeFileSync("data.json", arrjson);
  52. res.send(text);
  53. });
  54. });
  55. app.post("/api/remove", (req, res) => {
  56. let content = {};
  57. if (req.body) {
  58. content = req.body;
  59. } else {
  60. res.send("ERROR: NO BODY SPECIFIED");
  61. return;
  62. }
  63. let id = content.id;
  64. console.log(id);
  65. fs.readFile("data.json", "utf8", (err, data) => {
  66. if (err) {
  67. res.send(err);
  68. return;
  69. }
  70. let array = JSON.parse(data)["text-array"];
  71. array.splice(id, 1);
  72. let arrjson = '{"text-array": [';
  73. for (let i in array) {
  74. if (i == array.length - 1) {
  75. arrjson += '"' + array[i] + '"';
  76. } else {
  77. arrjson += '"' + array[i] + '",';
  78. }
  79. }
  80. arrjson += "]}";
  81. fs.writeFileSync("data.json", arrjson);
  82. });
  83. res.send("Removed element at id: " + id);
  84. });
  85. app.listen(port, () => {
  86. console.log(`Example app listening on port ${port}`);
  87. });