Compare View

switch
from
...
to
 
Commits (3)

Changes

Showing 10 changed files Side-by-side Diff

... ... @@ -4,8 +4,15 @@ All notable changes to this project will be documented in this file. Dates are d
4 4  
5 5 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6 6  
  7 +#### [v1.45.8](https://gitlab.kodesumber.com/komodo/komodo-sdk/compare/v1.45.7...v1.45.8)
  8 +
  9 +- Fix eslint on control-panel [`33b054f`](https://gitlab.kodesumber.com/komodo/komodo-sdk/commit/33b054fbea3b45f351608b10ae064dd7f8325fbe)
  10 +- Bump uuid from 3.4.0 to 9.0.0 [`b52e4b1`](https://gitlab.kodesumber.com/komodo/komodo-sdk/commit/b52e4b123240f4233b701a6bec2a0e72118c6e85)
  11 +
7 12 #### [v1.45.7](https://gitlab.kodesumber.com/komodo/komodo-sdk/compare/v1.45.6...v1.45.7)
8 13  
  14 +> 10 November 2022
  15 +
9 16 - Bump tektrans-logger 1.2.4 to 1.2.5 [`25e6190`](https://gitlab.kodesumber.com/komodo/komodo-sdk/commit/25e6190f8718c46dd1ffbc96b1df7188557f4fff)
10 17 - Add config-save on api-server [`4a7ed5b`](https://gitlab.kodesumber.com/komodo/komodo-sdk/commit/4a7ed5bd6b8d31c41a98369a72289530376d1bdf)
11 18 - Change api-server.router-config.save using config-save [`c1e6950`](https://gitlab.kodesumber.com/komodo/komodo-sdk/commit/c1e6950b52c7a2dc31a67ff7e5c84071c00ee169)
control-panel/index.js
1   -"use strict";
2   -
3 1 require('./lib/express-init');
control-panel/lib/express-init.js
... ... @@ -6,7 +6,7 @@ const nunjucks = require('nunjucks');
6 6 const uniqid = require('uniqid');
7 7 const numeral = require('numeral');
8 8  
9   -const config = require('komodo-sdk/config');
  9 +const config = require('../../config');
10 10 const logger = require('tektrans-logger');
11 11  
12 12 const routers = require('./routers');
control-panel/lib/request-to-core.js
1 1 const request = require('request');
2 2  
3 3 const logger = require('tektrans-logger');
4   -const core_url = require('../../core-url');
5   -
  4 +const coreURLLib = require('../../core-url');
6 5  
7 6 function coreUrl() {
8   - return core_url;
  7 + return coreURLLib;
9 8 }
10 9  
11   -function doRequest(core_path, qs, cb) {
12   -
13   - let requestOptions = {
14   - url: coreUrl() + core_path,
15   - qs: qs
16   - }
  10 +function doRequest(corePath, qs, cb) {
  11 + const requestOptions = {
  12 + url: coreUrl() + corePath,
  13 + qs,
  14 + };
17 15  
18   - request(requestOptions, function(error, response, body) {
  16 + request(requestOptions, (error, response, body) => {
19 17 if (error) {
20   - logger.warn('Error requesting to core', {requestOptions: requestOptions, error: error});
  18 + logger.warn('Error requesting to core', {
  19 + requestOptions, error,
  20 + });
  21 +
21 22 if (cb) {
22 23 cb(error);
23 24 }
  25 +
24 26 return;
25 27 }
26 28  
27   - if (response.statusCode != 200) {
28   - logger.warn('Core return http status code ' + response.statusCode, {requestOptions: requestOptions, httpStatus: response.statusCode});
  29 + if (response.statusCode !== 200) {
  30 + logger.warn(`Core return http status code ${response.statusCode}`, {
  31 + requestOptions, httpStatus: response.statusCode,
  32 + });
  33 +
29 34 if (cb) {
30 35 cb('ER_HTTP_STATUS');
31 36 }
... ... @@ -33,7 +38,6 @@ function doRequest(core_path, qs, cb) {
33 38 }
34 39  
35 40 logger.verbose('Core response on request');
36   - //logger.verbose('Core response on request', {body: body});
37 41  
38 42 if (cb) {
39 43 cb(null, body);
... ... @@ -41,34 +45,33 @@ function doRequest(core_path, qs, cb) {
41 45 });
42 46 }
43 47  
44   -function doRequestAndParse(core_path, qs, cb) {
45   - doRequest(core_path, qs, function(error, core_response_body) {
  48 +function doRequestAndParse(corePath, qs, cb) {
  49 + doRequest(corePath, qs, (error, coreResponseBody) => {
46 50 if (error) {
47 51 cb(error);
48 52 return;
49 53 }
50 54  
51   - let core_response_object;
  55 + let coreResponseObj;
52 56  
53 57 try {
54   - core_response_object = JSON.parse(core_response_body);
55   - }
56   - catch(e) {
  58 + coreResponseObj = JSON.parse(coreResponseBody);
  59 + } catch (e) {
57 60 logger.warn(
58 61 'ER_CORE_RESPONSE_IS_NOT_VALID_JSON',
59 62 {
60 63 error: e,
61   - core_path: core_path,
62   - qs: qs,
63   - core_response_body: core_response_body
64   - }
  64 + core_path: corePath,
  65 + qs,
  66 + core_response_body: coreResponseBody,
  67 + },
65 68 );
66 69  
67 70 cb('ER_CORE_RESPONSE_IS_NOT_VALID_JSON');
68 71 return;
69 72 }
70 73  
71   - cb(null, core_response_object);
  74 + cb(null, coreResponseObj);
72 75 });
73 76 }
74 77  
control-panel/lib/router-config.js
... ... @@ -3,11 +3,11 @@ const fs = require('fs');
3 3 const moment = require('moment');
4 4 const express = require('express');
5 5 const bodyParser = require('body-parser');
6   -const uuidv1 = require('uuid/v1');
  6 +const { v1: uuidv1 } = require('uuid');
7 7  
8   -const config = require('komodo-sdk/config');
9 8 const logger = require('tektrans-logger');
10   -const configReload = require('komodo-sdk/config-reload');
  9 +const config = require('../../config');
  10 +const configReload = require('../../config-reload');
11 11  
12 12 const misc = require('./misc');
13 13  
... ... @@ -15,12 +15,12 @@ const router = express.Router();
15 15  
16 16 function pageJsonEditor(req, res) {
17 17 res.render(
18   - req.app.locals.cp_views_dir + '/config.jsoneditor.html',
  18 + `${req.app.locals.cp_views_dir}/config.jsoneditor.html`,
19 19 {
20 20 page_title: 'Edit Konfigurasi',
21   - jsoneditor_mode: req.query.mode || "form"
22   - }
23   - )
  21 + jsoneditor_mode: req.query.mode || 'form',
  22 + },
  23 + );
24 24 }
25 25  
26 26 function pageData(req, res) {
... ... @@ -29,32 +29,33 @@ function pageData(req, res) {
29 29  
30 30 function pageDataSubmit(req, res) {
31 31 const backupDir = 'config-backup/';
32   - const backupFile = backupDir + 'config.backup_' + moment().format('YYYYMMDD_HHmmss') + '_' + uuidv1() + '.json';
  32 + const backupFile = `${backupDir}config.backup_${moment().format('YYYYMMDD_HHmmss')}_${uuidv1()}.json`;
33 33  
34 34 if (!req || !req.body || typeof req.body !== 'object') {
35 35 logger.warn('Invalid new config');
36   - return res.end('Failed, data is not object');
  36 + res.end('Failed, data is not object');
  37 + return;
37 38 }
38 39  
39 40 if (Object.getOwnPropertyNames(req.body).length <= 0) {
40 41 logger.warn('New config is empty, ignoring');
41   - return res.end('Failed, data is empty');
  42 + res.end('Failed, data is empty');
  43 + return;
42 44 }
43 45  
44   - fs.mkdir(backupDir, function() {
45   - fs.writeFile(backupFile, JSON.stringify(config, null, 4), function() {
46   - fs.writeFile("config.json", JSON.stringify(req.body, null, 4), function(errWriteNewConfig) {
47   -
  46 + fs.mkdir(backupDir, () => {
  47 + fs.writeFile(backupFile, JSON.stringify(config, null, 4), () => {
  48 + fs.writeFile('config.json', JSON.stringify(req.body, null, 4), (errWriteNewConfig) => {
48 49 if (errWriteNewConfig) {
49   - return res.end('Update failed: ' + errWriteNewConfig);
  50 + res.end(`Update failed: ${errWriteNewConfig}`);
  51 + return;
50 52 }
51 53  
52 54 configReload.replace(req.body);
53 55 res.end('Konfigurasi berhasil diupdate. Beberapa item mungkin perlu restart terlebih dahulu sebelum efektif berlaku.');
54   -
55   - })
56   - })
57   - })
  56 + });
  57 + });
  58 + });
58 59 }
59 60  
60 61 router.use(misc.needAuthUser);
control-panel/lib/router-login.js
1   -const module_name = 'CONTROL_PANEL_' + require('path').basename(__filename);
  1 +// eslint-disable-next-line global-require
  2 +const MODULE_NAME = `CONTROL_PANEL_${require('path').basename(__filename)}`;
2 3  
3 4 const querystring = require('querystring');
4 5 const express = require('express');
5 6 const bodyParser = require('body-parser');
  7 +const logger = require('tektrans-logger');
  8 +
6 9 const router = express.Router();
7 10  
8   -const config = require('komodo-sdk/config');
9   -const logger = require('tektrans-logger');
  11 +const config = require('../../config');
10 12  
11 13 const requestToCore = require('./request-to-core');
12 14  
... ... @@ -17,70 +19,74 @@ function pageLogin(req, res) {
17 19 }
18 20  
19 21 res.render(
20   - req.app.locals.cp_views_dir + '/login.html',
  22 + `${req.app.locals.cp_views_dir}/login.html`,
21 23 {
22 24 ref: req.query.ref,
23   - msg: req.query.msg
24   - }
25   - )
  25 + msg: req.query.msg,
  26 + },
  27 + );
26 28 }
27 29  
28 30 function pageLoginSubmitted(req, res) {
29   - const method_name = 'pageLoginSubmitted';
  31 + const methodName = 'pageLoginSubmitted';
30 32  
31 33 if (!req || !req.body || !req.body.terminal_name || !req.body.password) {
32 34 const qs = {
33 35 msg: 'Nama terminal dan password harus diisi',
34   - ref: req.query.ref
  36 + ref: req.query.ref,
35 37 };
36 38  
37   - res.redirect('/login?' + querystring.stringify(qs));
  39 + res.redirect(`/login?${querystring.stringify(qs)}`);
38 40 return;
39 41 }
40 42  
41 43 const qs = {
42 44 terminal_name: req.body.terminal_name,
43 45 web_password: req.body.password,
44   - request_by: config.handler_name || config.username || config.origin
45   - }
  46 + request_by: config.handler_name || config.username || config.origin,
  47 + };
46 48  
47   - requestToCore.doRequestAndParse('/services/terminalAuthentication', qs, function(err, coreResponse) {
  49 + requestToCore.doRequestAndParse('/services/terminalAuthentication', qs, (err, coreResponse) => {
48 50 if (err) {
49   - logger.warn('Error requesting authentication check to CORE', {module_name: module_name, method_name: method_name, err: err});
  51 + logger.warn('Error requesting authentication check to CORE', {
  52 + module_name: MODULE_NAME,
  53 + method_name: methodName,
  54 + err,
  55 + });
50 56 res.end('SOMETHING WRONG');
51 57 return;
52 58 }
53 59  
54 60 const redirectQs = {
55 61 terminal_name: req.body.terminal_name,
56   - ref: req.query.ref
57   - }
  62 + ref: req.query.ref,
  63 + };
58 64  
59 65 if (coreResponse.message) {
60 66 redirectQs.msg = coreResponse.message;
61 67 }
62 68  
63 69 if (coreResponse.error) {
64   - res.redirect('/login?' + querystring.stringify(redirectQs));
  70 + res.redirect(`/login?${querystring.stringify(redirectQs)}`);
65 71 return;
66 72 }
67 73  
68 74 if (!coreResponse.terminal) {
69 75 redirectQs.msg = 'Terminal tidak terdefinisi';
70   - res.redirect('/login?' + querystring.stringify(redirectQs));
  76 + res.redirect(`/login?${querystring.stringify(redirectQs)}`);
71 77 return;
72 78 }
73 79  
74 80 if (!coreResponse.terminal.super || !coreResponse.terminal.store_is_super) {
75 81 redirectQs.msg = 'Hanya super terminal pada super store yang dapat mengakses sistem.';
76   - res.redirect('/login?' + querystring.stringify(redirectQs));
  82 + res.redirect(`/login?${querystring.stringify(redirectQs)}`);
77 83 return;
78 84 }
79 85  
80 86 req.session.username = req.body.terminal_name;
81 87 req.session.terminal = coreResponse.terminal;
82 88  
83   - let redirectUrl = req.query.ref || '/';
  89 + const redirectUrl = req.query.ref || '/';
84 90 res.redirect(redirectUrl);
85 91 });
86 92 }
... ... @@ -93,7 +99,7 @@ function pageLogout(req, res) {
93 99 }
94 100  
95 101 router.get('/', pageLogin);
96   -router.post('/', bodyParser.urlencoded({extended: true}), pageLoginSubmitted);
  102 +router.post('/', bodyParser.urlencoded({ extended: true }), pageLoginSubmitted);
97 103 router.get('/out', pageLogout);
98 104  
99 105 module.exports = router;
control-panel/lib/router-main.js
1 1 const os = require('os');
2 2  
3 3 const express = require('express');
4   -const router = express.Router();
5   -
6 4 const numeral = require('numeral');
7 5  
8 6 const logger = require('tektrans-logger');
9   -const matrix = require('komodo-sdk/matrix');
  7 +const matrix = require('../../matrix');
10 8  
11 9 const misc = require('./misc');
12 10  
  11 +const router = express.Router();
  12 +
13 13 function pageMain(req, res) {
14 14 res.redirect('/runtime');
15 15 }
16 16  
17 17 function pageLog(req, res) {
18   - logger.query({json: true, order: 'desc'}, function(err) {
  18 + logger.query({ json: true, order: 'desc' }, (err) => {
19 19 if (err) {
20   - return res.end('INVALID LOGGER');
  20 + res.end('INVALID LOGGER');
  21 + return;
21 22 }
22 23  
23 24 res.render(
24   - req.app.locals.cp_views_dir + '/log.html',
  25 + `${req.app.locals.cp_views_dir}/log.html`,
25 26 {
26 27 // log: JSON.stringify(results.logs, null, 4)
27   - log: '[]'
28   - }
  28 + log: '[]',
  29 + },
29 30 );
30   -
31 31 });
32 32 }
33   -function pageRuntime(req, res) {
34 33  
  34 +function pageRuntime(req, res) {
35 35 res.render(
36   - req.app.locals.cp_views_dir + '/runtime.html',
  36 + `${req.app.locals.cp_views_dir}/runtime.html`,
37 37 {
38 38 uptime: numeral(process.uptime()).format(),
39 39 matrix: JSON.stringify(matrix, null, 4),
... ... @@ -48,18 +48,16 @@ function pageRuntime(req, res) {
48 48 release: os.release(),
49 49 totalmem: os.totalmem(),
50 50 }, null, 4),
51   - }
52   - )
  51 + },
  52 + );
53 53 }
54 54  
55 55 function pageTerminate(req, res) {
56   - res.end('Terminating....', function() {
  56 + res.end('Terminating....', () => {
57 57 process.exit(0);
58 58 });
59 59 }
60 60  
61   -//router.use(misc.needAuthUser);
62   -
63 61 router.get('/', pageMain);
64 62 router.get('/runtime', misc.needAuthUser, pageRuntime);
65 63 router.get('/log', misc.needAuthUser, pageLog);
control-panel/lib/routers.js
1   -"use strict";
2   -
3 1 const routerMain = require('./router-main');
4 2 const routerLogin = require('./router-login');
5 3 const routerConfig = require('./router-config');
1 1 {
2 2 "name": "komodo-sdk",
3   - "version": "1.45.7",
  3 + "version": "1.45.8",
4 4 "lockfileVersion": 2,
5 5 "requires": true,
6 6 "packages": {
7 7 "": {
8 8 "name": "komodo-sdk",
9   - "version": "1.45.7",
  9 + "version": "1.45.8",
10 10 "license": "ISC",
11 11 "dependencies": {
12 12 "array-unique": "^0.3.2",
... ... @@ -37,7 +37,7 @@
37 37 "tektrans-logger": "^1.2.5",
38 38 "uniqid": "^4.1.1",
39 39 "url-join": "^4.0.1",
40   - "uuid": "^3.4.0"
  40 + "uuid": "^9.0.0"
41 41 },
42 42 "devDependencies": {
43 43 "auto-changelog": "^2.4.0",
... ... @@ -2932,6 +2932,15 @@
2932 2932 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
2933 2933 "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
2934 2934 },
  2935 + "node_modules/request/node_modules/uuid": {
  2936 + "version": "3.4.0",
  2937 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
  2938 + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
  2939 + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
  2940 + "bin": {
  2941 + "uuid": "bin/uuid"
  2942 + }
  2943 + },
2935 2944 "node_modules/resolve": {
2936 2945 "version": "1.21.0",
2937 2946 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
... ... @@ -3573,12 +3582,11 @@
3573 3582 }
3574 3583 },
3575 3584 "node_modules/uuid": {
3576   - "version": "3.4.0",
3577   - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
3578   - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
3579   - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
  3585 + "version": "9.0.0",
  3586 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
  3587 + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
3580 3588 "bin": {
3581   - "uuid": "bin/uuid"
  3589 + "uuid": "dist/bin/uuid"
3582 3590 }
3583 3591 },
3584 3592 "node_modules/v8-compile-cache": {
... ... @@ -5952,6 +5960,11 @@
5952 5960 "version": "5.2.0",
5953 5961 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
5954 5962 "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
  5963 + },
  5964 + "uuid": {
  5965 + "version": "3.4.0",
  5966 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
  5967 + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
5955 5968 }
5956 5969 }
5957 5970 },
... ... @@ -6434,9 +6447,9 @@
6434 6447 "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
6435 6448 },
6436 6449 "uuid": {
6437   - "version": "3.4.0",
6438   - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
6439   - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
  6450 + "version": "9.0.0",
  6451 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
  6452 + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg=="
6440 6453 },
6441 6454 "v8-compile-cache": {
6442 6455 "version": "2.3.0",
1 1 {
2 2 "name": "komodo-sdk",
3   - "version": "1.45.7",
  3 + "version": "1.45.8",
4 4 "description": "SDK for Komodo",
5 5 "main": "index.js",
6 6 "scripts": {
... ... @@ -48,7 +48,7 @@
48 48 "tektrans-logger": "^1.2.5",
49 49 "uniqid": "^4.1.1",
50 50 "url-join": "^4.0.1",
51   - "uuid": "^3.4.0"
  51 + "uuid": "^9.0.0"
52 52 },
53 53 "devDependencies": {
54 54 "auto-changelog": "^2.4.0",