56 lines
1.2 KiB
JavaScript
56 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
var bitcore = require('bitcore');
|
|
var _ = bitcore.deps._;
|
|
var $ = bitcore.util.preconditions;
|
|
var Block = bitcore.Block;
|
|
|
|
// mocks
|
|
|
|
var mockBlocks = require('../test/data/blocks');
|
|
|
|
function Blocks() {}
|
|
|
|
var node;
|
|
Blocks.setNode = function(aNode) {
|
|
node = aNode;
|
|
};
|
|
|
|
|
|
// params
|
|
Blocks.blockHashParam = function(req, res, next, blockHash) {
|
|
// TODO: fetch block from service
|
|
var block = mockBlocks[blockHash];
|
|
|
|
if (_.isUndefined(block)) {
|
|
res.status(404).send('Block with id ' + blockHash + ' not found');
|
|
return;
|
|
}
|
|
req.block = block;
|
|
next();
|
|
};
|
|
|
|
Blocks.heightParam = function(req, res, next, height) {
|
|
// TODO: fetch block from service
|
|
var block = mockBlocks[Object.keys(mockBlocks)[height]];
|
|
|
|
if (_.isUndefined(block)) {
|
|
res.status(404).send('Block with height ' + height + ' not found');
|
|
return;
|
|
}
|
|
req.block = block;
|
|
next();
|
|
};
|
|
|
|
Blocks.getBlock = function(req, res) {
|
|
$.checkState(req.block instanceof Block);
|
|
res.send(req.block.toObject());
|
|
};
|
|
|
|
Blocks.getBlockError = function(req, res) {
|
|
res.status(422);
|
|
res.send('/v1/blocks/ parameter must be a 64 digit hex or block height integer');
|
|
};
|
|
|
|
module.exports = Blocks;
|