/ api / routes / index.js
index.js
 1  const settings = require('../settings');
 2  const {Router} = require('express');
 3  const cors = require('cors');
 4  const hi = require('./default');
 5  const seeNSEntriesFile = require('./showNSEntriesFile');
 6  const seeEntriesFile = require('./showEntriesFile');
 7  const getSLatest = require('./getSLatest');
 8  const getZLatest = require('./getZLatest');
 9  const getSBlock = require('./getSBlock');
10  const getZChain = require('./getZChain');
11  const announceZBlock = require('./announceZBlock');
12  const announceZChain = require('./announceZChain');
13  const getZblock = require('./getZblock');
14  const getMrk = require('./getMrk');
15  const getTr = require('./getTr');
16  const getNodeInfo = require('./getNodeInfo');
17  const getPeers = require('./getPeers');
18  const getInnerIPFSContent = require('./getInnerIPFSContent');
19  const corsOptions = {
20      origin: '*',
21      optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
22  };
23  const router = new Router();
24  // Basic route, welcomes and provides the available routes to the visitor
25  router.route('/').get(hi);
26  
27  /*
28   * Replies with contents of files
29   *
30   */
31  // Gathered zchain zlatest pairs
32  router.route(settings.URL_PREFIX+'/seens').get(seeNSEntriesFile);
33  // Gathered zblocks
34  router.route(settings.URL_PREFIX+'/see').get(seeEntriesFile);
35  // Latest known mined block
36  router.route(settings.URL_PREFIX+'/slatest').get(getSLatest);
37  // Shows a mined block (provided that /sblock?sblock=SHA512 hash)
38  router.route(settings.URL_PREFIX+'/sblock/:sblock').get(getSBlock);
39  // Outputs node's local chain
40  router.route(settings.URL_PREFIX+'/zchain').get(getZChain);
41  // Returns latest zblock from node's local chain
42  router.route(settings.URL_PREFIX+'/zlatest').get(getZLatest);
43  // Returns local node's info
44  router.route(settings.URL_PREFIX+'/node_info').get(getNodeInfo);
45  // Returns local node's peers
46  router.route(settings.URL_PREFIX+'/peers').get(getPeers);
47  // Returns content
48  router.route(settings.URL_PREFIX+'/content').get(getInnerIPFSContent);
49  // Returns zblock
50  router.route(settings.URL_PREFIX+'/zblock/:zblock').get(getZblock);
51  // Returns a mrk
52  router.route(settings.URL_PREFIX+'/mrk/:mrk').get(getMrk);
53  // Returns a tr
54  router.route(settings.URL_PREFIX+'/tr/:tr').get(getTr);
55  // Send a block to the node (zchain block)
56  router.route(settings.URL_PREFIX+'/announce/zblock').post(announceZBlock);
57  // Send a zchain link to the node (refering to a valid zchain out there)
58  router.route(settings.URL_PREFIX+'/announce/zchain').post(announceZChain);
59  
60  router.route('/*').get((req,res)=>{console.log(req.url);res.send({error:"404"})});
61  router.route('/*').post((req,res)=>{console.log(req.url);res.send({error:"404"})});
62  router.route('/*').put((req,res)=>{console.log(req.url);res.send({error:"404"})});
63  router.route('/*').delete((req,res)=>{console.log(req.url);res.send({error:"404"})});
64  router.route('/*').patch((req,res)=>{console.log(req.url);res.send({error:"404"})});
65  module.exports = router;