fixed a bit

This commit is contained in:
bobbert committed 2025-03-12 01:46:45 +00:00
1 parent c62413eafa
commit 4ed0480d08
10 files changed
+138 -149

No files matched your search

+41 -58
View File
@@ -1,69 +1,52 @@
// lib/db.js
let sqlite3;
import sqlite3 from "sqlite3";
// Only import sqlite3 on server-side
if (typeof window === 'undefined') {
sqlite3 = require('sqlite3').verbose();
}
let db = null;
// Initialize the database connection
function getDb() {
if (!sqlite3) {
console.error('Cannot access SQLite on the client side');
return null;
}
return new sqlite3.Database('./sqlite.db', (err) => {
if (err) {
console.error('Error opening database:', err.message);
} else {
console.log('Connected to the SQLite database.');
}
export function getDb() {
if (!db) {
db = new sqlite3.Database("./database.sqlite", (err) => {
if (err) {
console.error("Error connecting to database:", err);
} else {
console.log("Connected to the SQLite database.");
}
});
}
return db;
}
// Helper function to run queries with results
async function query(sql, params = []) {
if (typeof window !== 'undefined') {
throw new Error('Database queries cannot be executed on the client side');
}
const db = getDb();
return new Promise((resolve, reject) => {
db.all(sql, params, (err, rows) => {
if (err) {
reject(err);
} else {
resolve(rows);
}
db.close(); // Close the database connection
});
export function queryOne(sql, params = []) {
return new Promise((resolve, reject) => {
getDb().get(sql, params, (err, row) => {
if (err) {
reject(err);
} else {
resolve(row);
}
});
});
}
// Helper for single row queries
async function queryOne(sql, params = []) {
const rows = await query(sql, params);
return rows && rows.length > 0 ? rows[0] : null;
}
// Helper for insert/update/delete operations
async function run(sql, params = []) {
if (typeof window !== 'undefined') {
throw new Error('Database operations cannot be executed on the client side');
}
const db = getDb();
return new Promise((resolve, reject) => {
db.run(sql, params, function(err) {
if (err) {
reject(err);
} else {
resolve({ lastID: this.lastID, changes: this.changes });
}
db.close(); // Close the database connection
});
export function query(sql, params = []) {
return new Promise((resolve, reject) => {
getDb().all(sql, params, (err, rows) => {
if (err) {
reject(err);
} else {
resolve(rows);
}
});
});
}
module.exports = { query, queryOne, run };
export function run(sql, params = []) {
return new Promise((resolve, reject) => {
getDb().run(sql, params, function (err) {
if (err) {
reject(err);
} else {
resolve({ lastID: this.lastID, changes: this.changes });
}
});
});
}