From 0130518410fbbce975b02a3118abf8e9744212b4 Mon Sep 17 00:00:00 2001 From: msccreater Date: Mon, 16 Aug 2021 17:02:56 +0800 Subject: [PATCH] add reset button and function for --autoreset --- app.js | 7 +++++++ crontab.js | 23 +++++++++++++++++++++++ public/js/script.js | 8 ++++++++ routes.js | 1 + views/index.ejs | 1 + 5 files changed, 40 insertions(+) diff --git a/app.js b/app.js index 9ff5729..55c56df 100755 --- a/app.js +++ b/app.js @@ -132,6 +132,13 @@ app.get(routes.backup, function(req, res) { }); }); +app.get(routes.reset, function(req, res) { + crontab.reset((err) => { + if (err) next(err); + else res.end(); + }) +}) + // This renders the restore page similar to backup page app.get(routes.restore, function(req, res) { // get all the crontabs diff --git a/crontab.js b/crontab.js index d9a60f1..025f10a 100644 --- a/crontab.js +++ b/crontab.js @@ -240,6 +240,29 @@ exports.backup = (callback) => { }); }; +exports.reset = (callback) => { + console.log("Resetting crontab-ui"); + var crontabdb = exports.crontab_db_file; + var envdb = exports.env_file; + + console.log("Deleting " + crontabdb); + try{ + fs.unlinkSync(crontabdb); + } catch (e) { + console.log("Unable to delete " + crontabdb); + } + + console.log("Deleting " + envdb); + try{ + fs.unlinkSync(envdb); + } catch (e) { + console.log("Unable to delete " + envdb); + } + + db.loadDatabase(); + callback(); +} + exports.restore = function(db_name){ fs.createReadStream(path.join(exports.db_folder, db_name)).pipe(fs.createWriteStream(exports.crontab_db_file)); db.loadDatabase(); // reload the database diff --git a/public/js/script.js b/public/js/script.js index 8b4791b..22c5720 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -167,6 +167,14 @@ function doBackup(){ }); } +function doReset(){ + messageBox("

Do you want to reset crontab-ui?

", "Confirm reset", null, null, function(){ + $.get(routes.reset, {}, function(){ + location.reload(); + }); + }); +} + function delete_backup(db_name){ messageBox("

Do you want to delete this backup?

", "Confirm delete", null, null, function(){ $.get(routes.delete_backup, {db: db_name}, function(){ diff --git a/routes.js b/routes.js index 44f524c..bc55d6c 100644 --- a/routes.js +++ b/routes.js @@ -13,6 +13,7 @@ var routes = { "start": "/start", "remove": "/remove", "backup": "/backup", + "reset": "/reset", "restore": "/restore", "delete_backup": "/delete", "restore_backup": "/restore_backup", diff --git a/views/index.ejs b/views/index.ejs index 6eedf8a..e196fa0 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -30,6 +30,7 @@ New Backup + Reset