update controllers to new virtual TX model

This commit is contained in:
Matias Alejo Garcia 2014-01-27 13:10:59 -03:00
parent 66e3dd977b
commit 243f22381d
4 changed files with 13 additions and 33 deletions

View File

@ -3,7 +3,7 @@
/**
* Module dependencies.
*/
var Transaction = require('../models/Transaction');
var Transaction = require('../models/Transaction').class();
var Block = require('../models/Block');
var Address = require('../models/Address');
var async = require('async');
@ -139,32 +139,8 @@ exports.list = function(req, res, next) {
});
}
else {
Transaction
.find()
.limit(limit)
.sort('-time')
.exec(function(err, txs) {
if (err) {
res.status(500).send(err);
} else {
var txids = [];
for(var i=0;i<txs.length;i++) {
txids.push(txs[i].txid);
}
async.mapSeries(txids, getTransaction, function(err, alltxs) {
if (err) {
console.log(err);
res.status(404).send('TX not found');
}
res.jsonp({
txs: alltxs,
length: alltxs.length
});
txs: [],
});
}
});
}
};

View File

@ -8,7 +8,8 @@ var mongoose = require('mongoose'),
RpcClient = require('bitcore/RpcClient').class(),
util = require('bitcore/util/util'),
BitcoreBlock= require('bitcore/Block').class(),
Transaction = require('./Transaction'),
Transaction = require('./Transaction').class(),
TransactionItem = require('./TransactionItem'),
config = require('../../config/config')
;
@ -57,7 +58,7 @@ BlockSchema.statics.customCreate = function(block, cb) {
newBlock.nextBlockHash = block.nextBlockHash;
Transaction.createFromArray(block.tx, newBlock.time, function(err, inserted_txs) {
TransactionItem.createFromArray(block.tx, function(err, inserted_txs) {
if (err) return cb(err);
newBlock.save(function(err) {

View File

@ -6,6 +6,7 @@
var mongoose = require('mongoose'),
async = require('async'),
Transaction = require('./Transaction').class(),
sockets = require('../controllers/socket.js'),
Schema = mongoose.Schema;
var CONCURRENCY = 15;
@ -154,13 +155,15 @@ TransactionItemSchema.statics.explodeTransactionItems = function(txid, cb) {
TransactionItemSchema.statics.createFromArray = function(txs, next) {
var Self = this;
if (!txs) return next();
var inserted_txs = [];
async.forEachLimit(txs, CONCURRENCY, function(txid, cb, was_new) {
TransactionItemSchema.explodeTransactionItems( txid, function(err, addrs) {
Self.explodeTransactionItems( txid, function(err, addrs) {
if (err) return next(err);
if (addrs) {
async.each(addrs, function(addr){

View File

@ -7,7 +7,7 @@ function spec() {
var mongoose = require('mongoose');
var config = require('../config/config');
var Block = require('../app/models/Block');
var Transaction = require('../app/models/Transaction');
var TransactionItem = require('../app/models/TransactionItem');
var sockets = require('../app/controllers/socket.js');
var async = require('async');
@ -94,7 +94,7 @@ function spec() {
Sync.prototype.storeTxs = function(txs, cb) {
var self = this;
Transaction.createFromArray(txs, function(err, inserted_txs) {
TransactionItem.createFromArray(txs, function(err, inserted_txs) {
if (!err && inserted_txs && self.opts.broadcast_txs) {
inserted_txs.forEach(function(tx) {