From 383285ecd5292bf9a825e05904955b937de84cc9 Mon Sep 17 00:00:00 2001 From: Minteck Date: Sat, 4 Jun 2022 08:51:01 +0200 Subject: Initial commit --- modules/scandir.js | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 modules/scandir.js (limited to 'modules/scandir.js') diff --git a/modules/scandir.js b/modules/scandir.js new file mode 100644 index 0000000..ebd5e32 --- /dev/null +++ b/modules/scandir.js @@ -0,0 +1,49 @@ +const body = require("body/json"); +const crypto = require('crypto'); +const fs = require('fs'); + +module.exports = (req, res, entry, dbid) => { + res.writeHead(200, {'Content-Type':'application/json'}); + body(req, res, variables.bodyOptions, (err, body) => { + try { + if (err) throw err; + console.log(body); + if (typeof body.path === "string") { + let contents = []; + + let search; + if (body.path.endsWith("/")) { + search = body.path; + } else { + search = body.path + "/"; + } + + for (let item of Object.keys(heads[entry])) { + if (item.startsWith(search)) { + contents.push(item.substring(search.length).split("/")[0]); + } + } + + res.write(JSON.stringify({ + "_internal": { + "database": entry, + "node": null, + "path": null + }, + "error": 200, + "data": [...new Set(contents)] + })); + res.end(); + } else { + res.writeHead(400, {'Content-Type':'application/json'}); + res.write("{\"error\":400}"); + res.end(); + } + } catch (e) { + console.error(e); + res.writeHead(502, {'Content-Type':'application/json'}); + res.write("{\"error\":502}"); + res.end(); + } + }) +} \ No newline at end of file -- cgit