브라우징 자동화에만 집중

This commit is contained in:
LHK
2025-10-14 17:58:58 +09:00
부모 51deb07fab
커밋 226eede3bf
25개의 변경된 파일5282개의 추가작업 그리고 3006개의 파일을 삭제

44
utils/db.js Normal file
파일 보기

@@ -0,0 +1,44 @@
const sqlite3 = require('sqlite3').verbose();
const path = require('path');
const dbPath = path.resolve(__dirname, '../data', 'database.sqlite');
const db = new sqlite3.Database(dbPath);
/**
* Promise 기반으로 DB 쿼리를 실행합니다.
* @param {string} sql - 실행할 SQL 쿼리
* @param {Array} params - SQL에 바인딩할 파라미터 배열
* @returns {Promise<any>}
*/
function query(sql, params = []) {
return new Promise((resolve, reject) => {
db.all(sql, params, (err, rows) => {
if (err) {
console.error('DB 쿼리 오류:', sql, params);
return reject(err);
}
resolve(rows);
});
});
}
/**
* 단일 INSERT, UPDATE, DELETE 쿼리를 실행합니다.
* @param {string} sql
* @param {Array} params
* @returns {Promise<void>}
*/
function run(sql, params = []) {
return new Promise((resolve, reject) => {
db.run(sql, params, function (err) {
if (err) {
console.error('DB 실행 오류:', sql, params);
return reject(err);
}
// this.lastID, this.changes를 resolve 할 수도 있음
resolve();
});
});
}
module.exports = { query, run };