From 4b47769f61a7d1d0e7b3a4643b198006eed6f7ee Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Mon, 28 Oct 2019 16:37:08 -0400 Subject: [PATCH] Added ability to enable read only mode from the config. --- config.json.example | 6 +++++- index.js | 12 +++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/config.json.example b/config.json.example index 9bdc16b..76eb8e0 100644 --- a/config.json.example +++ b/config.json.example @@ -2,5 +2,9 @@ "port": 80, "globalSalt": "[global salt (pepper) that is added to every ip before hashing to make it even harder for someone to decode the ip]", "adminUserID": "[the hashed id of the user who can perform admin actions]", - "behindProxy": true + "behindProxy": true, + "db": "./databases/sponsorTimes.db", + "privateDB": "./databases/private.db", + "mode": "development", + "readOnly": false } \ No newline at end of file diff --git a/index.js b/index.js index 44a1b44..2bf1333 100644 --- a/index.js +++ b/index.js @@ -9,11 +9,17 @@ var crypto = require('crypto'); let config = JSON.parse(fs.readFileSync('config.json')); -//load database var sqlite3 = require('sqlite3').verbose(); -var db = new sqlite3.Database(config.db); + +let dbMode = sqlite3.OPEN_READWRITE; +if (config.readOnly) { + dbMode = sqlite3.OPEN_READONLY; +} + +//load database +var db = new sqlite3.Database(config.db, dbMode); //where the more sensitive data such as IP addresses are stored -var privateDB = new sqlite3.Database(config.privateDB); +var privateDB = new sqlite3.Database(config.privateDB, dbMode); // Create an HTTP service. http.createServer(app).listen(config.port);