Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save arturojain/53f6900e9080718e8b47 to your computer and use it in GitHub Desktop.
Save arturojain/53f6900e9080718e8b47 to your computer and use it in GitHub Desktop.
router.get('/api/v1/foobars', getFoobars);
router.get('/api/v1/foobars/baz/:baz', getFoobarsForBaz);
function getFoobars(req, res) {
var queryString = "select * from foobar;";
executeQuery(res, queryString);
}
function getFoobarsForBaz(req, res){
var queryString = "select * from foobar where baz = $1;";
var queryParameters = [req.params.baz];
executeQuery(res, queryString, queryParameters);
}
function executeQuery(res, queryString, queryParameters){
var queryHandler = pgQuery.bind(undefined, res, queryString, queryParameters);
pg.connect(connectionString, queryHandler);
}
function pgQuery(res, queryString, queryParameters, err, client, done){
var results = [];
var query = (typeof(queryParameters) !== 'undefined') ?
client.query(queryString, queryParameters) : client.query(queryString);
query.on('row', function(row){
results.push(row);
});
query.on('end', function(){
done();
res.json(results);
});
query.on('error', function(err){
done();
console.log(err);
}
if(err){
console.log(err);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment