Skip to content

Instantly share code, notes, and snippets.

@markstory
Forked from chartjes/gist:2007400
Created March 9, 2012 17:29
Show Gist options
  • Save markstory/2007663 to your computer and use it in GitHub Desktop.
Save markstory/2007663 to your computer and use it in GitHub Desktop.
I have my model here:
// transactionmodel.js
function TransactionModel() {
var pg = require('pg');
var connectionString = "pg://chartjes:******@localhost:5432/ibl_stats";
this.client = new pg.Client(connectionString);
this.client.connect();
this.getCurrent = function(callback) {
var startDate = "(SELECT MAX(transaction_date) FROM transaction_log)-'3 weeks'::interval)";
var endDate = "(SELECT MAX(transaction_date) FROM transaction_log)";
var q = "SELECT * " +
"FROM transaction_log " +
"WHERE log_entry LIKE 'Trades%' " +
"AND transaction_date >= (SELECT MAX(transaction_date) FROM transaction_log)-'3 weeks'::interval " +
"AND transaction_date <= (SELECT MAX(transaction_date) FROM transaction_log) " +
"ORDER BY trans_id DESC ";
var transactions = [];
this.client.query(q, function (err, result) {
if (err) {
console.log(err);
return {'success': 'false', 'msg': err};
}
var idx = 0;
while (idx < result.rows.length) {
transactionId = result.rows[idx].trans_id;
team1 = result.rows[idx].ibl_team;
team2 = result.rows[idx + 1].ibl_team;
description = team1 + ' ' + result.rows[idx].log_entry;
transactionDate = result.rows[idx].transaction_date;
idx = idx + 2;
transaction = {
'id': transactionId,
'tradePartner1': team1,
'tradePartner2': team2,
'description': description,
'date': transactionDate
};
transactions.push(transaction);
}
callback(transactions);
});
};
}
module.exports.TransactionModel = TransactionModel;
and I have my "front controller" in express calling it like this:
app.get('/transactions/current', function(req, res) {
var done = function (transactions) {
res.send(transactions);
};
var currentTransactions = tm.getCurrent(done);
});
I am probably misunderstanding something fundamental here but I am wondering why I am not seeing any value in currentTransactions when I see output inside TransactionModel.getCurrent()?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment