@iobroker/js-controller-cli 7.2.3-alpha.9-20260711-3ea5f3c89 → 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/cjs/lib/setup.js
CHANGED
|
@@ -5,7 +5,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
8
|
var __export = (target, all) => {
|
|
10
9
|
for (var name in all)
|
|
11
10
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -34,16 +33,14 @@ __export(setup_exports, {
|
|
|
34
33
|
module.exports = __toCommonJS(setup_exports);
|
|
35
34
|
var __import_meta_url = typeof document === "undefined" ? new (require("url".replace("", ""))).URL("file:" + __filename).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
|
|
36
35
|
var import_fs_extra = __toESM(require("fs-extra"), 1);
|
|
36
|
+
var import_js_controller_common = require("@iobroker/js-controller-common");
|
|
37
|
+
var import_js_controller_common2 = require("@iobroker/js-controller-common");
|
|
37
38
|
var import_deep_clone = __toESM(require("deep-clone"), 1);
|
|
38
39
|
var import_node_util = require("node:util");
|
|
39
40
|
var import_debug = __toESM(require("debug"), 1);
|
|
41
|
+
var import_js_controller_common3 = require("@iobroker/js-controller-common");
|
|
40
42
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
41
43
|
var import_yargs = __toESM(require("yargs/yargs"), 1);
|
|
42
|
-
var url = __toESM(require("node:url"), 1);
|
|
43
|
-
var events = __toESM(require("node:events"), 1);
|
|
44
|
-
var import_node_module = require("node:module");
|
|
45
|
-
var import_js_controller_common = require("@iobroker/js-controller-common");
|
|
46
|
-
var import_constants = require("@iobroker/js-controller-common-db/constants");
|
|
47
44
|
var CLITools = __toESM(require("../lib/cli/cliTools.js"), 1);
|
|
48
45
|
var import_cliHost = require("../lib/cli/cliHost.js");
|
|
49
46
|
var import_cliStates = require("../lib/cli/cliStates.js");
|
|
@@ -59,8 +56,10 @@ var import_messages = require("../lib/cli/messages.js");
|
|
|
59
56
|
var import_utils = require("../lib/setup/utils.js");
|
|
60
57
|
var import_dbConnection = require("../lib/setup/dbConnection.js");
|
|
61
58
|
var import_customError = require("../lib/setup/customError.js");
|
|
62
|
-
var
|
|
63
|
-
var
|
|
59
|
+
var url = __toESM(require("node:url"), 1);
|
|
60
|
+
var events = __toESM(require("node:events"), 1);
|
|
61
|
+
var import_node_module = require("node:module");
|
|
62
|
+
var import_constants = require("@iobroker/js-controller-common-db/constants");
|
|
64
63
|
const thisDir = url.fileURLToPath(new URL(".", __import_meta_url || `file://${__filename}`));
|
|
65
64
|
const require2 = (0, import_node_module.createRequire)(__import_meta_url || `file://${__filename}`);
|
|
66
65
|
import_js_controller_common.tools.ensureDNSOrder();
|
|
@@ -318,13 +317,11 @@ function initYargs() {
|
|
|
318
317
|
}).wrap(null);
|
|
319
318
|
return _yargs;
|
|
320
319
|
}
|
|
321
|
-
__name(initYargs, "initYargs");
|
|
322
320
|
function showHelp() {
|
|
323
321
|
if (_yargs) {
|
|
324
322
|
_yargs.showHelp();
|
|
325
323
|
}
|
|
326
324
|
}
|
|
327
|
-
__name(showHelp, "showHelp");
|
|
328
325
|
async function processCommand(command, args, params, callback) {
|
|
329
326
|
const commandContext = { dbConnect: import_dbConnection.dbConnect, callback, showHelp };
|
|
330
327
|
const commandOptions = { ...params, ...commandContext };
|
|
@@ -334,12 +331,12 @@ async function processCommand(command, args, params, callback) {
|
|
|
334
331
|
case "start":
|
|
335
332
|
case "stop": {
|
|
336
333
|
const procCommand = new import_cliProcess.CLIProcess(commandOptions);
|
|
337
|
-
procCommand[command](args)
|
|
334
|
+
procCommand[command](args);
|
|
338
335
|
break;
|
|
339
336
|
}
|
|
340
337
|
case "debug": {
|
|
341
338
|
const debugCommand = new import_cliDebug.CLIDebug(commandOptions);
|
|
342
|
-
debugCommand.execute(args)
|
|
339
|
+
debugCommand.execute(args);
|
|
343
340
|
break;
|
|
344
341
|
}
|
|
345
342
|
case "status":
|
|
@@ -351,11 +348,11 @@ async function processCommand(command, args, params, callback) {
|
|
|
351
348
|
case "r":
|
|
352
349
|
case "restart": {
|
|
353
350
|
const procCommand = new import_cliProcess.CLIProcess(commandOptions);
|
|
354
|
-
procCommand.restart(args)
|
|
351
|
+
procCommand.restart(args);
|
|
355
352
|
break;
|
|
356
353
|
}
|
|
357
354
|
case "_restart":
|
|
358
|
-
restartController()
|
|
355
|
+
restartController();
|
|
359
356
|
callback();
|
|
360
357
|
break;
|
|
361
358
|
case "update": {
|
|
@@ -396,7 +393,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
396
393
|
isRedis = params.redis || isRedis;
|
|
397
394
|
isFirst = params.first || isFirst;
|
|
398
395
|
setup.setup({
|
|
399
|
-
callback:
|
|
396
|
+
callback: async () => {
|
|
400
397
|
const { states, objects } = await (0, import_dbConnection.dbConnectAsync)(false, params);
|
|
401
398
|
if (isFirst) {
|
|
402
399
|
const { Install } = await import("./setup/setupInstall.js");
|
|
@@ -432,7 +429,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
432
429
|
}
|
|
433
430
|
await new Promise((resolve) => {
|
|
434
431
|
const cert = new import_cliCert.CLICert({ ...commandOptions, callback: resolve });
|
|
435
|
-
cert.create()
|
|
432
|
+
cert.create();
|
|
436
433
|
});
|
|
437
434
|
}
|
|
438
435
|
const { Repo } = await import("./setup/setupRepo.js");
|
|
@@ -468,7 +465,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
468
465
|
let migrated = "";
|
|
469
466
|
if (config.states.type === "file") {
|
|
470
467
|
config.states.type = "jsonl";
|
|
471
|
-
const hasLocalStatesServer = await (0,
|
|
468
|
+
const hasLocalStatesServer = await (0, import_js_controller_common3.isLocalStatesDbServer)("file", config.states.host);
|
|
472
469
|
if (hasLocalStatesServer) {
|
|
473
470
|
console.log('States DB type migrated from "file" to "jsonl"');
|
|
474
471
|
migrated += "States";
|
|
@@ -476,7 +473,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
476
473
|
}
|
|
477
474
|
if (config.objects.type === "file") {
|
|
478
475
|
config.objects.type = "jsonl";
|
|
479
|
-
const hasLocalObjectsServer = await (0,
|
|
476
|
+
const hasLocalObjectsServer = await (0, import_js_controller_common3.isLocalObjectsDbServer)("file", config.objects.host);
|
|
480
477
|
if (hasLocalObjectsServer) {
|
|
481
478
|
console.log('Objects DB type migrated from "file" to "jsonl"');
|
|
482
479
|
migrated += migrated ? " and Objects" : "Objects";
|
|
@@ -515,7 +512,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
515
512
|
console.log(`Could not update ioBroker configuration: ${err.message}`);
|
|
516
513
|
}
|
|
517
514
|
return void callback();
|
|
518
|
-
},
|
|
515
|
+
},
|
|
519
516
|
ignoreIfExist: isFirst,
|
|
520
517
|
useRedis: isRedis
|
|
521
518
|
});
|
|
@@ -526,7 +523,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
526
523
|
const name = args[1];
|
|
527
524
|
if (!url2) {
|
|
528
525
|
console.log("Please provide a URL to install from and optionally a name of the adapter to install");
|
|
529
|
-
callback(
|
|
526
|
+
callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
530
527
|
}
|
|
531
528
|
if (url2[0] === '"' && url2[url2.length - 1] === '"') {
|
|
532
529
|
url2 = url2.substring(1, url2.length - 1);
|
|
@@ -542,10 +539,10 @@ async function processCommand(command, args, params, callback) {
|
|
|
542
539
|
});
|
|
543
540
|
try {
|
|
544
541
|
await install.installAdapterFromUrl(url2, name);
|
|
545
|
-
return void callback(
|
|
542
|
+
return void callback(import_js_controller_common2.EXIT_CODES.NO_ERROR);
|
|
546
543
|
} catch (e) {
|
|
547
544
|
console.error(`Could not install adapter from url: ${e.message}`);
|
|
548
|
-
return void callback(
|
|
545
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_INSTALL_NPM_PACKET);
|
|
549
546
|
}
|
|
550
547
|
});
|
|
551
548
|
break;
|
|
@@ -554,24 +551,22 @@ async function processCommand(command, args, params, callback) {
|
|
|
554
551
|
(0, import_dbConnection.dbConnect)(params, async ({ objects }) => {
|
|
555
552
|
try {
|
|
556
553
|
const data = await import_js_controller_common.tools.getHostInfo(objects);
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
}
|
|
570
|
-
console.log(`${attr}${attr.length < 16 ? new Array(16 - attr.length).join(" ") : ""}: ${info || ""}`);
|
|
554
|
+
const formatters = await import("./setup/formatters.js");
|
|
555
|
+
const formatInfo = {
|
|
556
|
+
Uptime: formatters.formatSeconds,
|
|
557
|
+
"System uptime": formatters.formatSeconds,
|
|
558
|
+
RAM: formatters.formatRam,
|
|
559
|
+
Speed: formatters.formatSpeed,
|
|
560
|
+
"Disk size": formatters.formatBytes,
|
|
561
|
+
"Disk free": formatters.formatBytes
|
|
562
|
+
};
|
|
563
|
+
for (const attr of Object.keys(data)) {
|
|
564
|
+
console.log(`${attr}${attr.length < 16 ? new Array(16 - attr.length).join(" ") : ""}: ${// @ts-expect-error todo would need checks
|
|
565
|
+
formatInfo[attr] ? formatInfo[attr](data[attr]) : data[attr] || ""}`);
|
|
571
566
|
}
|
|
572
567
|
} catch (err) {
|
|
573
568
|
console.error(`Cannot read host info: ${typeof err === "object" ? JSON.stringify(err) : err}`);
|
|
574
|
-
return callback(
|
|
569
|
+
return callback(import_js_controller_common2.EXIT_CODES.CANNOT_GET_HOST_INFO);
|
|
575
570
|
}
|
|
576
571
|
return void callback();
|
|
577
572
|
});
|
|
@@ -601,7 +596,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
601
596
|
if (!parsedName) {
|
|
602
597
|
console.log("Invalid adapter name for install");
|
|
603
598
|
showHelp();
|
|
604
|
-
return void callback(
|
|
599
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ADAPTER_ID);
|
|
605
600
|
}
|
|
606
601
|
if (parsedName.instance !== null) {
|
|
607
602
|
params.instance = parsedName.instance;
|
|
@@ -626,7 +621,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
626
621
|
}
|
|
627
622
|
if (!obj) {
|
|
628
623
|
console.error(`Cannot add instance to non-existing host "${params.host}"`);
|
|
629
|
-
return void callback(
|
|
624
|
+
return void callback(import_js_controller_common2.EXIT_CODES.NON_EXISTING_HOST);
|
|
630
625
|
}
|
|
631
626
|
}
|
|
632
627
|
if (!adapterDir || !import_fs_extra.default.existsSync(adapterDir)) {
|
|
@@ -640,7 +635,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
640
635
|
return void callback();
|
|
641
636
|
} catch (e) {
|
|
642
637
|
console.error(`adapter "${name}" cannot be installed: ${e.message}`);
|
|
643
|
-
return void callback(e instanceof import_customError.IoBrokerError ? e.code :
|
|
638
|
+
return void callback(e instanceof import_customError.IoBrokerError ? e.code : import_js_controller_common2.EXIT_CODES.UNKNOWN_ERROR);
|
|
644
639
|
}
|
|
645
640
|
} else if (command !== "install" && command !== "i") {
|
|
646
641
|
try {
|
|
@@ -648,11 +643,11 @@ async function processCommand(command, args, params, callback) {
|
|
|
648
643
|
return void callback();
|
|
649
644
|
} catch (err) {
|
|
650
645
|
console.error(`adapter "${name}" cannot be installed: ${err.message}`);
|
|
651
|
-
return void callback(
|
|
646
|
+
return void callback(import_js_controller_common2.EXIT_CODES.UNKNOWN_ERROR);
|
|
652
647
|
}
|
|
653
648
|
} else {
|
|
654
649
|
console.log(`adapter "${name}" already installed. Use "upgrade" to upgrade to a newer version.`);
|
|
655
|
-
return void callback(
|
|
650
|
+
return void callback(import_js_controller_common2.EXIT_CODES.ADAPTER_ALREADY_INSTALLED);
|
|
656
651
|
}
|
|
657
652
|
});
|
|
658
653
|
break;
|
|
@@ -664,7 +659,7 @@ async function processCommand(command, args, params, callback) {
|
|
|
664
659
|
options.cwd = commandOptions.path;
|
|
665
660
|
} else {
|
|
666
661
|
console.log("Path argument needs to be an absolute path!");
|
|
667
|
-
return void (0, import_dbConnection.exitApplicationSave)(
|
|
662
|
+
return void (0, import_dbConnection.exitApplicationSave)(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
668
663
|
}
|
|
669
664
|
}
|
|
670
665
|
if (commandOptions.module) {
|
|
@@ -709,14 +704,14 @@ async function processCommand(command, args, params, callback) {
|
|
|
709
704
|
callback();
|
|
710
705
|
} catch (err) {
|
|
711
706
|
console.error(`Cannot upload all adapters: ${err.message}`);
|
|
712
|
-
return void callback(
|
|
707
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_UPLOAD_DATA);
|
|
713
708
|
}
|
|
714
709
|
} else {
|
|
715
710
|
if (name.includes(".")) {
|
|
716
711
|
if (!subTree) {
|
|
717
712
|
console.log(`Please specify target name, like:
|
|
718
713
|
${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/main/img/picture.png`);
|
|
719
|
-
return void callback(
|
|
714
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
720
715
|
}
|
|
721
716
|
try {
|
|
722
717
|
const newName = await upload.uploadFile(name, subTree);
|
|
@@ -724,7 +719,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
724
719
|
return void callback();
|
|
725
720
|
} catch (err) {
|
|
726
721
|
console.error(`Cannot upload file "${name}": ${err.message}`);
|
|
727
|
-
return void callback(
|
|
722
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_UPLOAD_DATA);
|
|
728
723
|
}
|
|
729
724
|
} else {
|
|
730
725
|
try {
|
|
@@ -736,7 +731,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
736
731
|
return void callback();
|
|
737
732
|
} catch (err) {
|
|
738
733
|
console.error(`Cannot upload files "${name}": ${err.message}`);
|
|
739
|
-
return void callback(
|
|
734
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_UPLOAD_DATA);
|
|
740
735
|
}
|
|
741
736
|
}
|
|
742
737
|
}
|
|
@@ -744,7 +739,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
744
739
|
} else {
|
|
745
740
|
console.log("No adapter name found!");
|
|
746
741
|
showHelp();
|
|
747
|
-
return void callback(
|
|
742
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ADAPTER_ID);
|
|
748
743
|
}
|
|
749
744
|
break;
|
|
750
745
|
}
|
|
@@ -754,13 +749,13 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
754
749
|
let instance = args[1];
|
|
755
750
|
if (!adapter) {
|
|
756
751
|
showHelp();
|
|
757
|
-
return void callback(
|
|
752
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ADAPTER_ID);
|
|
758
753
|
}
|
|
759
754
|
adapter = CLITools.normalizeAdapterName(adapter);
|
|
760
755
|
if (!instance) {
|
|
761
756
|
if (!CLITools.validateAdapterOrInstanceIdentifier(adapter)) {
|
|
762
757
|
showHelp();
|
|
763
|
-
return void callback(
|
|
758
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ADAPTER_ID);
|
|
764
759
|
}
|
|
765
760
|
if (adapter.indexOf(".") > -1) {
|
|
766
761
|
[adapter, instance] = adapter.split(".", 2);
|
|
@@ -768,7 +763,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
768
763
|
} else {
|
|
769
764
|
if (!CLITools.validateAdapterIdentifier(adapter) || !/^\d+$/.test(instance)) {
|
|
770
765
|
showHelp();
|
|
771
|
-
return void callback(
|
|
766
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ADAPTER_ID);
|
|
772
767
|
}
|
|
773
768
|
}
|
|
774
769
|
if (instance) {
|
|
@@ -806,17 +801,17 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
806
801
|
output: process.stdout
|
|
807
802
|
});
|
|
808
803
|
if (params.yes || params.y || params.Y) {
|
|
809
|
-
unsetup(params, callback)
|
|
804
|
+
unsetup(params, callback);
|
|
810
805
|
} else {
|
|
811
806
|
rl.question("UUID will be deleted. Are you sure? [y/N]: ", (answer) => {
|
|
812
807
|
rl.close();
|
|
813
808
|
answer = answer.toLowerCase();
|
|
814
809
|
if (answer === "y" || answer === "yes" || answer === "ja" || answer === "j") {
|
|
815
|
-
unsetup(params, callback)
|
|
816
|
-
|
|
810
|
+
unsetup(params, callback);
|
|
811
|
+
} else {
|
|
812
|
+
console.log("Nothing deleted");
|
|
813
|
+
return void callback();
|
|
817
814
|
}
|
|
818
|
-
console.log("Nothing deleted");
|
|
819
|
-
return void callback();
|
|
820
815
|
});
|
|
821
816
|
}
|
|
822
817
|
break;
|
|
@@ -873,19 +868,19 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
873
868
|
return void callback();
|
|
874
869
|
} catch (err) {
|
|
875
870
|
console.error(`Cannot upgrade: ${err.message}`);
|
|
876
|
-
return void callback(
|
|
871
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_REPO);
|
|
877
872
|
}
|
|
878
873
|
} else {
|
|
879
874
|
try {
|
|
880
875
|
const links = await (0, import_utils.getRepository)({ objects });
|
|
881
876
|
if (!links) {
|
|
882
|
-
return void callback(
|
|
877
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_REPO);
|
|
883
878
|
}
|
|
884
879
|
await upgrade.upgradeAdapterHelper(links, Object.keys(links).sort(), false, params.y || params.yes);
|
|
885
880
|
return void callback();
|
|
886
881
|
} catch (e) {
|
|
887
882
|
console.error(`Cannot upgrade: ${e.message}`);
|
|
888
|
-
return void callback(e instanceof import_customError.IoBrokerError ? e.code :
|
|
883
|
+
return void callback(e instanceof import_customError.IoBrokerError ? e.code : import_js_controller_common2.EXIT_CODES.INVALID_REPO);
|
|
889
884
|
}
|
|
890
885
|
}
|
|
891
886
|
});
|
|
@@ -899,14 +894,14 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
899
894
|
(0, import_dbConnection.dbConnect)(params, async ({ isOffline }) => {
|
|
900
895
|
if (!isOffline) {
|
|
901
896
|
console.error(`Stop ${import_js_controller_common.tools.appName} first!`);
|
|
902
|
-
return void callback(
|
|
897
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CONTROLLER_RUNNING);
|
|
903
898
|
}
|
|
904
899
|
try {
|
|
905
900
|
const count = await cleanDatabase(true);
|
|
906
901
|
console.log(`Deleted ${count} states`);
|
|
907
902
|
} catch {
|
|
908
903
|
}
|
|
909
|
-
restartController()
|
|
904
|
+
restartController();
|
|
910
905
|
console.log(`Restarting ${import_js_controller_common.tools.appName}...`);
|
|
911
906
|
callback();
|
|
912
907
|
});
|
|
@@ -918,7 +913,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
918
913
|
(0, import_dbConnection.dbConnect)(params, async ({ isOffline, objects, states }) => {
|
|
919
914
|
if (!isOffline) {
|
|
920
915
|
console.error(`Stop ${import_js_controller_common.tools.appName} first!`);
|
|
921
|
-
return void callback(
|
|
916
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CONTROLLER_RUNNING);
|
|
922
917
|
}
|
|
923
918
|
const backup = new BackupRestore({
|
|
924
919
|
states,
|
|
@@ -932,7 +927,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
932
927
|
force: !!params.force,
|
|
933
928
|
dontDeleteAdapters: false
|
|
934
929
|
});
|
|
935
|
-
if (exitCode ===
|
|
930
|
+
if (exitCode === import_js_controller_common2.EXIT_CODES.NO_ERROR) {
|
|
936
931
|
console.log("System successfully restored!");
|
|
937
932
|
}
|
|
938
933
|
return void callback(exitCode);
|
|
@@ -954,10 +949,10 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
954
949
|
const filePath = await backup.createBackup(name);
|
|
955
950
|
console.log(`Backup created: ${filePath}`);
|
|
956
951
|
console.log("This backup can only be restored with js-controller version 7.0 or higher");
|
|
957
|
-
return void callback(
|
|
952
|
+
return void callback(import_js_controller_common2.EXIT_CODES.NO_ERROR);
|
|
958
953
|
} catch (e) {
|
|
959
954
|
console.log(`Cannot create backup: ${e.message}`);
|
|
960
|
-
return void callback(e instanceof import_customError.IoBrokerError ? e.code :
|
|
955
|
+
return void callback(e instanceof import_customError.IoBrokerError ? e.code : import_js_controller_common2.EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP);
|
|
961
956
|
}
|
|
962
957
|
});
|
|
963
958
|
break;
|
|
@@ -986,8 +981,9 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
986
981
|
}
|
|
987
982
|
case "l":
|
|
988
983
|
case "list": {
|
|
989
|
-
(0, import_dbConnection.dbConnect)(params, ({ objects, states }) => {
|
|
990
|
-
const
|
|
984
|
+
(0, import_dbConnection.dbConnect)(params, async ({ objects, states }) => {
|
|
985
|
+
const { List } = await import("./setup/setupList.js");
|
|
986
|
+
const list = new List({
|
|
991
987
|
states,
|
|
992
988
|
objects,
|
|
993
989
|
processExit: callback
|
|
@@ -1000,9 +996,9 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1000
996
|
let pattern = args[0];
|
|
1001
997
|
if (!pattern) {
|
|
1002
998
|
console.log('No file path found. Example: "touch /vis-2.0/main/*"');
|
|
1003
|
-
return void callback(
|
|
999
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1004
1000
|
}
|
|
1005
|
-
(0, import_dbConnection.dbConnect)(params, ({ objects }) => {
|
|
1001
|
+
(0, import_dbConnection.dbConnect)(params, ({ states, objects }) => {
|
|
1006
1002
|
pattern = pattern.replace(/\\/g, "/");
|
|
1007
1003
|
if (pattern[0] === "/") {
|
|
1008
1004
|
pattern = pattern.substring(1);
|
|
@@ -1011,39 +1007,67 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1011
1007
|
objects.getObjectList({
|
|
1012
1008
|
startkey: "system.adapter.",
|
|
1013
1009
|
endkey: "system.adapter.\u9999"
|
|
1014
|
-
},
|
|
1010
|
+
}, (err, arr) => {
|
|
1015
1011
|
if (!err && arr?.rows) {
|
|
1016
1012
|
const files = [];
|
|
1013
|
+
let count = 0;
|
|
1017
1014
|
for (const row of arr.rows) {
|
|
1018
|
-
|
|
1019
|
-
if (rowTyped.type !== "adapter") {
|
|
1015
|
+
if (row.value.type !== "adapter") {
|
|
1020
1016
|
continue;
|
|
1021
1017
|
}
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1018
|
+
count++;
|
|
1019
|
+
objects.touch(
|
|
1020
|
+
row.value.common.name,
|
|
1021
|
+
"*",
|
|
1022
|
+
{ user: "system.user.admin" },
|
|
1023
|
+
// @ts-expect-error todo this looks wrong, we have no cb args other than err
|
|
1024
|
+
async (err2, processed, _id) => {
|
|
1025
|
+
if (!err2 && processed) {
|
|
1026
|
+
files.push({ id: _id, processed });
|
|
1027
|
+
}
|
|
1028
|
+
if (!--count) {
|
|
1029
|
+
const { List } = await import("./setup/setupList.js");
|
|
1030
|
+
const list = new List({
|
|
1031
|
+
states,
|
|
1032
|
+
objects,
|
|
1033
|
+
processExit: callback
|
|
1034
|
+
});
|
|
1035
|
+
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1036
|
+
for (const file of files) {
|
|
1037
|
+
for (const processedFile of processed) {
|
|
1038
|
+
list.showFile(file.id, processedFile.path, processedFile);
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
setTimeout(callback, 1e3);
|
|
1042
|
+
}
|
|
1027
1043
|
}
|
|
1028
|
-
|
|
1029
|
-
}));
|
|
1044
|
+
);
|
|
1030
1045
|
}
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1046
|
+
if (!count) {
|
|
1047
|
+
console.log("Nothing found");
|
|
1048
|
+
return void callback();
|
|
1034
1049
|
}
|
|
1035
|
-
setTimeout(callback, 1e3);
|
|
1036
1050
|
}
|
|
1037
1051
|
});
|
|
1038
1052
|
} else {
|
|
1039
1053
|
const parts = pattern.split("/");
|
|
1040
1054
|
const id = parts.shift();
|
|
1041
1055
|
const path2 = parts.join("/");
|
|
1042
|
-
objects.touch(id, path2, { user: "system.user.admin" }, (err) => {
|
|
1056
|
+
objects.touch(id, path2, { user: "system.user.admin" }, async (err, processed) => {
|
|
1043
1057
|
if (err) {
|
|
1044
1058
|
console.error(err);
|
|
1045
1059
|
} else {
|
|
1046
|
-
|
|
1060
|
+
if (processed) {
|
|
1061
|
+
const { List } = await import("./setup/setupList.js");
|
|
1062
|
+
const list = new List({
|
|
1063
|
+
states,
|
|
1064
|
+
objects,
|
|
1065
|
+
processExit: callback
|
|
1066
|
+
});
|
|
1067
|
+
for (const processedFile of processed) {
|
|
1068
|
+
list.showFile(id, processedFile.path, processedFile);
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1047
1071
|
}
|
|
1048
1072
|
setTimeout(callback, 1e3);
|
|
1049
1073
|
});
|
|
@@ -1055,9 +1079,9 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1055
1079
|
let pattern = args[0];
|
|
1056
1080
|
if (!pattern) {
|
|
1057
1081
|
console.log('No file path found. Example: "touch /vis-2.0/main/*"');
|
|
1058
|
-
return void callback(
|
|
1082
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1059
1083
|
}
|
|
1060
|
-
(0, import_dbConnection.dbConnect)(params, ({ objects }) => {
|
|
1084
|
+
(0, import_dbConnection.dbConnect)(params, ({ objects, states }) => {
|
|
1061
1085
|
pattern = pattern.replace(/\\/g, "/");
|
|
1062
1086
|
if (pattern[0] === "/") {
|
|
1063
1087
|
pattern = pattern.substring(1);
|
|
@@ -1066,41 +1090,67 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1066
1090
|
objects.getObjectList({
|
|
1067
1091
|
startkey: "system.adapter.",
|
|
1068
1092
|
endkey: "system.adapter.\u9999"
|
|
1069
|
-
},
|
|
1093
|
+
}, (err, arr) => {
|
|
1070
1094
|
if (!err && arr?.rows) {
|
|
1071
1095
|
const files = [];
|
|
1096
|
+
let count = 0;
|
|
1072
1097
|
for (const row of arr.rows) {
|
|
1073
|
-
|
|
1074
|
-
if (rowTyped.type !== "adapter") {
|
|
1098
|
+
if (row.value.type !== "adapter") {
|
|
1075
1099
|
continue;
|
|
1076
1100
|
}
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1101
|
+
count++;
|
|
1102
|
+
objects.rm(
|
|
1103
|
+
row.value.common.name,
|
|
1104
|
+
"*",
|
|
1105
|
+
{ user: "system.user.admin" },
|
|
1106
|
+
// @ts-expect-error todo id should not exist according to types check it
|
|
1107
|
+
async (err2, processed, _id) => {
|
|
1108
|
+
if (!err2 && processed) {
|
|
1109
|
+
files.push({ id: _id, processed });
|
|
1110
|
+
}
|
|
1111
|
+
if (!--count) {
|
|
1112
|
+
const { List } = await import("./setup/setupList.js");
|
|
1113
|
+
const list = new List({
|
|
1114
|
+
states,
|
|
1115
|
+
objects,
|
|
1116
|
+
processExit: callback
|
|
1117
|
+
});
|
|
1118
|
+
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1119
|
+
list.showFileHeader();
|
|
1120
|
+
for (const file of files) {
|
|
1121
|
+
for (const processedFile of processed) {
|
|
1122
|
+
list.showFile(file.id, processedFile.path, processedFile);
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
setTimeout(callback, 1e3);
|
|
1126
|
+
}
|
|
1080
1127
|
}
|
|
1081
|
-
|
|
1082
|
-
}));
|
|
1128
|
+
);
|
|
1083
1129
|
}
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
console.log(`Removed ${processedFile.path}/${processedFile.file}`);
|
|
1088
|
-
}
|
|
1130
|
+
if (!count) {
|
|
1131
|
+
console.log("Nothing found");
|
|
1132
|
+
return void callback();
|
|
1089
1133
|
}
|
|
1090
|
-
setTimeout(callback, 1e3);
|
|
1091
1134
|
}
|
|
1092
1135
|
});
|
|
1093
1136
|
} else {
|
|
1094
1137
|
const parts = pattern.split("/");
|
|
1095
1138
|
const id = parts.shift();
|
|
1096
1139
|
const path2 = parts.join("/");
|
|
1097
|
-
objects.rm(id, path2, { user: "system.user.admin" }, (err, processed) => {
|
|
1140
|
+
objects.rm(id, path2, { user: "system.user.admin" }, async (err, processed) => {
|
|
1098
1141
|
if (err) {
|
|
1099
1142
|
console.error(err);
|
|
1100
1143
|
} else {
|
|
1101
1144
|
if (processed) {
|
|
1145
|
+
const { List } = await import("./setup/setupList.js");
|
|
1146
|
+
const list = new List({
|
|
1147
|
+
states,
|
|
1148
|
+
objects,
|
|
1149
|
+
processExit: callback
|
|
1150
|
+
});
|
|
1151
|
+
list.showFileHeader();
|
|
1102
1152
|
for (const file of processed) {
|
|
1103
|
-
|
|
1153
|
+
list.showFile(id, file.path, file);
|
|
1104
1154
|
}
|
|
1105
1155
|
}
|
|
1106
1156
|
}
|
|
@@ -1115,12 +1165,12 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1115
1165
|
let pattern = args[1];
|
|
1116
1166
|
if (!mode) {
|
|
1117
1167
|
import_messages.error.requiredArgumentMissing("mode", "chmod 777 /vis-2.0/main/*");
|
|
1118
|
-
return void callback(
|
|
1168
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1119
1169
|
}
|
|
1120
1170
|
mode = parseInt(mode.toString(), 16);
|
|
1121
1171
|
if (!pattern) {
|
|
1122
1172
|
import_messages.error.requiredArgumentMissing("file path", "chmod 777 /vis-2.0/main/*");
|
|
1123
|
-
return void callback(
|
|
1173
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1124
1174
|
}
|
|
1125
1175
|
(0, import_dbConnection.dbConnect)(params, ({ objects, states }) => {
|
|
1126
1176
|
pattern = pattern.replace(/\\/g, "/");
|
|
@@ -1131,49 +1181,63 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1131
1181
|
objects.getObjectList({
|
|
1132
1182
|
startkey: "system.adapter.",
|
|
1133
1183
|
endkey: "system.adapter.\u9999"
|
|
1134
|
-
},
|
|
1184
|
+
}, (err, arr) => {
|
|
1135
1185
|
if (!err && arr?.rows) {
|
|
1136
1186
|
const files = [];
|
|
1187
|
+
let count = 0;
|
|
1137
1188
|
for (const row of arr.rows) {
|
|
1138
|
-
|
|
1139
|
-
if (rowTyped.type !== "adapter") {
|
|
1189
|
+
if (row.value.type !== "adapter") {
|
|
1140
1190
|
continue;
|
|
1141
1191
|
}
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1192
|
+
count++;
|
|
1193
|
+
objects.chmodFile(
|
|
1194
|
+
row.value.common.name,
|
|
1195
|
+
"*",
|
|
1196
|
+
{
|
|
1197
|
+
user: "system.user.admin",
|
|
1198
|
+
mode
|
|
1199
|
+
},
|
|
1200
|
+
// @ts-expect-error todo _id should not exist how to handle
|
|
1201
|
+
async (err2, processed, _id) => {
|
|
1202
|
+
if (!err2 && processed) {
|
|
1203
|
+
files.push({ id: _id, processed });
|
|
1204
|
+
}
|
|
1205
|
+
if (!--count) {
|
|
1206
|
+
const { List } = await import("./setup/setupList.js");
|
|
1207
|
+
const list = new List({
|
|
1208
|
+
states,
|
|
1209
|
+
objects,
|
|
1210
|
+
processExit: callback
|
|
1211
|
+
});
|
|
1212
|
+
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1213
|
+
list.showFileHeader();
|
|
1214
|
+
for (const file of files) {
|
|
1215
|
+
for (const processedFile of file.processed) {
|
|
1216
|
+
list.showFile(file.id, processedFile.path, processedFile);
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
setTimeout(callback, 1e3);
|
|
1220
|
+
}
|
|
1148
1221
|
}
|
|
1149
|
-
|
|
1150
|
-
}));
|
|
1222
|
+
);
|
|
1151
1223
|
}
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
processExit: callback
|
|
1156
|
-
});
|
|
1157
|
-
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1158
|
-
list.showFileHeader();
|
|
1159
|
-
for (const file of files) {
|
|
1160
|
-
for (const processedFile of file.processed) {
|
|
1161
|
-
list.showFile(file.id, processedFile.path, processedFile);
|
|
1162
|
-
}
|
|
1224
|
+
if (!count) {
|
|
1225
|
+
console.log("Nothing found");
|
|
1226
|
+
return void callback();
|
|
1163
1227
|
}
|
|
1164
|
-
setTimeout(callback, 1e3);
|
|
1165
1228
|
}
|
|
1166
1229
|
});
|
|
1167
1230
|
} else {
|
|
1168
1231
|
const parts = pattern.split("/");
|
|
1169
1232
|
const id = parts.shift();
|
|
1170
1233
|
const path2 = parts.join("/");
|
|
1171
|
-
objects.chmodFile(id, path2, { user: "system.user.admin", mode }, (err, processed) => {
|
|
1234
|
+
objects.chmodFile(id, path2, { user: "system.user.admin", mode }, async (err, processed) => {
|
|
1172
1235
|
if (err) {
|
|
1173
1236
|
console.error(err);
|
|
1174
1237
|
} else {
|
|
1175
1238
|
if (processed) {
|
|
1176
|
-
const
|
|
1239
|
+
const { List } = await import("./setup/setupList.js");
|
|
1240
|
+
const list = new List({
|
|
1177
1241
|
states,
|
|
1178
1242
|
objects,
|
|
1179
1243
|
processExit: callback
|
|
@@ -1200,9 +1264,8 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1200
1264
|
}
|
|
1201
1265
|
if (!user) {
|
|
1202
1266
|
import_messages.error.requiredArgumentMissing("user", "chown user /vis-2.0/main/*");
|
|
1203
|
-
return void callback(
|
|
1204
|
-
}
|
|
1205
|
-
if (user.substring(12) !== "system.user.") {
|
|
1267
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1268
|
+
} else if (user.substring(12) !== "system.user.") {
|
|
1206
1269
|
user = `system.user.${user}`;
|
|
1207
1270
|
}
|
|
1208
1271
|
if (group && group.substring(13) !== "system.group.") {
|
|
@@ -1210,7 +1273,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1210
1273
|
}
|
|
1211
1274
|
if (!pattern) {
|
|
1212
1275
|
import_messages.error.requiredArgumentMissing("file path", "chown user /vis-2.0/main/*");
|
|
1213
|
-
return void callback(
|
|
1276
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1214
1277
|
}
|
|
1215
1278
|
(0, import_dbConnection.dbConnect)(params, ({ objects, states }) => {
|
|
1216
1279
|
pattern = pattern.replace(/\\/g, "/");
|
|
@@ -1221,42 +1284,51 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1221
1284
|
objects.getObjectList({
|
|
1222
1285
|
startkey: "system.adapter.",
|
|
1223
1286
|
endkey: "system.adapter.\u9999"
|
|
1224
|
-
},
|
|
1287
|
+
}, (err, arr) => {
|
|
1225
1288
|
if (!err && arr?.rows) {
|
|
1226
1289
|
const files = [];
|
|
1290
|
+
let count = 0;
|
|
1227
1291
|
for (const row of arr.rows) {
|
|
1228
|
-
|
|
1229
|
-
if (rowTyped.type !== "adapter") {
|
|
1292
|
+
if (row.value.type !== "adapter") {
|
|
1230
1293
|
continue;
|
|
1231
1294
|
}
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1295
|
+
count++;
|
|
1296
|
+
objects.chownFile(
|
|
1297
|
+
row.value.common.name,
|
|
1298
|
+
"*",
|
|
1299
|
+
{
|
|
1300
|
+
user: "system.user.admin",
|
|
1301
|
+
owner: user,
|
|
1302
|
+
ownerGroup: group
|
|
1303
|
+
},
|
|
1304
|
+
// @ts-expect-error todo _id should not exist how to handle
|
|
1305
|
+
async (err2, processed, _id) => {
|
|
1306
|
+
if (!err2 && processed) {
|
|
1307
|
+
files.push({ id: _id, processed });
|
|
1308
|
+
}
|
|
1309
|
+
if (!--count) {
|
|
1310
|
+
const { List } = await import("./setup/setupList.js");
|
|
1311
|
+
const list = new List({
|
|
1312
|
+
states,
|
|
1313
|
+
objects,
|
|
1314
|
+
processExit: callback
|
|
1315
|
+
});
|
|
1316
|
+
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1317
|
+
list.showFileHeader();
|
|
1318
|
+
for (let k = 0; k < files.length; k++) {
|
|
1319
|
+
for (let t = 0; t < files[k].processed.length; t++) {
|
|
1320
|
+
list.showFile(files[k].id, files[k].processed[t].path, files[k].processed[t]);
|
|
1321
|
+
}
|
|
1322
|
+
}
|
|
1323
|
+
setTimeout(callback, 1e3);
|
|
1324
|
+
}
|
|
1239
1325
|
}
|
|
1240
|
-
|
|
1241
|
-
}));
|
|
1326
|
+
);
|
|
1242
1327
|
}
|
|
1243
|
-
if (!
|
|
1328
|
+
if (!count) {
|
|
1244
1329
|
console.log("Nothing found");
|
|
1245
1330
|
return void callback();
|
|
1246
1331
|
}
|
|
1247
|
-
const list = new import_setupList.List({
|
|
1248
|
-
states,
|
|
1249
|
-
objects,
|
|
1250
|
-
processExit: callback
|
|
1251
|
-
});
|
|
1252
|
-
files.sort((a, b) => a.id.localeCompare(b.id));
|
|
1253
|
-
list.showFileHeader();
|
|
1254
|
-
for (let k = 0; k < files.length; k++) {
|
|
1255
|
-
for (let t = 0; t < files[k].processed.length; t++) {
|
|
1256
|
-
list.showFile(files[k].id, files[k].processed[t].path, files[k].processed[t]);
|
|
1257
|
-
}
|
|
1258
|
-
}
|
|
1259
|
-
setTimeout(callback, 1e3);
|
|
1260
1332
|
}
|
|
1261
1333
|
});
|
|
1262
1334
|
} else {
|
|
@@ -1267,12 +1339,13 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1267
1339
|
user: "system.user.admin",
|
|
1268
1340
|
owner: user,
|
|
1269
1341
|
ownerGroup: group
|
|
1270
|
-
}, (err, processed) => {
|
|
1342
|
+
}, async (err, processed) => {
|
|
1271
1343
|
if (err) {
|
|
1272
1344
|
console.error(err);
|
|
1273
1345
|
} else {
|
|
1274
1346
|
if (processed) {
|
|
1275
|
-
const
|
|
1347
|
+
const { List } = await import("./setup/setupList.js");
|
|
1348
|
+
const list = new List({
|
|
1276
1349
|
states,
|
|
1277
1350
|
objects,
|
|
1278
1351
|
processExit: callback
|
|
@@ -1292,7 +1365,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1292
1365
|
case "user": {
|
|
1293
1366
|
const command2 = args[0] || "";
|
|
1294
1367
|
let user = args[1] || "";
|
|
1295
|
-
if (user
|
|
1368
|
+
if (user && user.startsWith("system.user.")) {
|
|
1296
1369
|
user = user.substring("system.user.".length);
|
|
1297
1370
|
}
|
|
1298
1371
|
(0, import_dbConnection.dbConnect)(params, async ({ objects }) => {
|
|
@@ -1307,7 +1380,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1307
1380
|
users.addUserPrompt(user, group, password, (err) => {
|
|
1308
1381
|
if (err) {
|
|
1309
1382
|
console.error(err);
|
|
1310
|
-
return void callback(
|
|
1383
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1311
1384
|
}
|
|
1312
1385
|
console.log(`User "${user}" created (Group: ${group.replace("system.group.", "")})`);
|
|
1313
1386
|
return void callback();
|
|
@@ -1316,7 +1389,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1316
1389
|
users.delUser(user, (err) => {
|
|
1317
1390
|
if (err) {
|
|
1318
1391
|
console.error(err);
|
|
1319
|
-
return void callback(
|
|
1392
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1320
1393
|
}
|
|
1321
1394
|
console.log(`User "${user}" deleted`);
|
|
1322
1395
|
return void callback();
|
|
@@ -1325,7 +1398,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1325
1398
|
users.checkUserPassword(user, password, (err) => {
|
|
1326
1399
|
if (err) {
|
|
1327
1400
|
console.error(err.message);
|
|
1328
|
-
return void callback(
|
|
1401
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1329
1402
|
}
|
|
1330
1403
|
console.log(`Password for user "${user}" matches.`);
|
|
1331
1404
|
return void callback();
|
|
@@ -1334,16 +1407,16 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1334
1407
|
users.setUserPassword(user, password, (err) => {
|
|
1335
1408
|
if (err) {
|
|
1336
1409
|
console.error(err.message);
|
|
1337
|
-
return void callback(
|
|
1410
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1338
1411
|
}
|
|
1339
1412
|
console.log(`Password for "${user}" was successfully set.`);
|
|
1340
1413
|
return void callback();
|
|
1341
|
-
})
|
|
1414
|
+
});
|
|
1342
1415
|
} else if (command2 === "enable" || command2 === "e") {
|
|
1343
1416
|
users.enableUser(user, true, (err) => {
|
|
1344
1417
|
if (err) {
|
|
1345
1418
|
console.error(err.message);
|
|
1346
|
-
return void callback(
|
|
1419
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1347
1420
|
}
|
|
1348
1421
|
console.log(`User "${user}" was successfully enabled.`);
|
|
1349
1422
|
return void callback();
|
|
@@ -1352,7 +1425,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1352
1425
|
users.enableUser(user, false, (err) => {
|
|
1353
1426
|
if (err) {
|
|
1354
1427
|
console.error(err.message);
|
|
1355
|
-
return void callback(
|
|
1428
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1356
1429
|
}
|
|
1357
1430
|
console.log(`User "${user}" was successfully disabled.`);
|
|
1358
1431
|
return void callback();
|
|
@@ -1361,14 +1434,14 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1361
1434
|
users.getUser(user, (err, isEnabled) => {
|
|
1362
1435
|
if (err) {
|
|
1363
1436
|
console.error(err.message);
|
|
1364
|
-
return void callback(
|
|
1437
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1365
1438
|
}
|
|
1366
1439
|
console.log(`User "${user}" is ${isEnabled ? "enabled" : "disabled"}`);
|
|
1367
1440
|
return void callback();
|
|
1368
1441
|
});
|
|
1369
1442
|
} else {
|
|
1370
1443
|
console.warn(`Unknown command "${command2}". Available commands are: add, del, passwd, enable, disable, check, get`);
|
|
1371
|
-
return void callback(
|
|
1444
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1372
1445
|
}
|
|
1373
1446
|
});
|
|
1374
1447
|
break;
|
|
@@ -1378,19 +1451,19 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1378
1451
|
const command2 = args[0] || "";
|
|
1379
1452
|
let group = args[1] || "";
|
|
1380
1453
|
let user = args[2] || "";
|
|
1381
|
-
if (group
|
|
1454
|
+
if (group && group.startsWith("system.group.")) {
|
|
1382
1455
|
group = group.substring("system.group.".length);
|
|
1383
1456
|
}
|
|
1384
|
-
if (user
|
|
1457
|
+
if (user && user.startsWith("system.user.")) {
|
|
1385
1458
|
user = user.substring("system.user.".length);
|
|
1386
1459
|
}
|
|
1387
1460
|
if (!command2) {
|
|
1388
1461
|
console.warn(`Unknown command "${command2}". Available commands are: add, del, passwd, enable, disable, list, get`);
|
|
1389
|
-
return void callback(
|
|
1462
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1390
1463
|
}
|
|
1391
1464
|
if (!group) {
|
|
1392
1465
|
console.warn(`Please define group name: group ${command2} groupName`);
|
|
1393
|
-
return callback(
|
|
1466
|
+
return callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1394
1467
|
}
|
|
1395
1468
|
(0, import_dbConnection.dbConnect)(params, async ({ objects }) => {
|
|
1396
1469
|
const { Users } = await import("./setup/setupUsers.js");
|
|
@@ -1401,12 +1474,12 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1401
1474
|
if (command2 === "useradd" || command2 === "adduser") {
|
|
1402
1475
|
if (!user) {
|
|
1403
1476
|
console.warn('Please define user name: "group useradd groupName userName"');
|
|
1404
|
-
return void callback(
|
|
1477
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1405
1478
|
}
|
|
1406
1479
|
users.addUserToGroup(user, group, (err) => {
|
|
1407
1480
|
if (err) {
|
|
1408
1481
|
console.error(err);
|
|
1409
|
-
return void callback(
|
|
1482
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1410
1483
|
}
|
|
1411
1484
|
console.log(`User "${user}" was added to group "${group}"`);
|
|
1412
1485
|
return void callback();
|
|
@@ -1414,12 +1487,12 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1414
1487
|
} else if (command2 === "userdel" || command2 === "deluser") {
|
|
1415
1488
|
if (!user) {
|
|
1416
1489
|
console.warn('Please define user name: "group userdel groupName userName"');
|
|
1417
|
-
return void callback(
|
|
1490
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1418
1491
|
}
|
|
1419
1492
|
users.removeUserFromGroup(user, group, (err) => {
|
|
1420
1493
|
if (err) {
|
|
1421
1494
|
console.error(err);
|
|
1422
|
-
return void callback(
|
|
1495
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1423
1496
|
}
|
|
1424
1497
|
console.log(`User "${user}" was deleted from group "${group}"`);
|
|
1425
1498
|
return void callback();
|
|
@@ -1430,13 +1503,13 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1430
1503
|
console.log(`Group "${group}" was created`);
|
|
1431
1504
|
return void callback();
|
|
1432
1505
|
} catch {
|
|
1433
|
-
return void callback(
|
|
1506
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1434
1507
|
}
|
|
1435
1508
|
} else if (command2 === "del" || command2 === "delete") {
|
|
1436
1509
|
users.delGroup(group, (err) => {
|
|
1437
1510
|
if (err) {
|
|
1438
1511
|
console.error(err);
|
|
1439
|
-
return void callback(
|
|
1512
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1440
1513
|
}
|
|
1441
1514
|
console.log(`Group "${group}" was deleted`);
|
|
1442
1515
|
return void callback();
|
|
@@ -1445,7 +1518,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1445
1518
|
users.getGroup(group, (err, isEnabled, members) => {
|
|
1446
1519
|
if (err) {
|
|
1447
1520
|
console.error(err);
|
|
1448
|
-
return void callback(
|
|
1521
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1449
1522
|
}
|
|
1450
1523
|
console.log(`Group "${group}" is ${isEnabled ? "enabled" : "disabled"} and has following members:`);
|
|
1451
1524
|
if (members) {
|
|
@@ -1459,7 +1532,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1459
1532
|
users.enableGroup(group, true, (err) => {
|
|
1460
1533
|
if (err) {
|
|
1461
1534
|
console.error(err);
|
|
1462
|
-
return void callback(
|
|
1535
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1463
1536
|
}
|
|
1464
1537
|
console.log(`Group "${group}" was successfully enabled.`);
|
|
1465
1538
|
return void callback();
|
|
@@ -1468,7 +1541,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1468
1541
|
users.enableGroup(group, false, (err) => {
|
|
1469
1542
|
if (err) {
|
|
1470
1543
|
console.error(err);
|
|
1471
|
-
return void callback(
|
|
1544
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1472
1545
|
}
|
|
1473
1546
|
console.log(`Group "${group}" was successfully disabled.`);
|
|
1474
1547
|
return void callback();
|
|
@@ -1477,14 +1550,14 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1477
1550
|
users.getGroup(group, (err, isEnabled) => {
|
|
1478
1551
|
if (err) {
|
|
1479
1552
|
console.error(err);
|
|
1480
|
-
return void callback(
|
|
1553
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1481
1554
|
}
|
|
1482
1555
|
console.log(`Group "${group}" is ${isEnabled ? "enabled" : "disabled"}`);
|
|
1483
1556
|
return void callback();
|
|
1484
1557
|
});
|
|
1485
1558
|
} else {
|
|
1486
1559
|
console.warn(`Unknown command "${command2}". Available commands are: add, del, passwd, enable, disable, list, get`);
|
|
1487
|
-
return void callback(
|
|
1560
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1488
1561
|
}
|
|
1489
1562
|
});
|
|
1490
1563
|
break;
|
|
@@ -1502,7 +1575,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1502
1575
|
users.addUserPrompt(user, group, password, (err) => {
|
|
1503
1576
|
if (err) {
|
|
1504
1577
|
console.error(err);
|
|
1505
|
-
return void callback(
|
|
1578
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1506
1579
|
}
|
|
1507
1580
|
console.log(`User "${user}" created (Group: ${group.replace("system.group.", "")})`);
|
|
1508
1581
|
return void callback();
|
|
@@ -1522,11 +1595,11 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1522
1595
|
users.setUserPassword(user, password, (err) => {
|
|
1523
1596
|
if (err) {
|
|
1524
1597
|
console.error(err);
|
|
1525
|
-
return void callback(
|
|
1598
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1526
1599
|
}
|
|
1527
1600
|
console.log(`Password for "${user}" was successfully set.`);
|
|
1528
1601
|
return void callback();
|
|
1529
|
-
})
|
|
1602
|
+
});
|
|
1530
1603
|
});
|
|
1531
1604
|
break;
|
|
1532
1605
|
}
|
|
@@ -1544,7 +1617,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1544
1617
|
users.delUser(user, (err) => {
|
|
1545
1618
|
if (err) {
|
|
1546
1619
|
console.error(err);
|
|
1547
|
-
return void callback(
|
|
1620
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
1548
1621
|
}
|
|
1549
1622
|
console.log(`User "${user}" deleted`);
|
|
1550
1623
|
return void callback();
|
|
@@ -1557,7 +1630,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1557
1630
|
const json = {
|
|
1558
1631
|
name: import_js_controller_common.tools.appName,
|
|
1559
1632
|
engines: {
|
|
1560
|
-
node: ">=
|
|
1633
|
+
node: ">=12"
|
|
1561
1634
|
},
|
|
1562
1635
|
optionalDependencies: {},
|
|
1563
1636
|
dependencies: {
|
|
@@ -1566,8 +1639,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1566
1639
|
},
|
|
1567
1640
|
author: "bluefox <dogafox@gmail.com>"
|
|
1568
1641
|
};
|
|
1569
|
-
|
|
1570
|
-
const sources = await import_js_controller_common.tools.getRepositoryFile();
|
|
1642
|
+
import_js_controller_common.tools.getRepositoryFile(null, null, (_err, sources, _sourcesHash) => {
|
|
1571
1643
|
if (sources) {
|
|
1572
1644
|
for (const s in sources) {
|
|
1573
1645
|
if (Object.prototype.hasOwnProperty.call(sources, s)) {
|
|
@@ -1585,20 +1657,18 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1585
1657
|
}
|
|
1586
1658
|
import_fs_extra.default.writeFileSync(import_node_path.default.join(import_js_controller_common.tools.getRootDir(), "package.json"), JSON.stringify(json, null, 2));
|
|
1587
1659
|
return void callback();
|
|
1588
|
-
}
|
|
1589
|
-
console.error(`Cannot read repository file: ${e}`);
|
|
1590
|
-
}
|
|
1660
|
+
});
|
|
1591
1661
|
break;
|
|
1592
1662
|
}
|
|
1593
1663
|
case "set": {
|
|
1594
1664
|
const instance = args[0];
|
|
1595
1665
|
if (!instance) {
|
|
1596
1666
|
console.warn("please specify instance.");
|
|
1597
|
-
return void callback(
|
|
1667
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ADAPTER_ID);
|
|
1598
1668
|
}
|
|
1599
|
-
if (
|
|
1669
|
+
if (instance.indexOf(".") === -1) {
|
|
1600
1670
|
console.warn(`please specify instance, like "${instance}.0"`);
|
|
1601
|
-
return void callback(
|
|
1671
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ADAPTER_ID);
|
|
1602
1672
|
}
|
|
1603
1673
|
const { objects } = await (0, import_dbConnection.dbConnectAsync)(false, params);
|
|
1604
1674
|
let obj;
|
|
@@ -1655,7 +1725,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1655
1725
|
}
|
|
1656
1726
|
} else {
|
|
1657
1727
|
import_messages.error.invalidInstance(instance);
|
|
1658
|
-
return void callback(
|
|
1728
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ADAPTER_ID);
|
|
1659
1729
|
}
|
|
1660
1730
|
break;
|
|
1661
1731
|
}
|
|
@@ -1666,7 +1736,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1666
1736
|
}
|
|
1667
1737
|
case "visdebug": {
|
|
1668
1738
|
let widgetset = args[0];
|
|
1669
|
-
if (widgetset
|
|
1739
|
+
if (widgetset && widgetset.startsWith("vis-")) {
|
|
1670
1740
|
widgetset = widgetset.substring(4);
|
|
1671
1741
|
}
|
|
1672
1742
|
const { VisDebug } = await import("./setup/setupVisDebug.js");
|
|
@@ -1675,7 +1745,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1675
1745
|
objects,
|
|
1676
1746
|
processExit: callback
|
|
1677
1747
|
});
|
|
1678
|
-
visDebug.enableDebug(widgetset)
|
|
1748
|
+
visDebug.enableDebug(widgetset);
|
|
1679
1749
|
});
|
|
1680
1750
|
break;
|
|
1681
1751
|
}
|
|
@@ -1684,13 +1754,13 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1684
1754
|
const cmd = args[0];
|
|
1685
1755
|
if (cmd !== "read" && cmd !== "r" && cmd !== "w" && cmd !== "write" && cmd !== "sync" && cmd !== "rm" && cmd !== "unlink" && cmd !== "del") {
|
|
1686
1756
|
console.log('Invalid parameters: write "file read /vis-2.0/main/img/picture.png /opt/picture/image.png" to read the file');
|
|
1687
|
-
return void callback(
|
|
1757
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1688
1758
|
}
|
|
1689
1759
|
if (cmd !== "sync" && !args[1]) {
|
|
1690
1760
|
console.log('Invalid parameters: write "file read /vis-2.0/main/img/picture.png /opt/picture/image.png" to read the file from DB and store it on disk');
|
|
1691
1761
|
console.log('or "file write /opt/SOURCE/image.png /vis-2.0/main/DESTINATION/picture.png" to write the file into DB from disk');
|
|
1692
1762
|
console.log('or "file rm /vis-2.0/main/img/picture.png" to delete the file in DB');
|
|
1693
|
-
return void callback(
|
|
1763
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1694
1764
|
}
|
|
1695
1765
|
(0, import_dbConnection.dbConnect)(params, async ({ objects, objectsDBType }) => {
|
|
1696
1766
|
if (cmd === "read" || cmd === "r") {
|
|
@@ -1711,22 +1781,20 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1711
1781
|
}
|
|
1712
1782
|
if (!adapt) {
|
|
1713
1783
|
console.log(`Invalid parameters: adapter cannot be found!`);
|
|
1714
|
-
return void callback(
|
|
1784
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1715
1785
|
}
|
|
1716
1786
|
if (!parts.length) {
|
|
1717
1787
|
console.log("Invalid parameters: file cannot be found: file not provided");
|
|
1718
|
-
return void callback(
|
|
1788
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1719
1789
|
}
|
|
1720
1790
|
objects.readFile(adapt, parts.join("/"), null, (err, data) => {
|
|
1721
|
-
|
|
1722
|
-
console.error(err);
|
|
1723
|
-
}
|
|
1791
|
+
err && console.error(err);
|
|
1724
1792
|
if (data) {
|
|
1725
1793
|
const destFilename = path2.join("/");
|
|
1726
1794
|
import_fs_extra.default.writeFileSync(destFilename, data);
|
|
1727
1795
|
console.log(`File "${toRead}" stored as "${destFilename}"`);
|
|
1728
1796
|
}
|
|
1729
|
-
return void callback(
|
|
1797
|
+
return void callback(import_js_controller_common2.EXIT_CODES.NO_ERROR);
|
|
1730
1798
|
});
|
|
1731
1799
|
} else if (cmd === "write" || cmd === "w") {
|
|
1732
1800
|
const toRead = args[1] || "";
|
|
@@ -1746,12 +1814,12 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1746
1814
|
}
|
|
1747
1815
|
if (!fileSrc || !import_fs_extra.default.existsSync(toRead)) {
|
|
1748
1816
|
console.log(`Please provide a valid file name as source file: "file write /opt/SOURCE/script.js /vis-2/DESTINATION/script.js"`);
|
|
1749
|
-
return void callback(
|
|
1817
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1750
1818
|
}
|
|
1751
1819
|
const srcStat = import_fs_extra.default.statSync(toRead);
|
|
1752
1820
|
if (!srcStat.isFile()) {
|
|
1753
1821
|
console.log(`Please provide a valid file name as source file: "file write /opt/SOURCE/script.js /vis-2/DESTINATION/script.js"`);
|
|
1754
|
-
return void callback(
|
|
1822
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1755
1823
|
}
|
|
1756
1824
|
if (!fileDest) {
|
|
1757
1825
|
fileDest = fileSrc;
|
|
@@ -1767,12 +1835,12 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1767
1835
|
const data = import_fs_extra.default.readFileSync(toRead);
|
|
1768
1836
|
if (!adapt) {
|
|
1769
1837
|
console.log("Invalid parameters: destination adapter cannot be found!");
|
|
1770
|
-
return void callback(
|
|
1838
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1771
1839
|
}
|
|
1772
1840
|
objects.writeFile(adapt, destFilename, data, (_err) => {
|
|
1773
1841
|
console.log(`File "${toRead}" stored as "${destFilename}"`);
|
|
1774
|
-
return void callback(
|
|
1775
|
-
})
|
|
1842
|
+
return void callback(import_js_controller_common2.EXIT_CODES.NO_ERROR);
|
|
1843
|
+
});
|
|
1776
1844
|
} else if (cmd === "del" || cmd === "rm" || cmd === "unlink") {
|
|
1777
1845
|
const toDelete = args[1];
|
|
1778
1846
|
const parts = toDelete.replace(/\\/g, "/").split("/");
|
|
@@ -1782,28 +1850,25 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1782
1850
|
}
|
|
1783
1851
|
if (!adapt) {
|
|
1784
1852
|
console.log("Invalid parameters: adapter cannot be found!");
|
|
1785
|
-
return void callback(
|
|
1853
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1786
1854
|
}
|
|
1787
1855
|
if (!parts.length) {
|
|
1788
1856
|
console.log("Invalid parameters: file cannot be found: file not provided");
|
|
1789
|
-
return void callback(
|
|
1857
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1790
1858
|
}
|
|
1791
1859
|
objects.unlink(adapt, parts.join("/"), null, (err) => {
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
console.log(`File "${toDelete}" was deleted`);
|
|
1796
|
-
}
|
|
1797
|
-
return void callback(import_js_controller_common.EXIT_CODES.NO_ERROR);
|
|
1860
|
+
err && console.error(err);
|
|
1861
|
+
!err && console.log(`File "${toDelete}" was deleted`);
|
|
1862
|
+
return void callback(import_js_controller_common2.EXIT_CODES.NO_ERROR);
|
|
1798
1863
|
});
|
|
1799
1864
|
} else if (cmd === "sync") {
|
|
1800
1865
|
if (objectsDBType === "redis") {
|
|
1801
1866
|
console.log('File Sync is not available when database type "redis" is used.');
|
|
1802
|
-
return void callback(
|
|
1867
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1803
1868
|
}
|
|
1804
1869
|
if (!objects.syncFileDirectory || !objects.dirExists) {
|
|
1805
1870
|
console.log("Please stop ioBroker before syncing files and only use this command on the ioBroker master host!");
|
|
1806
|
-
return void callback(
|
|
1871
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CONTROLLER_RUNNING);
|
|
1807
1872
|
}
|
|
1808
1873
|
try {
|
|
1809
1874
|
const objExists = await objects.objectExists("meta.user");
|
|
@@ -1821,19 +1886,20 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1821
1886
|
const { numberSuccess, notifications } = objects.syncFileDirectory(args[1]);
|
|
1822
1887
|
console.log(`${numberSuccess} file(s) successfully synchronized with ioBroker storage`);
|
|
1823
1888
|
if (notifications.length) {
|
|
1824
|
-
console.log(
|
|
1889
|
+
console.log();
|
|
1890
|
+
console.log("The following notifications happened during sync: ");
|
|
1825
1891
|
notifications.forEach((el) => console.log(`- ${el}`));
|
|
1826
1892
|
}
|
|
1827
|
-
return void callback(
|
|
1893
|
+
return void callback(import_js_controller_common2.EXIT_CODES.NO_ERROR);
|
|
1828
1894
|
} catch (err) {
|
|
1829
1895
|
console.error(`Error on sync: ${err.message}. Partial content might have been synced.`);
|
|
1830
|
-
return void callback(
|
|
1896
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_SYNC_FILES);
|
|
1831
1897
|
}
|
|
1832
1898
|
} else {
|
|
1833
1899
|
console.log('Invalid parameters: write "file read /vis-2.0/main/img/picture.png /opt/picture/image.png" to read the file from DB and store it on disk');
|
|
1834
1900
|
console.log('or "file write /opt/SOURCE/image.png /vis-2.0/main/DESTINATION/picture.png" to write the file into DB from disk');
|
|
1835
1901
|
console.log('or "file rm /vis-2.0/main/img/picture.png" to delete the file in DB');
|
|
1836
|
-
return void callback(
|
|
1902
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1837
1903
|
}
|
|
1838
1904
|
});
|
|
1839
1905
|
break;
|
|
@@ -1844,14 +1910,14 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1844
1910
|
objects.getObject("system.meta.uuid", (err, obj) => {
|
|
1845
1911
|
if (err) {
|
|
1846
1912
|
console.error(`Error: ${err.message}`);
|
|
1847
|
-
return void callback(
|
|
1913
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_GET_UUID);
|
|
1848
1914
|
}
|
|
1849
1915
|
if (obj?.native) {
|
|
1850
1916
|
console.log(obj.native.uuid);
|
|
1851
1917
|
return void callback();
|
|
1852
1918
|
}
|
|
1853
1919
|
console.error("Error: no UUID found");
|
|
1854
|
-
return void callback(
|
|
1920
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_GET_UUID);
|
|
1855
1921
|
});
|
|
1856
1922
|
});
|
|
1857
1923
|
break;
|
|
@@ -1865,7 +1931,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1865
1931
|
await (0, import_utils.ignoreVersion)({ adapterName: adapter, version: params.ignore, objects });
|
|
1866
1932
|
} catch (e) {
|
|
1867
1933
|
console.error(e.message);
|
|
1868
|
-
callback(e instanceof import_customError.IoBrokerError ? e.code :
|
|
1934
|
+
callback(e instanceof import_customError.IoBrokerError ? e.code : import_js_controller_common2.EXIT_CODES.UNKNOWN_ERROR);
|
|
1869
1935
|
return;
|
|
1870
1936
|
}
|
|
1871
1937
|
console.log(`Successfully ignored version "${params.ignore}" of adapter "${params.adapter}"!`);
|
|
@@ -1878,7 +1944,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1878
1944
|
await (0, import_utils.recognizeVersion)({ adapterName: adapter, objects });
|
|
1879
1945
|
} catch (e) {
|
|
1880
1946
|
console.error(e.message);
|
|
1881
|
-
callback(e instanceof import_customError.IoBrokerError ? e.code :
|
|
1947
|
+
callback(e instanceof import_customError.IoBrokerError ? e.code : import_js_controller_common2.EXIT_CODES.UNKNOWN_ERROR);
|
|
1882
1948
|
}
|
|
1883
1949
|
console.log(`Successfully recognized all versions of adapter "${params.adapter}" again!`);
|
|
1884
1950
|
callback();
|
|
@@ -1899,10 +1965,10 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1899
1965
|
}
|
|
1900
1966
|
case "checklog": {
|
|
1901
1967
|
(0, import_dbConnection.dbConnect)(params, async ({ objects, states, isOffline, objectsDBType }) => {
|
|
1902
|
-
const hasLocalObjectsServer = await (0,
|
|
1968
|
+
const hasLocalObjectsServer = await (0, import_js_controller_common3.objectsDbHasServer)(objectsDBType);
|
|
1903
1969
|
if (isOffline && hasLocalObjectsServer) {
|
|
1904
1970
|
console.log(`${import_js_controller_common.tools.appName} is not running`);
|
|
1905
|
-
return void callback(
|
|
1971
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CONTROLLER_NOT_RUNNING);
|
|
1906
1972
|
}
|
|
1907
1973
|
console.log(`${import_js_controller_common.tools.appName} is running`);
|
|
1908
1974
|
objects.getObjectList({
|
|
@@ -1917,7 +1983,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1917
1983
|
command: "checkLogging",
|
|
1918
1984
|
message: null,
|
|
1919
1985
|
from: "console"
|
|
1920
|
-
})
|
|
1986
|
+
});
|
|
1921
1987
|
}
|
|
1922
1988
|
}
|
|
1923
1989
|
}
|
|
@@ -1946,26 +2012,26 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1946
2012
|
return void callback();
|
|
1947
2013
|
} catch (e) {
|
|
1948
2014
|
console.error(`Cannot show repository status: ${e.message}`);
|
|
1949
|
-
return void callback(
|
|
2015
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_REPO);
|
|
1950
2016
|
}
|
|
1951
2017
|
}
|
|
1952
2018
|
if (repoUrlOrCommand === "add" || repoUrlOrCommand === "del" || repoUrlOrCommand === "set" || repoUrlOrCommand === "addset" || repoUrlOrCommand === "unset") {
|
|
1953
2019
|
if (!repoName || !repoName.match(/[-_\w]+/)) {
|
|
1954
2020
|
console.error(`Invalid repository name: "${repoName}"`);
|
|
1955
|
-
return void callback(
|
|
2021
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1956
2022
|
}
|
|
1957
2023
|
if ((0, import_utils.isIntegerLikeInput)(repoName)) {
|
|
1958
2024
|
try {
|
|
1959
2025
|
repoName = await repo.getNameByIndex(parseInt(repoName));
|
|
1960
2026
|
} catch (e) {
|
|
1961
2027
|
console.error(e.message);
|
|
1962
|
-
return void callback(
|
|
2028
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1963
2029
|
}
|
|
1964
2030
|
}
|
|
1965
2031
|
if (repoUrlOrCommand === "add" || repoUrlOrCommand === "addset") {
|
|
1966
2032
|
if (!repoUrl) {
|
|
1967
2033
|
console.warn(`Please define repository URL or path: ${import_js_controller_common.tools.appName.toLowerCase()} add <repoName> <repoUrlOrPath>`);
|
|
1968
|
-
return void callback(
|
|
2034
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
1969
2035
|
}
|
|
1970
2036
|
try {
|
|
1971
2037
|
await repo.add(repoName, repoUrl);
|
|
@@ -1980,7 +2046,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1980
2046
|
return void callback();
|
|
1981
2047
|
} catch (e) {
|
|
1982
2048
|
console.error(`Cannot add repository location: ${e.message}`);
|
|
1983
|
-
return void callback(
|
|
2049
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_REPO);
|
|
1984
2050
|
}
|
|
1985
2051
|
} else if (repoUrlOrCommand === "set") {
|
|
1986
2052
|
try {
|
|
@@ -1990,7 +2056,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
1990
2056
|
return void callback();
|
|
1991
2057
|
} catch (e) {
|
|
1992
2058
|
console.error(`Cannot activate repository: ${e.message}`);
|
|
1993
|
-
return void callback(
|
|
2059
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_REPO);
|
|
1994
2060
|
}
|
|
1995
2061
|
} else if (repoUrlOrCommand === "del") {
|
|
1996
2062
|
try {
|
|
@@ -2000,7 +2066,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
2000
2066
|
return void callback();
|
|
2001
2067
|
} catch (e) {
|
|
2002
2068
|
console.error(`Cannot remove repository: ${e.message}`);
|
|
2003
|
-
return void callback(
|
|
2069
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_REPO);
|
|
2004
2070
|
}
|
|
2005
2071
|
} else if (repoUrlOrCommand === "unset") {
|
|
2006
2072
|
try {
|
|
@@ -2010,11 +2076,11 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
2010
2076
|
return void callback();
|
|
2011
2077
|
} catch (e) {
|
|
2012
2078
|
console.error(`Cannot deactivate repository: ${e.message}`);
|
|
2013
|
-
return void callback(
|
|
2079
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_REPO);
|
|
2014
2080
|
}
|
|
2015
2081
|
} else {
|
|
2016
2082
|
console.warn(`Unknown repo command: ${repoUrlOrCommand}`);
|
|
2017
|
-
return void callback(
|
|
2083
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
2018
2084
|
}
|
|
2019
2085
|
}
|
|
2020
2086
|
break;
|
|
@@ -2024,7 +2090,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
2024
2090
|
const cmd = args[0];
|
|
2025
2091
|
if (cmd !== "c" && cmd !== "connect" && cmd !== "s" && cmd !== "status" && cmd !== "b" && cmd !== "browse" && cmd !== "e" && cmd !== "enable" && cmd !== "d" && cmd !== "disable") {
|
|
2026
2092
|
console.log("Invalid parameters. Following is possible: enable, browse, connect, status");
|
|
2027
|
-
return void callback(
|
|
2093
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
2028
2094
|
}
|
|
2029
2095
|
(0, import_dbConnection.dbConnect)(params, async ({ objects, states }) => {
|
|
2030
2096
|
const { Multihost } = await import("./setup/setupMultihost.js");
|
|
@@ -2042,13 +2108,13 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
2042
2108
|
return void callback();
|
|
2043
2109
|
} catch (e) {
|
|
2044
2110
|
console.error(e.message);
|
|
2045
|
-
return void callback(
|
|
2111
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
2046
2112
|
}
|
|
2047
2113
|
} else if (cmd === "e" || cmd === "enable") {
|
|
2048
2114
|
mh.enable(true, async (err) => {
|
|
2049
2115
|
if (err) {
|
|
2050
2116
|
console.error(err);
|
|
2051
|
-
return void callback(
|
|
2117
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_ENABLE_MULTIHOST);
|
|
2052
2118
|
}
|
|
2053
2119
|
await states.pushMessage(`system.host.${import_js_controller_common.tools.getHostName()}`, {
|
|
2054
2120
|
command: "updateMultihost",
|
|
@@ -2061,7 +2127,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
2061
2127
|
mh.enable(false, async (err) => {
|
|
2062
2128
|
if (err) {
|
|
2063
2129
|
console.error(err);
|
|
2064
|
-
return void callback(
|
|
2130
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_ENABLE_MULTIHOST);
|
|
2065
2131
|
}
|
|
2066
2132
|
await states.pushMessage(`system.host.${import_js_controller_common.tools.getHostName()}`, {
|
|
2067
2133
|
command: "updateMultihost",
|
|
@@ -2076,7 +2142,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
2076
2142
|
console.error(err);
|
|
2077
2143
|
}
|
|
2078
2144
|
return void callback(err ? 1 : 0);
|
|
2079
|
-
})
|
|
2145
|
+
});
|
|
2080
2146
|
}
|
|
2081
2147
|
});
|
|
2082
2148
|
break;
|
|
@@ -2088,7 +2154,7 @@ ${import_js_controller_common.tools.appName} upload /file/picture.png /vis-2.0/m
|
|
|
2088
2154
|
if (!password) {
|
|
2089
2155
|
console.warn(`Please specify the password to update the vendor information!
|
|
2090
2156
|
${import_js_controller_common.tools.appName.toLowerCase()} vendor <PASS_PHRASE> <vendor.json>`);
|
|
2091
|
-
return void callback(
|
|
2157
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
2092
2158
|
}
|
|
2093
2159
|
const { objects } = await (0, import_dbConnection.dbConnectAsync)(false, params);
|
|
2094
2160
|
const { Vendor } = await import("./setup/setupVendor.js");
|
|
@@ -2099,12 +2165,12 @@ ${import_js_controller_common.tools.appName.toLowerCase()} vendor <PASS_PHRASE>
|
|
|
2099
2165
|
return void callback();
|
|
2100
2166
|
} catch (err) {
|
|
2101
2167
|
console.error(`Cannot update vendor information: ${err.message}`);
|
|
2102
|
-
return void callback(
|
|
2168
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_UPDATE_VENDOR);
|
|
2103
2169
|
}
|
|
2104
2170
|
}
|
|
2105
2171
|
case "cert": {
|
|
2106
2172
|
const certCommand = new import_cliCert.CLICert(commandOptions);
|
|
2107
|
-
|
|
2173
|
+
certCommand.execute(args);
|
|
2108
2174
|
break;
|
|
2109
2175
|
}
|
|
2110
2176
|
case "compact": {
|
|
@@ -2122,7 +2188,7 @@ ${import_js_controller_common.tools.appName.toLowerCase()} vendor <PASS_PHRASE>
|
|
|
2122
2188
|
if (!file) {
|
|
2123
2189
|
console.warn(`Please specify the path to the license file or place license text directly!
|
|
2124
2190
|
${import_js_controller_common.tools.appName.toLowerCase()} license <license.file or license.text>`);
|
|
2125
|
-
return void callback(
|
|
2191
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
2126
2192
|
}
|
|
2127
2193
|
(0, import_dbConnection.dbConnect)(params, async ({ objects }) => {
|
|
2128
2194
|
const { License } = await import("./setup/setupLicense.js");
|
|
@@ -2133,7 +2199,7 @@ ${import_js_controller_common.tools.appName.toLowerCase()} license <license.file
|
|
|
2133
2199
|
return void callback();
|
|
2134
2200
|
} catch (err) {
|
|
2135
2201
|
console.error(`Cannot update license: ${err.message}`);
|
|
2136
|
-
return void callback(
|
|
2202
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_UPDATE_LICENSE);
|
|
2137
2203
|
}
|
|
2138
2204
|
});
|
|
2139
2205
|
break;
|
|
@@ -2153,13 +2219,12 @@ ${import_js_controller_common.tools.appName.toLowerCase()} license <license.file
|
|
|
2153
2219
|
console.log(pckg.version);
|
|
2154
2220
|
} else {
|
|
2155
2221
|
showHelp();
|
|
2156
|
-
return void callback(
|
|
2222
|
+
return void callback(import_js_controller_common2.EXIT_CODES.INVALID_ARGUMENTS);
|
|
2157
2223
|
}
|
|
2158
2224
|
return void callback();
|
|
2159
2225
|
}
|
|
2160
2226
|
}
|
|
2161
2227
|
}
|
|
2162
|
-
__name(processCommand, "processCommand");
|
|
2163
2228
|
const OBJECTS_THAT_CANNOT_BE_DELETED = [
|
|
2164
2229
|
"0_userdata.0",
|
|
2165
2230
|
"alias.0",
|
|
@@ -2185,7 +2250,6 @@ async function delObjects(ids) {
|
|
|
2185
2250
|
}
|
|
2186
2251
|
}
|
|
2187
2252
|
}
|
|
2188
|
-
__name(delObjects, "delObjects");
|
|
2189
2253
|
async function delStates() {
|
|
2190
2254
|
const { states } = await (0, import_dbConnection.dbConnectAsync)(false);
|
|
2191
2255
|
const keys = await states.getKeys("*");
|
|
@@ -2201,12 +2265,12 @@ async function delStates() {
|
|
|
2201
2265
|
}
|
|
2202
2266
|
return keys ? keys.length : 0;
|
|
2203
2267
|
}
|
|
2204
|
-
__name(delStates, "delStates");
|
|
2205
2268
|
async function cleanDatabase(isDeleteDb) {
|
|
2206
2269
|
const { objects } = await (0, import_dbConnection.dbConnectAsync)(false);
|
|
2207
2270
|
if (isDeleteDb) {
|
|
2208
2271
|
await objects.destroyDBAsync();
|
|
2209
|
-
|
|
2272
|
+
const keysCount2 = await delStates();
|
|
2273
|
+
return keysCount2;
|
|
2210
2274
|
}
|
|
2211
2275
|
let ids = [];
|
|
2212
2276
|
try {
|
|
@@ -2218,9 +2282,9 @@ async function cleanDatabase(isDeleteDb) {
|
|
|
2218
2282
|
} catch {
|
|
2219
2283
|
}
|
|
2220
2284
|
await delObjects(ids);
|
|
2221
|
-
|
|
2285
|
+
const keysCount = await delStates();
|
|
2286
|
+
return keysCount;
|
|
2222
2287
|
}
|
|
2223
|
-
__name(cleanDatabase, "cleanDatabase");
|
|
2224
2288
|
async function unsetup(params, callback) {
|
|
2225
2289
|
const { objects } = await (0, import_dbConnection.dbConnectAsync)(false, params);
|
|
2226
2290
|
objects.delObject("system.meta.uuid", (err) => {
|
|
@@ -2243,7 +2307,7 @@ async function unsetup(params, callback) {
|
|
|
2243
2307
|
objects.setObject(import_constants.SYSTEM_CONFIG_ID, obj, (err2) => {
|
|
2244
2308
|
if (err2) {
|
|
2245
2309
|
console.log(`not found: ${err2.message}`);
|
|
2246
|
-
return void callback(
|
|
2310
|
+
return void callback(import_js_controller_common2.EXIT_CODES.CANNOT_SET_OBJECT);
|
|
2247
2311
|
}
|
|
2248
2312
|
console.log(`${import_constants.SYSTEM_CONFIG_ID} reset`);
|
|
2249
2313
|
return void callback();
|
|
@@ -2255,7 +2319,6 @@ async function unsetup(params, callback) {
|
|
|
2255
2319
|
});
|
|
2256
2320
|
});
|
|
2257
2321
|
}
|
|
2258
|
-
__name(unsetup, "unsetup");
|
|
2259
2322
|
async function restartController() {
|
|
2260
2323
|
console.log("Starting node restart.js");
|
|
2261
2324
|
const { spawn } = await import("node:child_process");
|
|
@@ -2266,7 +2329,6 @@ async function restartController() {
|
|
|
2266
2329
|
});
|
|
2267
2330
|
child.unref();
|
|
2268
2331
|
}
|
|
2269
|
-
__name(restartController, "restartController");
|
|
2270
2332
|
function execute() {
|
|
2271
2333
|
const _yargs2 = initYargs();
|
|
2272
2334
|
const command = _yargs2.argv._[0];
|
|
@@ -2277,12 +2339,11 @@ function execute() {
|
|
|
2277
2339
|
}
|
|
2278
2340
|
args.push(process.argv[i]);
|
|
2279
2341
|
}
|
|
2280
|
-
processCommand(command, args, _yargs2.argv, import_dbConnection.exitApplicationSave)
|
|
2342
|
+
processCommand(command, args, _yargs2.argv, import_dbConnection.exitApplicationSave);
|
|
2281
2343
|
}
|
|
2282
|
-
__name(execute, "execute");
|
|
2283
2344
|
process.on("unhandledRejection", (e) => {
|
|
2284
2345
|
console.error(`Uncaught Rejection: ${e.stack || e}`);
|
|
2285
|
-
|
|
2346
|
+
(0, import_dbConnection.exitApplicationSave)(import_js_controller_common2.EXIT_CODES.UNCAUGHT_EXCEPTION);
|
|
2286
2347
|
});
|
|
2287
2348
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2288
2349
|
0 && (module.exports = {
|