Fixed db bug
The DB was moved to a different file and was returning a reference of the DB. When uploading a new database the original variable containing the DB in the DB file was not updating. Added setters and getters.
This commit is contained in:
@@ -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;
|
||||
function getDB() {
|
||||
return db;
|
||||
}
|
||||
|
||||
function setDB(newDb) {
|
||||
db = newDb;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
connect,
|
||||
getDB,
|
||||
setDB,
|
||||
};
|
||||
@@ -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 += `<th>${key}</th>\n`;
|
||||
|
||||
const select_distinct = db.prepare(`
|
||||
const select_distinct = db.getDB().prepare(`
|
||||
SELECT DISTINCT ${key}
|
||||
FROM ${db_conf.table_name};
|
||||
`);
|
||||
@@ -200,7 +200,7 @@ router.get("/edit", async (req, res) => {
|
||||
|
||||
if (req.query["element"]) {
|
||||
try {
|
||||
const select_get = db.prepare(`SELECT * FROM ${db_conf.table_name} WHERE Name='${req.query["element"]}';`);
|
||||
const select_get = db.getDB().prepare(`SELECT * FROM ${db_conf.table_name} WHERE Name='${req.query["element"]}';`);
|
||||
const row = select_get.get();
|
||||
|
||||
if (row) {
|
||||
@@ -212,7 +212,7 @@ router.get("/edit", async (req, res) => {
|
||||
for (const key of sql_header) {
|
||||
table_header += `<th>${key}</th>\n`;
|
||||
|
||||
const select_distinct = db.prepare(`
|
||||
const select_distinct = db.getDB().prepare(`
|
||||
SELECT DISTINCT ${key}
|
||||
FROM ${db_conf.table_name}
|
||||
WHERE ${key} IS NOT NULL
|
||||
@@ -268,7 +268,7 @@ router.get("/", async (req, res) => {
|
||||
logger.info(`${req.method}: "${req.url}" => ${req.get("User-Agent")}`);
|
||||
|
||||
try {
|
||||
const select = db.prepare(`SELECT * FROM ${db_conf.table_name}`);
|
||||
const select = db.getDB().prepare(`SELECT * FROM ${db_conf.table_name}`);
|
||||
const rows = select.all();
|
||||
|
||||
if (rows[0]) {
|
||||
|
||||
@@ -41,7 +41,7 @@ app.set("view engine", "ejs");
|
||||
app.set("views", path.join(__dirname, app_conf.views_directory));
|
||||
const server = app.listen(app_conf.port, () => {
|
||||
logger.info("Starting Database Editor.");
|
||||
|
||||
db.connect();
|
||||
fs.rm(path.join(__dirname, app_conf.temp_directory, "/."), { recursive: true }, (error) => {
|
||||
if (error == null) {
|
||||
logger.info("Removed temp directory.");
|
||||
@@ -73,7 +73,7 @@ function shutdown() {
|
||||
shutting_down = true;
|
||||
logger.info("Closing Database connection.");
|
||||
try {
|
||||
db.close();
|
||||
db.getDB().close();
|
||||
} catch (error) {
|
||||
logger.error(error.message);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user