@iobroker/js-controller-cli 7.2.3-alpha.8-20260709-8d8c9c5ed → 7.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/index.js +3 -3
- package/build/cjs/lib/_Types.d.ts +1 -8
- package/build/cjs/lib/cli/cliCert.d.ts +4 -7
- package/build/cjs/lib/cli/cliCert.js +6 -10
- package/build/cjs/lib/cli/cliCert.js.map +2 -2
- package/build/cjs/lib/cli/cliCommand.d.ts +14 -45
- package/build/cjs/lib/cli/cliCommand.js +1 -8
- package/build/cjs/lib/cli/cliCommand.js.map +2 -2
- package/build/cjs/lib/cli/cliCompact.d.ts +2 -5
- package/build/cjs/lib/cli/cliCompact.js +2 -9
- package/build/cjs/lib/cli/cliCompact.js.map +2 -2
- package/build/cjs/lib/cli/cliDebug.d.ts +2 -5
- package/build/cjs/lib/cli/cliDebug.js +1 -8
- package/build/cjs/lib/cli/cliDebug.js.map +2 -2
- package/build/cjs/lib/cli/cliHost.d.ts +10 -13
- package/build/cjs/lib/cli/cliHost.js +5 -13
- package/build/cjs/lib/cli/cliHost.js.map +2 -2
- package/build/cjs/lib/cli/cliLogs.d.ts +3 -9
- package/build/cjs/lib/cli/cliLogs.js +1 -12
- package/build/cjs/lib/cli/cliLogs.js.map +2 -2
- package/build/cjs/lib/cli/cliMessage.d.ts +1 -2
- package/build/cjs/lib/cli/cliMessage.js +0 -5
- package/build/cjs/lib/cli/cliMessage.js.map +2 -2
- package/build/cjs/lib/cli/cliObjects.d.ts +18 -21
- package/build/cjs/lib/cli/cliObjects.js +33 -51
- package/build/cjs/lib/cli/cliObjects.js.map +2 -2
- package/build/cjs/lib/cli/cliPlugin.d.ts +3 -3
- package/build/cjs/lib/cli/cliPlugin.js +0 -6
- package/build/cjs/lib/cli/cliPlugin.js.map +2 -2
- package/build/cjs/lib/cli/cliProcess.d.ts +4 -8
- package/build/cjs/lib/cli/cliProcess.js +16 -27
- package/build/cjs/lib/cli/cliProcess.js.map +3 -3
- package/build/cjs/lib/cli/cliStates.d.ts +4 -7
- package/build/cjs/lib/cli/cliStates.js +6 -14
- package/build/cjs/lib/cli/cliStates.js.map +2 -2
- package/build/cjs/lib/cli/cliTools.js +0 -11
- package/build/cjs/lib/cli/cliTools.js.map +1 -1
- package/build/cjs/lib/cli/messages.js +46 -47
- package/build/cjs/lib/cli/messages.js.map +1 -1
- package/build/cjs/lib/setup/customError.d.ts +0 -4
- package/build/cjs/lib/setup/customError.js +0 -7
- package/build/cjs/lib/setup/customError.js.map +2 -2
- package/build/cjs/lib/setup/dbConnection.js +64 -69
- package/build/cjs/lib/setup/dbConnection.js.map +3 -3
- package/build/cjs/lib/setup/formatters.d.ts +4 -4
- package/build/cjs/lib/setup/formatters.js +0 -5
- package/build/cjs/lib/setup/formatters.js.map +2 -2
- package/build/cjs/lib/setup/multihostClient.js +2 -6
- package/build/cjs/lib/setup/multihostClient.js.map +1 -1
- package/build/cjs/lib/setup/pluginInfos.d.ts +0 -5
- package/build/cjs/lib/setup/pluginInfos.js +0 -2
- package/build/cjs/lib/setup/pluginInfos.js.map +2 -2
- package/build/cjs/lib/setup/setupBackup.d.ts +0 -34
- package/build/cjs/lib/setup/setupBackup.js +12 -46
- package/build/cjs/lib/setup/setupBackup.js.map +3 -3
- package/build/cjs/lib/setup/setupInstall.d.ts +15 -38
- package/build/cjs/lib/setup/setupInstall.js +24 -42
- package/build/cjs/lib/setup/setupInstall.js.map +2 -2
- package/build/cjs/lib/setup/setupLicense.d.ts +0 -8
- package/build/cjs/lib/setup/setupLicense.js +0 -7
- package/build/cjs/lib/setup/setupLicense.js.map +2 -2
- package/build/cjs/lib/setup/setupList.d.ts +1 -55
- package/build/cjs/lib/setup/setupList.js +24 -78
- package/build/cjs/lib/setup/setupList.js.map +3 -3
- package/build/cjs/lib/setup/setupMultihost.js +9 -12
- package/build/cjs/lib/setup/setupMultihost.js.map +3 -3
- package/build/cjs/lib/setup/setupPacketManager.d.ts +0 -10
- package/build/cjs/lib/setup/setupPacketManager.js +6 -16
- package/build/cjs/lib/setup/setupPacketManager.js.map +2 -2
- package/build/cjs/lib/setup/setupRepo.d.ts +0 -6
- package/build/cjs/lib/setup/setupRepo.js +11 -28
- package/build/cjs/lib/setup/setupRepo.js.map +2 -2
- package/build/cjs/lib/setup/setupSetup.d.ts +0 -27
- package/build/cjs/lib/setup/setupSetup.js +33 -52
- package/build/cjs/lib/setup/setupSetup.js.map +3 -3
- package/build/cjs/lib/setup/setupUpgrade.d.ts +2 -8
- package/build/cjs/lib/setup/setupUpgrade.js +10 -19
- package/build/cjs/lib/setup/setupUpgrade.js.map +2 -2
- package/build/cjs/lib/setup/setupUpload.d.ts +1 -72
- package/build/cjs/lib/setup/setupUpload.js +6 -74
- package/build/cjs/lib/setup/setupUpload.js.map +2 -2
- package/build/cjs/lib/setup/setupUsers.d.ts +14 -23
- package/build/cjs/lib/setup/setupUsers.js +15 -58
- package/build/cjs/lib/setup/setupUsers.js.map +2 -2
- package/build/cjs/lib/setup/setupVendor.d.ts +1 -9
- package/build/cjs/lib/setup/setupVendor.js +6 -13
- package/build/cjs/lib/setup/setupVendor.js.map +2 -2
- package/build/cjs/lib/setup/setupVisDebug.d.ts +2 -11
- package/build/cjs/lib/setup/setupVisDebug.js +15 -21
- package/build/cjs/lib/setup/setupVisDebug.js.map +3 -3
- package/build/cjs/lib/setup/utils.d.ts +1 -1
- package/build/cjs/lib/setup/utils.js +9 -13
- package/build/cjs/lib/setup/utils.js.map +3 -3
- package/build/cjs/lib/setup.js +330 -269
- package/build/cjs/lib/setup.js.map +3 -3
- package/build/esm/lib/_Types.d.ts +1 -8
- package/build/esm/lib/_Types.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCert.d.ts +4 -7
- package/build/esm/lib/cli/cliCert.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCert.js +6 -6
- package/build/esm/lib/cli/cliCert.js.map +1 -1
- package/build/esm/lib/cli/cliCommand.d.ts +14 -45
- package/build/esm/lib/cli/cliCommand.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCommand.js +1 -4
- package/build/esm/lib/cli/cliCommand.js.map +1 -1
- package/build/esm/lib/cli/cliCompact.d.ts +2 -5
- package/build/esm/lib/cli/cliCompact.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCompact.js +2 -5
- package/build/esm/lib/cli/cliCompact.js.map +1 -1
- package/build/esm/lib/cli/cliDebug.d.ts +2 -5
- package/build/esm/lib/cli/cliDebug.d.ts.map +1 -1
- package/build/esm/lib/cli/cliDebug.js +1 -4
- package/build/esm/lib/cli/cliDebug.js.map +1 -1
- package/build/esm/lib/cli/cliHost.d.ts +10 -13
- package/build/esm/lib/cli/cliHost.d.ts.map +1 -1
- package/build/esm/lib/cli/cliHost.js +5 -8
- package/build/esm/lib/cli/cliHost.js.map +1 -1
- package/build/esm/lib/cli/cliLogs.d.ts +3 -9
- package/build/esm/lib/cli/cliLogs.d.ts.map +1 -1
- package/build/esm/lib/cli/cliLogs.js +1 -8
- package/build/esm/lib/cli/cliLogs.js.map +1 -1
- package/build/esm/lib/cli/cliMessage.d.ts +1 -2
- package/build/esm/lib/cli/cliMessage.d.ts.map +1 -1
- package/build/esm/lib/cli/cliMessage.js +0 -1
- package/build/esm/lib/cli/cliMessage.js.map +1 -1
- package/build/esm/lib/cli/cliObjects.d.ts +18 -21
- package/build/esm/lib/cli/cliObjects.d.ts.map +1 -1
- package/build/esm/lib/cli/cliObjects.js +38 -44
- package/build/esm/lib/cli/cliObjects.js.map +1 -1
- package/build/esm/lib/cli/cliPlugin.d.ts +3 -3
- package/build/esm/lib/cli/cliPlugin.d.ts.map +1 -1
- package/build/esm/lib/cli/cliPlugin.js +1 -1
- package/build/esm/lib/cli/cliPlugin.js.map +1 -1
- package/build/esm/lib/cli/cliProcess.d.ts +4 -8
- package/build/esm/lib/cli/cliProcess.d.ts.map +1 -1
- package/build/esm/lib/cli/cliProcess.js +4 -7
- package/build/esm/lib/cli/cliProcess.js.map +1 -1
- package/build/esm/lib/cli/cliStates.d.ts +4 -7
- package/build/esm/lib/cli/cliStates.d.ts.map +1 -1
- package/build/esm/lib/cli/cliStates.js +2 -6
- package/build/esm/lib/cli/cliStates.js.map +1 -1
- package/build/esm/lib/setup/customError.d.ts +0 -4
- package/build/esm/lib/setup/customError.d.ts.map +1 -1
- package/build/esm/lib/setup/customError.js +0 -3
- package/build/esm/lib/setup/customError.js.map +1 -1
- package/build/esm/lib/setup/dbConnection.d.ts.map +1 -1
- package/build/esm/lib/setup/dbConnection.js +13 -10
- package/build/esm/lib/setup/dbConnection.js.map +1 -1
- package/build/esm/lib/setup/formatters.d.ts +4 -4
- package/build/esm/lib/setup/formatters.js +4 -4
- package/build/esm/lib/setup/pluginInfos.d.ts +0 -5
- package/build/esm/lib/setup/pluginInfos.d.ts.map +1 -1
- package/build/esm/lib/setup/pluginInfos.js +0 -5
- package/build/esm/lib/setup/pluginInfos.js.map +1 -1
- package/build/esm/lib/setup/setupBackup.d.ts +0 -34
- package/build/esm/lib/setup/setupBackup.d.ts.map +1 -1
- package/build/esm/lib/setup/setupBackup.js +12 -46
- package/build/esm/lib/setup/setupBackup.js.map +1 -1
- package/build/esm/lib/setup/setupInstall.d.ts +15 -38
- package/build/esm/lib/setup/setupInstall.d.ts.map +1 -1
- package/build/esm/lib/setup/setupInstall.js +21 -38
- package/build/esm/lib/setup/setupInstall.js.map +1 -1
- package/build/esm/lib/setup/setupLicense.d.ts +0 -8
- package/build/esm/lib/setup/setupLicense.d.ts.map +1 -1
- package/build/esm/lib/setup/setupLicense.js +0 -6
- package/build/esm/lib/setup/setupLicense.js.map +1 -1
- package/build/esm/lib/setup/setupList.d.ts +1 -55
- package/build/esm/lib/setup/setupList.d.ts.map +1 -1
- package/build/esm/lib/setup/setupList.js +8 -61
- package/build/esm/lib/setup/setupList.js.map +1 -1
- package/build/esm/lib/setup/setupMultihost.d.ts.map +1 -1
- package/build/esm/lib/setup/setupMultihost.js +6 -5
- package/build/esm/lib/setup/setupMultihost.js.map +1 -1
- package/build/esm/lib/setup/setupPacketManager.d.ts +0 -10
- package/build/esm/lib/setup/setupPacketManager.d.ts.map +1 -1
- package/build/esm/lib/setup/setupPacketManager.js +0 -9
- package/build/esm/lib/setup/setupPacketManager.js.map +1 -1
- package/build/esm/lib/setup/setupRepo.d.ts +0 -6
- package/build/esm/lib/setup/setupRepo.d.ts.map +1 -1
- package/build/esm/lib/setup/setupRepo.js +14 -30
- package/build/esm/lib/setup/setupRepo.js.map +1 -1
- package/build/esm/lib/setup/setupSetup.d.ts +0 -27
- package/build/esm/lib/setup/setupSetup.d.ts.map +1 -1
- package/build/esm/lib/setup/setupSetup.js +21 -36
- package/build/esm/lib/setup/setupSetup.js.map +1 -1
- package/build/esm/lib/setup/setupUpgrade.d.ts +2 -8
- package/build/esm/lib/setup/setupUpgrade.d.ts.map +1 -1
- package/build/esm/lib/setup/setupUpgrade.js +6 -14
- package/build/esm/lib/setup/setupUpgrade.js.map +1 -1
- package/build/esm/lib/setup/setupUpload.d.ts +1 -72
- package/build/esm/lib/setup/setupUpload.d.ts.map +1 -1
- package/build/esm/lib/setup/setupUpload.js +5 -72
- package/build/esm/lib/setup/setupUpload.js.map +1 -1
- package/build/esm/lib/setup/setupUsers.d.ts +14 -23
- package/build/esm/lib/setup/setupUsers.d.ts.map +1 -1
- package/build/esm/lib/setup/setupUsers.js +14 -56
- package/build/esm/lib/setup/setupUsers.js.map +1 -1
- package/build/esm/lib/setup/setupVendor.d.ts +1 -9
- package/build/esm/lib/setup/setupVendor.d.ts.map +1 -1
- package/build/esm/lib/setup/setupVendor.js +1 -7
- package/build/esm/lib/setup/setupVendor.js.map +1 -1
- package/build/esm/lib/setup/setupVisDebug.d.ts +2 -11
- package/build/esm/lib/setup/setupVisDebug.d.ts.map +1 -1
- package/build/esm/lib/setup/setupVisDebug.js +14 -21
- package/build/esm/lib/setup/setupVisDebug.js.map +1 -1
- package/build/esm/lib/setup/utils.d.ts +1 -1
- package/build/esm/lib/setup/utils.d.ts.map +1 -1
- package/build/esm/lib/setup/utils.js +4 -2
- package/build/esm/lib/setup/utils.js.map +1 -1
- package/build/esm/lib/setup.d.ts.map +1 -1
- package/build/esm/lib/setup.js +211 -162
- package/build/esm/lib/setup.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +14 -14
package/build/esm/lib/setup.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
|
+
import { tools } from '@iobroker/js-controller-common';
|
|
3
|
+
import { EXIT_CODES } from '@iobroker/js-controller-common';
|
|
2
4
|
import deepClone from 'deep-clone';
|
|
3
5
|
import { isDeepStrictEqual } from 'node:util';
|
|
4
6
|
import Debug from 'debug';
|
|
7
|
+
import { objectsDbHasServer, isLocalObjectsDbServer, isLocalStatesDbServer } from '@iobroker/js-controller-common';
|
|
5
8
|
import path from 'node:path';
|
|
6
9
|
import yargs from 'yargs/yargs';
|
|
7
|
-
import * as url from 'node:url';
|
|
8
|
-
import * as events from 'node:events';
|
|
9
|
-
import { createRequire } from 'node:module';
|
|
10
|
-
import { tools, EXIT_CODES, objectsDbHasServer, isLocalObjectsDbServer, isLocalStatesDbServer, } from '@iobroker/js-controller-common';
|
|
11
|
-
import { SYSTEM_CONFIG_ID, SYSTEM_REPOSITORIES_ID } from '@iobroker/js-controller-common-db/constants';
|
|
12
10
|
import * as CLITools from '../lib/cli/cliTools.js';
|
|
13
11
|
import { CLIHost } from '../lib/cli/cliHost.js';
|
|
14
12
|
import { CLIStates } from '../lib/cli/cliStates.js';
|
|
@@ -24,10 +22,12 @@ import { error as CLIError } from '../lib/cli/messages.js';
|
|
|
24
22
|
import { BETA_REPO_URL, getRepository, ignoreVersion, isIntegerLikeInput, recognizeVersion, STABLE_REPO_URL, } from '../lib/setup/utils.js';
|
|
25
23
|
import { dbConnect, dbConnectAsync, exitApplicationSave } from '../lib/setup/dbConnection.js';
|
|
26
24
|
import { IoBrokerError } from '../lib/setup/customError.js';
|
|
27
|
-
import
|
|
28
|
-
import * as
|
|
25
|
+
import * as url from 'node:url';
|
|
26
|
+
import * as events from 'node:events';
|
|
29
27
|
// eslint-disable-next-line unicorn/prefer-module
|
|
30
28
|
const thisDir = url.fileURLToPath(new URL('.', import.meta.url || `file://${__filename}`));
|
|
29
|
+
import { createRequire } from 'node:module';
|
|
30
|
+
import { SYSTEM_CONFIG_ID, SYSTEM_REPOSITORIES_ID } from '@iobroker/js-controller-common-db/constants';
|
|
31
31
|
// eslint-disable-next-line unicorn/prefer-module
|
|
32
32
|
const require = createRequire(import.meta.url || `file://${__filename}`);
|
|
33
33
|
tools.ensureDNSOrder();
|
|
@@ -441,12 +441,12 @@ async function processCommand(command, args, params, callback) {
|
|
|
441
441
|
case 'start':
|
|
442
442
|
case 'stop': {
|
|
443
443
|
const procCommand = new CLIProcess(commandOptions);
|
|
444
|
-
procCommand[command](args)
|
|
444
|
+
procCommand[command](args);
|
|
445
445
|
break;
|
|
446
446
|
}
|
|
447
447
|
case 'debug': {
|
|
448
448
|
const debugCommand = new CLIDebug(commandOptions);
|
|
449
|
-
debugCommand.execute(args)
|
|
449
|
+
debugCommand.execute(args);
|
|
450
450
|
break;
|
|
451
451
|
}
|
|
452
452
|
case 'status':
|
|
@@ -458,11 +458,11 @@ async function processCommand(command, args, params, callback) {
|
|
|
458
458
|
case 'r':
|
|
459
459
|
case 'restart': {
|
|
460
460
|
const procCommand = new CLIProcess(commandOptions);
|
|
461
|
-
procCommand.restart(args)
|
|
461
|
+
procCommand.restart(args);
|
|
462
462
|
break;
|
|
463
463
|
}
|
|
464
464
|
case '_restart':
|
|
465
|
-
restartController()
|
|
465
|
+
restartController();
|
|
466
466
|
callback();
|
|
467
467
|
break;
|
|
468
468
|
case 'update': {
|
|
@@ -553,7 +553,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
553
553
|
// Create a new instance of the cert command,
|
|
554
554
|
// but use the resolve method as a callback
|
|
555
555
|
const cert = new CLICert({ ...commandOptions, callback: resolve });
|
|
556
|
-
cert.create()
|
|
556
|
+
cert.create();
|
|
557
557
|
});
|
|
558
558
|
}
|
|
559
559
|
// we update existing things, in first as well as normal setup
|
|
@@ -689,24 +689,19 @@ async function processCommand(command, args, params, callback) {
|
|
|
689
689
|
dbConnect(params, async ({ objects }) => {
|
|
690
690
|
try {
|
|
691
691
|
const data = await tools.getHostInfo(objects);
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
}
|
|
706
|
-
else {
|
|
707
|
-
info = data[attr];
|
|
708
|
-
}
|
|
709
|
-
console.log(`${attr}${attr.length < 16 ? new Array(16 - attr.length).join(' ') : ''}: ${info || ''}`);
|
|
692
|
+
const formatters = await import('./setup/formatters.js');
|
|
693
|
+
const formatInfo = {
|
|
694
|
+
Uptime: formatters.formatSeconds,
|
|
695
|
+
'System uptime': formatters.formatSeconds,
|
|
696
|
+
RAM: formatters.formatRam,
|
|
697
|
+
Speed: formatters.formatSpeed,
|
|
698
|
+
'Disk size': formatters.formatBytes,
|
|
699
|
+
'Disk free': formatters.formatBytes,
|
|
700
|
+
};
|
|
701
|
+
for (const attr of Object.keys(data)) {
|
|
702
|
+
console.log(`${attr}${attr.length < 16 ? new Array(16 - attr.length).join(' ') : ''}: ${
|
|
703
|
+
// @ts-expect-error todo would need checks
|
|
704
|
+
formatInfo[attr] ? formatInfo[attr](data[attr]) : data[attr] || ''}`);
|
|
710
705
|
}
|
|
711
706
|
}
|
|
712
707
|
catch (err) {
|
|
@@ -977,18 +972,19 @@ async function processCommand(command, args, params, callback) {
|
|
|
977
972
|
output: process.stdout,
|
|
978
973
|
});
|
|
979
974
|
if (params.yes || params.y || params.Y) {
|
|
980
|
-
unsetup(params, callback)
|
|
975
|
+
unsetup(params, callback);
|
|
981
976
|
}
|
|
982
977
|
else {
|
|
983
978
|
rl.question('UUID will be deleted. Are you sure? [y/N]: ', answer => {
|
|
984
979
|
rl.close();
|
|
985
980
|
answer = answer.toLowerCase();
|
|
986
981
|
if (answer === 'y' || answer === 'yes' || answer === 'ja' || answer === 'j') {
|
|
987
|
-
unsetup(params, callback)
|
|
988
|
-
|
|
982
|
+
unsetup(params, callback);
|
|
983
|
+
}
|
|
984
|
+
else {
|
|
985
|
+
console.log('Nothing deleted');
|
|
986
|
+
return void callback();
|
|
989
987
|
}
|
|
990
|
-
console.log('Nothing deleted');
|
|
991
|
-
return void callback();
|
|
992
988
|
});
|
|
993
989
|
}
|
|
994
990
|
break;
|
|
@@ -1086,7 +1082,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1086
1082
|
catch {
|
|
1087
1083
|
// ignore
|
|
1088
1084
|
}
|
|
1089
|
-
restartController()
|
|
1085
|
+
restartController();
|
|
1090
1086
|
console.log(`Restarting ${tools.appName}...`);
|
|
1091
1087
|
callback();
|
|
1092
1088
|
});
|
|
@@ -1168,7 +1164,8 @@ async function processCommand(command, args, params, callback) {
|
|
|
1168
1164
|
}
|
|
1169
1165
|
case 'l':
|
|
1170
1166
|
case 'list': {
|
|
1171
|
-
dbConnect(params, ({ objects, states }) => {
|
|
1167
|
+
dbConnect(params, async ({ objects, states }) => {
|
|
1168
|
+
const { List } = await import('./setup/setupList.js');
|
|
1172
1169
|
const list = new List({
|
|
1173
1170
|
states,
|
|
1174
1171
|
objects,
|
|
@@ -1184,7 +1181,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1184
1181
|
console.log('No file path found. Example: "touch /vis-2.0/main/*"');
|
|
1185
1182
|
return void callback(EXIT_CODES.INVALID_ARGUMENTS);
|
|
1186
1183
|
}
|
|
1187
|
-
dbConnect(params, ({ objects }) => {
|
|
1184
|
+
dbConnect(params, ({ states, objects }) => {
|
|
1188
1185
|
// extract id
|
|
1189
1186
|
pattern = pattern.replace(/\\/g, '/');
|
|
1190
1187
|
if (pattern[0] === '/') {
|
|
@@ -1194,29 +1191,42 @@ async function processCommand(command, args, params, callback) {
|
|
|
1194
1191
|
objects.getObjectList({
|
|
1195
1192
|
startkey: 'system.adapter.',
|
|
1196
1193
|
endkey: 'system.adapter.\u9999',
|
|
1197
|
-
},
|
|
1194
|
+
}, (err, arr) => {
|
|
1198
1195
|
if (!err && arr?.rows) {
|
|
1199
1196
|
const files = [];
|
|
1197
|
+
let count = 0;
|
|
1200
1198
|
for (const row of arr.rows) {
|
|
1201
|
-
|
|
1202
|
-
if (rowTyped.type !== 'adapter') {
|
|
1199
|
+
if (row.value.type !== 'adapter') {
|
|
1203
1200
|
continue;
|
|
1204
1201
|
}
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1202
|
+
count++;
|
|
1203
|
+
objects.touch(row.value.common.name, '*', { user: 'system.user.admin' },
|
|
1204
|
+
// @ts-expect-error todo this looks wrong, we have no cb args other than err
|
|
1205
|
+
async (err, processed, _id) => {
|
|
1206
|
+
if (!err && processed) {
|
|
1207
|
+
files.push({ id: _id, processed: processed });
|
|
1208
1208
|
}
|
|
1209
|
-
|
|
1210
|
-
|
|
1209
|
+
if (!--count) {
|
|
1210
|
+
const { List } = await import('./setup/setupList.js');
|
|
1211
|
+
const list = new List({
|
|
1212
|
+
states,
|
|
1213
|
+
objects,
|
|
1214
|
+
processExit: callback,
|
|
1215
|
+
});
|
|
1216
|
+
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1217
|
+
for (const file of files) {
|
|
1218
|
+
for (const processedFile of processed) {
|
|
1219
|
+
list.showFile(file.id, processedFile.path, processedFile);
|
|
1220
|
+
}
|
|
1221
|
+
}
|
|
1222
|
+
setTimeout(callback, 1_000);
|
|
1211
1223
|
}
|
|
1212
|
-
|
|
1213
|
-
}));
|
|
1224
|
+
});
|
|
1214
1225
|
}
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1226
|
+
if (!count) {
|
|
1227
|
+
console.log('Nothing found');
|
|
1228
|
+
return void callback();
|
|
1218
1229
|
}
|
|
1219
|
-
setTimeout(callback, 1_000);
|
|
1220
1230
|
}
|
|
1221
1231
|
});
|
|
1222
1232
|
}
|
|
@@ -1224,12 +1234,23 @@ async function processCommand(command, args, params, callback) {
|
|
|
1224
1234
|
const parts = pattern.split('/');
|
|
1225
1235
|
const id = parts.shift();
|
|
1226
1236
|
const path = parts.join('/');
|
|
1227
|
-
|
|
1237
|
+
// @ts-expect-error todo processed should not exist, how to proceed?
|
|
1238
|
+
objects.touch(id, path, { user: 'system.user.admin' }, async (err, processed) => {
|
|
1228
1239
|
if (err) {
|
|
1229
1240
|
console.error(err);
|
|
1230
1241
|
}
|
|
1231
1242
|
else {
|
|
1232
|
-
|
|
1243
|
+
if (processed) {
|
|
1244
|
+
const { List } = await import('./setup/setupList.js');
|
|
1245
|
+
const list = new List({
|
|
1246
|
+
states,
|
|
1247
|
+
objects,
|
|
1248
|
+
processExit: callback,
|
|
1249
|
+
});
|
|
1250
|
+
for (const processedFile of processed) {
|
|
1251
|
+
list.showFile(id, processedFile.path, processedFile);
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1233
1254
|
}
|
|
1234
1255
|
setTimeout(callback, 1_000);
|
|
1235
1256
|
});
|
|
@@ -1243,7 +1264,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1243
1264
|
console.log('No file path found. Example: "touch /vis-2.0/main/*"');
|
|
1244
1265
|
return void callback(EXIT_CODES.INVALID_ARGUMENTS);
|
|
1245
1266
|
}
|
|
1246
|
-
dbConnect(params, ({ objects }) => {
|
|
1267
|
+
dbConnect(params, ({ objects, states }) => {
|
|
1247
1268
|
// extract id
|
|
1248
1269
|
pattern = pattern.replace(/\\/g, '/');
|
|
1249
1270
|
if (pattern[0] === '/') {
|
|
@@ -1253,28 +1274,43 @@ async function processCommand(command, args, params, callback) {
|
|
|
1253
1274
|
objects.getObjectList({
|
|
1254
1275
|
startkey: 'system.adapter.',
|
|
1255
1276
|
endkey: 'system.adapter.\u9999',
|
|
1256
|
-
},
|
|
1277
|
+
}, (err, arr) => {
|
|
1257
1278
|
if (!err && arr?.rows) {
|
|
1258
1279
|
const files = [];
|
|
1280
|
+
let count = 0;
|
|
1259
1281
|
for (const row of arr.rows) {
|
|
1260
|
-
|
|
1261
|
-
if (rowTyped.type !== 'adapter') {
|
|
1282
|
+
if (row.value.type !== 'adapter') {
|
|
1262
1283
|
continue;
|
|
1263
1284
|
}
|
|
1264
|
-
|
|
1285
|
+
count++;
|
|
1286
|
+
objects.rm(row.value.common.name, '*', { user: 'system.user.admin' },
|
|
1287
|
+
// @ts-expect-error todo id should not exist according to types check it
|
|
1288
|
+
async (err, processed, _id) => {
|
|
1265
1289
|
if (!err && processed) {
|
|
1266
|
-
files.push({ id:
|
|
1290
|
+
files.push({ id: _id, processed: processed });
|
|
1291
|
+
}
|
|
1292
|
+
if (!--count) {
|
|
1293
|
+
const { List } = await import('./setup/setupList.js');
|
|
1294
|
+
const list = new List({
|
|
1295
|
+
states,
|
|
1296
|
+
objects,
|
|
1297
|
+
processExit: callback,
|
|
1298
|
+
});
|
|
1299
|
+
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1300
|
+
list.showFileHeader();
|
|
1301
|
+
for (const file of files) {
|
|
1302
|
+
for (const processedFile of processed) {
|
|
1303
|
+
list.showFile(file.id, processedFile.path, processedFile);
|
|
1304
|
+
}
|
|
1305
|
+
}
|
|
1306
|
+
setTimeout(callback, 1_000);
|
|
1267
1307
|
}
|
|
1268
|
-
|
|
1269
|
-
}));
|
|
1308
|
+
});
|
|
1270
1309
|
}
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
console.log(`Removed ${processedFile.path}/${processedFile.file}`);
|
|
1275
|
-
}
|
|
1310
|
+
if (!count) {
|
|
1311
|
+
console.log('Nothing found');
|
|
1312
|
+
return void callback();
|
|
1276
1313
|
}
|
|
1277
|
-
setTimeout(callback, 1_000);
|
|
1278
1314
|
}
|
|
1279
1315
|
});
|
|
1280
1316
|
}
|
|
@@ -1282,14 +1318,22 @@ async function processCommand(command, args, params, callback) {
|
|
|
1282
1318
|
const parts = pattern.split('/');
|
|
1283
1319
|
const id = parts.shift();
|
|
1284
1320
|
const path = parts.join('/');
|
|
1285
|
-
objects.rm(id, path, { user: 'system.user.admin' }, (err, processed) => {
|
|
1321
|
+
objects.rm(id, path, { user: 'system.user.admin' }, async (err, processed) => {
|
|
1286
1322
|
if (err) {
|
|
1287
1323
|
console.error(err);
|
|
1288
1324
|
}
|
|
1289
1325
|
else {
|
|
1290
1326
|
if (processed) {
|
|
1327
|
+
const { List } = await import('./setup/setupList.js');
|
|
1328
|
+
const list = new List({
|
|
1329
|
+
states,
|
|
1330
|
+
objects,
|
|
1331
|
+
processExit: callback,
|
|
1332
|
+
});
|
|
1333
|
+
list.showFileHeader();
|
|
1291
1334
|
for (const file of processed) {
|
|
1292
|
-
|
|
1335
|
+
// @ts-expect-error todo types adjustment needed
|
|
1336
|
+
list.showFile(id, file.path, file);
|
|
1293
1337
|
}
|
|
1294
1338
|
}
|
|
1295
1339
|
}
|
|
@@ -1322,37 +1366,46 @@ async function processCommand(command, args, params, callback) {
|
|
|
1322
1366
|
objects.getObjectList({
|
|
1323
1367
|
startkey: 'system.adapter.',
|
|
1324
1368
|
endkey: 'system.adapter.\u9999',
|
|
1325
|
-
},
|
|
1369
|
+
}, (err, arr) => {
|
|
1326
1370
|
if (!err && arr?.rows) {
|
|
1327
1371
|
const files = [];
|
|
1372
|
+
let count = 0;
|
|
1328
1373
|
for (const row of arr.rows) {
|
|
1329
|
-
|
|
1330
|
-
if (rowTyped.type !== 'adapter') {
|
|
1374
|
+
if (row.value.type !== 'adapter') {
|
|
1331
1375
|
continue;
|
|
1332
1376
|
}
|
|
1333
|
-
|
|
1377
|
+
count++;
|
|
1378
|
+
objects.chmodFile(row.value.common.name, '*', {
|
|
1334
1379
|
user: 'system.user.admin',
|
|
1335
1380
|
mode,
|
|
1336
|
-
},
|
|
1381
|
+
},
|
|
1382
|
+
// @ts-expect-error todo _id should not exist how to handle
|
|
1383
|
+
async (err, processed, _id) => {
|
|
1337
1384
|
if (!err && processed) {
|
|
1338
|
-
files.push({ id:
|
|
1385
|
+
files.push({ id: _id, processed: processed });
|
|
1386
|
+
}
|
|
1387
|
+
if (!--count) {
|
|
1388
|
+
const { List } = await import('./setup/setupList.js');
|
|
1389
|
+
const list = new List({
|
|
1390
|
+
states,
|
|
1391
|
+
objects,
|
|
1392
|
+
processExit: callback,
|
|
1393
|
+
});
|
|
1394
|
+
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1395
|
+
list.showFileHeader();
|
|
1396
|
+
for (const file of files) {
|
|
1397
|
+
for (const processedFile of file.processed) {
|
|
1398
|
+
list.showFile(file.id, processedFile.path, processedFile);
|
|
1399
|
+
}
|
|
1400
|
+
}
|
|
1401
|
+
setTimeout(callback, 1_000);
|
|
1339
1402
|
}
|
|
1340
|
-
|
|
1341
|
-
}));
|
|
1403
|
+
});
|
|
1342
1404
|
}
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
processExit: callback,
|
|
1347
|
-
});
|
|
1348
|
-
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1349
|
-
list.showFileHeader();
|
|
1350
|
-
for (const file of files) {
|
|
1351
|
-
for (const processedFile of file.processed) {
|
|
1352
|
-
list.showFile(file.id, processedFile.path, processedFile);
|
|
1353
|
-
}
|
|
1405
|
+
if (!count) {
|
|
1406
|
+
console.log('Nothing found');
|
|
1407
|
+
return void callback();
|
|
1354
1408
|
}
|
|
1355
|
-
setTimeout(callback, 1_000);
|
|
1356
1409
|
}
|
|
1357
1410
|
});
|
|
1358
1411
|
}
|
|
@@ -1360,12 +1413,13 @@ async function processCommand(command, args, params, callback) {
|
|
|
1360
1413
|
const parts = pattern.split('/');
|
|
1361
1414
|
const id = parts.shift();
|
|
1362
1415
|
const path = parts.join('/');
|
|
1363
|
-
objects.chmodFile(id, path, { user: 'system.user.admin', mode: mode }, (err, processed) => {
|
|
1416
|
+
objects.chmodFile(id, path, { user: 'system.user.admin', mode: mode }, async (err, processed) => {
|
|
1364
1417
|
if (err) {
|
|
1365
1418
|
console.error(err);
|
|
1366
1419
|
}
|
|
1367
1420
|
else {
|
|
1368
1421
|
if (processed) {
|
|
1422
|
+
const { List } = await import('./setup/setupList.js');
|
|
1369
1423
|
const list = new List({
|
|
1370
1424
|
states,
|
|
1371
1425
|
objects,
|
|
@@ -1373,6 +1427,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1373
1427
|
});
|
|
1374
1428
|
list.showFileHeader();
|
|
1375
1429
|
for (const file of processed) {
|
|
1430
|
+
// @ts-expect-error todo types adjustment needed
|
|
1376
1431
|
list.showFile(id, file.path, file);
|
|
1377
1432
|
}
|
|
1378
1433
|
}
|
|
@@ -1395,7 +1450,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1395
1450
|
CLIError.requiredArgumentMissing('user', 'chown user /vis-2.0/main/*');
|
|
1396
1451
|
return void callback(EXIT_CODES.INVALID_ARGUMENTS);
|
|
1397
1452
|
}
|
|
1398
|
-
if (user.substring(12) !== 'system.user.') {
|
|
1453
|
+
else if (user.substring(12) !== 'system.user.') {
|
|
1399
1454
|
user = `system.user.${user}`;
|
|
1400
1455
|
}
|
|
1401
1456
|
if (group && group.substring(13) !== 'system.group.') {
|
|
@@ -1415,42 +1470,47 @@ async function processCommand(command, args, params, callback) {
|
|
|
1415
1470
|
objects.getObjectList({
|
|
1416
1471
|
startkey: 'system.adapter.',
|
|
1417
1472
|
endkey: 'system.adapter.\u9999',
|
|
1418
|
-
},
|
|
1473
|
+
}, (err, arr) => {
|
|
1419
1474
|
if (!err && arr?.rows) {
|
|
1420
1475
|
const files = [];
|
|
1476
|
+
let count = 0;
|
|
1421
1477
|
for (const row of arr.rows) {
|
|
1422
|
-
|
|
1423
|
-
if (rowTyped.type !== 'adapter') {
|
|
1478
|
+
if (row.value.type !== 'adapter') {
|
|
1424
1479
|
continue;
|
|
1425
1480
|
}
|
|
1426
|
-
|
|
1481
|
+
count++;
|
|
1482
|
+
objects.chownFile(row.value.common.name, '*', {
|
|
1427
1483
|
user: 'system.user.admin',
|
|
1428
1484
|
owner: user,
|
|
1429
1485
|
ownerGroup: group,
|
|
1430
|
-
},
|
|
1486
|
+
},
|
|
1487
|
+
// @ts-expect-error todo _id should not exist how to handle
|
|
1488
|
+
async (err, processed, _id) => {
|
|
1431
1489
|
if (!err && processed) {
|
|
1432
|
-
files.push({ id:
|
|
1490
|
+
files.push({ id: _id, processed: processed });
|
|
1433
1491
|
}
|
|
1434
|
-
|
|
1435
|
-
|
|
1492
|
+
if (!--count) {
|
|
1493
|
+
const { List } = await import('./setup/setupList.js');
|
|
1494
|
+
const list = new List({
|
|
1495
|
+
states,
|
|
1496
|
+
objects,
|
|
1497
|
+
processExit: callback,
|
|
1498
|
+
});
|
|
1499
|
+
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1500
|
+
list.showFileHeader();
|
|
1501
|
+
for (let k = 0; k < files.length; k++) {
|
|
1502
|
+
for (let t = 0; t < files[k].processed.length; t++) {
|
|
1503
|
+
list.showFile(files[k].id, files[k].processed[t].path, files[k].processed[t]);
|
|
1504
|
+
}
|
|
1505
|
+
}
|
|
1506
|
+
setTimeout(callback, 1_000);
|
|
1507
|
+
}
|
|
1508
|
+
});
|
|
1436
1509
|
}
|
|
1437
|
-
if (!
|
|
1510
|
+
if (!count) {
|
|
1438
1511
|
console.log('Nothing found');
|
|
1439
1512
|
return void callback();
|
|
1440
1513
|
}
|
|
1441
|
-
const list = new List({
|
|
1442
|
-
states,
|
|
1443
|
-
objects,
|
|
1444
|
-
processExit: callback,
|
|
1445
|
-
});
|
|
1446
|
-
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1447
|
-
list.showFileHeader();
|
|
1448
|
-
for (let k = 0; k < files.length; k++) {
|
|
1449
|
-
for (let t = 0; t < files[k].processed.length; t++) {
|
|
1450
|
-
list.showFile(files[k].id, files[k].processed[t].path, files[k].processed[t]);
|
|
1451
|
-
}
|
|
1452
|
-
}
|
|
1453
|
-
setTimeout(callback, 1_000);
|
|
1454
1514
|
}
|
|
1455
1515
|
});
|
|
1456
1516
|
}
|
|
@@ -1462,13 +1522,14 @@ async function processCommand(command, args, params, callback) {
|
|
|
1462
1522
|
user: 'system.user.admin',
|
|
1463
1523
|
owner: user,
|
|
1464
1524
|
ownerGroup: group,
|
|
1465
|
-
}, (err, processed) => {
|
|
1525
|
+
}, async (err, processed) => {
|
|
1466
1526
|
if (err) {
|
|
1467
1527
|
console.error(err);
|
|
1468
1528
|
}
|
|
1469
1529
|
else {
|
|
1470
1530
|
// call here list
|
|
1471
1531
|
if (processed) {
|
|
1532
|
+
const { List } = await import('./setup/setupList.js');
|
|
1472
1533
|
const list = new List({
|
|
1473
1534
|
states,
|
|
1474
1535
|
objects,
|
|
@@ -1476,6 +1537,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1476
1537
|
});
|
|
1477
1538
|
list.showFileHeader();
|
|
1478
1539
|
for (const file of processed) {
|
|
1540
|
+
// @ts-expect-error todo types adjustment needed
|
|
1479
1541
|
list.showFile(id, file.path, file);
|
|
1480
1542
|
}
|
|
1481
1543
|
}
|
|
@@ -1489,7 +1551,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1489
1551
|
case 'user': {
|
|
1490
1552
|
const command = args[0] || '';
|
|
1491
1553
|
let user = args[1] || '';
|
|
1492
|
-
if (user
|
|
1554
|
+
if (user && user.startsWith('system.user.')) {
|
|
1493
1555
|
user = user.substring('system.user.'.length);
|
|
1494
1556
|
}
|
|
1495
1557
|
dbConnect(params, async ({ objects }) => {
|
|
@@ -1531,16 +1593,14 @@ async function processCommand(command, args, params, callback) {
|
|
|
1531
1593
|
});
|
|
1532
1594
|
}
|
|
1533
1595
|
else if (command === 'set' || command === 'passwd') {
|
|
1534
|
-
users
|
|
1535
|
-
.setUserPassword(user, password, err => {
|
|
1596
|
+
users.setUserPassword(user, password, err => {
|
|
1536
1597
|
if (err) {
|
|
1537
1598
|
console.error(err.message);
|
|
1538
1599
|
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1539
1600
|
}
|
|
1540
1601
|
console.log(`Password for "${user}" was successfully set.`);
|
|
1541
1602
|
return void callback();
|
|
1542
|
-
})
|
|
1543
|
-
.catch(e => console.error(`Cannot set password: ${e.message}`));
|
|
1603
|
+
});
|
|
1544
1604
|
}
|
|
1545
1605
|
else if (command === 'enable' || command === 'e') {
|
|
1546
1606
|
users.enableUser(user, true, err => {
|
|
@@ -1584,10 +1644,10 @@ async function processCommand(command, args, params, callback) {
|
|
|
1584
1644
|
const command = args[0] || '';
|
|
1585
1645
|
let group = args[1] || '';
|
|
1586
1646
|
let user = args[2] || '';
|
|
1587
|
-
if (group
|
|
1647
|
+
if (group && group.startsWith('system.group.')) {
|
|
1588
1648
|
group = group.substring('system.group.'.length);
|
|
1589
1649
|
}
|
|
1590
|
-
if (user
|
|
1650
|
+
if (user && user.startsWith('system.user.')) {
|
|
1591
1651
|
user = user.substring('system.user.'.length);
|
|
1592
1652
|
}
|
|
1593
1653
|
if (!command) {
|
|
@@ -1734,16 +1794,14 @@ async function processCommand(command, args, params, callback) {
|
|
|
1734
1794
|
objects,
|
|
1735
1795
|
processExit: callback,
|
|
1736
1796
|
});
|
|
1737
|
-
users
|
|
1738
|
-
.setUserPassword(user, password, (err) => {
|
|
1797
|
+
users.setUserPassword(user, password, (err) => {
|
|
1739
1798
|
if (err) {
|
|
1740
1799
|
console.error(err);
|
|
1741
1800
|
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1742
1801
|
}
|
|
1743
1802
|
console.log(`Password for "${user}" was successfully set.`);
|
|
1744
1803
|
return void callback();
|
|
1745
|
-
})
|
|
1746
|
-
.catch(e => console.error(`Cannot set password: ${e.message}`));
|
|
1804
|
+
});
|
|
1747
1805
|
});
|
|
1748
1806
|
break;
|
|
1749
1807
|
}
|
|
@@ -1774,7 +1832,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1774
1832
|
const json = {
|
|
1775
1833
|
name: tools.appName,
|
|
1776
1834
|
engines: {
|
|
1777
|
-
node: '>=
|
|
1835
|
+
node: '>=12',
|
|
1778
1836
|
},
|
|
1779
1837
|
optionalDependencies: {},
|
|
1780
1838
|
dependencies: {
|
|
@@ -1783,8 +1841,8 @@ async function processCommand(command, args, params, callback) {
|
|
|
1783
1841
|
},
|
|
1784
1842
|
author: 'bluefox <dogafox@gmail.com>',
|
|
1785
1843
|
};
|
|
1786
|
-
|
|
1787
|
-
|
|
1844
|
+
// @ts-expect-error todo fix it
|
|
1845
|
+
tools.getRepositoryFile(null, null, (_err, sources, _sourcesHash) => {
|
|
1788
1846
|
if (sources) {
|
|
1789
1847
|
for (const s in sources) {
|
|
1790
1848
|
if (Object.prototype.hasOwnProperty.call(sources, s)) {
|
|
@@ -1803,10 +1861,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1803
1861
|
}
|
|
1804
1862
|
fs.writeFileSync(path.join(tools.getRootDir(), 'package.json'), JSON.stringify(json, null, 2));
|
|
1805
1863
|
return void callback();
|
|
1806
|
-
}
|
|
1807
|
-
catch (e) {
|
|
1808
|
-
console.error(`Cannot read repository file: ${e}`);
|
|
1809
|
-
}
|
|
1864
|
+
});
|
|
1810
1865
|
break;
|
|
1811
1866
|
}
|
|
1812
1867
|
case 'set': {
|
|
@@ -1815,7 +1870,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1815
1870
|
console.warn('please specify instance.');
|
|
1816
1871
|
return void callback(EXIT_CODES.INVALID_ADAPTER_ID);
|
|
1817
1872
|
}
|
|
1818
|
-
if (
|
|
1873
|
+
if (instance.indexOf('.') === -1) {
|
|
1819
1874
|
console.warn(`please specify instance, like "${instance}.0"`);
|
|
1820
1875
|
return void callback(EXIT_CODES.INVALID_ADAPTER_ID);
|
|
1821
1876
|
}
|
|
@@ -1897,7 +1952,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1897
1952
|
}
|
|
1898
1953
|
case 'visdebug': {
|
|
1899
1954
|
let widgetset = args[0];
|
|
1900
|
-
if (widgetset
|
|
1955
|
+
if (widgetset && widgetset.startsWith('vis-')) {
|
|
1901
1956
|
widgetset = widgetset.substring(4);
|
|
1902
1957
|
}
|
|
1903
1958
|
const { VisDebug } = await import('./setup/setupVisDebug.js');
|
|
@@ -1906,7 +1961,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1906
1961
|
objects,
|
|
1907
1962
|
processExit: callback,
|
|
1908
1963
|
});
|
|
1909
|
-
visDebug.enableDebug(widgetset)
|
|
1964
|
+
visDebug.enableDebug(widgetset);
|
|
1910
1965
|
});
|
|
1911
1966
|
break;
|
|
1912
1967
|
}
|
|
@@ -1960,9 +2015,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
1960
2015
|
return void callback(EXIT_CODES.INVALID_ARGUMENTS);
|
|
1961
2016
|
}
|
|
1962
2017
|
objects.readFile(adapt, parts.join('/'), null, (err, data) => {
|
|
1963
|
-
|
|
1964
|
-
console.error(err);
|
|
1965
|
-
}
|
|
2018
|
+
err && console.error(err);
|
|
1966
2019
|
if (data) {
|
|
1967
2020
|
const destFilename = path.join('/');
|
|
1968
2021
|
fs.writeFileSync(destFilename, data);
|
|
@@ -2017,12 +2070,10 @@ async function processCommand(command, args, params, callback) {
|
|
|
2017
2070
|
console.log('Invalid parameters: destination adapter cannot be found!');
|
|
2018
2071
|
return void callback(EXIT_CODES.INVALID_ARGUMENTS);
|
|
2019
2072
|
}
|
|
2020
|
-
objects
|
|
2021
|
-
.writeFile(adapt, destFilename, data, _err => {
|
|
2073
|
+
objects.writeFile(adapt, destFilename, data, _err => {
|
|
2022
2074
|
console.log(`File "${toRead}" stored as "${destFilename}"`);
|
|
2023
2075
|
return void callback(EXIT_CODES.NO_ERROR);
|
|
2024
|
-
})
|
|
2025
|
-
.catch(e => console.error(`Cannot write file: ${e.message}`));
|
|
2076
|
+
});
|
|
2026
2077
|
}
|
|
2027
2078
|
else if (cmd === 'del' || cmd === 'rm' || cmd === 'unlink') {
|
|
2028
2079
|
const toDelete = args[1];
|
|
@@ -2041,12 +2092,8 @@ async function processCommand(command, args, params, callback) {
|
|
|
2041
2092
|
return void callback(EXIT_CODES.INVALID_ARGUMENTS);
|
|
2042
2093
|
}
|
|
2043
2094
|
objects.unlink(adapt, parts.join('/'), null, err => {
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
}
|
|
2047
|
-
else {
|
|
2048
|
-
console.log(`File "${toDelete}" was deleted`);
|
|
2049
|
-
}
|
|
2095
|
+
err && console.error(err);
|
|
2096
|
+
!err && console.log(`File "${toDelete}" was deleted`);
|
|
2050
2097
|
return void callback(EXIT_CODES.NO_ERROR);
|
|
2051
2098
|
});
|
|
2052
2099
|
}
|
|
@@ -2084,7 +2131,8 @@ async function processCommand(command, args, params, callback) {
|
|
|
2084
2131
|
const { numberSuccess, notifications } = objects.syncFileDirectory(args[1]);
|
|
2085
2132
|
console.log(`${numberSuccess} file(s) successfully synchronized with ioBroker storage`);
|
|
2086
2133
|
if (notifications.length) {
|
|
2087
|
-
console.log(
|
|
2134
|
+
console.log();
|
|
2135
|
+
console.log('The following notifications happened during sync: ');
|
|
2088
2136
|
notifications.forEach((el) => console.log(`- ${el}`));
|
|
2089
2137
|
}
|
|
2090
2138
|
return void callback(EXIT_CODES.NO_ERROR);
|
|
@@ -2183,13 +2231,11 @@ async function processCommand(command, args, params, callback) {
|
|
|
2183
2231
|
const parts = row.id.split('.');
|
|
2184
2232
|
// ignore system.host.name.alive and so on
|
|
2185
2233
|
if (parts.length === 3) {
|
|
2186
|
-
states
|
|
2187
|
-
.pushMessage(row.id, {
|
|
2234
|
+
states.pushMessage(row.id, {
|
|
2188
2235
|
command: 'checkLogging',
|
|
2189
2236
|
message: null,
|
|
2190
2237
|
from: 'console',
|
|
2191
|
-
})
|
|
2192
|
-
.catch(e => console.error(`Cannot push checkLogging message: ${e.message}`));
|
|
2238
|
+
});
|
|
2193
2239
|
}
|
|
2194
2240
|
}
|
|
2195
2241
|
}
|
|
@@ -2381,7 +2427,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
2381
2427
|
console.error(err);
|
|
2382
2428
|
}
|
|
2383
2429
|
return void callback(err ? 1 : 0);
|
|
2384
|
-
})
|
|
2430
|
+
});
|
|
2385
2431
|
}
|
|
2386
2432
|
});
|
|
2387
2433
|
break;
|
|
@@ -2409,7 +2455,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
2409
2455
|
}
|
|
2410
2456
|
case 'cert': {
|
|
2411
2457
|
const certCommand = new CLICert(commandOptions);
|
|
2412
|
-
|
|
2458
|
+
certCommand.execute(args);
|
|
2413
2459
|
break;
|
|
2414
2460
|
}
|
|
2415
2461
|
case 'compact': {
|
|
@@ -2526,8 +2572,9 @@ async function cleanDatabase(isDeleteDb) {
|
|
|
2526
2572
|
const { objects } = await dbConnectAsync(false);
|
|
2527
2573
|
if (isDeleteDb) {
|
|
2528
2574
|
await objects.destroyDBAsync();
|
|
2529
|
-
// Clean up states
|
|
2530
|
-
|
|
2575
|
+
// Clean up states
|
|
2576
|
+
const keysCount = await delStates();
|
|
2577
|
+
return keysCount;
|
|
2531
2578
|
}
|
|
2532
2579
|
// Clean only objects, not the views
|
|
2533
2580
|
let ids = [];
|
|
@@ -2542,8 +2589,9 @@ async function cleanDatabase(isDeleteDb) {
|
|
|
2542
2589
|
// ignore
|
|
2543
2590
|
}
|
|
2544
2591
|
await delObjects(ids);
|
|
2545
|
-
// Clean up states
|
|
2546
|
-
|
|
2592
|
+
// Clean up states
|
|
2593
|
+
const keysCount = await delStates();
|
|
2594
|
+
return keysCount;
|
|
2547
2595
|
}
|
|
2548
2596
|
async function unsetup(params, callback) {
|
|
2549
2597
|
const { objects } = await dbConnectAsync(false, params);
|
|
@@ -2602,6 +2650,7 @@ async function restartController() {
|
|
|
2602
2650
|
export function execute() {
|
|
2603
2651
|
// direct call
|
|
2604
2652
|
const _yargs = initYargs();
|
|
2653
|
+
// @ts-expect-error todo fix it
|
|
2605
2654
|
const command = _yargs.argv._[0];
|
|
2606
2655
|
const args = [];
|
|
2607
2656
|
// skip interpreter, filename and command
|
|
@@ -2612,10 +2661,10 @@ export function execute() {
|
|
|
2612
2661
|
}
|
|
2613
2662
|
args.push(process.argv[i]);
|
|
2614
2663
|
}
|
|
2615
|
-
processCommand(command, args, _yargs.argv, exitApplicationSave)
|
|
2664
|
+
processCommand(command, args, _yargs.argv, exitApplicationSave);
|
|
2616
2665
|
}
|
|
2617
2666
|
process.on('unhandledRejection', (e) => {
|
|
2618
2667
|
console.error(`Uncaught Rejection: ${e.stack || e}`);
|
|
2619
|
-
|
|
2668
|
+
exitApplicationSave(EXIT_CODES.UNCAUGHT_EXCEPTION);
|
|
2620
2669
|
});
|
|
2621
2670
|
//# sourceMappingURL=setup.js.map
|