UNPKG

3.65 kBJavaScriptView Raw
1'use strict';
2
3require('alp-node/fetch');
4
5var _nightingale = require('nightingale');
6
7var _nightingale2 = _interopRequireDefault(_nightingale);
8
9var _updateNotifier = require('update-notifier');
10
11var _updateNotifier2 = _interopRequireDefault(_updateNotifier);
12
13var _commander = require('commander');
14
15var _commander2 = _interopRequireDefault(_commander);
16
17var _minimistArgv = require('minimist-argv');
18
19var _minimistArgv2 = _interopRequireDefault(_minimistArgv);
20
21var _package = require('../../package.json');
22
23var _package2 = _interopRequireDefault(_package);
24
25var _run = require('./install/run');
26
27var _run2 = _interopRequireDefault(_run);
28
29var _config = require('../config');
30
31var _config2 = _interopRequireDefault(_config);
32
33function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
35/* eslint-disable no-console */
36/* global fetch */
37(0, _updateNotifier2.default)({ pkg: _package2.default }).notify();
38
39const logger = new _nightingale2.default('cli');
40(0, _nightingale.listenUnhandledErrors)(logger);
41
42_commander2.default.option('-p, --webPort <port>', 'pooliot web port').version(_package2.default.version);
43
44_commander2.default.command('install').alias('i').option('-h, --host <host>', 'deprecated - replaced by address').option('--port <port>', 'deprecated - replaced by address').option('--userId <userId>', 'deprecated - replaced by token').option('--piUser <piUser>', 'deprecated - replaced by user').option('-i, --interactive', 'ask what you want to install').option('-a, --address <host>:<port>', 'remote pooliot server').option('-u, --user <user>', 'user used to run programs').option('-t, --token <token>', 'authentification token').action(options => {
45 if (!options.address && options.host) {
46 options.address = `${options.host}:${options.port}`;
47 }
48
49 (0, _run2.default)(options, _package2.default).catch(err => {
50 console.error(err);
51 process.exit(1);
52 });
53});
54
55const call = (requestUri, options, retry) => fetch(`http://localhost:${_minimistArgv2.default.webPort || _config2.default.WEB_PORT || '80'}/api/${requestUri}`, options).then(res => res.text()).then(res => console.log(res)).catch(err => {
56 console.log(err.message || err);
57 if (!retry) setTimeout(() => call(requestUri, options, true), 3000);
58});
59
60_commander2.default.command('self-update').alias('selfupdate').alias('selfUpdate').action(() => call('self-update', { method: 'POST' }));
61
62_commander2.default.command('screen [state]').description(`get or set the state of the screen:
63 on: turn the screen on
64 off: turn the screen off`).action(state => {
65 if (state === 'on' || state === 'off') {
66 return call('screen', { method: 'POST', body: JSON.stringify({ state }) });
67 }
68
69 return call('screen');
70});
71
72_commander2.default.command('display [action]').description(`action on the current display program (chromium / livestreamer / ...):
73 status: display status
74 restart: restart the current display
75 refresh: refresh the page (only works for browsers)
76 openbox-started: notify that openbox is started (internal)`).action((action = 'status') => {
77 switch (action) {
78 case 'status':
79 return call('display');
80 case 'start':
81 return call('display/start', { method: 'POST' });
82 case 'openbox-started':
83 return call('display/openbox-started', { method: 'POST' });
84 case 'restart':
85 return call('display/restart', { method: 'POST' });
86 case 'refresh':
87 return call('display/refresh', { method: 'POST' });
88 }
89 throw new Error(`Unsupported display instruction: ${_minimistArgv2.default._[1]}`);
90});
91
92_commander2.default.parse(process.argv);
93//# sourceMappingURL=index.js.map
\No newline at end of file