var express = require("express"); var router = express.Router(); var timerQuery = require("../util/timerQuery.js"); var oracleModel = require("../model/oracle.js"); var sqlServer = require("../util/db_sqlserver.js"); // const sql = require('mssql'); // const sqlCollection = require('mssql'); var util = require("../util/util.js"); var log = require("../util/log.js"); //Check Auto Start var process = util.getProcess(); if (process.auto_start == "TRUE") { timerQuery.startAllServices(); } else { var process = util.getProcess(); process.is_running = "FALSE"; util.saveProcess(process); } //timerQuery.insertToOracle(); router.get("/", function (req, res, next) { var statusJob = timerQuery.checkJobIsRunning(); var configjs = util.getConfig(); var process = util.getProcess(); if (req.session.user && req.cookies.user_sid) { res.render("index", { title: "Configuration", config_dpack: configjs.database_dpack, config_owner: configjs.database_owner, config_sendcol: configjs.database_sendcol, config_time: configjs.config_time, last_date: configjs.config_regex.last_date, dbCollection: configjs.database_collection.database, statusJob: statusJob, autoStart: process.auto_start, isRunning: process.is_running, getquery_interval: configjs.interval.getquery_interval, collection_interval: configjs.interval.collection_interval, oracle_interval: configjs.interval.oracle_interval, }); } else { res.render("checkpassword"); } // res.render('index', { title: 'Configuration', config_dpack : configjs.database_dpack,config_owner:configjs.database_owner, // config_sendcol:configjs.database_sendcol,config_time: configjs.config_time, last_date : configjs.config_regex.last_date, // dbCollection: configjs.database_collection.database,statusJob: statusJob,autoStart:configjs.auto_start, // isRunning : configjs.is_running,getquery_interval:configjs.interval.getquery_interval, // collection_interval:configjs.interval.collection_interval,oracle_interval:configjs.interval.oracle_interval // }); }); router.post("/saveSession", function (req, res, next) { var password = req.body.password; req.session.user = password; res.send("OK"); }); router.post("/data", async function (req, res, next) { var configjs = util.getConfig(); configjs.database_dpack.user = req.body.user_dpack; configjs.database_dpack.password = req.body.password_dpack; configjs.database_dpack.database = req.body.database_dpack; configjs.database_dpack.server = req.body.ipAddress_dpack; configjs.database_collection.user = configjs.database_dpack.user; configjs.database_collection.password = configjs.database_dpack.password; configjs.database_collection.server = configjs.database_dpack.server; configjs.database_collection.database = req.body.dbCollection; configjs.database_owner.ip_address = req.body.ip_address_owner; configjs.database_owner.port = req.body.port_owner; configjs.database_owner.dbname = req.body.db_owner; configjs.database_owner.user = req.body.user_owner; configjs.database_owner.password = req.body.password_owner; configjs.database_owner.scheme = req.body.scheme_owner; configjs.database_sendcol.ip_address = req.body.ip_address_sendcol; configjs.database_sendcol.port = req.body.port_sendcol; configjs.database_sendcol.dbname = req.body.db_sendcol; configjs.database_sendcol.user = req.body.user_sendcol; configjs.database_sendcol.password = req.body.password_sendcol; configjs.database_sendcol.scheme = req.body.scheme_sendcol; util.saveConfig(configjs); if (configjs.is_running == "TRUE") { await timerQuery.startAllServices(); } res.redirect("/"); }); router.post("/changeJobstatus", async function (req, res, next) { var submitType = req.body.submit; if (submitType == "STOP") { await timerQuery.stopAllJob(); var process = util.getProcess(); process.is_running = "FALSE"; util.saveProcess(process); util.infoNotif( "Job Berhasil Dihentikan", "Semua job yang dilakukan berhasil dihentikan" ); } else { var errorLog = await timerQuery.startAllServices(); var process = util.getProcess(); process.is_running = "TRUE"; util.saveProcess(process); util.infoNotif( "Job Berhasil Dijalankan", "Sistem akan mulai melakukan penarikan data secara berkala" ); } res.redirect("/"); }); router.post("/changeAutoStart", async function (req, res, next) { var reqAutoStart = req.body.submit; if (reqAutoStart == "STOP") { var process = util.getProcess(); process.auto_start = "FALSE"; util.saveProcess(process); util.infoNotif( "Auto Start Dihentikan", "Auto Start dihentikan sehingga job tidak akan dimulai ketika mengalami reboot" ); } else { var process = util.getProcess(); process.auto_start = "TRUE"; util.saveProcess(process); util.infoNotif( "Auto Start Berhasil Dijalankan", "Sistem akan Otomatis memulai job ketika mengalami reboot" ); } res.redirect("/"); }); router.post("/changeIntervalJob", async function (req, res, next) { var getquery_interval = req.body.getquery_interval; var collection_interval = req.body.collection_interval; var oracle_interval = req.body.oracle_interval; var configjs = util.getConfig(); configjs.config_time.start_morning = req.body.start_morning; configjs.config_time.end_morning = req.body.end_morning; configjs.config_time.start_night = req.body.start_night; configjs.config_time.end_night = req.body.end_night; configjs.interval.getquery_interval = getquery_interval; configjs.interval.collection_interval = collection_interval; configjs.interval.oracle_interval = oracle_interval; util.saveConfig(configjs); if (configjs.is_running == "TRUE") { await timerQuery.startAllServices(); } res.redirect("/"); }); router.post("/get-password", async function (req, res, next) { var configjs = util.getConfig(); var password = util.decryptData(configjs.password); //console.log(password); res.send(password); }); module.exports = router;