Commit 33b054fbea3b45f351608b10ae064dd7f8325fbe
1 parent
74172db4dd
Exists in
master
Fix eslint on control-panel
Showing 7 changed files with 89 additions and 85 deletions Inline Diff
control-panel/index.js
1 | "use strict"; | ||
2 | |||
3 | require('./lib/express-init'); | 1 | require('./lib/express-init'); |
4 | 2 |
control-panel/lib/express-init.js
1 | const path = require('path'); | 1 | const path = require('path'); |
2 | 2 | ||
3 | const express = require('express'); | 3 | const express = require('express'); |
4 | const session = require('express-session'); | 4 | const session = require('express-session'); |
5 | const nunjucks = require('nunjucks'); | 5 | const nunjucks = require('nunjucks'); |
6 | const uniqid = require('uniqid'); | 6 | const uniqid = require('uniqid'); |
7 | const numeral = require('numeral'); | 7 | const numeral = require('numeral'); |
8 | 8 | ||
9 | const config = require('komodo-sdk/config'); | 9 | const config = require('../../config'); |
10 | const logger = require('tektrans-logger'); | 10 | const logger = require('tektrans-logger'); |
11 | 11 | ||
12 | const routers = require('./routers'); | 12 | const routers = require('./routers'); |
13 | 13 | ||
14 | // skip if no approriate config | 14 | // skip if no approriate config |
15 | if (!config || !config.control_panel || !config.control_panel.listen_port) { | 15 | if (!config || !config.control_panel || !config.control_panel.listen_port) { |
16 | return; | 16 | return; |
17 | } | 17 | } |
18 | 18 | ||
19 | const app = express(); | 19 | const app = express(); |
20 | 20 | ||
21 | app.locals.config = config; | 21 | app.locals.config = config; |
22 | app.locals.title = config.control_panel.title || config.handler_name || config.username || config.origin; | 22 | app.locals.title = config.control_panel.title || config.handler_name || config.username || config.origin; |
23 | app.locals.cp_views_dir = path.dirname(__dirname) + '/views'; | 23 | app.locals.cp_views_dir = path.dirname(__dirname) + '/views'; |
24 | app.locals.cp_template = app.locals.cp_views_dir + '/template.html'; | 24 | app.locals.cp_template = app.locals.cp_views_dir + '/template.html'; |
25 | 25 | ||
26 | // session | 26 | // session |
27 | app.use(session({ | 27 | app.use(session({ |
28 | secret: config.control_panel.session_secret || uniqid(), | 28 | secret: config.control_panel.session_secret || uniqid(), |
29 | resave: true, | 29 | resave: true, |
30 | saveUninitialized: false, | 30 | saveUninitialized: false, |
31 | name: config.control_panel.session_name || config.handler_name || config.origin | 31 | name: config.control_panel.session_name || config.handler_name || config.origin |
32 | })); | 32 | })); |
33 | 33 | ||
34 | const static_dir = path.dirname(__dirname) + '/views-static'; | 34 | const static_dir = path.dirname(__dirname) + '/views-static'; |
35 | app.use(express.static(static_dir, {maxAge: 24 * 3600 * 1000})); | 35 | app.use(express.static(static_dir, {maxAge: 24 * 3600 * 1000})); |
36 | 36 | ||
37 | // nunjucks environment | 37 | // nunjucks environment |
38 | let nunjucksEnv = nunjucks.configure('', { | 38 | let nunjucksEnv = nunjucks.configure('', { |
39 | autoescape: true, | 39 | autoescape: true, |
40 | express: app, | 40 | express: app, |
41 | noCache: config.control_panel.template_no_cache | 41 | noCache: config.control_panel.template_no_cache |
42 | }); | 42 | }); |
43 | 43 | ||
44 | numeral.register('locale', 'id', { | 44 | numeral.register('locale', 'id', { |
45 | delimiters: { | 45 | delimiters: { |
46 | thousands: '.', | 46 | thousands: '.', |
47 | decimal: ',' | 47 | decimal: ',' |
48 | }, | 48 | }, |
49 | abbreviations: { | 49 | abbreviations: { |
50 | thousand: 'ribu', | 50 | thousand: 'ribu', |
51 | million: 'juta', | 51 | million: 'juta', |
52 | billion: 'miliar', | 52 | billion: 'miliar', |
53 | trillion: 'triliun' | 53 | trillion: 'triliun' |
54 | }, | 54 | }, |
55 | currency: { | 55 | currency: { |
56 | symbol: 'Rp.' | 56 | symbol: 'Rp.' |
57 | } | 57 | } |
58 | }); | 58 | }); |
59 | numeral.locale('id'); | 59 | numeral.locale('id'); |
60 | 60 | ||
61 | 61 | ||
62 | nunjucksEnv.addFilter('numeral', function(num) { | 62 | nunjucksEnv.addFilter('numeral', function(num) { |
63 | return numeral(num).format(); | 63 | return numeral(num).format(); |
64 | }) | 64 | }) |
65 | 65 | ||
66 | routers.init(app); | 66 | routers.init(app); |
67 | 67 | ||
68 | // start http server | 68 | // start http server |
69 | app.listen(config.control_panel.listen_port, function () { | 69 | app.listen(config.control_panel.listen_port, function () { |
70 | logger.info('Web control panel started', {listen_port: config.control_panel.listen_port, cp_views_dir: app.locals.cp_views_dir, static_dir: static_dir}); | 70 | logger.info('Web control panel started', {listen_port: config.control_panel.listen_port, cp_views_dir: app.locals.cp_views_dir, static_dir: static_dir}); |
71 | }); | 71 | }); |
72 | 72 |
control-panel/lib/request-to-core.js
1 | const request = require('request'); | 1 | const request = require('request'); |
2 | 2 | ||
3 | const logger = require('tektrans-logger'); | 3 | const logger = require('tektrans-logger'); |
4 | const core_url = require('../../core-url'); | 4 | const coreURLLib = require('../../core-url'); |
5 | |||
6 | 5 | ||
7 | function coreUrl() { | 6 | function coreUrl() { |
8 | return core_url; | 7 | return coreURLLib; |
9 | } | 8 | } |
10 | 9 | ||
11 | function doRequest(core_path, qs, cb) { | 10 | function doRequest(corePath, qs, cb) { |
12 | 11 | const requestOptions = { | |
13 | let requestOptions = { | 12 | url: coreUrl() + corePath, |
14 | url: coreUrl() + core_path, | 13 | qs, |
15 | qs: qs | 14 | }; |
16 | } | ||
17 | 15 | ||
18 | request(requestOptions, function(error, response, body) { | 16 | request(requestOptions, (error, response, body) => { |
19 | if (error) { | 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 | if (cb) { | 22 | if (cb) { |
22 | cb(error); | 23 | cb(error); |
23 | } | 24 | } |
25 | |||
24 | return; | 26 | return; |
25 | } | 27 | } |
26 | 28 | ||
27 | if (response.statusCode != 200) { | 29 | if (response.statusCode !== 200) { |
28 | logger.warn('Core return http status code ' + response.statusCode, {requestOptions: requestOptions, httpStatus: response.statusCode}); | 30 | logger.warn(`Core return http status code ${response.statusCode}`, { |
31 | requestOptions, httpStatus: response.statusCode, | ||
32 | }); | ||
33 | |||
29 | if (cb) { | 34 | if (cb) { |
30 | cb('ER_HTTP_STATUS'); | 35 | cb('ER_HTTP_STATUS'); |
31 | } | 36 | } |
32 | return; | 37 | return; |
33 | } | 38 | } |
34 | 39 | ||
35 | logger.verbose('Core response on request'); | 40 | logger.verbose('Core response on request'); |
36 | //logger.verbose('Core response on request', {body: body}); | ||
37 | 41 | ||
38 | if (cb) { | 42 | if (cb) { |
39 | cb(null, body); | 43 | cb(null, body); |
40 | } | 44 | } |
41 | }); | 45 | }); |
42 | } | 46 | } |
43 | 47 | ||
44 | function doRequestAndParse(core_path, qs, cb) { | 48 | function doRequestAndParse(corePath, qs, cb) { |
45 | doRequest(core_path, qs, function(error, core_response_body) { | 49 | doRequest(corePath, qs, (error, coreResponseBody) => { |
46 | if (error) { | 50 | if (error) { |
47 | cb(error); | 51 | cb(error); |
48 | return; | 52 | return; |
49 | } | 53 | } |
50 | 54 | ||
51 | let core_response_object; | 55 | let coreResponseObj; |
52 | 56 | ||
53 | try { | 57 | try { |
54 | core_response_object = JSON.parse(core_response_body); | 58 | coreResponseObj = JSON.parse(coreResponseBody); |
55 | } | 59 | } catch (e) { |
56 | catch(e) { | ||
57 | logger.warn( | 60 | logger.warn( |
58 | 'ER_CORE_RESPONSE_IS_NOT_VALID_JSON', | 61 | 'ER_CORE_RESPONSE_IS_NOT_VALID_JSON', |
59 | { | 62 | { |
60 | error: e, | 63 | error: e, |
61 | core_path: core_path, | 64 | core_path: corePath, |
62 | qs: qs, | 65 | qs, |
63 | core_response_body: core_response_body | 66 | core_response_body: coreResponseBody, |
64 | } | 67 | }, |
65 | ); | 68 | ); |
66 | 69 | ||
67 | cb('ER_CORE_RESPONSE_IS_NOT_VALID_JSON'); | 70 | cb('ER_CORE_RESPONSE_IS_NOT_VALID_JSON'); |
68 | return; | 71 | return; |
69 | } | 72 | } |
70 | 73 | ||
71 | cb(null, core_response_object); | 74 | cb(null, coreResponseObj); |
72 | }); | 75 | }); |
73 | } | 76 | } |
control-panel/lib/router-config.js
1 | const fs = require('fs'); | 1 | const fs = require('fs'); |
2 | 2 | ||
3 | const moment = require('moment'); | 3 | const moment = require('moment'); |
4 | const express = require('express'); | 4 | const express = require('express'); |
5 | const bodyParser = require('body-parser'); | 5 | const bodyParser = require('body-parser'); |
6 | const uuidv1 = require('uuid/v1'); | 6 | const uuidv1 = require('uuid/v1'); |
7 | 7 | ||
8 | const config = require('komodo-sdk/config'); | ||
9 | const logger = require('tektrans-logger'); | 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 | const misc = require('./misc'); | 12 | const misc = require('./misc'); |
13 | 13 | ||
14 | const router = express.Router(); | 14 | const router = express.Router(); |
15 | 15 | ||
16 | function pageJsonEditor(req, res) { | 16 | function pageJsonEditor(req, res) { |
17 | res.render( | 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 | page_title: 'Edit Konfigurasi', | 20 | page_title: 'Edit Konfigurasi', |
21 | jsoneditor_mode: req.query.mode || "form" | 21 | jsoneditor_mode: req.query.mode || 'form', |
22 | } | 22 | }, |
23 | ) | 23 | ); |
24 | } | 24 | } |
25 | 25 | ||
26 | function pageData(req, res) { | 26 | function pageData(req, res) { |
27 | res.json(config); | 27 | res.json(config); |
28 | } | 28 | } |
29 | 29 | ||
30 | function pageDataSubmit(req, res) { | 30 | function pageDataSubmit(req, res) { |
31 | const backupDir = 'config-backup/'; | 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 | if (!req || !req.body || typeof req.body !== 'object') { | 34 | if (!req || !req.body || typeof req.body !== 'object') { |
35 | logger.warn('Invalid new config'); | 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 | if (Object.getOwnPropertyNames(req.body).length <= 0) { | 40 | if (Object.getOwnPropertyNames(req.body).length <= 0) { |
40 | logger.warn('New config is empty, ignoring'); | 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() { | 46 | fs.mkdir(backupDir, () => { |
45 | fs.writeFile(backupFile, JSON.stringify(config, null, 4), function() { | 47 | fs.writeFile(backupFile, JSON.stringify(config, null, 4), () => { |
46 | fs.writeFile("config.json", JSON.stringify(req.body, null, 4), function(errWriteNewConfig) { | 48 | fs.writeFile('config.json', JSON.stringify(req.body, null, 4), (errWriteNewConfig) => { |
47 | |||
48 | if (errWriteNewConfig) { | 49 | if (errWriteNewConfig) { |
49 | return res.end('Update failed: ' + errWriteNewConfig); | 50 | res.end(`Update failed: ${errWriteNewConfig}`); |
51 | return; | ||
50 | } | 52 | } |
51 | 53 | ||
52 | configReload.replace(req.body); | 54 | configReload.replace(req.body); |
53 | res.end('Konfigurasi berhasil diupdate. Beberapa item mungkin perlu restart terlebih dahulu sebelum efektif berlaku.'); | 55 | res.end('Konfigurasi berhasil diupdate. Beberapa item mungkin perlu restart terlebih dahulu sebelum efektif berlaku.'); |
54 | 56 | }); | |
55 | }) | 57 | }); |
56 | }) | 58 | }); |
57 | }) | ||
58 | } | 59 | } |
59 | 60 | ||
60 | router.use(misc.needAuthUser); | 61 | router.use(misc.needAuthUser); |
61 | 62 | ||
62 | router.get('/', pageJsonEditor); | 63 | router.get('/', pageJsonEditor); |
63 | router.get('/data', pageData); | 64 | router.get('/data', pageData); |
64 | router.post('/data', bodyParser.json(), pageDataSubmit); | 65 | router.post('/data', bodyParser.json(), pageDataSubmit); |
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 | const querystring = require('querystring'); | 4 | const querystring = require('querystring'); |
4 | const express = require('express'); | 5 | const express = require('express'); |
5 | const bodyParser = require('body-parser'); | 6 | const bodyParser = require('body-parser'); |
7 | const logger = require('tektrans-logger'); | ||
8 | |||
6 | const router = express.Router(); | 9 | const router = express.Router(); |
7 | 10 | ||
8 | const config = require('komodo-sdk/config'); | 11 | const config = require('../../config'); |
9 | const logger = require('tektrans-logger'); | ||
10 | 12 | ||
11 | const requestToCore = require('./request-to-core'); | 13 | const requestToCore = require('./request-to-core'); |
12 | 14 | ||
13 | function pageLogin(req, res) { | 15 | function pageLogin(req, res) { |
14 | if (req.session && req.session.username && req.session.terminal) { | 16 | if (req.session && req.session.username && req.session.terminal) { |
15 | res.redirect('/'); | 17 | res.redirect('/'); |
16 | return; | 18 | return; |
17 | } | 19 | } |
18 | 20 | ||
19 | res.render( | 21 | res.render( |
20 | req.app.locals.cp_views_dir + '/login.html', | 22 | `${req.app.locals.cp_views_dir}/login.html`, |
21 | { | 23 | { |
22 | ref: req.query.ref, | 24 | ref: req.query.ref, |
23 | msg: req.query.msg | 25 | msg: req.query.msg, |
24 | } | 26 | }, |
25 | ) | 27 | ); |
26 | } | 28 | } |
27 | 29 | ||
28 | function pageLoginSubmitted(req, res) { | 30 | function pageLoginSubmitted(req, res) { |
29 | const method_name = 'pageLoginSubmitted'; | 31 | const methodName = 'pageLoginSubmitted'; |
30 | 32 | ||
31 | if (!req || !req.body || !req.body.terminal_name || !req.body.password) { | 33 | if (!req || !req.body || !req.body.terminal_name || !req.body.password) { |
32 | const qs = { | 34 | const qs = { |
33 | msg: 'Nama terminal dan password harus diisi', | 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 | return; | 40 | return; |
39 | } | 41 | } |
40 | 42 | ||
41 | const qs = { | 43 | const qs = { |
42 | terminal_name: req.body.terminal_name, | 44 | terminal_name: req.body.terminal_name, |
43 | web_password: req.body.password, | 45 | web_password: req.body.password, |
44 | request_by: config.handler_name || config.username || config.origin | 46 | request_by: config.handler_name || config.username || config.origin, |
45 | } | 47 | }; |
46 | 48 | ||
47 | requestToCore.doRequestAndParse('/services/terminalAuthentication', qs, function(err, coreResponse) { | 49 | requestToCore.doRequestAndParse('/services/terminalAuthentication', qs, (err, coreResponse) => { |
48 | if (err) { | 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 | res.end('SOMETHING WRONG'); | 56 | res.end('SOMETHING WRONG'); |
51 | return; | 57 | return; |
52 | } | 58 | } |
53 | 59 | ||
54 | const redirectQs = { | 60 | const redirectQs = { |
55 | terminal_name: req.body.terminal_name, | 61 | terminal_name: req.body.terminal_name, |
56 | ref: req.query.ref | 62 | ref: req.query.ref, |
57 | } | 63 | }; |
58 | 64 | ||
59 | if (coreResponse.message) { | 65 | if (coreResponse.message) { |
60 | redirectQs.msg = coreResponse.message; | 66 | redirectQs.msg = coreResponse.message; |
61 | } | 67 | } |
62 | 68 | ||
63 | if (coreResponse.error) { | 69 | if (coreResponse.error) { |
64 | res.redirect('/login?' + querystring.stringify(redirectQs)); | 70 | res.redirect(`/login?${querystring.stringify(redirectQs)}`); |
65 | return; | 71 | return; |
66 | } | 72 | } |
67 | 73 | ||
68 | if (!coreResponse.terminal) { | 74 | if (!coreResponse.terminal) { |
69 | redirectQs.msg = 'Terminal tidak terdefinisi'; | 75 | redirectQs.msg = 'Terminal tidak terdefinisi'; |
70 | res.redirect('/login?' + querystring.stringify(redirectQs)); | 76 | res.redirect(`/login?${querystring.stringify(redirectQs)}`); |
71 | return; | 77 | return; |
72 | } | 78 | } |
73 | 79 | ||
74 | if (!coreResponse.terminal.super || !coreResponse.terminal.store_is_super) { | 80 | if (!coreResponse.terminal.super || !coreResponse.terminal.store_is_super) { |
75 | redirectQs.msg = 'Hanya super terminal pada super store yang dapat mengakses sistem.'; | 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 | return; | 83 | return; |
78 | } | 84 | } |
79 | 85 | ||
80 | req.session.username = req.body.terminal_name; | 86 | req.session.username = req.body.terminal_name; |
81 | req.session.terminal = coreResponse.terminal; | 87 | req.session.terminal = coreResponse.terminal; |
82 | 88 | ||
83 | let redirectUrl = req.query.ref || '/'; | 89 | const redirectUrl = req.query.ref || '/'; |
84 | res.redirect(redirectUrl); | 90 | res.redirect(redirectUrl); |
85 | }); | 91 | }); |
86 | } | 92 | } |
87 | 93 | ||
88 | function pageLogout(req, res) { | 94 | function pageLogout(req, res) { |
89 | req.session.username = null; | 95 | req.session.username = null; |
90 | req.session.terminal = null; | 96 | req.session.terminal = null; |
91 | 97 | ||
92 | res.redirect('/login'); | 98 | res.redirect('/login'); |
93 | } | 99 | } |
94 | 100 | ||
95 | router.get('/', pageLogin); | 101 | router.get('/', pageLogin); |
96 | router.post('/', bodyParser.urlencoded({extended: true}), pageLoginSubmitted); | 102 | router.post('/', bodyParser.urlencoded({ extended: true }), pageLoginSubmitted); |
97 | router.get('/out', pageLogout); | 103 | router.get('/out', pageLogout); |
98 | 104 | ||
99 | module.exports = router; | 105 | module.exports = router; |
control-panel/lib/router-main.js
1 | const os = require('os'); | 1 | const os = require('os'); |
2 | 2 | ||
3 | const express = require('express'); | 3 | const express = require('express'); |
4 | const router = express.Router(); | ||
5 | |||
6 | const numeral = require('numeral'); | 4 | const numeral = require('numeral'); |
7 | 5 | ||
8 | const logger = require('tektrans-logger'); | 6 | const logger = require('tektrans-logger'); |
9 | const matrix = require('komodo-sdk/matrix'); | 7 | const matrix = require('../../matrix'); |
10 | 8 | ||
11 | const misc = require('./misc'); | 9 | const misc = require('./misc'); |
12 | 10 | ||
11 | const router = express.Router(); | ||
12 | |||
13 | function pageMain(req, res) { | 13 | function pageMain(req, res) { |
14 | res.redirect('/runtime'); | 14 | res.redirect('/runtime'); |
15 | } | 15 | } |
16 | 16 | ||
17 | function pageLog(req, res) { | 17 | function pageLog(req, res) { |
18 | logger.query({json: true, order: 'desc'}, function(err) { | 18 | logger.query({ json: true, order: 'desc' }, (err) => { |
19 | if (err) { | 19 | if (err) { |
20 | return res.end('INVALID LOGGER'); | 20 | res.end('INVALID LOGGER'); |
21 | return; | ||
21 | } | 22 | } |
22 | 23 | ||
23 | res.render( | 24 | res.render( |
24 | req.app.locals.cp_views_dir + '/log.html', | 25 | `${req.app.locals.cp_views_dir}/log.html`, |
25 | { | 26 | { |
26 | // log: JSON.stringify(results.logs, null, 4) | 27 | // log: JSON.stringify(results.logs, null, 4) |
27 | log: '[]' | 28 | log: '[]', |
28 | } | 29 | }, |
29 | ); | 30 | ); |
30 | |||
31 | }); | 31 | }); |
32 | } | 32 | } |
33 | function pageRuntime(req, res) { | ||
34 | 33 | ||
34 | function pageRuntime(req, res) { | ||
35 | res.render( | 35 | res.render( |
36 | req.app.locals.cp_views_dir + '/runtime.html', | 36 | `${req.app.locals.cp_views_dir}/runtime.html`, |
37 | { | 37 | { |
38 | uptime: numeral(process.uptime()).format(), | 38 | uptime: numeral(process.uptime()).format(), |
39 | matrix: JSON.stringify(matrix, null, 4), | 39 | matrix: JSON.stringify(matrix, null, 4), |
40 | memory_usage: JSON.stringify(process.memoryUsage(), null, 4), | 40 | memory_usage: JSON.stringify(process.memoryUsage(), null, 4), |
41 | os_info: JSON.stringify({ | 41 | os_info: JSON.stringify({ |
42 | uptime: os.uptime(), | 42 | uptime: os.uptime(), |
43 | loadavg: os.loadavg(), | 43 | loadavg: os.loadavg(), |
44 | hostname: os.hostname(), | 44 | hostname: os.hostname(), |
45 | type: os.type(), | 45 | type: os.type(), |
46 | platform: os.platform(), | 46 | platform: os.platform(), |
47 | arch: os.arch(), | 47 | arch: os.arch(), |
48 | release: os.release(), | 48 | release: os.release(), |
49 | totalmem: os.totalmem(), | 49 | totalmem: os.totalmem(), |
50 | }, null, 4), | 50 | }, null, 4), |
51 | } | 51 | }, |
52 | ) | 52 | ); |
53 | } | 53 | } |
54 | 54 | ||
55 | function pageTerminate(req, res) { | 55 | function pageTerminate(req, res) { |
56 | res.end('Terminating....', function() { | 56 | res.end('Terminating....', () => { |
57 | process.exit(0); | 57 | process.exit(0); |
58 | }); | 58 | }); |
59 | } | 59 | } |
60 | 60 | ||
61 | //router.use(misc.needAuthUser); | ||
62 | |||
63 | router.get('/', pageMain); | 61 | router.get('/', pageMain); |
64 | router.get('/runtime', misc.needAuthUser, pageRuntime); | 62 | router.get('/runtime', misc.needAuthUser, pageRuntime); |
65 | router.get('/log', misc.needAuthUser, pageLog); | 63 | router.get('/log', misc.needAuthUser, pageLog); |
66 | router.get('/terminate', misc.needAuthUser, pageTerminate); | 64 | router.get('/terminate', misc.needAuthUser, pageTerminate); |
control-panel/lib/routers.js
1 | "use strict"; | ||
2 | |||
3 | const routerMain = require('./router-main'); | 1 | const routerMain = require('./router-main'); |
4 | const routerLogin = require('./router-login'); | 2 | const routerLogin = require('./router-login'); |
5 | const routerConfig = require('./router-config'); | 3 | const routerConfig = require('./router-config'); |
6 | 4 | ||
7 | function init(app) { | 5 | function init(app) { |
8 | app.use('/login', routerLogin); | 6 | app.use('/login', routerLogin); |
9 | app.use('/', routerMain); | 7 | app.use('/', routerMain); |
10 | app.use('/config', routerConfig); | 8 | app.use('/config', routerConfig); |
11 | } | 9 | } |
12 | 10 | ||
13 | exports.init = init; | 11 | exports.init = init; |
14 | 12 |