From 29e9f86cad2763b215f2111290b4e7da4ecdf1e8 Mon Sep 17 00:00:00 2001 From: Ray Bellis Date: Wed, 23 Jan 2019 18:08:47 +0000 Subject: [PATCH] db/DB.js: add Promise-only API methods Promisified methods: - get() - set() - findKeys() - getSub() - setSub() - remove() - doShutdown() --- src/node/db/DB.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/node/db/DB.js b/src/node/db/DB.js index e6ddd5fb3..c462ac303 100644 --- a/src/node/db/DB.js +++ b/src/node/db/DB.js @@ -23,6 +23,7 @@ var ueberDB = require("ueberdb2"); var settings = require("../utils/Settings"); var log4js = require('log4js'); const thenify = require("thenify").withCallback; +const util = require("util"); // set database settings var db = new ueberDB.database(settings.dbType, settings.dbSettings, null, log4js.getLogger("ueberDB")); @@ -47,6 +48,12 @@ exports.init = thenify(function (callback) { } else { // everything ok exports.db = db; + + // set up Promise-based methods + ['get', 'set', 'findKeys', 'getSub', 'setSub', 'remove', 'doShutdown'].forEach(fn => { + exports[fn] = util.promisify(db[fn].bind(db)); + }); + callback(null); } });