diff --git a/app/database/sqlite.database.js b/app/database/sqlite.database.js index c5443da..dfcac54 100644 --- a/app/database/sqlite.database.js +++ b/app/database/sqlite.database.js @@ -4,12 +4,26 @@ const db_conf = require("../config/db.conf"); var db; -try { - logger.info("Connecting to Database..."); - db = new Database(db_conf.path, { fileMustExist: true }); - logger.info("Connected to Database."); -} catch (error) { - logger.error(error.message); +function connect() { + try { + logger.info("Connecting to Database..."); + db = new Database(db_conf.path, { fileMustExist: true }); + logger.info("Connected to Database."); + } catch (error) { + logger.error(error.message); + } } -module.exports = db; \ No newline at end of file +function getDB() { + return db; +} + +function setDB(newDb) { + db = newDb; +} + +module.exports = { + connect, + getDB, + setDB, +}; \ No newline at end of file diff --git a/app/routes/private_routes.js b/app/routes/private_routes.js index 75b77e5..2a98651 100644 --- a/app/routes/private_routes.js +++ b/app/routes/private_routes.js @@ -25,7 +25,7 @@ router.delete("/remove", async (req, res) => { if (req.query["element"]) { try { - const remove = db.prepare(`DELETE FROM ${db_conf.table_name} WHERE Name='${req.query["element"]}';`); + const remove = db.getDB().prepare(`DELETE FROM ${db_conf.table_name} WHERE Name='${req.query["element"]}';`); if (remove.run()["changes"]) { res.status(200).send(); } else { @@ -48,15 +48,15 @@ router.post("/upload", async (req, res) => { } else { const uploadedFile = req.files.file; - if (db) { - db.close(); + if (db.getDB()) { + db.getDB().close(); } fs.copyFile(uploadedFile.tempFilePath, db_conf.path, (error) => { if (error) { logger.error(error); } else { try { - db = new Database(db_conf.path, { fileMustExist: true }); + db.setDB(new Database(db_conf.path, { fileMustExist: true })); } catch (error) { logger.error(error); } @@ -90,7 +90,7 @@ router.post("/add", async (req, res) => { if (values) { values = values.slice(0, -1); - const update = db.prepare(`INSERT INTO ${db_conf.table_name} VALUES (${values});`); + const update = db.getDB().prepare(`INSERT INTO ${db_conf.table_name} VALUES (${values});`); update.run(); res.status(200).send(); } else { @@ -123,7 +123,7 @@ router.post("/edit", async (req, res) => { if (values) { values = values.slice(0, -1); - const update = db.prepare(`UPDATE ${db_conf.table_name} SET ${values} WHERE Name='${req.query["element"]}'`); + const update = db.getDB().prepare(`UPDATE ${db_conf.table_name} SET ${values} WHERE Name='${req.query["element"]}'`); update.run(); res.status(200).send(); } else { @@ -142,7 +142,7 @@ router.get("/add", async (req, res) => { logger.info(`${req.method}: "${req.url}" => ${req.get("User-Agent")}`); try { - const select_get = db.prepare(`SELECT * FROM ${db_conf.table_name};`); + const select_get = db.getDB().prepare(`SELECT * FROM ${db_conf.table_name};`); const row = select_get.get(); const sql_header = Object.keys(row); @@ -154,7 +154,7 @@ router.get("/add", async (req, res) => { for (const key of sql_header) { table_header += `