diff --git a/control-panel/index.js b/control-panel/index.js index 9dd5262..4921e19 100644 --- a/control-panel/index.js +++ b/control-panel/index.js @@ -1,3 +1 @@ -"use strict"; - require('./lib/express-init'); diff --git a/control-panel/lib/express-init.js b/control-panel/lib/express-init.js index a5a5486..b869369 100644 --- a/control-panel/lib/express-init.js +++ b/control-panel/lib/express-init.js @@ -6,7 +6,7 @@ const nunjucks = require('nunjucks'); const uniqid = require('uniqid'); const numeral = require('numeral'); -const config = require('komodo-sdk/config'); +const config = require('../../config'); const logger = require('tektrans-logger'); const routers = require('./routers'); diff --git a/control-panel/lib/request-to-core.js b/control-panel/lib/request-to-core.js index 6caf008..fb2f95c 100644 --- a/control-panel/lib/request-to-core.js +++ b/control-panel/lib/request-to-core.js @@ -1,31 +1,36 @@ const request = require('request'); const logger = require('tektrans-logger'); -const core_url = require('../../core-url'); - +const coreURLLib = require('../../core-url'); function coreUrl() { - return core_url; + return coreURLLib; } -function doRequest(core_path, qs, cb) { - - let requestOptions = { - url: coreUrl() + core_path, - qs: qs - } +function doRequest(corePath, qs, cb) { + const requestOptions = { + url: coreUrl() + corePath, + qs, + }; - request(requestOptions, function(error, response, body) { + request(requestOptions, (error, response, body) => { if (error) { - logger.warn('Error requesting to core', {requestOptions: requestOptions, error: error}); + logger.warn('Error requesting to core', { + requestOptions, error, + }); + if (cb) { cb(error); } + return; } - if (response.statusCode != 200) { - logger.warn('Core return http status code ' + response.statusCode, {requestOptions: requestOptions, httpStatus: response.statusCode}); + if (response.statusCode !== 200) { + logger.warn(`Core return http status code ${response.statusCode}`, { + requestOptions, httpStatus: response.statusCode, + }); + if (cb) { cb('ER_HTTP_STATUS'); } @@ -33,7 +38,6 @@ function doRequest(core_path, qs, cb) { } logger.verbose('Core response on request'); - //logger.verbose('Core response on request', {body: body}); if (cb) { cb(null, body); @@ -41,34 +45,33 @@ function doRequest(core_path, qs, cb) { }); } -function doRequestAndParse(core_path, qs, cb) { - doRequest(core_path, qs, function(error, core_response_body) { +function doRequestAndParse(corePath, qs, cb) { + doRequest(corePath, qs, (error, coreResponseBody) => { if (error) { cb(error); return; } - let core_response_object; + let coreResponseObj; try { - core_response_object = JSON.parse(core_response_body); - } - catch(e) { + coreResponseObj = JSON.parse(coreResponseBody); + } catch (e) { logger.warn( 'ER_CORE_RESPONSE_IS_NOT_VALID_JSON', { error: e, - core_path: core_path, - qs: qs, - core_response_body: core_response_body - } + core_path: corePath, + qs, + core_response_body: coreResponseBody, + }, ); cb('ER_CORE_RESPONSE_IS_NOT_VALID_JSON'); return; } - cb(null, core_response_object); + cb(null, coreResponseObj); }); } diff --git a/control-panel/lib/router-config.js b/control-panel/lib/router-config.js index 9522c59..22f496e 100644 --- a/control-panel/lib/router-config.js +++ b/control-panel/lib/router-config.js @@ -5,9 +5,9 @@ const express = require('express'); const bodyParser = require('body-parser'); const uuidv1 = require('uuid/v1'); -const config = require('komodo-sdk/config'); const logger = require('tektrans-logger'); -const configReload = require('komodo-sdk/config-reload'); +const config = require('../../config'); +const configReload = require('../../config-reload'); const misc = require('./misc'); @@ -15,12 +15,12 @@ const router = express.Router(); function pageJsonEditor(req, res) { res.render( - req.app.locals.cp_views_dir + '/config.jsoneditor.html', + `${req.app.locals.cp_views_dir}/config.jsoneditor.html`, { page_title: 'Edit Konfigurasi', - jsoneditor_mode: req.query.mode || "form" - } - ) + jsoneditor_mode: req.query.mode || 'form', + }, + ); } function pageData(req, res) { @@ -29,32 +29,33 @@ function pageData(req, res) { function pageDataSubmit(req, res) { const backupDir = 'config-backup/'; - const backupFile = backupDir + 'config.backup_' + moment().format('YYYYMMDD_HHmmss') + '_' + uuidv1() + '.json'; + const backupFile = `${backupDir}config.backup_${moment().format('YYYYMMDD_HHmmss')}_${uuidv1()}.json`; if (!req || !req.body || typeof req.body !== 'object') { logger.warn('Invalid new config'); - return res.end('Failed, data is not object'); + res.end('Failed, data is not object'); + return; } if (Object.getOwnPropertyNames(req.body).length <= 0) { logger.warn('New config is empty, ignoring'); - return res.end('Failed, data is empty'); + res.end('Failed, data is empty'); + return; } - fs.mkdir(backupDir, function() { - fs.writeFile(backupFile, JSON.stringify(config, null, 4), function() { - fs.writeFile("config.json", JSON.stringify(req.body, null, 4), function(errWriteNewConfig) { - + fs.mkdir(backupDir, () => { + fs.writeFile(backupFile, JSON.stringify(config, null, 4), () => { + fs.writeFile('config.json', JSON.stringify(req.body, null, 4), (errWriteNewConfig) => { if (errWriteNewConfig) { - return res.end('Update failed: ' + errWriteNewConfig); + res.end(`Update failed: ${errWriteNewConfig}`); + return; } configReload.replace(req.body); res.end('Konfigurasi berhasil diupdate. Beberapa item mungkin perlu restart terlebih dahulu sebelum efektif berlaku.'); - - }) - }) - }) + }); + }); + }); } router.use(misc.needAuthUser); diff --git a/control-panel/lib/router-login.js b/control-panel/lib/router-login.js index 43c5ec0..8fc9eda 100644 --- a/control-panel/lib/router-login.js +++ b/control-panel/lib/router-login.js @@ -1,12 +1,14 @@ -const module_name = 'CONTROL_PANEL_' + require('path').basename(__filename); +// eslint-disable-next-line global-require +const MODULE_NAME = `CONTROL_PANEL_${require('path').basename(__filename)}`; const querystring = require('querystring'); const express = require('express'); const bodyParser = require('body-parser'); +const logger = require('tektrans-logger'); + const router = express.Router(); -const config = require('komodo-sdk/config'); -const logger = require('tektrans-logger'); +const config = require('../../config'); const requestToCore = require('./request-to-core'); @@ -17,70 +19,74 @@ function pageLogin(req, res) { } res.render( - req.app.locals.cp_views_dir + '/login.html', + `${req.app.locals.cp_views_dir}/login.html`, { ref: req.query.ref, - msg: req.query.msg - } - ) + msg: req.query.msg, + }, + ); } function pageLoginSubmitted(req, res) { - const method_name = 'pageLoginSubmitted'; + const methodName = 'pageLoginSubmitted'; if (!req || !req.body || !req.body.terminal_name || !req.body.password) { const qs = { msg: 'Nama terminal dan password harus diisi', - ref: req.query.ref + ref: req.query.ref, }; - res.redirect('/login?' + querystring.stringify(qs)); + res.redirect(`/login?${querystring.stringify(qs)}`); return; } const qs = { terminal_name: req.body.terminal_name, web_password: req.body.password, - request_by: config.handler_name || config.username || config.origin - } + request_by: config.handler_name || config.username || config.origin, + }; - requestToCore.doRequestAndParse('/services/terminalAuthentication', qs, function(err, coreResponse) { + requestToCore.doRequestAndParse('/services/terminalAuthentication', qs, (err, coreResponse) => { if (err) { - logger.warn('Error requesting authentication check to CORE', {module_name: module_name, method_name: method_name, err: err}); + logger.warn('Error requesting authentication check to CORE', { + module_name: MODULE_NAME, + method_name: methodName, + err, + }); res.end('SOMETHING WRONG'); return; } const redirectQs = { terminal_name: req.body.terminal_name, - ref: req.query.ref - } + ref: req.query.ref, + }; if (coreResponse.message) { redirectQs.msg = coreResponse.message; } if (coreResponse.error) { - res.redirect('/login?' + querystring.stringify(redirectQs)); + res.redirect(`/login?${querystring.stringify(redirectQs)}`); return; } if (!coreResponse.terminal) { redirectQs.msg = 'Terminal tidak terdefinisi'; - res.redirect('/login?' + querystring.stringify(redirectQs)); + res.redirect(`/login?${querystring.stringify(redirectQs)}`); return; } if (!coreResponse.terminal.super || !coreResponse.terminal.store_is_super) { redirectQs.msg = 'Hanya super terminal pada super store yang dapat mengakses sistem.'; - res.redirect('/login?' + querystring.stringify(redirectQs)); + res.redirect(`/login?${querystring.stringify(redirectQs)}`); return; } req.session.username = req.body.terminal_name; req.session.terminal = coreResponse.terminal; - let redirectUrl = req.query.ref || '/'; + const redirectUrl = req.query.ref || '/'; res.redirect(redirectUrl); }); } @@ -93,7 +99,7 @@ function pageLogout(req, res) { } router.get('/', pageLogin); -router.post('/', bodyParser.urlencoded({extended: true}), pageLoginSubmitted); +router.post('/', bodyParser.urlencoded({ extended: true }), pageLoginSubmitted); router.get('/out', pageLogout); module.exports = router; diff --git a/control-panel/lib/router-main.js b/control-panel/lib/router-main.js index b091d48..83d5f42 100644 --- a/control-panel/lib/router-main.js +++ b/control-panel/lib/router-main.js @@ -1,39 +1,39 @@ const os = require('os'); const express = require('express'); -const router = express.Router(); - const numeral = require('numeral'); const logger = require('tektrans-logger'); -const matrix = require('komodo-sdk/matrix'); +const matrix = require('../../matrix'); const misc = require('./misc'); +const router = express.Router(); + function pageMain(req, res) { res.redirect('/runtime'); } function pageLog(req, res) { - logger.query({json: true, order: 'desc'}, function(err) { + logger.query({ json: true, order: 'desc' }, (err) => { if (err) { - return res.end('INVALID LOGGER'); + res.end('INVALID LOGGER'); + return; } res.render( - req.app.locals.cp_views_dir + '/log.html', + `${req.app.locals.cp_views_dir}/log.html`, { // log: JSON.stringify(results.logs, null, 4) - log: '[]' - } + log: '[]', + }, ); - }); } -function pageRuntime(req, res) { +function pageRuntime(req, res) { res.render( - req.app.locals.cp_views_dir + '/runtime.html', + `${req.app.locals.cp_views_dir}/runtime.html`, { uptime: numeral(process.uptime()).format(), matrix: JSON.stringify(matrix, null, 4), @@ -48,18 +48,16 @@ function pageRuntime(req, res) { release: os.release(), totalmem: os.totalmem(), }, null, 4), - } - ) + }, + ); } function pageTerminate(req, res) { - res.end('Terminating....', function() { + res.end('Terminating....', () => { process.exit(0); }); } -//router.use(misc.needAuthUser); - router.get('/', pageMain); router.get('/runtime', misc.needAuthUser, pageRuntime); router.get('/log', misc.needAuthUser, pageLog); diff --git a/control-panel/lib/routers.js b/control-panel/lib/routers.js index 68516c2..01479eb 100644 --- a/control-panel/lib/routers.js +++ b/control-panel/lib/routers.js @@ -1,5 +1,3 @@ -"use strict"; - const routerMain = require('./router-main'); const routerLogin = require('./router-login'); const routerConfig = require('./router-config');