Adds eslint and linted & improved routing for interactions
This commit is contained in:
parent
83209f642c
commit
441715675c
35 changed files with 2091 additions and 463 deletions
|
|
@ -1,22 +1,20 @@
|
|||
import {DatabaseEnvironment, Environment} from "../Environment";
|
||||
import {DatabaseEnvironment} from "../Environment";
|
||||
import Sqlite3 from "better-sqlite3";
|
||||
import Database from "better-sqlite3";
|
||||
import {Container} from "../Container/Container";
|
||||
import {Logger} from "log4js";
|
||||
|
||||
export class DatabaseConnection {
|
||||
private static connection: DatabaseConnection;
|
||||
|
||||
private database: Sqlite3.Database;
|
||||
|
||||
constructor(private readonly env: DatabaseEnvironment) {
|
||||
constructor(env: DatabaseEnvironment) {
|
||||
this.database = new Database(env.path, {
|
||||
nativeBinding: "node_modules/better-sqlite3/build/Release/better_sqlite3.node",
|
||||
})
|
||||
this.database.pragma('journal_mode = WAL');
|
||||
}
|
||||
|
||||
public execute(query: string, ...args: any[]): Sqlite3.RunResult {
|
||||
public execute(query: string, ...args: unknown[]): Sqlite3.RunResult {
|
||||
try {
|
||||
const preparedQuery = this.database.prepare(query);
|
||||
return preparedQuery.run(args);
|
||||
|
|
@ -26,11 +24,11 @@ export class DatabaseConnection {
|
|||
}
|
||||
}
|
||||
|
||||
public fetch<BindParameters extends unknown[] | {} = unknown[], Result = unknown>(query: string, ...args: any[]): Result|undefined {
|
||||
public fetch<BindParameters extends unknown[] | {} = unknown[], Result = unknown>(query: string, ...args: unknown[]): Result|undefined {
|
||||
const preparedQuery = this.database.prepare<BindParameters, Result>(query);
|
||||
return preparedQuery.get(args);
|
||||
}
|
||||
public fetchAll<BindParameters extends unknown[] | {} = unknown[], Result = unknown>(query: string, ...args: any[]): Result[] {
|
||||
public fetchAll<BindParameters extends unknown[] | {} = unknown[], Result = unknown>(query: string, ...args: unknown[]): Result[] {
|
||||
const preparedQuery = this.database.prepare<BindParameters, Result>(query);
|
||||
return preparedQuery.all(args);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ export class DatabaseUpdater {
|
|||
}
|
||||
|
||||
private ensureTableColumns(definition: DatabaseDefinition) {
|
||||
const DBSQLColumns = this.database.fetchAll<{}, {name: string, type: string}>(
|
||||
const DBSQLColumns = this.database.fetchAll<object, {name: string, type: string}>(
|
||||
`PRAGMA table_info("${definition.name}")`
|
||||
);
|
||||
|
||||
|
|
@ -76,6 +76,6 @@ export class DatabaseUpdater {
|
|||
}).join(', ');
|
||||
|
||||
const sql = `CREATE TABLE IF NOT EXISTS ${definition.name} (${columnsSQL})`;
|
||||
const result = this.database.execute(sql);
|
||||
this.database.execute(sql);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue