From 9645fba4efe8305533d3e77872e31e2ee505c0ec Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Mon, 19 Mar 2018 15:24:42 +0100 Subject: [PATCH] Removed connect, connection is now a new sqlite instance, async run function, check for errors when executing and setup and teardown now return promises. --- seasoned_api/src/database/sqliteDatabase.js | 27 ++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/seasoned_api/src/database/sqliteDatabase.js b/seasoned_api/src/database/sqliteDatabase.js index 10c2262..8923b00 100644 --- a/seasoned_api/src/database/sqliteDatabase.js +++ b/seasoned_api/src/database/sqliteDatabase.js @@ -3,10 +3,9 @@ const path = require('path'); const sqlite3 = require('sqlite3').verbose(); class SqliteDatabase { - constructor(host) { this.host = host; - this.connection = this.connect() + this.connection = new sqlite3.Database(this.host); this.schemaDirectory = path.join(__dirname, 'schemas'); } @@ -14,11 +13,11 @@ class SqliteDatabase { * Connect to the database. * @returns {Promise} succeeds if connection was established */ - connect() { - let database = new sqlite3.Database(this.host); - this.connection = database; - return database; - } + // connect() { + // let database = ; + // this.connection = database; + // return database; + // } /** * Run a SQL query against the database. @@ -26,7 +25,7 @@ class SqliteDatabase { * @param {Array} parameters in the SQL query * @returns {Promise} */ - run(sql, parameters) { + async run(sql, parameters) { return new Promise((resolve, reject) => { this.connection.run(sql, parameters, (error, result) => { if (error) @@ -78,7 +77,13 @@ class SqliteDatabase { */ async execute(sql) { return new Promise(resolve => { - resolve(this.connection.exec(sql)); + this.connection.exec(sql, (err, database) => { + if (err) { + console.log('ERROR: ', err); + reject(err); + } + resolve(); + }) }) } @@ -88,7 +93,7 @@ class SqliteDatabase { */ setUp() { const setupSchema = this.readSqlFile('setup.sql'); - return this.execute(setupSchema); + return Promise.resolve(this.execute(setupSchema)); } /** @@ -97,7 +102,7 @@ class SqliteDatabase { */ tearDown() { const tearDownSchema = this.readSqlFile('tearDown.sql'); - return this.execute(tearDownSchema); + return Promise.resolve(this.execute(tearDownSchema)); } /**