aboutsummaryrefslogtreecommitdiff
path: root/api/routes/getZblock
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2023-04-03 08:22:39 +0300
committerkaotisk <kaotisk@arching-kaos.org>2023-04-03 08:22:39 +0300
commit2f11539eef545fc0a9761693ae55e837b460beac (patch)
tree566e38f9aee9f0ffc3bc68877ed20767182492c7 /api/routes/getZblock
parent05ea0e3dca7209d1490658014c5e598e4d4dfdc4 (diff)
downloadarching-kaos-tools-2f11539eef545fc0a9761693ae55e837b460beac.tar.gz
arching-kaos-tools-2f11539eef545fc0a9761693ae55e837b460beac.tar.bz2
arching-kaos-tools-2f11539eef545fc0a9761693ae55e837b460beac.zip
Added ak-zblock-show with appropriate route in API with caching feature
Diffstat (limited to 'api/routes/getZblock')
-rw-r--r--api/routes/getZblock/index.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/api/routes/getZblock/index.js b/api/routes/getZblock/index.js
new file mode 100644
index 0000000..af14ae3
--- /dev/null
+++ b/api/routes/getZblock/index.js
@@ -0,0 +1,35 @@
+const { spawn } = require('child_process');
+const fs = require("fs");
+const config = require("../../config");
+
+/*
+ * Gets the local latest zblock
+ *
+ * Returns:
+ * - JSON object
+ * { zlatest: "Qm..." }
+ *
+ */
+module.exports = (req, res) => {
+ const command = spawn("ak-zblock-cache",[req.query.zblock]);
+ command.stdout.on("data", data => {
+ });
+
+ command.stderr.on("data", data => {
+ console.log(`stderr: ${data}`);
+ });
+
+ command.on('error', (error) => {
+ console.log(`error: ${error.message}`);
+ });
+
+ command.on("close", code => {
+ console.log(`child process exited with code ${code}`);
+
+ if ( code == 0 ) {
+ res.send(JSON.parse(fs.readFileSync(config.zblockDir+"/"+req.query.zblock)));
+ } else {
+ res.send({"error":"error"});
+ }
+ });
+};