Browse Source

Refactored database opening

master
Ben Ashton 3 years ago
parent
commit
f55b00dbf5
  1. 23
      src/database_wrapper.mjs
  2. 7
      src/node_adapter.mjs

23
src/database_wrapper.mjs

@ -1,3 +1,5 @@
import * as sqlite3 from "sqlite3";
import { NodeAdapterError } from "./node_adapter_error.mjs";
import { QueryWrapper } from "./query_wrapper.mjs";
import { ResponseWrapper } from "./response_wrapper.mjs";
@ -5,8 +7,25 @@ import { enableDebug, log } from "./log.mjs";
export class DatabaseWrapper {
constructor(db) {
this.db = db;
constructor(dbName) {
this.dbName = dbName;
}
open() {
return new Promise((resolve, reject) => {
const db = new sqlite3.Database(
this.dbName,
sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE,
(err) => {
if (err) {
reject(NodeAdapterError.from(err));
return;
}
this.db = db;
resolve();
}
);
});
}
close() {

7
src/node_adapter.mjs

@ -1,5 +1,3 @@
import * as sqlite3 from "sqlite3";
import { NodeAdapterError } from "./node_adapter_error.mjs";
import { DatabaseWrapper } from "./database_wrapper.mjs";
import { ResponseWrapper } from "./response_wrapper.mjs";
@ -11,9 +9,8 @@ export default {
name: "PawSQLiteNodeAdapter",
open: async (dbName) => {
if (!databases.has(dbName)) {
const db = new DatabaseWrapper(
new sqlite3.Database(dbName)
);
const db = new DatabaseWrapper(dbName);
await db.open();
databases.set(dbName, db);
}

Loading…
Cancel
Save