Kaynağa Gözat

Add backend route for fetching images in content.

Lee Morgan 5 yıl önce
ebeveyn
işleme
12e8064ea3
3 değiştirilmiş dosya ile 48 ekleme ve 0 silme
  1. 36 0
      images.js
  2. 10 0
      main.js
  3. 2 0
      routes.js

+ 36 - 0
images.js

@@ -0,0 +1,36 @@
+const fs = require("fs");
+
+module.exports = {
+    list: function(req, res){
+        const searchDir = function(path, currentObject){
+            let response = fs.readdirSync(path);
+
+            for(let i = 0; i < response.length; i++){
+                if(response[i].includes(".") === false){
+                    let newObject = ({
+                        type: "directory",
+                        name: response[i],
+                        contents: []
+                    });
+
+                    currentObject.contents.push(newObject);
+                    searchDir(`${path}/${response[i]}`, newObject);
+                }else{
+                    currentObject.contents.push({
+                        type: "file",
+                        route: `${path}/${response[i]}`
+                    });
+                }
+            }
+
+            return currentObject;
+        }
+
+        let result = searchDir(`${__dirname}/content`, {
+            type: "directory",
+            contents: []
+        });
+
+        return res.json(result.contents[0].contents);
+    }
+}

+ 10 - 0
main.js

@@ -0,0 +1,10 @@
+const fs = require("fs");
+
+module.exports = {
+    main: function(req, res){
+        let top = fs.readdirSync("./content");
+        console.log(top);
+
+        res.sendFile(`${__dirname}/views/main/index.html`);
+    }
+}

+ 2 - 0
routes.js

@@ -1,4 +1,5 @@
 const controller = require("./controller.js");
+const images = require("./images.js");
 
 module.exports = function(app){
     let views = `${__dirname}/views`;
@@ -6,6 +7,7 @@ module.exports = function(app){
     //MAIN
     app.get("/", (req, res)=>{res.sendFile(`${views}/main/index.html`)});
     app.get("/style", (req, res)=>{res.sendFile(`${views}/main/index.css`)});
+    app.get("/getimages", images.list);
 
     //WRITING
     app.get("/writing/style", (req, res)=>{res.sendFile(`${views}/writing/index.css`)});