Compare commits
No commits in common. "a501f86ef6842534d435384f16907efffbe099fc" and "85921d64933da5a0fc1910492602694fbae12105" have entirely different histories.
a501f86ef6
...
85921d6493
1 changed files with 8 additions and 17 deletions
19
src/db.ts
19
src/db.ts
|
@ -10,20 +10,15 @@ import { insertResponse, readResponse, writeResponse, singleResponse } from "./r
|
|||
|
||||
export class DB {
|
||||
tables: Table[] = [];
|
||||
handler!: Handler;
|
||||
handler: Handler;
|
||||
name: string;
|
||||
type!: dbType;
|
||||
type: dbType;
|
||||
mariaPool!: mariadb.Pool;
|
||||
private connected = false;
|
||||
//pgPool!: pg.Pool;
|
||||
constructor(database: string) {
|
||||
this.name = database;
|
||||
}
|
||||
connect({ host, user, password, port = 3306, connectionLimit = 5, databaseType = dbType.mariadb }: { host: string, user: string, password: string, port?: number, connectionLimit?: number, databaseType?: dbType }) {
|
||||
this.connected = true;
|
||||
constructor({ host, user, password, database, connectionLimit = 5, databaseType = dbType.mariadb }: { host: string, user: string, password: string, database: string, connectionLimit?: number, databaseType?: dbType }) {
|
||||
this.type = databaseType;
|
||||
if (databaseType == dbType.mariadb) {
|
||||
this.mariaPool = mariadb.createPool({ host, user, password, port, database: this.name, connectionLimit, multipleStatements: true });
|
||||
this.mariaPool = mariadb.createPool({ host, user, password, database, connectionLimit, multipleStatements: true });
|
||||
this.handler = new Handler(this);
|
||||
}
|
||||
/*else if (databaseType == dbType.postgres) {
|
||||
|
@ -32,10 +27,9 @@ export class DB {
|
|||
}*/
|
||||
else throw new Error("Unsuported Database type!");
|
||||
|
||||
|
||||
this.name = database;
|
||||
}
|
||||
async query(query: Query, printQuery = false) {
|
||||
if(!this.connected) throw new Error("Not connected yet!");
|
||||
if(printQuery)console.log(query);
|
||||
if (this.type == dbType.mariadb) return await this.mariaPool.query(query);
|
||||
/*else if (this.type == dbType.postgres) {
|
||||
|
@ -46,12 +40,10 @@ export class DB {
|
|||
else throw new Error("Invalid Database Type!");
|
||||
}
|
||||
getHandler() {
|
||||
if(!this.connected) throw new Error("Not connected yet!");
|
||||
return this.handler;
|
||||
}
|
||||
|
||||
async sync(force = false) {
|
||||
if(!this.connected) throw new Error("Not connected yet!");
|
||||
let handler = this.getHandler();
|
||||
await handler.syncDB(this, handler, force);
|
||||
}
|
||||
|
@ -67,7 +59,6 @@ export class DB {
|
|||
return null;
|
||||
}
|
||||
async close() {
|
||||
if(!this.connected) throw new Error("Not connected yet!");
|
||||
if (this.type == dbType.mariadb && this.mariaPool) await this.mariaPool.end();
|
||||
//if (this.type == dbType.postgres && this.pgPool) await this.pgPool.end();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue