aboutsummaryrefslogtreecommitdiff
path: root/api/routes/getInnerIPFSContent/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'api/routes/getInnerIPFSContent/index.js')
-rw-r--r--api/routes/getInnerIPFSContent/index.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/api/routes/getInnerIPFSContent/index.js b/api/routes/getInnerIPFSContent/index.js
new file mode 100644
index 0000000..555d2a3
--- /dev/null
+++ b/api/routes/getInnerIPFSContent/index.js
@@ -0,0 +1,32 @@
+const { spawn } = require('child_process');
+const fs = require("fs");
+const config = require("../../config");
+
+/*
+ * Gets the local latest zblock
+ *
+ * Returns:
+ * - JSON object
+ * { zlatest: "Qm..." }
+ *
+ */
+function fetchZblock(zblock, res){
+ res.send(fs.readFileSync(config.workDir+"/ipfs/"+zblock));
+};
+module.exports = (req, res) => {
+ console.log(req.query)
+ if ( (req.query.ipfs) && req.query.ipfs.length === 46 ){
+ regex= /Qm[A-Za-z0-9]{44}/;
+ if (regex.test(req.query.ipfs)){
+ if (req.query.ipfs === "QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH" ){
+ res.send({errno:"Genesis block"});
+ } else {
+ fetchZblock(req.query.ipfs,res);
+ }
+ } else {
+ res.send({errno:"Invalid data: regexp failed to pass"});
+ }
+ } else {
+ res.send({errno:"Invalid data: no valid zblock was provided"});
+ }
+}