aboutsummaryrefslogtreecommitdiff
path: root/api/routes/receiveZChain/index.js
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2023-03-30 01:09:30 +0300
committerkaotisk <kaotisk@arching-kaos.org>2023-03-30 01:09:30 +0300
commite2da6d2db20093ebd2a65aad35c9991ab1a02176 (patch)
treee5c77a8f4a6fd106b13b659e248cab5768d07cdc /api/routes/receiveZChain/index.js
parenta4901ad47d2945e9a6c6616661840c97ebbf03e7 (diff)
downloadarching-kaos-tools-e2da6d2db20093ebd2a65aad35c9991ab1a02176.tar.gz
arching-kaos-tools-e2da6d2db20093ebd2a65aad35c9991ab1a02176.tar.bz2
arching-kaos-tools-e2da6d2db20093ebd2a65aad35c9991ab1a02176.zip
Introducing an HTTP JSON API
Diffstat (limited to 'api/routes/receiveZChain/index.js')
-rw-r--r--api/routes/receiveZChain/index.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/api/routes/receiveZChain/index.js b/api/routes/receiveZChain/index.js
new file mode 100644
index 0000000..85d1854
--- /dev/null
+++ b/api/routes/receiveZChain/index.js
@@ -0,0 +1,27 @@
+/*
+ * Accepts a zchain
+ *
+ * Checks:
+ * 1. Exists,
+ * 2. Length is 62 bytes,
+ * 3. Matches regular expression /k51qzi5uqu5d[A-Za-z0-9]{50}/
+ *
+ * Returns:
+ * - errno on failure
+ * - on success the string is processed for further validation to the
+ * function getNSvalidity()
+ *
+ */
+
+module.exports = (req, res) => {
+ 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({errno:"Invalid data"});
+ }
+ } else {
+ res.send({errno:"Invalid data"});
+ }
+}