45 lines
923 B
TypeScript
Raw Normal View History

2023-06-02 09:39:43 +08:00
import mysql from "mysql";
import Tools from "./Tools";
/**
* DBTools
*/
export default class DBTools {
//#region Custom
public static async Query(query: string): Promise<any> {
const conn: mysql.Connection = this.connect();
let resp: any = null;
let run: boolean = true;
conn.query(query, function (err: mysql.MysqlError, rows: any, fields: mysql.FieldInfo[]): void {
if (err) {
console.error(`${query} Error: \n${err.message}`);
run = false;
}
resp = rows;
run = false;
});
while (run) {
await Tools.Sleep(100);
}
conn.end();
return resp;
}
private static connect(): mysql.Connection {
const conn: mysql.Connection = mysql.createConnection({
host: process.env.DB_HOST,
port: +process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_DATABASE
});
conn.connect();
return conn;
}
//#endregion
}