diff --git a/src/database.js b/src/database.js index e18d2f98b..c988b4499 100644 --- a/src/database.js +++ b/src/database.js @@ -82,36 +82,32 @@ async function clear() { await shell.promises.exec('clear_database', cmd); } -function query() { +async function query() { assert.notStrictEqual(gConnectionPool, null); return new Promise((resolve, reject) => { let args = Array.prototype.slice.call(arguments); - const callback = typeof args[args.length - 1] === 'function' ? args.pop() : null; args.push(function queryCallback(error, result) { - if (error) return callback ? callback(error) : reject(new BoxError(BoxError.DATABASE_ERROR, error, { code: error.code, sqlMessage: error.sqlMessage })); + if (error) return reject(new BoxError(BoxError.DATABASE_ERROR, error, { code: error.code, sqlMessage: error.sqlMessage })); - callback ? callback(null, result) : resolve(result); + resolve(result); }); gConnectionPool.query.apply(gConnectionPool, args); // this is same as getConnection/query/release }); } -function transaction(queries) { +async function transaction(queries) { assert(Array.isArray(queries)); - const args = Array.prototype.slice.call(arguments); - const callback = typeof args[args.length - 1] === 'function' ? once(args.pop()) : null; - return new Promise((resolve, reject) => { gConnectionPool.getConnection(function (error, connection) { - if (error) return callback ? callback(error) : reject(new BoxError(BoxError.DATABASE_ERROR, error, { code: error.code, sqlMessage: error.sqlMessage })); + if (error) return reject(new BoxError(BoxError.DATABASE_ERROR, error, { code: error.code, sqlMessage: error.sqlMessage })); const releaseConnection = (error) => { connection.release(); - callback ? callback(error) : reject(new BoxError(BoxError.DATABASE_ERROR, error, { code: error.code, sqlMessage: error.sqlMessage })); + reject(new BoxError(BoxError.DATABASE_ERROR, error, { code: error.code, sqlMessage: error.sqlMessage })); }; connection.beginTransaction(function (error) { @@ -127,7 +123,7 @@ function transaction(queries) { connection.release(); - callback ? callback(null, results) : resolve(results); + resolve(results); }); }); });