aboutsummaryrefslogtreecommitdiff
path: root/api/routes/announceZChain
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2024-03-01 02:47:10 +0200
committerkaotisk <kaotisk@arching-kaos.org>2024-03-01 02:47:10 +0200
commit6cb0efc1abeccd8f6a9c7ca7f209ff22c42341bd (patch)
tree17d514ffe79223d303229da97f114eebb4f3f052 /api/routes/announceZChain
parent11cd4029ee6e1e5368be22742827dba1547cfc71 (diff)
downloadarching-kaos-tools-6cb0efc1abeccd8f6a9c7ca7f209ff22c42341bd.tar.gz
arching-kaos-tools-6cb0efc1abeccd8f6a9c7ca7f209ff22c42341bd.tar.bz2
arching-kaos-tools-6cb0efc1abeccd8f6a9c7ca7f209ff22c42341bd.zip
Renamed functions and routes
receive* -> announce* szbk -> /v0/announce/zblock szch -> /v0/announce/zchain
Diffstat (limited to 'api/routes/announceZChain')
-rw-r--r--api/routes/announceZChain/index.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/api/routes/announceZChain/index.js b/api/routes/announceZChain/index.js
new file mode 100644
index 0000000..092b6a9
--- /dev/null
+++ b/api/routes/announceZChain/index.js
@@ -0,0 +1,49 @@
+/*
+ * After NS validation went through we examine the return code
+ * of the application that run the test.
+ *
+ * Returns:
+ * - error on failure
+ * - on success we process with addNSEntriesToFile()
+ *
+ */
+function continuethingsNS(validitycode,sh,res,gotit){
+ if (validitycode === 0){
+ var entry = {
+ zchain: sh,
+ latest: JSON.parse(gotit).Path.replace('/ipfs/','')
+ };
+ addNSEntriesToFile(entry,res);
+ } else {
+ res.send({error:"Invalid data"});
+ }
+}
+/*
+ * Accepts a zchain
+ *
+ * Checks:
+ * 1. Exists,
+ * 2. Length is 62 bytes,
+ * 3. Matches regular expression /k51qzi5uqu5d[A-Za-z0-9]{50}/
+ *
+ * Returns:
+ * - error on failure
+ * - on success the string is processed for further validation to the
+ * function getNSvalidity()
+ *
+ */
+const getNSvalidity = require('../../validators/ZchainValidator')
+
+module.exports = (req, res) => {
+ console.log(req);
+ if ( (req.body.zchain) && req.body.zchain.length === 62 ){//&& req.body.block_signature.length === 46){
+ regex= /k51qzi5uqu5d[A-Za-z0-9]{50}/
+ if (regex.test(req.body.zchain)){ // && regex.test(req.body.block_signature)){
+ getNSvalidity(req.body.zchain,res);
+ } else {
+ res.send({error:"Invalid data"});
+ }
+ } else {
+ res.send({error:"Invalid data"});
+ }
+}