diff --git a/src/query_wrapper.mjs b/src/query_wrapper.mjs index 83edfaa..a6557b8 100644 --- a/src/query_wrapper.mjs +++ b/src/query_wrapper.mjs @@ -22,17 +22,41 @@ export class QueryWrapper { execute(db) { if (this.isAnyOf("INSERT", "UPDATE", "DELETE")) { return this.executeRun(db); + } else if (this.isAnyOf("PRAGMA")) { + return this.executeGet(db); } else { return this.executeAll(db); } } + executeGet(db) { + return new Promise((resolve, reject) => { + const self = this; + + log(this.sql); + db.get(this.sql, ...this.args, function (err, row) { + if (err) { + reject(NodeAdapterError.from(err)); + return; + } + + const result = {}; + + if (row) { + result.rows = [row]; + } + + resolve(ResponseWrapper.success(result)); + }); + }); + } + executeRun(db) { return new Promise((resolve, reject) => { const self = this; log(this.sql); - db.run(this.sql, ...this.args, function (err) { + db.get(this.sql, ...this.args, function (err) { if (err) { reject(NodeAdapterError.from(err)); return;