aboutsummaryrefslogtreecommitdiff
path: root/modules/delete.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-06-04 08:51:01 +0200
committerMinteck <contact@minteck.org>2022-06-04 08:51:01 +0200
commit383285ecd5292bf9a825e05904955b937de84cc9 (patch)
tree0a53b6f02c1604b078044567c03dc1b6c944c8c2 /modules/delete.js
downloadequestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.gz
equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.tar.bz2
equestriadb-383285ecd5292bf9a825e05904955b937de84cc9.zip
Initial commit
Diffstat (limited to 'modules/delete.js')
-rw-r--r--modules/delete.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/modules/delete.js b/modules/delete.js
new file mode 100644
index 0000000..928b7b3
--- /dev/null
+++ b/modules/delete.js
@@ -0,0 +1,35 @@
+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) => {
+ if (err) throw err;
+ console.log(body);
+ if (typeof body.path === "string") {
+ node = crypto.createHash('md5').update(body.path).digest('hex');
+ file = "/data/" + dbid + "/" + node.substring(0, 2) + "/" + node;
+
+ if (fs.existsSync(__dirname + "/../" + file)) {
+ fs.unlinkSync(__dirname + "/../" + file);
+ }
+ delete heads[entry][body.path];
+ fs.writeFileSync(__dirname + "/../data/" + dbid + "/HEAD", Buffer.from(JSON.stringify(heads[entry])).toString("hex"));
+
+ res.write(JSON.stringify({
+ "_internal": {
+ "database": entry,
+ "node": node,
+ "path": file
+ },
+ "error": 200
+ }));
+ res.end();
+ } else {
+ res.writeHead(400, {'Content-Type':'application/json'});
+ res.write("{\"error\":400}");
+ res.end();
+ }
+ })
+} \ No newline at end of file