@iobroker/js-controller-cli 4.0.21 → 4.1.0-alpha.0-20220819-74ceeddc
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/index.d.ts +89 -0
- package/{index.js → build/index.js} +7 -1
- package/build/lib/cli/cliCert.d.ts +16 -0
- package/build/lib/cli/cliCert.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliCert.js +5 -9
- package/build/lib/cli/cliCert.js.map +1 -0
- package/build/lib/cli/cliCommand.d.ts +24 -0
- package/build/lib/cli/cliCommand.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliCommand.js +2 -5
- package/build/lib/cli/cliCommand.js.map +1 -0
- package/build/lib/cli/cliCompact.d.ts +26 -0
- package/build/lib/cli/cliCompact.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliCompact.js +23 -43
- package/build/lib/cli/cliCompact.js.map +1 -0
- package/build/lib/cli/cliDebug.d.ts +19 -0
- package/build/lib/cli/cliDebug.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliDebug.js +6 -13
- package/build/lib/cli/cliDebug.js.map +1 -0
- package/build/lib/cli/cliHost.d.ts +36 -0
- package/build/lib/cli/cliHost.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliHost.js +22 -47
- package/build/lib/cli/cliHost.js.map +1 -0
- package/build/lib/cli/cliLogs.d.ts +58 -0
- package/build/lib/cli/cliLogs.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliLogs.js +16 -19
- package/build/lib/cli/cliLogs.js.map +1 -0
- package/build/lib/cli/cliMessage.d.ts +10 -0
- package/build/lib/cli/cliMessage.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliMessage.js +5 -7
- package/build/lib/cli/cliMessage.js.map +1 -0
- package/build/lib/cli/cliObjects.d.ts +105 -0
- package/build/lib/cli/cliObjects.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliObjects.js +69 -110
- package/build/lib/cli/cliObjects.js.map +1 -0
- package/build/lib/cli/cliPlugin.d.ts +23 -0
- package/build/lib/cli/cliPlugin.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliPlugin.js +24 -50
- package/build/lib/cli/cliPlugin.js.map +1 -0
- package/build/lib/cli/cliProcess.d.ts +50 -0
- package/build/lib/cli/cliProcess.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliProcess.js +50 -62
- package/build/lib/cli/cliProcess.js.map +1 -0
- package/build/lib/cli/cliStates.d.ts +51 -0
- package/build/lib/cli/cliStates.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliStates.js +64 -86
- package/build/lib/cli/cliStates.js.map +1 -0
- package/build/lib/cli/cliTools.d.ts +64 -0
- package/build/lib/cli/cliTools.d.ts.map +1 -0
- package/{lib → build/lib}/cli/cliTools.js +1 -12
- package/build/lib/cli/cliTools.js.map +1 -0
- package/build/lib/cli/messages.d.ts +53 -0
- package/build/lib/cli/messages.d.ts.map +1 -0
- package/{lib → build/lib}/cli/messages.js +27 -66
- package/build/lib/cli/messages.js.map +1 -0
- package/build/lib/setup/setupBackup.d.ts +126 -0
- package/build/lib/setup/setupBackup.d.ts.map +1 -0
- package/build/lib/setup/setupBackup.js +1031 -0
- package/build/lib/setup/setupBackup.js.map +1 -0
- package/build/lib/setup/setupInstall.d.ts +23 -0
- package/build/lib/setup/setupInstall.d.ts.map +1 -0
- package/build/lib/setup/setupInstall.js +1620 -0
- package/build/lib/setup/setupInstall.js.map +1 -0
- package/build/lib/setup/setupList.d.ts +49 -0
- package/build/lib/setup/setupList.d.ts.map +1 -0
- package/build/lib/setup/setupList.js +722 -0
- package/build/lib/setup/setupList.js.map +1 -0
- package/build/lib/setup/setupPacketManager.d.ts +65 -0
- package/build/lib/setup/setupPacketManager.d.ts.map +1 -0
- package/build/lib/setup/setupPacketManager.js +216 -0
- package/build/lib/setup/setupPacketManager.js.map +1 -0
- package/build/lib/setup/setupUpload.d.ts +72 -0
- package/build/lib/setup/setupUpload.d.ts.map +1 -0
- package/build/lib/setup/setupUpload.js +784 -0
- package/build/lib/setup/setupUpload.js.map +1 -0
- package/package.json +18 -11
- package/lib/setup/setupList.js +0 -840
|
@@ -3,14 +3,12 @@ const CLI = require('./messages.js');
|
|
|
3
3
|
const CLICommand = require('./cliCommand.js');
|
|
4
4
|
const { formatValue } = require('./cliTools');
|
|
5
5
|
const { tools, EXIT_CODES } = require('@iobroker/js-controller-common');
|
|
6
|
-
|
|
7
6
|
/** Command iobroker object ... */
|
|
8
7
|
module.exports = class CLIObjects extends CLICommand {
|
|
9
8
|
/** @param {CLICommandOptions} options */
|
|
10
9
|
constructor(options) {
|
|
11
10
|
super(options);
|
|
12
11
|
}
|
|
13
|
-
|
|
14
12
|
/**
|
|
15
13
|
* Executes a command
|
|
16
14
|
* @param {any[]} args
|
|
@@ -18,7 +16,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
18
16
|
execute(args) {
|
|
19
17
|
const { callback, showHelp } = this.options;
|
|
20
18
|
const command = args[0];
|
|
21
|
-
|
|
22
19
|
switch (command) {
|
|
23
20
|
case 'chmod':
|
|
24
21
|
return this.chmod(args);
|
|
@@ -50,7 +47,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
50
47
|
return void callback(3);
|
|
51
48
|
}
|
|
52
49
|
}
|
|
53
|
-
|
|
54
50
|
/**
|
|
55
51
|
* Activates the usage of Redis Sets
|
|
56
52
|
*/
|
|
@@ -63,74 +59,66 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
63
59
|
console.log('Cannot activate the usage of Redis Sets while one or more hosts are running');
|
|
64
60
|
return void callback(EXIT_CODES.CONTROLLER_RUNNING);
|
|
65
61
|
}
|
|
66
|
-
|
|
67
62
|
await objects.activateSets();
|
|
68
63
|
const noMigrated = await objects.migrateToSets();
|
|
69
|
-
|
|
70
64
|
if (noMigrated) {
|
|
71
65
|
console.log(`Successfully migrated ${noMigrated} objects to Redis Sets`);
|
|
72
66
|
}
|
|
73
|
-
console.log(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
} else {
|
|
67
|
+
console.log(`Successfully activated the usage of Redis Sets. Please make sure to only use js-controller 4.0 or higher on all hosts!`);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
77
70
|
console.log('Redis Sets are already activated.');
|
|
78
71
|
}
|
|
79
72
|
return void callback();
|
|
80
73
|
});
|
|
81
74
|
}
|
|
82
|
-
|
|
83
75
|
/**
|
|
84
76
|
* Deactivates the usage of Redis Sets
|
|
85
77
|
*/
|
|
86
78
|
deactivateSets() {
|
|
87
79
|
const { callback, dbConnect } = this.options;
|
|
88
|
-
dbConnect(async objects => {
|
|
80
|
+
dbConnect(async (objects) => {
|
|
89
81
|
if (parseInt(await objects.getMeta('objects.features.useSets'))) {
|
|
90
82
|
await objects.deactivateSets();
|
|
91
83
|
console.log(`Successfully deactivated the usage of Redis Sets.`);
|
|
92
|
-
}
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
93
86
|
console.log('Redis Sets are already deactivated.');
|
|
94
87
|
}
|
|
95
88
|
return void callback();
|
|
96
89
|
});
|
|
97
90
|
}
|
|
98
|
-
|
|
99
91
|
/**
|
|
100
92
|
* Get the protocol version
|
|
101
93
|
*/
|
|
102
94
|
getDBVersion() {
|
|
103
95
|
const { callback, dbConnect } = this.options;
|
|
104
|
-
dbConnect(async objects => {
|
|
96
|
+
dbConnect(async (objects) => {
|
|
105
97
|
const version = await objects.getProtocolVersion();
|
|
106
98
|
console.log(`Current Objects DB protocol version: ${version}`);
|
|
107
99
|
return void callback();
|
|
108
100
|
});
|
|
109
101
|
}
|
|
110
|
-
|
|
111
102
|
/**
|
|
112
103
|
* Set protocol version
|
|
113
104
|
*/
|
|
114
105
|
setDBVersion() {
|
|
115
106
|
const { callback, dbConnect } = this.options;
|
|
116
|
-
dbConnect(async objects => {
|
|
107
|
+
dbConnect(async (objects) => {
|
|
117
108
|
const rl = require('readline-sync');
|
|
118
|
-
|
|
119
109
|
let answer = rl.question('Changing the protocol version will restart all hosts! Continue? [N/y]', {
|
|
120
110
|
limit: /^(yes|y|n|no)$/i,
|
|
121
111
|
defaultInput: 'no'
|
|
122
112
|
});
|
|
123
|
-
|
|
124
113
|
answer = answer.toLowerCase();
|
|
125
|
-
|
|
126
114
|
if (answer !== 'y' && answer !== 'yes') {
|
|
127
115
|
console.log('Protocol version has not been changed!');
|
|
128
116
|
return void callback();
|
|
129
117
|
}
|
|
130
|
-
|
|
131
118
|
try {
|
|
132
119
|
await objects.setProtocolVersion(this.options.version);
|
|
133
|
-
}
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
134
122
|
console.error(`Cannot update protocol version: ${e.message}`);
|
|
135
123
|
return void callback(1);
|
|
136
124
|
}
|
|
@@ -138,7 +126,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
138
126
|
return void callback();
|
|
139
127
|
});
|
|
140
128
|
}
|
|
141
|
-
|
|
142
129
|
/**
|
|
143
130
|
* Changes access rights for all objects matching the pattern
|
|
144
131
|
* @param {any[]} args
|
|
@@ -146,7 +133,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
146
133
|
chmod(args) {
|
|
147
134
|
const { callback, dbConnect } = this.options;
|
|
148
135
|
let [modeObject, modeState, pattern] = args.slice(1);
|
|
149
|
-
|
|
150
136
|
// Yargs converts numeric string to number, so we can use that to test
|
|
151
137
|
// Afterwards we parse them ourselves, but with base16
|
|
152
138
|
if (typeof modeObject !== 'number') {
|
|
@@ -154,32 +140,25 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
154
140
|
return void callback(1);
|
|
155
141
|
}
|
|
156
142
|
modeObject = parseInt(modeObject.toString(), 16);
|
|
157
|
-
|
|
158
143
|
if (typeof modeState === 'number') {
|
|
159
144
|
// a mode for the state was given, convert it
|
|
160
145
|
modeState = parseInt(modeState.toString(), 16);
|
|
161
|
-
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
162
148
|
pattern = modeState;
|
|
163
149
|
modeState = undefined;
|
|
164
150
|
}
|
|
165
|
-
|
|
166
151
|
if (pattern === undefined) {
|
|
167
152
|
CLI.error.requiredArgumentMissing('pattern', 'object chmod 644 system.*');
|
|
168
153
|
return void callback(1);
|
|
169
154
|
}
|
|
170
|
-
|
|
171
155
|
dbConnect((objects, states) => {
|
|
172
|
-
objects.chmodObject(
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
// Print the new object rights
|
|
177
|
-
this.printObjectList(objects, states, err, processed);
|
|
178
|
-
}
|
|
179
|
-
);
|
|
156
|
+
objects.chmodObject(pattern, { user: 'system.user.admin', object: modeObject, state: modeState }, (err, processed) => {
|
|
157
|
+
// Print the new object rights
|
|
158
|
+
this.printObjectList(objects, states, err, processed);
|
|
159
|
+
});
|
|
180
160
|
});
|
|
181
161
|
}
|
|
182
|
-
|
|
183
162
|
/**
|
|
184
163
|
* Changes owner for all objects matching the pattern
|
|
185
164
|
* @param {any[]} args
|
|
@@ -188,38 +167,31 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
188
167
|
const { callback, dbConnect } = this.options;
|
|
189
168
|
/** @type {[string, string, any]} */
|
|
190
169
|
let [user, group, pattern] = args.slice(1);
|
|
191
|
-
|
|
192
170
|
if (!pattern) {
|
|
193
171
|
pattern = group;
|
|
194
172
|
group = undefined;
|
|
195
173
|
}
|
|
196
|
-
|
|
197
174
|
if (!user) {
|
|
198
175
|
CLI.error.requiredArgumentMissing('user', 'object chown user system.*');
|
|
199
176
|
return void callback(1);
|
|
200
|
-
}
|
|
177
|
+
}
|
|
178
|
+
else if (!user.startsWith('system.user.')) {
|
|
201
179
|
user = 'system.user.' + user;
|
|
202
180
|
}
|
|
203
181
|
if (group && !group.startsWith('system.group.')) {
|
|
204
182
|
group = 'system.group.' + group;
|
|
205
183
|
}
|
|
206
|
-
|
|
207
184
|
if (!pattern) {
|
|
208
185
|
CLI.error.requiredArgumentMissing('pattern', 'object chown user system.*');
|
|
209
186
|
return void callback(1);
|
|
210
187
|
}
|
|
211
188
|
dbConnect((objects, states) => {
|
|
212
|
-
objects.chownObject(
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
// Print the new object rights
|
|
217
|
-
this.printObjectList(objects, states, err, processed);
|
|
218
|
-
}
|
|
219
|
-
);
|
|
189
|
+
objects.chownObject(pattern, { user: 'system.user.admin', owner: user, ownerGroup: group }, (err, processed) => {
|
|
190
|
+
// Print the new object rights
|
|
191
|
+
this.printObjectList(objects, states, err, processed);
|
|
192
|
+
});
|
|
220
193
|
});
|
|
221
194
|
}
|
|
222
|
-
|
|
223
195
|
/**
|
|
224
196
|
* Lists all objects matching a pattern and their access rights
|
|
225
197
|
* @param {any[]} args
|
|
@@ -230,20 +202,13 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
230
202
|
if (typeof pattern === 'string') {
|
|
231
203
|
pattern = { startkey: pattern.replace('*', ''), endkey: pattern.replace('*', '\u9999') };
|
|
232
204
|
}
|
|
233
|
-
|
|
234
205
|
dbConnect((objects, states) => {
|
|
235
206
|
objects.getObjectList(pattern, { user: 'system.user.admin', sorted: true }, (err, processed) => {
|
|
236
|
-
this.printObjectList(
|
|
237
|
-
objects,
|
|
238
|
-
states,
|
|
239
|
-
err,
|
|
240
|
-
processed && processed.rows && processed.rows.map(r => r.value)
|
|
241
|
-
);
|
|
207
|
+
this.printObjectList(objects, states, err, processed && processed.rows && processed.rows.map(r => r.value));
|
|
242
208
|
return void callback();
|
|
243
209
|
});
|
|
244
210
|
});
|
|
245
211
|
}
|
|
246
|
-
|
|
247
212
|
/**
|
|
248
213
|
* Retrieves an object or its property from the DB and prints it
|
|
249
214
|
* @param {any[]} args
|
|
@@ -256,21 +221,21 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
256
221
|
CLI.error.requiredArgumentMissing('id', 'object get id [propertypath]');
|
|
257
222
|
return void callback(1);
|
|
258
223
|
}
|
|
259
|
-
|
|
260
224
|
// If propPath is passed, the given property will be retrieved instead.
|
|
261
225
|
// For example: `"native.something[2].onething"` selects `onething` of the 3rd array element of `object.native.something`.
|
|
262
|
-
|
|
263
226
|
dbConnect(objects => {
|
|
264
227
|
objects.getObject(id, (err, res) => {
|
|
265
228
|
if (err || !res) {
|
|
266
229
|
CLI.error.objectNotFound(id, err);
|
|
267
230
|
return void callback(3);
|
|
268
|
-
}
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
269
233
|
if (typeof propPath === 'string') {
|
|
270
234
|
// We want to select a part of the object
|
|
271
235
|
try {
|
|
272
236
|
res = deepSelectProperty(res, propPath);
|
|
273
|
-
}
|
|
237
|
+
}
|
|
238
|
+
catch {
|
|
274
239
|
CLI.error.objectPropertyNotFound(id, propPath);
|
|
275
240
|
return void callback(3);
|
|
276
241
|
}
|
|
@@ -281,7 +246,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
281
246
|
});
|
|
282
247
|
});
|
|
283
248
|
}
|
|
284
|
-
|
|
285
249
|
/**
|
|
286
250
|
* Updates an object or its property with the given value
|
|
287
251
|
* @param {any[]} args
|
|
@@ -294,7 +258,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
294
258
|
CLI.error.requiredArgumentMissing('id', 'object set id [propertypath=]value');
|
|
295
259
|
return void callback(1);
|
|
296
260
|
}
|
|
297
|
-
|
|
298
261
|
const lastArg = args.length >= 2 ? args.slice(2).join(' ') : undefined;
|
|
299
262
|
const parsedArg = parsePropPathAndAssignment(lastArg);
|
|
300
263
|
if (!parsedArg) {
|
|
@@ -302,14 +265,14 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
302
265
|
return void callback(3);
|
|
303
266
|
}
|
|
304
267
|
const { propPath, value } = parsedArg;
|
|
305
|
-
|
|
306
268
|
dbConnect(objects => {
|
|
307
269
|
const doSetObject = obj => {
|
|
308
270
|
objects.setObject(id, obj, err => {
|
|
309
271
|
if (err) {
|
|
310
272
|
CLI.error.cannotUpdateObject(id, err);
|
|
311
273
|
return void callback(1);
|
|
312
|
-
}
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
313
276
|
CLI.success.objectUpdated(id);
|
|
314
277
|
return void callback();
|
|
315
278
|
}
|
|
@@ -318,7 +281,8 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
318
281
|
if (!propPath) {
|
|
319
282
|
// We set the entire object, no need to retrieve it first
|
|
320
283
|
doSetObject(value);
|
|
321
|
-
}
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
322
286
|
// We want to update a part of the object
|
|
323
287
|
// Retrieve the object first
|
|
324
288
|
objects.getObject(id, async (err, res) => {
|
|
@@ -328,23 +292,21 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
328
292
|
}
|
|
329
293
|
try {
|
|
330
294
|
deepSetProperty(res, propPath, value);
|
|
331
|
-
}
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
332
297
|
CLI.error.objectPropertyNotFound(id, propPath);
|
|
333
298
|
return void callback(3);
|
|
334
299
|
}
|
|
335
|
-
|
|
336
300
|
// auto encrypt -> only do that here, no one configures an instance by setting the whole object,
|
|
337
301
|
// else it would be copied and probably already encrypted
|
|
338
302
|
if (/^system\.adapter\.(?<adapterName>.+)\.(?<instanceNr>\d+)$/g.test(id) && res.encryptedNative) {
|
|
339
303
|
await this._autoEncrypt(objects, res, propPath, value);
|
|
340
304
|
}
|
|
341
|
-
|
|
342
305
|
doSetObject(res);
|
|
343
306
|
});
|
|
344
307
|
}
|
|
345
308
|
});
|
|
346
309
|
}
|
|
347
|
-
|
|
348
310
|
/**
|
|
349
311
|
* Encrypts all newly set properties of encryptedNative - currently customized for propPath
|
|
350
312
|
*
|
|
@@ -364,11 +326,13 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
364
326
|
try {
|
|
365
327
|
const config = await objects.getObjectAsync('system.config');
|
|
366
328
|
res.native[prop] = tools.encrypt(config.native.secret, res.native[prop]);
|
|
367
|
-
}
|
|
329
|
+
}
|
|
330
|
+
catch (e) {
|
|
368
331
|
console.error(`Could not auto-encrypt property "${prop}": ${e.message}`);
|
|
369
332
|
}
|
|
370
333
|
}
|
|
371
|
-
}
|
|
334
|
+
}
|
|
335
|
+
else if (propPath === 'native' && tools.isObject(value)) {
|
|
372
336
|
// whole native attribute
|
|
373
337
|
let config;
|
|
374
338
|
for (const prop in value) {
|
|
@@ -376,14 +340,14 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
376
340
|
try {
|
|
377
341
|
config = config || (await objects.getObjectAsync('system.config'));
|
|
378
342
|
res.native[prop] = tools.encrypt(config.native.secret, res.native[prop]);
|
|
379
|
-
}
|
|
343
|
+
}
|
|
344
|
+
catch (e) {
|
|
380
345
|
console.error(`Could not auto-encrypt property "${prop}": ${e.message}`);
|
|
381
346
|
}
|
|
382
347
|
}
|
|
383
348
|
}
|
|
384
349
|
}
|
|
385
350
|
}
|
|
386
|
-
|
|
387
351
|
/**
|
|
388
352
|
* Extends an object with the given value
|
|
389
353
|
* @param {any[]} args
|
|
@@ -396,7 +360,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
396
360
|
CLI.error.requiredArgumentMissing('id', 'object extend id <json-value>');
|
|
397
361
|
return void callback(1);
|
|
398
362
|
}
|
|
399
|
-
|
|
400
363
|
const lastArg = args.length >= 2 ? args.slice(2).join(' ') : undefined;
|
|
401
364
|
const parsedArg = parsePropPathAndAssignment(lastArg);
|
|
402
365
|
// extend does not accept a property path, so error when one is passed
|
|
@@ -405,20 +368,19 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
405
368
|
return void callback(3);
|
|
406
369
|
}
|
|
407
370
|
const { value } = parsedArg;
|
|
408
|
-
|
|
409
371
|
dbConnect(objects => {
|
|
410
372
|
objects.extendObject(id, value, err => {
|
|
411
373
|
if (err) {
|
|
412
374
|
CLI.error.cannotUpdateObject(id, err);
|
|
413
375
|
return void callback(1);
|
|
414
|
-
}
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
415
378
|
CLI.success.objectUpdated(id);
|
|
416
379
|
return void callback();
|
|
417
380
|
}
|
|
418
381
|
});
|
|
419
382
|
});
|
|
420
383
|
}
|
|
421
|
-
|
|
422
384
|
/**
|
|
423
385
|
* Collects all object for specific path
|
|
424
386
|
* @param {object} objects class
|
|
@@ -442,18 +404,17 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
442
404
|
'script'
|
|
443
405
|
];
|
|
444
406
|
const result = [];
|
|
445
|
-
|
|
446
407
|
for (const type of types) {
|
|
447
408
|
try {
|
|
448
409
|
const res = await objects.getObjectViewAsync('system', type, params);
|
|
449
410
|
res.rows && res.rows.forEach(item => result.push(item.value));
|
|
450
|
-
}
|
|
411
|
+
}
|
|
412
|
+
catch {
|
|
451
413
|
// ignore
|
|
452
414
|
}
|
|
453
415
|
}
|
|
454
416
|
return tools.maybeCallback(callback, result);
|
|
455
417
|
}
|
|
456
|
-
|
|
457
418
|
/**
|
|
458
419
|
* Delete all object from list sequentially
|
|
459
420
|
* @param {object} objects class
|
|
@@ -464,28 +425,28 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
464
425
|
async _deleteObjects(objects, ids, callback) {
|
|
465
426
|
if (!ids || !ids.length) {
|
|
466
427
|
return tools.maybeCallback(callback);
|
|
467
|
-
}
|
|
428
|
+
}
|
|
429
|
+
else {
|
|
468
430
|
let allEnums;
|
|
469
|
-
|
|
470
431
|
try {
|
|
471
432
|
// cache all enums, else it will be slow to delete many objects
|
|
472
433
|
allEnums = await tools.getAllEnums(objects);
|
|
473
|
-
}
|
|
434
|
+
}
|
|
435
|
+
catch (e) {
|
|
474
436
|
console.error(`Could not retrieve all enums: ${e.message}`);
|
|
475
437
|
}
|
|
476
|
-
|
|
477
438
|
for (const id of ids) {
|
|
478
439
|
try {
|
|
479
440
|
await objects.delObjectAsync(id);
|
|
480
441
|
await tools.removeIdFromAllEnums(objects, id, allEnums);
|
|
481
|
-
}
|
|
442
|
+
}
|
|
443
|
+
catch (e) {
|
|
482
444
|
console.warn(`Could not delete object or remove "${id}" from enums: ${e.message}`);
|
|
483
445
|
}
|
|
484
446
|
}
|
|
485
447
|
return tools.maybeCallback(callback);
|
|
486
448
|
}
|
|
487
449
|
}
|
|
488
|
-
|
|
489
450
|
/**
|
|
490
451
|
* Deletes an object
|
|
491
452
|
* @param {any[]} args
|
|
@@ -498,7 +459,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
498
459
|
CLI.error.requiredArgumentMissing('id', 'object delete id');
|
|
499
460
|
return void callback(1);
|
|
500
461
|
}
|
|
501
|
-
|
|
502
462
|
dbConnect(objects => {
|
|
503
463
|
if (id.endsWith('*')) {
|
|
504
464
|
const params = {
|
|
@@ -511,7 +471,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
511
471
|
return void callback();
|
|
512
472
|
}
|
|
513
473
|
const ids = result.map(item => item._id);
|
|
514
|
-
|
|
515
474
|
// if no auto confirmation, ask user
|
|
516
475
|
if (!this.options.f && this.options.y && !this.options.yes) {
|
|
517
476
|
const rl = require('readline').createInterface({
|
|
@@ -520,36 +479,39 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
520
479
|
});
|
|
521
480
|
rl.question(`${result.length} object(s) will be deleted. Are you sure? [y/N]: `, answer => {
|
|
522
481
|
rl.close();
|
|
523
|
-
if (
|
|
524
|
-
answer === 'y' ||
|
|
482
|
+
if (answer === 'y' ||
|
|
525
483
|
answer === 'yes' ||
|
|
526
484
|
answer === 'j' ||
|
|
527
485
|
answer === 'ja' ||
|
|
528
486
|
answer === 'да' ||
|
|
529
|
-
answer === 'д'
|
|
530
|
-
) {
|
|
487
|
+
answer === 'д') {
|
|
531
488
|
this._deleteObjects(objects, ids, callback);
|
|
532
|
-
}
|
|
489
|
+
}
|
|
490
|
+
else {
|
|
533
491
|
console.log('Aborted.');
|
|
534
492
|
return void callback(3);
|
|
535
493
|
}
|
|
536
494
|
});
|
|
537
|
-
}
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
538
497
|
this._deleteObjects(objects, ids, callback);
|
|
539
498
|
}
|
|
540
499
|
});
|
|
541
|
-
}
|
|
500
|
+
}
|
|
501
|
+
else {
|
|
542
502
|
// only one object
|
|
543
|
-
objects.delObject(id, async err => {
|
|
503
|
+
objects.delObject(id, async (err) => {
|
|
544
504
|
if (err) {
|
|
545
505
|
CLI.error.objectNotFound(id, err);
|
|
546
506
|
callback(3);
|
|
547
|
-
}
|
|
507
|
+
}
|
|
508
|
+
else {
|
|
548
509
|
try {
|
|
549
510
|
await tools.removeIdFromAllEnums(objects, id);
|
|
550
511
|
CLI.success.objectDeleted(id);
|
|
551
512
|
callback();
|
|
552
|
-
}
|
|
513
|
+
}
|
|
514
|
+
catch (e) {
|
|
553
515
|
CLI.error.cannotDeleteObjectFromEnums(id, e.message);
|
|
554
516
|
callback(3);
|
|
555
517
|
}
|
|
@@ -558,7 +520,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
558
520
|
}
|
|
559
521
|
});
|
|
560
522
|
}
|
|
561
|
-
|
|
562
523
|
/**
|
|
563
524
|
* Prints a list of objects and its access properties
|
|
564
525
|
* @param {object} objects objects db
|
|
@@ -586,7 +547,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
586
547
|
setTimeout(callback, 1000);
|
|
587
548
|
}
|
|
588
549
|
};
|
|
589
|
-
|
|
590
550
|
/**
|
|
591
551
|
* Reverses a string
|
|
592
552
|
* @param {string} str The string to reverse
|
|
@@ -594,7 +554,6 @@ module.exports = class CLIObjects extends CLICommand {
|
|
|
594
554
|
function reverseString(str) {
|
|
595
555
|
return Array.from(str).reverse().join('');
|
|
596
556
|
}
|
|
597
|
-
|
|
598
557
|
/**
|
|
599
558
|
* Normalizes a property path for use in deepSelectProperty and deepSetProperty
|
|
600
559
|
* @param {string} path The property path to normalize
|
|
@@ -611,7 +570,6 @@ function normalizePropertyPath(path) {
|
|
|
611
570
|
ret = ret.replace(arrayIndexRegex, '$1.');
|
|
612
571
|
return reverseString(ret);
|
|
613
572
|
}
|
|
614
|
-
|
|
615
573
|
/**
|
|
616
574
|
* Selects a property of an object or its sub-objects and returns it if it exists. E.g.
|
|
617
575
|
* `deepSelectProperty(obj, "common.asdf.qwer")` => `obj.common.asdf.qwer`
|
|
@@ -644,7 +602,6 @@ function deepSelectProperty(object, path) {
|
|
|
644
602
|
path = normalizePropertyPath(path);
|
|
645
603
|
return _deepSelectProperty(object, path.split('.'));
|
|
646
604
|
}
|
|
647
|
-
|
|
648
605
|
// Vergräbt eine Eigenschaft in einem Objekt (Gegenteil von dig)
|
|
649
606
|
/**
|
|
650
607
|
* Changes a property of an object or its sub-objects if it exists. Opposite of `deepSelectProperty`.
|
|
@@ -679,7 +636,6 @@ function deepSetProperty(object, path, value) {
|
|
|
679
636
|
path = normalizePropertyPath(path);
|
|
680
637
|
_deepSetProperty(object, path.split('.'));
|
|
681
638
|
}
|
|
682
|
-
|
|
683
639
|
/**
|
|
684
640
|
* Tries to parse a CLI argument that could be used to set an object
|
|
685
641
|
* @param {string} arg The CLI argument containing the value to be set
|
|
@@ -689,12 +645,12 @@ function parseCLIValue(arg) {
|
|
|
689
645
|
try {
|
|
690
646
|
// JSON.parse does not allow plain strings
|
|
691
647
|
return JSON.parse(arg);
|
|
692
|
-
}
|
|
648
|
+
}
|
|
649
|
+
catch {
|
|
693
650
|
// arg is a string
|
|
694
651
|
return arg;
|
|
695
652
|
}
|
|
696
653
|
}
|
|
697
|
-
|
|
698
654
|
/**
|
|
699
655
|
* @typedef {object} ParsedPropPathAndAssignment
|
|
700
656
|
* @property {string} [propPath]
|
|
@@ -714,7 +670,8 @@ function parsePropPathAndAssignment(arg) {
|
|
|
714
670
|
// For partial assignments, allow strings as the value
|
|
715
671
|
const value = parseCLIValue(valueString);
|
|
716
672
|
return { propPath, value };
|
|
717
|
-
}
|
|
673
|
+
}
|
|
674
|
+
else {
|
|
718
675
|
// This is a full assignment, allow only objects
|
|
719
676
|
try {
|
|
720
677
|
const value = JSON.parse(arg);
|
|
@@ -722,9 +679,11 @@ function parsePropPathAndAssignment(arg) {
|
|
|
722
679
|
return undefined;
|
|
723
680
|
}
|
|
724
681
|
return { value };
|
|
725
|
-
}
|
|
682
|
+
}
|
|
683
|
+
catch {
|
|
726
684
|
// nope!
|
|
727
685
|
return undefined;
|
|
728
686
|
}
|
|
729
687
|
}
|
|
730
688
|
}
|
|
689
|
+
//# sourceMappingURL=cliObjects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliObjects.js","sourceRoot":"","sources":["../../../src/lib/cli/cliObjects.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export = CLIPlugin;
|
|
2
|
+
declare class CLIPlugin extends CLICommand {
|
|
3
|
+
/** @param {CLICommandOptions} options */
|
|
4
|
+
constructor(options: CLICommandOptions);
|
|
5
|
+
/**
|
|
6
|
+
* Executes a command
|
|
7
|
+
* @param {any[]} args
|
|
8
|
+
*/
|
|
9
|
+
execute(args: any[]): undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Enables or disables the given plugin
|
|
12
|
+
* @param {any[]} args
|
|
13
|
+
* @param {boolean} enabled
|
|
14
|
+
*/
|
|
15
|
+
set(args: any[], enabled: boolean): undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Prints the status of the given plugin
|
|
18
|
+
* @param {any[]} args
|
|
19
|
+
*/
|
|
20
|
+
status(args: any[]): undefined;
|
|
21
|
+
}
|
|
22
|
+
import CLICommand = require("./cliCommand.js");
|
|
23
|
+
//# sourceMappingURL=cliPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliPlugin.d.ts","sourceRoot":"","sources":["../../../src/lib/cli/cliPlugin.js"],"names":[],"mappings":";AAWiB;IACb,yCAAyC;IACzC,wCAEC;IAED;;;OAGG;IACH,cAFW,GAAG,EAAE,aAoBf;IAED;;;;OAIG;IACH,UAHW,GAAG,EAAE,WACL,OAAO,aA0GjB;IAED;;;OAGG;IACH,aAFW,GAAG,EAAE,aAoFf;CACJ"}
|