forked from apxtri/apxtrib
38 lines
1.1 KiB
JavaScript
Executable File
38 lines
1.1 KiB
JavaScript
Executable File
const express = require( 'express' );
|
|
const config = require( '../tribes/townconf.js' );
|
|
|
|
// Classes
|
|
const Nationchains = require( '../models/Nationchains.js' );
|
|
// Middlewares
|
|
const checkHeaders = require( '../middlewares/checkHeaders' );
|
|
const isAuthenticated = require( '../middlewares/isAuthenticated' );
|
|
const hasAccessrighton = require( '../middlewares/hasAccessrighton' );
|
|
const router = express.Router();
|
|
|
|
/*
|
|
Manage the social world
|
|
|
|
@Todo
|
|
|
|
Manage a new nation
|
|
A major create a nation with at least a town => nation:{name, towns:[]} contracts/nationname.js + contracts/townsname.js
|
|
Manage a new towns in a nation => update nation:[nationname:towns:[]} contracts/townname.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
router.post( '/push', checkHeaders, ( req, res ) => {
|
|
// Get information from other apxtrib instance in req.body
|
|
// check req.body.hashnext => means this is a candidate to validate next block
|
|
//
|
|
// return it's own information back with the last call to Nationchains.synchronize()
|
|
res.send( { status: 200, payload: { moreinfo: fs.readFileSync( `${config.tribes}/${config.mayorId}/nationchains/nodes/${config.rootURL}`, 'utf-8' ) } } )
|
|
} )
|
|
|
|
|
|
module.exports = router;
|