65 lines
1.9 KiB
JavaScript
65 lines
1.9 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const mariadb_1 = __importDefault(require("mariadb"));
|
|
let conn;
|
|
class DbHandle {
|
|
constructor() { }
|
|
async connect() {
|
|
this._conn = await mariadb_1.default.createConnection({
|
|
host: '172.16.10.18',
|
|
user: 'heroes',
|
|
password: 'test123',
|
|
database: 'heroes'
|
|
});
|
|
}
|
|
async getHeroes() {
|
|
var _a, _b;
|
|
const result = (_b = await ((_a = this._conn) === null || _a === void 0 ? void 0 : _a.query("SELECT id, name FROM hero"))) !== null && _b !== void 0 ? _b : Promise.reject(new Error('Connection not ready 1'));
|
|
return result.map((row) => {
|
|
var _a;
|
|
return { id: row.id, name: (_a = row.name) !== null && _a !== void 0 ? _a : 'unknown' };
|
|
});
|
|
}
|
|
close() {
|
|
var _a, _b;
|
|
return (_b = (_a = this._conn) === null || _a === void 0 ? void 0 : _a.end()) !== null && _b !== void 0 ? _b : Promise.reject(new Error('Connection not ready 2'));
|
|
}
|
|
}
|
|
/*
|
|
const dbHandle = new DbHandle()
|
|
dbHandle.connect()
|
|
.then(() => dbHandle.get("SELECT * FROM hero"))
|
|
.then((result) => {
|
|
console.log(result)
|
|
return dbHandle.close()
|
|
})
|
|
.catch((err) => {
|
|
console.log(err)
|
|
})
|
|
*/
|
|
async function exec() {
|
|
const dbHandle = new DbHandle();
|
|
try {
|
|
await dbHandle.connect();
|
|
const heroes = await dbHandle.getHeroes();
|
|
console.log(heroes);
|
|
}
|
|
finally {
|
|
await dbHandle.close();
|
|
}
|
|
}
|
|
exec().catch((err) => console.log(err.message));
|
|
/*
|
|
dbHandle.get("SELECT * FROM hero")
|
|
.then((result) => {
|
|
console.log(result)
|
|
return dbHandle.close()
|
|
})
|
|
.catch((err) => {
|
|
console.log(err.message)
|
|
})
|
|
*/
|