2014-01-07 04:48:31 -08:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Module dependencies.
|
|
|
|
*/
|
|
|
|
|
2014-01-07 13:12:37 -08:00
|
|
|
var mongoose = require('mongoose'),
|
|
|
|
Block = mongoose.model('Block');
|
|
|
|
//, _ = require('lodash');
|
|
|
|
|
2014-01-07 04:48:31 -08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Find block by hash ...
|
|
|
|
*/
|
|
|
|
exports.block = function(req, res, next, hash) {
|
2014-01-08 12:15:46 -08:00
|
|
|
Block.fromHashWithInfo(hash, function(err, block) {
|
2014-01-07 04:48:31 -08:00
|
|
|
if (err) return next(err);
|
|
|
|
if (!block) return next(new Error('Failed to load block ' + hash));
|
2014-01-08 12:15:46 -08:00
|
|
|
req.block = block.info;
|
2014-01-07 04:48:31 -08:00
|
|
|
next();
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2014-01-08 06:56:36 -08:00
|
|
|
* Show block
|
2014-01-07 04:48:31 -08:00
|
|
|
*/
|
|
|
|
exports.show = function(req, res) {
|
|
|
|
res.jsonp(req.block);
|
|
|
|
};
|
|
|
|
|
2014-01-08 04:17:41 -08:00
|
|
|
/**
|
|
|
|
* List of blocks at HomePage
|
|
|
|
*/
|
|
|
|
exports.last_blocks = function(req, res) {
|
2014-01-08 06:05:19 -08:00
|
|
|
Block.find().sort({time:-1}).limit(7).exec(function(err, blocks) {
|
2014-01-08 04:17:41 -08:00
|
|
|
if (err) {
|
|
|
|
res.render('error', {
|
|
|
|
status: 500
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
res.jsonp(blocks);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2014-01-08 06:56:36 -08:00
|
|
|
/**
|
|
|
|
* List of blocks by date
|
|
|
|
*/
|
|
|
|
exports.list = function(req, res) {
|
|
|
|
var findParam = {};
|
|
|
|
|
|
|
|
if (req.query.blockDate) {
|
|
|
|
findParam = {};
|
|
|
|
}
|
|
|
|
|
|
|
|
Block
|
|
|
|
.find(findParam)
|
|
|
|
.limit(5)
|
|
|
|
.exec(function(err, blocks) {
|
|
|
|
if (err) {
|
|
|
|
res.render('error', {
|
|
|
|
status: 500
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
res.jsonp(blocks);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
};
|