1 | var config = require('../lib/config')();
|
2 | var queue = require('d3-queue').queue;
|
3 | var pg = require('pg');
|
4 | var errors = require('../errors');
|
5 |
|
6 | var users = {};
|
7 |
|
8 | module.exports = users;
|
9 |
|
10 | var pgURL = config.PostgresURL;
|
11 |
|
12 | users.getName = function(name, callback) {
|
13 | query(name, 'name', function (err, user) {
|
14 | if (err) {
|
15 | return callback(err, null);
|
16 | }
|
17 |
|
18 | callback(null, user);
|
19 | });
|
20 | };
|
21 |
|
22 | users.getId = function(id, callback) {
|
23 | query(id, 'id', function (err, user) {
|
24 | if (err) {
|
25 | return callback(err, null);
|
26 | }
|
27 |
|
28 | callback(null, user);
|
29 | });
|
30 | };
|
31 |
|
32 | function query(value, thing, callback) {
|
33 | var userQuery = 'SELECT * FROM users WHERE ' + thing + '= $1';
|
34 | pg.connect(pgURL, function(err, client, done) {
|
35 | if (err) {
|
36 | callback(err, null);
|
37 | return;
|
38 | }
|
39 | client.query(userQuery, [value], function(err, result) {
|
40 | done();
|
41 | if (err) {
|
42 | return callback(err, null);
|
43 | }
|
44 | if (result.rows.length === 0) {
|
45 | return callback(new errors.NotFoundError('User not found'));
|
46 | }
|
47 | callback(null, result.rows[0]);
|
48 | });
|
49 | });
|
50 | } |
\ | No newline at end of file |