26 lines
509 B
JavaScript
26 lines
509 B
JavaScript
const db = require('src/utils/database.js');
|
|
|
|
class Base {
|
|
constructor() {
|
|
this.cols = [];
|
|
this.schema = 'public';
|
|
this.table = '';
|
|
this.db = db;
|
|
}
|
|
|
|
async transaction(trxFunc) {
|
|
if (typeof trxFunc !== 'function') throw new Error('transaction function type error');
|
|
return this.db.transaction(trxFunc);
|
|
}
|
|
|
|
async checkSchema() {
|
|
await this.db
|
|
.withSchema(this.schema)
|
|
.from(this.table)
|
|
.select(...this.cols)
|
|
.limit(1);
|
|
}
|
|
}
|
|
|
|
module.exports = Base;
|