vybe/src/db.js

29 lines
612 B
JavaScript
Raw Normal View History

2024-04-21 23:31:37 -07:00
const sqlite3 = require('sqlite3');
const fs = require('fs');
2024-06-12 03:00:50 -07:00
const path = 'vybe.db';
2024-04-21 23:31:37 -07:00
2024-06-12 03:00:50 -07:00
const existed = fs.existsSync(path);
const db = new sqlite3.Database(path);
2024-04-21 23:31:37 -07:00
2025-06-27 00:31:56 -07:00
db.query = function(sql, params) {
2024-04-21 23:31:37 -07:00
return new Promise((resolve, reject) => {
2024-09-25 17:33:33 -07:00
db.all(sql, params, (error, rows) => {
2024-04-21 23:31:37 -07:00
if (error)
reject(error);
else
resolve({ rows: rows });
});
});
};
2025-06-27 00:31:56 -07:00
db.ready = new Promise(async resolve => {
2024-06-12 03:00:50 -07:00
if (!existed)
for (let sql of fs.readFileSync('./db/1-init.sql').toString().split(';'))
if (sql.trim())
await db.query(sql);
2025-06-27 00:31:56 -07:00
resolve();
});
2024-04-21 23:31:37 -07:00
module.exports = db;