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;
|
var db;
|
||||||
|
|
||||||
try {
|
function connect() {
|
||||||
logger.info("Connecting to Database...");
|
try {
|
||||||
db = new Database(db_conf.path, { fileMustExist: true });
|
logger.info("Connecting to Database...");
|
||||||
logger.info("Connected to Database.");
|
db = new Database(db_conf.path, { fileMustExist: true });
|
||||||
} catch (error) {
|
logger.info("Connected to Database.");
|
||||||
logger.error(error.message);
|
} 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"]) {
|
if (req.query["element"]) {
|
||||||
try {
|
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"]) {
|
if (remove.run()["changes"]) {
|
||||||
res.status(200).send();
|
res.status(200).send();
|
||||||
} else {
|
} else {
|
||||||
@@ -48,15 +48,15 @@ router.post("/upload", async (req, res) => {
|
|||||||
} else {
|
} else {
|
||||||
const uploadedFile = req.files.file;
|
const uploadedFile = req.files.file;
|
||||||
|
|
||||||
if (db) {
|
if (db.getDB()) {
|
||||||
db.close();
|
db.getDB().close();
|
||||||
}
|
}
|
||||||
fs.copyFile(uploadedFile.tempFilePath, db_conf.path, (error) => {
|
fs.copyFile(uploadedFile.tempFilePath, db_conf.path, (error) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
logger.error(error);
|
logger.error(error);
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
db = new Database(db_conf.path, { fileMustExist: true });
|
db.setDB(new Database(db_conf.path, { fileMustExist: true }));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(error);
|
logger.error(error);
|
||||||
}
|
}
|
||||||
@@ -90,7 +90,7 @@ router.post("/add", async (req, res) => {
|
|||||||
|
|
||||||
if (values) {
|
if (values) {
|
||||||
values = values.slice(0, -1);
|
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();
|
update.run();
|
||||||
res.status(200).send();
|
res.status(200).send();
|
||||||
} else {
|
} else {
|
||||||
@@ -123,7 +123,7 @@ router.post("/edit", async (req, res) => {
|
|||||||
|
|
||||||
if (values) {
|
if (values) {
|
||||||
values = values.slice(0, -1);
|
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();
|
update.run();
|
||||||
res.status(200).send();
|
res.status(200).send();
|
||||||
} else {
|
} else {
|
||||||
@@ -142,7 +142,7 @@ router.get("/add", async (req, res) => {
|
|||||||
logger.info(`${req.method}: "${req.url}" => ${req.get("User-Agent")}`);
|
logger.info(`${req.method}: "${req.url}" => ${req.get("User-Agent")}`);
|
||||||
|
|
||||||
try {
|
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 row = select_get.get();
|
||||||
|
|
||||||
const sql_header = Object.keys(row);
|
const sql_header = Object.keys(row);
|
||||||
@@ -154,7 +154,7 @@ router.get("/add", async (req, res) => {
|
|||||||
for (const key of sql_header) {
|
for (const key of sql_header) {
|
||||||
table_header += `<th>${key}</th>\n`;
|
table_header += `<th>${key}</th>\n`;
|
||||||
|
|
||||||
const select_distinct = db.prepare(`
|
const select_distinct = db.getDB().prepare(`
|
||||||
SELECT DISTINCT ${key}
|
SELECT DISTINCT ${key}
|
||||||
FROM ${db_conf.table_name};
|
FROM ${db_conf.table_name};
|
||||||
`);
|
`);
|
||||||
@@ -200,7 +200,7 @@ router.get("/edit", async (req, res) => {
|
|||||||
|
|
||||||
if (req.query["element"]) {
|
if (req.query["element"]) {
|
||||||
try {
|
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();
|
const row = select_get.get();
|
||||||
|
|
||||||
if (row) {
|
if (row) {
|
||||||
@@ -212,7 +212,7 @@ router.get("/edit", async (req, res) => {
|
|||||||
for (const key of sql_header) {
|
for (const key of sql_header) {
|
||||||
table_header += `<th>${key}</th>\n`;
|
table_header += `<th>${key}</th>\n`;
|
||||||
|
|
||||||
const select_distinct = db.prepare(`
|
const select_distinct = db.getDB().prepare(`
|
||||||
SELECT DISTINCT ${key}
|
SELECT DISTINCT ${key}
|
||||||
FROM ${db_conf.table_name}
|
FROM ${db_conf.table_name}
|
||||||
WHERE ${key} IS NOT NULL
|
WHERE ${key} IS NOT NULL
|
||||||
@@ -268,7 +268,7 @@ router.get("/", async (req, res) => {
|
|||||||
logger.info(`${req.method}: "${req.url}" => ${req.get("User-Agent")}`);
|
logger.info(`${req.method}: "${req.url}" => ${req.get("User-Agent")}`);
|
||||||
|
|
||||||
try {
|
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();
|
const rows = select.all();
|
||||||
|
|
||||||
if (rows[0]) {
|
if (rows[0]) {
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ app.set("view engine", "ejs");
|
|||||||
app.set("views", path.join(__dirname, app_conf.views_directory));
|
app.set("views", path.join(__dirname, app_conf.views_directory));
|
||||||
const server = app.listen(app_conf.port, () => {
|
const server = app.listen(app_conf.port, () => {
|
||||||
logger.info("Starting Database Editor.");
|
logger.info("Starting Database Editor.");
|
||||||
|
db.connect();
|
||||||
fs.rm(path.join(__dirname, app_conf.temp_directory, "/."), { recursive: true }, (error) => {
|
fs.rm(path.join(__dirname, app_conf.temp_directory, "/."), { recursive: true }, (error) => {
|
||||||
if (error == null) {
|
if (error == null) {
|
||||||
logger.info("Removed temp directory.");
|
logger.info("Removed temp directory.");
|
||||||
@@ -73,7 +73,7 @@ function shutdown() {
|
|||||||
shutting_down = true;
|
shutting_down = true;
|
||||||
logger.info("Closing Database connection.");
|
logger.info("Closing Database connection.");
|
||||||
try {
|
try {
|
||||||
db.close();
|
db.getDB().close();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(error.message);
|
logger.error(error.message);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user