UNPKG

1.22 kBJavaScriptView Raw
1var config = require('../lib/config')();
2var queue = require('d3-queue').queue;
3var pg = require('pg');
4var errors = require('../errors');
5
6var users = {};
7
8module.exports = users;
9
10var pgURL = config.PostgresURL;
11
12users.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
22users.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
32function 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