· 10 years ago · Sep 27, 2016, 07:10 PM
1// ./sql/config/pgQuery.js
2module.exports = (text, values, cb) => {
3 pool.connect((err, client, done) => {
4 if (err) return cb(err);
5 client.query(text, values, (err, result) => {
6 done();
7 if (err) return cb(err);
8 return cb(null, result.rows, result);
9 });
10 });
11};
12
13// ./routes/pg.js
14router.route('/')
15 .get((req, res) => {
16 const values = [];
17
18 query('DROP TABLE IF EXISTS users', values, (err, rows, all) => {
19 if (err) throw err;
20 console.log('DROP TABLE IF EXISTS users');
21 res.status(204).end();
22 });
23
24 const text = 'CREATE TABLE IF NOT EXISTS users (date timestamptz)';
25 query(text, values, (err, rows, all) => {
26 if (err) throw err;
27 console.log('CREATE TABLE IF NOT EXISTS users');
28 res.status(204).end();
29 });
30 });
31
32// ./sql/config/pgQuery.js
33function promisePool() {
34 return new Promise((resolve, reject) => {
35 return (text, values, cb) => {
36 pool.connect((err, client, done) => {
37 if (err) { cb(err); return; }
38 client.query(text, values, (err, result) => {
39 done();
40 if (err) { reject(err); return; }
41 return resolve(cb(null, result.rows, result));
42 });
43 });
44 };
45 });
46}
47module.exports = promisePool;
48
49// ./routes/pg.js
50router.route('/')
51 .get((req, res) => {
52 const values = [];
53 query()
54 .then('DROP TABLE IF EXISTS users', values, (err, rows, all) => {
55 if (err) throw err;
56 console.log('DROP TABLE IF EXISTS users');
57 res.status(204).end();
58 })
59 .then('CREATE TABLE IF NOT EXISTS users (date timestamptz)', values, (err, rows, all) => {
60 if (err) throw err;
61 console.log('CREATE TABLE IF NOT EXISTS users');
62 res.status(204).end();
63 });
64 });