Commit f147acb5 authored by John Crepezzi's avatar John Crepezzi
Browse files

Switch to using pg.Pool

parent 9a692ed6
Loading
Loading
Loading
Loading
+11 −14
Original line number Diff line number Diff line
/*global require,module,process*/

var winston = require('winston');
const {Client} = require('pg');
const {Pool} = require('pg');

// create table entries (id serial primary key, key varchar(255) not null, value text not null, expiration int, unique(key));

// A postgres document store
var PostgresDocumentStore = function (options) {
  this.expireJS = options.expire;
  this.connectionUrl = process.env.DATABASE_URL || options.connectionUrl;

  const connectionString = process.env.DATABASE_URL || options.connectionUrl;
  this.pool = new Pool({connectionString});
};

PostgresDocumentStore.prototype = {
@@ -64,20 +66,15 @@ PostgresDocumentStore.prototype = {

  // A connection wrapper
  safeConnect: function (callback) {
    const client = new Client({connectionString: this.connectionUrl});
    const connectionPromise = client.connect();

    const done = () => {};

    connectionPromise.then(() => {
      callback(undefined, client, done);
    }).catch((error) => {
      console.log(error);
    this.pool.connect((err, client, done) => {
      if (err) {
        winston.error('error connecting to postgres', {error});
        callback(error);
      } else {
        callback(undefined, client, done);
      }
    });
  }

};

module.exports = PostgresDocumentStore;