@iobroker/js-controller-cli 7.2.3 → 8.0.0-alpha.1-20260921-e5941ca8a
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 +8 -1
- package/build/cjs/lib/cli/cliCert.d.ts +7 -4
- package/build/cjs/lib/cli/cliCert.js +10 -6
- package/build/cjs/lib/cli/cliCert.js.map +2 -2
- package/build/cjs/lib/cli/cliCommand.d.ts +63 -15
- package/build/cjs/lib/cli/cliCommand.js +8 -1
- package/build/cjs/lib/cli/cliCommand.js.map +2 -2
- package/build/cjs/lib/cli/cliCompact.d.ts +5 -2
- package/build/cjs/lib/cli/cliCompact.js +9 -2
- package/build/cjs/lib/cli/cliCompact.js.map +2 -2
- package/build/cjs/lib/cli/cliDebug.d.ts +5 -2
- package/build/cjs/lib/cli/cliDebug.js +8 -1
- package/build/cjs/lib/cli/cliDebug.js.map +2 -2
- package/build/cjs/lib/cli/cliHost.d.ts +13 -10
- package/build/cjs/lib/cli/cliHost.js +13 -5
- package/build/cjs/lib/cli/cliHost.js.map +2 -2
- package/build/cjs/lib/cli/cliLogs.d.ts +9 -3
- package/build/cjs/lib/cli/cliLogs.js +12 -1
- package/build/cjs/lib/cli/cliLogs.js.map +2 -2
- package/build/cjs/lib/cli/cliMessage.d.ts +2 -1
- package/build/cjs/lib/cli/cliMessage.js +5 -0
- package/build/cjs/lib/cli/cliMessage.js.map +2 -2
- package/build/cjs/lib/cli/cliObjects.d.ts +21 -18
- package/build/cjs/lib/cli/cliObjects.js +51 -33
- 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 +6 -0
- package/build/cjs/lib/cli/cliPlugin.js.map +2 -2
- package/build/cjs/lib/cli/cliProcess.d.ts +17 -7
- package/build/cjs/lib/cli/cliProcess.js +77 -24
- package/build/cjs/lib/cli/cliProcess.js.map +3 -3
- package/build/cjs/lib/cli/cliStates.d.ts +7 -4
- package/build/cjs/lib/cli/cliStates.js +14 -6
- package/build/cjs/lib/cli/cliStates.js.map +2 -2
- package/build/cjs/lib/cli/cliTools.js +11 -0
- package/build/cjs/lib/cli/cliTools.js.map +1 -1
- package/build/cjs/lib/cli/messages.js +47 -46
- package/build/cjs/lib/cli/messages.js.map +1 -1
- package/build/cjs/lib/progressBar.d.ts +59 -0
- package/build/cjs/lib/progressBar.js +115 -0
- package/build/cjs/lib/progressBar.js.map +7 -0
- package/build/cjs/lib/setup/customError.d.ts +4 -0
- package/build/cjs/lib/setup/customError.js +7 -0
- package/build/cjs/lib/setup/customError.js.map +2 -2
- package/build/cjs/lib/setup/dbConnection.js +69 -64
- 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 +5 -0
- package/build/cjs/lib/setup/formatters.js.map +2 -2
- package/build/cjs/lib/setup/multihostClient.js +6 -2
- package/build/cjs/lib/setup/multihostClient.js.map +1 -1
- package/build/cjs/lib/setup/pluginInfos.d.ts +5 -0
- package/build/cjs/lib/setup/pluginInfos.js +2 -0
- package/build/cjs/lib/setup/pluginInfos.js.map +2 -2
- package/build/cjs/lib/setup/setupBackup.d.ts +53 -0
- package/build/cjs/lib/setup/setupBackup.js +125 -14
- package/build/cjs/lib/setup/setupBackup.js.map +3 -3
- package/build/cjs/lib/setup/setupInstall.d.ts +51 -15
- package/build/cjs/lib/setup/setupInstall.js +212 -28
- package/build/cjs/lib/setup/setupInstall.js.map +2 -2
- package/build/cjs/lib/setup/setupLicense.d.ts +13 -0
- package/build/cjs/lib/setup/setupLicense.js +33 -2
- package/build/cjs/lib/setup/setupLicense.js.map +2 -2
- package/build/cjs/lib/setup/setupList.d.ts +55 -1
- package/build/cjs/lib/setup/setupList.js +78 -24
- package/build/cjs/lib/setup/setupList.js.map +3 -3
- package/build/cjs/lib/setup/setupMultihost.d.ts +7 -0
- package/build/cjs/lib/setup/setupMultihost.js +78 -11
- package/build/cjs/lib/setup/setupMultihost.js.map +3 -3
- package/build/cjs/lib/setup/setupPacketManager.d.ts +10 -0
- package/build/cjs/lib/setup/setupPacketManager.js +16 -6
- package/build/cjs/lib/setup/setupPacketManager.js.map +2 -2
- package/build/cjs/lib/setup/setupRepo.d.ts +19 -0
- package/build/cjs/lib/setup/setupRepo.js +141 -13
- package/build/cjs/lib/setup/setupRepo.js.map +2 -2
- package/build/cjs/lib/setup/setupSetup.d.ts +34 -0
- package/build/cjs/lib/setup/setupSetup.js +209 -35
- package/build/cjs/lib/setup/setupSetup.js.map +3 -3
- package/build/cjs/lib/setup/setupUpgrade.d.ts +13 -2
- package/build/cjs/lib/setup/setupUpgrade.js +72 -12
- package/build/cjs/lib/setup/setupUpgrade.js.map +2 -2
- package/build/cjs/lib/setup/setupUpload.d.ts +77 -1
- package/build/cjs/lib/setup/setupUpload.js +152 -9
- package/build/cjs/lib/setup/setupUpload.js.map +2 -2
- package/build/cjs/lib/setup/setupUsers.d.ts +44 -14
- package/build/cjs/lib/setup/setupUsers.js +330 -17
- package/build/cjs/lib/setup/setupUsers.js.map +2 -2
- package/build/cjs/lib/setup/setupVendor.d.ts +14 -1
- package/build/cjs/lib/setup/setupVendor.js +40 -8
- package/build/cjs/lib/setup/setupVendor.js.map +2 -2
- package/build/cjs/lib/setup/setupVisDebug.d.ts +16 -2
- package/build/cjs/lib/setup/setupVisDebug.js +41 -17
- 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 +13 -9
- package/build/cjs/lib/setup/utils.js.map +3 -3
- package/build/cjs/lib/setup.d.ts +1 -1
- package/build/cjs/lib/setup.js +858 -1758
- package/build/cjs/lib/setup.js.map +3 -3
- package/build/esm/lib/_Types.d.ts +8 -1
- package/build/esm/lib/_Types.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCert.d.ts +7 -4
- 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 +63 -15
- package/build/esm/lib/cli/cliCommand.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCommand.js +4 -1
- package/build/esm/lib/cli/cliCommand.js.map +1 -1
- package/build/esm/lib/cli/cliCompact.d.ts +5 -2
- package/build/esm/lib/cli/cliCompact.d.ts.map +1 -1
- package/build/esm/lib/cli/cliCompact.js +5 -2
- package/build/esm/lib/cli/cliCompact.js.map +1 -1
- package/build/esm/lib/cli/cliDebug.d.ts +5 -2
- package/build/esm/lib/cli/cliDebug.d.ts.map +1 -1
- package/build/esm/lib/cli/cliDebug.js +4 -1
- package/build/esm/lib/cli/cliDebug.js.map +1 -1
- package/build/esm/lib/cli/cliHost.d.ts +13 -10
- package/build/esm/lib/cli/cliHost.d.ts.map +1 -1
- package/build/esm/lib/cli/cliHost.js +8 -5
- package/build/esm/lib/cli/cliHost.js.map +1 -1
- package/build/esm/lib/cli/cliLogs.d.ts +9 -3
- package/build/esm/lib/cli/cliLogs.d.ts.map +1 -1
- package/build/esm/lib/cli/cliLogs.js +8 -1
- package/build/esm/lib/cli/cliLogs.js.map +1 -1
- package/build/esm/lib/cli/cliMessage.d.ts +2 -1
- package/build/esm/lib/cli/cliMessage.d.ts.map +1 -1
- package/build/esm/lib/cli/cliMessage.js +1 -0
- package/build/esm/lib/cli/cliMessage.js.map +1 -1
- package/build/esm/lib/cli/cliObjects.d.ts +21 -18
- package/build/esm/lib/cli/cliObjects.d.ts.map +1 -1
- package/build/esm/lib/cli/cliObjects.js +44 -38
- 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 +17 -7
- package/build/esm/lib/cli/cliProcess.d.ts.map +1 -1
- package/build/esm/lib/cli/cliProcess.js +73 -12
- package/build/esm/lib/cli/cliProcess.js.map +1 -1
- package/build/esm/lib/cli/cliStates.d.ts +7 -4
- package/build/esm/lib/cli/cliStates.d.ts.map +1 -1
- package/build/esm/lib/cli/cliStates.js +6 -2
- package/build/esm/lib/cli/cliStates.js.map +1 -1
- package/build/esm/lib/progressBar.d.ts +59 -0
- package/build/esm/lib/progressBar.d.ts.map +1 -0
- package/build/esm/lib/progressBar.js +104 -0
- package/build/esm/lib/progressBar.js.map +1 -0
- package/build/esm/lib/setup/customError.d.ts +4 -0
- package/build/esm/lib/setup/customError.d.ts.map +1 -1
- package/build/esm/lib/setup/customError.js +3 -0
- 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 +10 -13
- 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 +5 -0
- package/build/esm/lib/setup/pluginInfos.d.ts.map +1 -1
- package/build/esm/lib/setup/pluginInfos.js +5 -0
- package/build/esm/lib/setup/pluginInfos.js.map +1 -1
- package/build/esm/lib/setup/setupBackup.d.ts +53 -0
- package/build/esm/lib/setup/setupBackup.d.ts.map +1 -1
- package/build/esm/lib/setup/setupBackup.js +132 -13
- package/build/esm/lib/setup/setupBackup.js.map +1 -1
- package/build/esm/lib/setup/setupInstall.d.ts +51 -15
- package/build/esm/lib/setup/setupInstall.d.ts.map +1 -1
- package/build/esm/lib/setup/setupInstall.js +228 -23
- package/build/esm/lib/setup/setupInstall.js.map +1 -1
- package/build/esm/lib/setup/setupLicense.d.ts +13 -0
- package/build/esm/lib/setup/setupLicense.d.ts.map +1 -1
- package/build/esm/lib/setup/setupLicense.js +31 -1
- package/build/esm/lib/setup/setupLicense.js.map +1 -1
- package/build/esm/lib/setup/setupList.d.ts +55 -1
- package/build/esm/lib/setup/setupList.d.ts.map +1 -1
- package/build/esm/lib/setup/setupList.js +61 -8
- package/build/esm/lib/setup/setupList.js.map +1 -1
- package/build/esm/lib/setup/setupMultihost.d.ts +7 -0
- package/build/esm/lib/setup/setupMultihost.d.ts.map +1 -1
- package/build/esm/lib/setup/setupMultihost.js +85 -6
- package/build/esm/lib/setup/setupMultihost.js.map +1 -1
- package/build/esm/lib/setup/setupPacketManager.d.ts +10 -0
- package/build/esm/lib/setup/setupPacketManager.d.ts.map +1 -1
- package/build/esm/lib/setup/setupPacketManager.js +9 -0
- package/build/esm/lib/setup/setupPacketManager.js.map +1 -1
- package/build/esm/lib/setup/setupRepo.d.ts +19 -0
- package/build/esm/lib/setup/setupRepo.d.ts.map +1 -1
- package/build/esm/lib/setup/setupRepo.js +164 -14
- package/build/esm/lib/setup/setupRepo.js.map +1 -1
- package/build/esm/lib/setup/setupSetup.d.ts +34 -0
- package/build/esm/lib/setup/setupSetup.d.ts.map +1 -1
- package/build/esm/lib/setup/setupSetup.js +218 -21
- package/build/esm/lib/setup/setupSetup.js.map +1 -1
- package/build/esm/lib/setup/setupUpgrade.d.ts +13 -2
- package/build/esm/lib/setup/setupUpgrade.d.ts.map +1 -1
- package/build/esm/lib/setup/setupUpgrade.js +70 -6
- package/build/esm/lib/setup/setupUpgrade.js.map +1 -1
- package/build/esm/lib/setup/setupUpload.d.ts +77 -1
- package/build/esm/lib/setup/setupUpload.d.ts.map +1 -1
- package/build/esm/lib/setup/setupUpload.js +164 -7
- package/build/esm/lib/setup/setupUpload.js.map +1 -1
- package/build/esm/lib/setup/setupUsers.d.ts +44 -14
- package/build/esm/lib/setup/setupUsers.d.ts.map +1 -1
- package/build/esm/lib/setup/setupUsers.js +346 -14
- package/build/esm/lib/setup/setupUsers.js.map +1 -1
- package/build/esm/lib/setup/setupVendor.d.ts +14 -1
- package/build/esm/lib/setup/setupVendor.d.ts.map +1 -1
- package/build/esm/lib/setup/setupVendor.js +33 -2
- package/build/esm/lib/setup/setupVendor.js.map +1 -1
- package/build/esm/lib/setup/setupVisDebug.d.ts +16 -2
- package/build/esm/lib/setup/setupVisDebug.d.ts.map +1 -1
- package/build/esm/lib/setup/setupVisDebug.js +39 -14
- 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 +2 -4
- package/build/esm/lib/setup/utils.js.map +1 -1
- package/build/esm/lib/setup.d.ts +1 -1
- package/build/esm/lib/setup.d.ts.map +1 -1
- package/build/esm/lib/setup.js +959 -1910
- package/build/esm/lib/setup.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +14 -14
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
import type { ProcessExitCallback } from '../_Types.js';
|
|
2
2
|
import type { Client as ObjectsRedisClient } from '@iobroker/db-objects-redis';
|
|
3
|
+
import type { ProcessCommandOptions } from '../../lib/cli/cliCommand.js';
|
|
4
|
+
/** Options for the users command */
|
|
3
5
|
export interface CLIUsersOptions {
|
|
6
|
+
/** Callback to exit the process with an exit code */
|
|
4
7
|
processExit: ProcessExitCallback;
|
|
8
|
+
/** The objects database client */
|
|
5
9
|
objects: ObjectsRedisClient;
|
|
6
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* CLI command to manage ioBroker users and groups
|
|
13
|
+
*/
|
|
7
14
|
export declare class Users {
|
|
8
15
|
private readonly objects;
|
|
9
16
|
private readonly processExit;
|
|
17
|
+
/**
|
|
18
|
+
* @param options The objects database client and the process-exit callback
|
|
19
|
+
*/
|
|
10
20
|
constructor(options: CLIUsersOptions);
|
|
11
21
|
/**
|
|
12
22
|
* Adds new user to system
|
|
13
23
|
*
|
|
14
24
|
* @param username name of the user which will be added
|
|
15
25
|
* @param pw password
|
|
16
|
-
* @param callback
|
|
26
|
+
* @param callback Called once the user has been added
|
|
17
27
|
*/
|
|
18
28
|
addUser(username: string, pw: string, callback: ioBroker.ErrorCallback): void;
|
|
19
29
|
/**
|
|
@@ -27,7 +37,7 @@ export declare class Users {
|
|
|
27
37
|
*
|
|
28
38
|
* @param username name of the user to set password for
|
|
29
39
|
* @param pw password
|
|
30
|
-
* @param callback
|
|
40
|
+
* @param callback Called once the password has been set
|
|
31
41
|
*/
|
|
32
42
|
setPassword(username: string, pw: string, callback: ioBroker.ErrorCallback): void;
|
|
33
43
|
/**
|
|
@@ -35,14 +45,14 @@ export declare class Users {
|
|
|
35
45
|
*
|
|
36
46
|
* @param username name of the user to check password
|
|
37
47
|
* @param pw password
|
|
38
|
-
* @param callback
|
|
48
|
+
* @param callback Called with whether the password is correct
|
|
39
49
|
*/
|
|
40
50
|
checkPassword(username: string, pw: string, callback: (err?: Error | null, isOk?: boolean) => void): void;
|
|
41
51
|
/**
|
|
42
52
|
* Deletes user from system
|
|
43
53
|
*
|
|
44
54
|
* @param username name of the user to delete
|
|
45
|
-
* @param callback
|
|
55
|
+
* @param callback Called once the user has been deleted
|
|
46
56
|
*/
|
|
47
57
|
delUser(username: string, callback: ioBroker.ErrorCallback): void;
|
|
48
58
|
/**
|
|
@@ -50,7 +60,7 @@ export declare class Users {
|
|
|
50
60
|
*
|
|
51
61
|
* @param username user which will be added to the group
|
|
52
62
|
* @param groupName name of the group where the user will be added to
|
|
53
|
-
* @param callback
|
|
63
|
+
* @param callback Called once the user has been added to the group
|
|
54
64
|
*/
|
|
55
65
|
addUserToGroup(username: string, groupName: string, callback: ioBroker.ErrorCallback): void;
|
|
56
66
|
/**
|
|
@@ -59,7 +69,7 @@ export declare class Users {
|
|
|
59
69
|
* @param username user which sohuld be created
|
|
60
70
|
* @param groupName default group for the new user
|
|
61
71
|
* @param password user password
|
|
62
|
-
* @param callback
|
|
72
|
+
* @param callback Called once the user has been created
|
|
63
73
|
*/
|
|
64
74
|
addUserPrompt(username: string, groupName: string, password: string, callback: ioBroker.ErrorCallback): void;
|
|
65
75
|
/**
|
|
@@ -67,7 +77,7 @@ export declare class Users {
|
|
|
67
77
|
*
|
|
68
78
|
* @param username name of the user to set password for
|
|
69
79
|
* @param password password of user
|
|
70
|
-
* @param callback
|
|
80
|
+
* @param callback Called once the password has been set
|
|
71
81
|
*/
|
|
72
82
|
setUserPassword(username: string, password: string, callback: ioBroker.ErrorCallback): Promise<void>;
|
|
73
83
|
/**
|
|
@@ -75,7 +85,7 @@ export declare class Users {
|
|
|
75
85
|
*
|
|
76
86
|
* @param username name of the user which will be activated
|
|
77
87
|
* @param enable true if it should be enabled else false
|
|
78
|
-
* @param callback
|
|
88
|
+
* @param callback Called once the user has been enabled or disabled
|
|
79
89
|
*/
|
|
80
90
|
enableUser(username: string, enable: boolean, callback: ioBroker.ErrorCallback): void;
|
|
81
91
|
/**
|
|
@@ -83,21 +93,21 @@ export declare class Users {
|
|
|
83
93
|
*
|
|
84
94
|
* @param username name of the user to check password for
|
|
85
95
|
* @param password password to check
|
|
86
|
-
* @param callback
|
|
96
|
+
* @param callback Called with whether the password is valid
|
|
87
97
|
*/
|
|
88
98
|
checkUserPassword(username: string, password: string, callback: ioBroker.ErrorCallback): void;
|
|
89
99
|
/**
|
|
90
100
|
* Get user object
|
|
91
101
|
*
|
|
92
102
|
* @param username name of the user to get object of
|
|
93
|
-
* @param callback
|
|
103
|
+
* @param callback Called with the user object
|
|
94
104
|
*/
|
|
95
105
|
getUser(username: string, callback: (err?: Error | null, enabled?: boolean) => void): void;
|
|
96
106
|
/**
|
|
97
107
|
* Get group object
|
|
98
108
|
*
|
|
99
109
|
* @param group groupname
|
|
100
|
-
* @param callback
|
|
110
|
+
* @param callback Called with the group object
|
|
101
111
|
*/
|
|
102
112
|
getGroup(group: string, callback: (err?: Error | null, enabled?: boolean, members?: string[]) => void): void;
|
|
103
113
|
/**
|
|
@@ -105,7 +115,7 @@ export declare class Users {
|
|
|
105
115
|
*
|
|
106
116
|
* @param group groupname
|
|
107
117
|
* @param enable if enable or disable
|
|
108
|
-
* @param callback
|
|
118
|
+
* @param callback Called once the group has been enabled or disabled
|
|
109
119
|
*/
|
|
110
120
|
enableGroup(group: string, enable: boolean, callback: ioBroker.ErrorCallback): void;
|
|
111
121
|
/**
|
|
@@ -118,7 +128,7 @@ export declare class Users {
|
|
|
118
128
|
* Remove group
|
|
119
129
|
*
|
|
120
130
|
* @param group groupname
|
|
121
|
-
* @param callback
|
|
131
|
+
* @param callback Called once the group has been removed
|
|
122
132
|
*/
|
|
123
133
|
delGroup(group: string, callback: ioBroker.ErrorCallback): void;
|
|
124
134
|
/**
|
|
@@ -126,8 +136,28 @@ export declare class Users {
|
|
|
126
136
|
*
|
|
127
137
|
* @param username name of the user which will be removed from group
|
|
128
138
|
* @param groupName name of the group user will be removed from
|
|
129
|
-
* @param callback
|
|
139
|
+
* @param callback Called once the user has been removed from the group
|
|
130
140
|
*/
|
|
131
141
|
removeUserFromGroup(username: string, groupName: string, callback: ioBroker.ErrorCallback): void;
|
|
132
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* @param options Command execution options
|
|
145
|
+
*/
|
|
146
|
+
export declare function processCommandUser(options: ProcessCommandOptions): void;
|
|
147
|
+
/**
|
|
148
|
+
* @param options Command execution options
|
|
149
|
+
*/
|
|
150
|
+
export declare function processCommandGroup(options: ProcessCommandOptions): void;
|
|
151
|
+
/**
|
|
152
|
+
* @param options Command execution options
|
|
153
|
+
*/
|
|
154
|
+
export declare function processCommandAddUser(options: ProcessCommandOptions): void;
|
|
155
|
+
/**
|
|
156
|
+
* @param options Command execution options
|
|
157
|
+
*/
|
|
158
|
+
export declare function processCommandPassword(options: ProcessCommandOptions): void;
|
|
159
|
+
/**
|
|
160
|
+
* @param options Command execution options
|
|
161
|
+
*/
|
|
162
|
+
export declare function processCommandUserDel(options: ProcessCommandOptions): void;
|
|
133
163
|
//# sourceMappingURL=setupUsers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupUsers.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/setupUsers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"setupUsers.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/setupUsers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGrE,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC5B,qDAAqD;IACrD,WAAW,EAAE,mBAAmB,CAAC;IACjC,kCAAkC;IAClC,OAAO,EAAE,kBAAkB,CAAC;CAC/B;AAKD;;GAEG;AACH,qBAAa,KAAK;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD;;OAEG;gBACS,OAAO,EAAE,eAAe;IAYpC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IA+B7E;;;;OAIG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYhD;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IAsBjF;;;;;;OAMG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAczG;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IA0DjE;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IAkC3F;;;;;;;OAOG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IAyE5G;;;;;;OAMG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAyD1G;;;;;;OAMG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IA4BrF;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IAwE7F;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAY1F;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,IAAI;IAY5G;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IA4BnF;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyD5C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IAgB/D;;;;;;OAMG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;CAkBnG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CA0FvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAwHxE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAoB1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAoB3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAkB1E"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { password, tools, EXIT_CODES } from '@iobroker/js-controller-common';
|
|
2
2
|
import prompt from 'prompt';
|
|
3
|
+
import { dbConnect } from '../../lib/setup/dbConnection.js';
|
|
4
|
+
/**
|
|
5
|
+
* CLI command to manage ioBroker users and groups
|
|
6
|
+
*/
|
|
3
7
|
export class Users {
|
|
4
8
|
objects;
|
|
5
9
|
processExit;
|
|
10
|
+
/**
|
|
11
|
+
* @param options The objects database client and the process-exit callback
|
|
12
|
+
*/
|
|
6
13
|
constructor(options) {
|
|
7
14
|
if (!options.objects) {
|
|
8
15
|
throw new Error('Invalid arguments: objects is missing');
|
|
@@ -18,7 +25,7 @@ export class Users {
|
|
|
18
25
|
*
|
|
19
26
|
* @param username name of the user which will be added
|
|
20
27
|
* @param pw password
|
|
21
|
-
* @param callback
|
|
28
|
+
* @param callback Called once the user has been added
|
|
22
29
|
*/
|
|
23
30
|
addUser(username, pw, callback) {
|
|
24
31
|
// user id's should be case insensitive
|
|
@@ -68,7 +75,7 @@ export class Users {
|
|
|
68
75
|
*
|
|
69
76
|
* @param username name of the user to set password for
|
|
70
77
|
* @param pw password
|
|
71
|
-
* @param callback
|
|
78
|
+
* @param callback Called once the password has been set
|
|
72
79
|
*/
|
|
73
80
|
setPassword(username, pw, callback) {
|
|
74
81
|
const _user = username.replace(/\s/g, '_').toLowerCase();
|
|
@@ -94,7 +101,7 @@ export class Users {
|
|
|
94
101
|
*
|
|
95
102
|
* @param username name of the user to check password
|
|
96
103
|
* @param pw password
|
|
97
|
-
* @param callback
|
|
104
|
+
* @param callback Called with whether the password is correct
|
|
98
105
|
*/
|
|
99
106
|
checkPassword(username, pw, callback) {
|
|
100
107
|
const _user = username.replace(/\s/g, '_').toLowerCase();
|
|
@@ -111,7 +118,7 @@ export class Users {
|
|
|
111
118
|
* Deletes user from system
|
|
112
119
|
*
|
|
113
120
|
* @param username name of the user to delete
|
|
114
|
-
* @param callback
|
|
121
|
+
* @param callback Called once the user has been deleted
|
|
115
122
|
*/
|
|
116
123
|
delUser(username, callback) {
|
|
117
124
|
if (!username) {
|
|
@@ -168,7 +175,7 @@ export class Users {
|
|
|
168
175
|
*
|
|
169
176
|
* @param username user which will be added to the group
|
|
170
177
|
* @param groupName name of the group where the user will be added to
|
|
171
|
-
* @param callback
|
|
178
|
+
* @param callback Called once the user has been added to the group
|
|
172
179
|
*/
|
|
173
180
|
addUserToGroup(username, groupName, callback) {
|
|
174
181
|
let _user = username.replace(/\s/g, '_').toLowerCase();
|
|
@@ -208,7 +215,7 @@ export class Users {
|
|
|
208
215
|
* @param username user which sohuld be created
|
|
209
216
|
* @param groupName default group for the new user
|
|
210
217
|
* @param password user password
|
|
211
|
-
* @param callback
|
|
218
|
+
* @param callback Called once the user has been created
|
|
212
219
|
*/
|
|
213
220
|
addUserPrompt(username, groupName, password, callback) {
|
|
214
221
|
if (!username) {
|
|
@@ -285,7 +292,7 @@ export class Users {
|
|
|
285
292
|
*
|
|
286
293
|
* @param username name of the user to set password for
|
|
287
294
|
* @param password password of user
|
|
288
|
-
* @param callback
|
|
295
|
+
* @param callback Called once the password has been set
|
|
289
296
|
*/
|
|
290
297
|
async setUserPassword(username, password, callback) {
|
|
291
298
|
if (!username) {
|
|
@@ -347,7 +354,7 @@ export class Users {
|
|
|
347
354
|
*
|
|
348
355
|
* @param username name of the user which will be activated
|
|
349
356
|
* @param enable true if it should be enabled else false
|
|
350
|
-
* @param callback
|
|
357
|
+
* @param callback Called once the user has been enabled or disabled
|
|
351
358
|
*/
|
|
352
359
|
enableUser(username, enable, callback) {
|
|
353
360
|
if (!username) {
|
|
@@ -379,7 +386,7 @@ export class Users {
|
|
|
379
386
|
*
|
|
380
387
|
* @param username name of the user to check password for
|
|
381
388
|
* @param password password to check
|
|
382
|
-
* @param callback
|
|
389
|
+
* @param callback Called with whether the password is valid
|
|
383
390
|
*/
|
|
384
391
|
checkUserPassword(username, password, callback) {
|
|
385
392
|
if (!username && !password) {
|
|
@@ -447,7 +454,7 @@ export class Users {
|
|
|
447
454
|
* Get user object
|
|
448
455
|
*
|
|
449
456
|
* @param username name of the user to get object of
|
|
450
|
-
* @param callback
|
|
457
|
+
* @param callback Called with the user object
|
|
451
458
|
*/
|
|
452
459
|
getUser(username, callback) {
|
|
453
460
|
this.objects.getObject(`system.user.${username}`, (err, obj) => {
|
|
@@ -464,7 +471,7 @@ export class Users {
|
|
|
464
471
|
* Get group object
|
|
465
472
|
*
|
|
466
473
|
* @param group groupname
|
|
467
|
-
* @param callback
|
|
474
|
+
* @param callback Called with the group object
|
|
468
475
|
*/
|
|
469
476
|
getGroup(group, callback) {
|
|
470
477
|
this.objects.getObject(`system.group.${group}`, (err, obj) => {
|
|
@@ -482,7 +489,7 @@ export class Users {
|
|
|
482
489
|
*
|
|
483
490
|
* @param group groupname
|
|
484
491
|
* @param enable if enable or disable
|
|
485
|
-
* @param callback
|
|
492
|
+
* @param callback Called once the group has been enabled or disabled
|
|
486
493
|
*/
|
|
487
494
|
enableGroup(group, enable, callback) {
|
|
488
495
|
if (!group) {
|
|
@@ -523,11 +530,47 @@ export class Users {
|
|
|
523
530
|
else {
|
|
524
531
|
// TODO: shoudln't it have some default acl? TS is worrying
|
|
525
532
|
await this.objects.setObject(`system.group.${_group}`, {
|
|
533
|
+
_id: `system.group.${_group}`,
|
|
526
534
|
type: 'group',
|
|
527
535
|
common: {
|
|
528
536
|
name: group,
|
|
529
537
|
enabled: true,
|
|
530
538
|
members: [],
|
|
539
|
+
acl: {
|
|
540
|
+
file: {
|
|
541
|
+
read: false,
|
|
542
|
+
list: false,
|
|
543
|
+
write: false,
|
|
544
|
+
create: false,
|
|
545
|
+
delete: false,
|
|
546
|
+
},
|
|
547
|
+
object: {
|
|
548
|
+
read: false,
|
|
549
|
+
list: false,
|
|
550
|
+
write: false,
|
|
551
|
+
create: false,
|
|
552
|
+
delete: false,
|
|
553
|
+
},
|
|
554
|
+
users: {
|
|
555
|
+
read: false,
|
|
556
|
+
list: false,
|
|
557
|
+
write: false,
|
|
558
|
+
create: false,
|
|
559
|
+
delete: false,
|
|
560
|
+
},
|
|
561
|
+
state: {
|
|
562
|
+
read: false,
|
|
563
|
+
list: false,
|
|
564
|
+
write: false,
|
|
565
|
+
create: false,
|
|
566
|
+
delete: false,
|
|
567
|
+
},
|
|
568
|
+
other: {
|
|
569
|
+
execute: false,
|
|
570
|
+
sendto: false,
|
|
571
|
+
http: false,
|
|
572
|
+
},
|
|
573
|
+
},
|
|
531
574
|
},
|
|
532
575
|
from: `system.host.${tools.getHostName()}.cli`,
|
|
533
576
|
ts: Date.now(),
|
|
@@ -539,7 +582,7 @@ export class Users {
|
|
|
539
582
|
* Remove group
|
|
540
583
|
*
|
|
541
584
|
* @param group groupname
|
|
542
|
-
* @param callback
|
|
585
|
+
* @param callback Called once the group has been removed
|
|
543
586
|
*/
|
|
544
587
|
delGroup(group, callback) {
|
|
545
588
|
const _group = group.replace(/\s/g, '_');
|
|
@@ -560,7 +603,7 @@ export class Users {
|
|
|
560
603
|
*
|
|
561
604
|
* @param username name of the user which will be removed from group
|
|
562
605
|
* @param groupName name of the group user will be removed from
|
|
563
|
-
* @param callback
|
|
606
|
+
* @param callback Called once the user has been removed from the group
|
|
564
607
|
*/
|
|
565
608
|
removeUserFromGroup(username, groupName, callback) {
|
|
566
609
|
const _group = groupName.replace(/\s/g, '_');
|
|
@@ -581,4 +624,293 @@ export class Users {
|
|
|
581
624
|
});
|
|
582
625
|
}
|
|
583
626
|
}
|
|
627
|
+
/**
|
|
628
|
+
* @param options Command execution options
|
|
629
|
+
*/
|
|
630
|
+
export function processCommandUser(options) {
|
|
631
|
+
const { args, params, callback } = options;
|
|
632
|
+
const command = args[0] || '';
|
|
633
|
+
let user = args[1] || '';
|
|
634
|
+
if (user?.startsWith('system.user.')) {
|
|
635
|
+
user = user.substring('system.user.'.length);
|
|
636
|
+
}
|
|
637
|
+
dbConnect(params, ({ objects }) => {
|
|
638
|
+
const users = new Users({
|
|
639
|
+
objects,
|
|
640
|
+
processExit: callback,
|
|
641
|
+
});
|
|
642
|
+
const password = params.password;
|
|
643
|
+
const group = params.ingroup || 'system.group.administrator';
|
|
644
|
+
if (command === 'add') {
|
|
645
|
+
users.addUserPrompt(user, group, password, (err) => {
|
|
646
|
+
if (err) {
|
|
647
|
+
console.error(err);
|
|
648
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
649
|
+
}
|
|
650
|
+
console.log(`User "${user}" created (Group: ${group.replace('system.group.', '')})`);
|
|
651
|
+
return void callback();
|
|
652
|
+
});
|
|
653
|
+
}
|
|
654
|
+
else if (command === 'del' || command === 'delete') {
|
|
655
|
+
users.delUser(user, (err) => {
|
|
656
|
+
if (err) {
|
|
657
|
+
console.error(err);
|
|
658
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
659
|
+
}
|
|
660
|
+
console.log(`User "${user}" deleted`);
|
|
661
|
+
return void callback();
|
|
662
|
+
});
|
|
663
|
+
}
|
|
664
|
+
else if (command === 'check') {
|
|
665
|
+
users.checkUserPassword(user, password, err => {
|
|
666
|
+
if (err) {
|
|
667
|
+
console.error(err.message);
|
|
668
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
669
|
+
}
|
|
670
|
+
console.log(`Password for user "${user}" matches.`);
|
|
671
|
+
return void callback();
|
|
672
|
+
});
|
|
673
|
+
}
|
|
674
|
+
else if (command === 'set' || command === 'passwd') {
|
|
675
|
+
users
|
|
676
|
+
.setUserPassword(user, password, err => {
|
|
677
|
+
if (err) {
|
|
678
|
+
console.error(err.message);
|
|
679
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
680
|
+
}
|
|
681
|
+
console.log(`Password for "${user}" was successfully set.`);
|
|
682
|
+
return void callback();
|
|
683
|
+
})
|
|
684
|
+
.catch(e => console.error(`Cannot set password: ${e.message}`));
|
|
685
|
+
}
|
|
686
|
+
else if (command === 'enable' || command === 'e') {
|
|
687
|
+
users.enableUser(user, true, err => {
|
|
688
|
+
if (err) {
|
|
689
|
+
console.error(err.message);
|
|
690
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
691
|
+
}
|
|
692
|
+
console.log(`User "${user}" was successfully enabled.`);
|
|
693
|
+
return void callback();
|
|
694
|
+
});
|
|
695
|
+
}
|
|
696
|
+
else if (command === 'disable' || command === 'd') {
|
|
697
|
+
users.enableUser(user, false, err => {
|
|
698
|
+
if (err) {
|
|
699
|
+
console.error(err.message);
|
|
700
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
701
|
+
}
|
|
702
|
+
console.log(`User "${user}" was successfully disabled.`);
|
|
703
|
+
return void callback();
|
|
704
|
+
});
|
|
705
|
+
}
|
|
706
|
+
else if (command === 'get') {
|
|
707
|
+
users.getUser(user, (err, isEnabled) => {
|
|
708
|
+
if (err) {
|
|
709
|
+
console.error(err.message);
|
|
710
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
711
|
+
}
|
|
712
|
+
console.log(`User "${user}" is ${isEnabled ? 'enabled' : 'disabled'}`);
|
|
713
|
+
return void callback();
|
|
714
|
+
});
|
|
715
|
+
}
|
|
716
|
+
else {
|
|
717
|
+
console.warn(`Unknown command "${command}". Available commands are: add, del, passwd, enable, disable, check, get`);
|
|
718
|
+
return void callback(EXIT_CODES.INVALID_ARGUMENTS);
|
|
719
|
+
}
|
|
720
|
+
});
|
|
721
|
+
}
|
|
722
|
+
/**
|
|
723
|
+
* @param options Command execution options
|
|
724
|
+
*/
|
|
725
|
+
export function processCommandGroup(options) {
|
|
726
|
+
const { args, params, callback } = options;
|
|
727
|
+
const command = args[0] || '';
|
|
728
|
+
let group = args[1] || '';
|
|
729
|
+
let user = args[2] || '';
|
|
730
|
+
if (group?.startsWith('system.group.')) {
|
|
731
|
+
group = group.substring('system.group.'.length);
|
|
732
|
+
}
|
|
733
|
+
if (user?.startsWith('system.user.')) {
|
|
734
|
+
user = user.substring('system.user.'.length);
|
|
735
|
+
}
|
|
736
|
+
if (!command) {
|
|
737
|
+
console.warn(`Unknown command "${command}". Available commands are: add, del, passwd, enable, disable, list, get`);
|
|
738
|
+
return void callback(EXIT_CODES.INVALID_ARGUMENTS);
|
|
739
|
+
}
|
|
740
|
+
if (!group) {
|
|
741
|
+
console.warn(`Please define group name: group ${command} groupName`);
|
|
742
|
+
return callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
743
|
+
}
|
|
744
|
+
dbConnect(params, async ({ objects }) => {
|
|
745
|
+
const users = new Users({
|
|
746
|
+
objects,
|
|
747
|
+
processExit: callback,
|
|
748
|
+
});
|
|
749
|
+
if (command === 'useradd' || command === 'adduser') {
|
|
750
|
+
if (!user) {
|
|
751
|
+
console.warn('Please define user name: "group useradd groupName userName"');
|
|
752
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
753
|
+
}
|
|
754
|
+
users.addUserToGroup(user, group, (err) => {
|
|
755
|
+
if (err) {
|
|
756
|
+
console.error(err);
|
|
757
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
758
|
+
}
|
|
759
|
+
console.log(`User "${user}" was added to group "${group}"`);
|
|
760
|
+
return void callback();
|
|
761
|
+
});
|
|
762
|
+
}
|
|
763
|
+
else if (command === 'userdel' || command === 'deluser') {
|
|
764
|
+
if (!user) {
|
|
765
|
+
console.warn('Please define user name: "group userdel groupName userName"');
|
|
766
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
767
|
+
}
|
|
768
|
+
users.removeUserFromGroup(user, group, (err) => {
|
|
769
|
+
if (err) {
|
|
770
|
+
console.error(err);
|
|
771
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
772
|
+
}
|
|
773
|
+
console.log(`User "${user}" was deleted from group "${group}"`);
|
|
774
|
+
return void callback();
|
|
775
|
+
});
|
|
776
|
+
}
|
|
777
|
+
else if (command === 'add') {
|
|
778
|
+
try {
|
|
779
|
+
await users.addGroup(group);
|
|
780
|
+
console.log(`Group "${group}" was created`);
|
|
781
|
+
return void callback();
|
|
782
|
+
}
|
|
783
|
+
catch {
|
|
784
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
else if (command === 'del' || command === 'delete') {
|
|
788
|
+
users.delGroup(group, (err) => {
|
|
789
|
+
if (err) {
|
|
790
|
+
console.error(err);
|
|
791
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
792
|
+
}
|
|
793
|
+
console.log(`Group "${group}" was deleted`);
|
|
794
|
+
return void callback();
|
|
795
|
+
});
|
|
796
|
+
}
|
|
797
|
+
else if (command === 'list' || command === 'l') {
|
|
798
|
+
users.getGroup(group, (err, isEnabled, members) => {
|
|
799
|
+
if (err) {
|
|
800
|
+
console.error(err);
|
|
801
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
802
|
+
}
|
|
803
|
+
console.log(`Group "${group}" is ${isEnabled ? 'enabled' : 'disabled'} and has following members:`);
|
|
804
|
+
if (members) {
|
|
805
|
+
for (const member of members) {
|
|
806
|
+
console.log(member.substring('system.user.'.length));
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
return void callback();
|
|
810
|
+
});
|
|
811
|
+
}
|
|
812
|
+
else if (command === 'enable' || command === 'e') {
|
|
813
|
+
users.enableGroup(group, true, (err) => {
|
|
814
|
+
if (err) {
|
|
815
|
+
console.error(err);
|
|
816
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
817
|
+
}
|
|
818
|
+
console.log(`Group "${group}" was successfully enabled.`);
|
|
819
|
+
return void callback();
|
|
820
|
+
});
|
|
821
|
+
}
|
|
822
|
+
else if (command === 'disable' || command === 'd') {
|
|
823
|
+
users.enableGroup(group, false, (err) => {
|
|
824
|
+
if (err) {
|
|
825
|
+
console.error(err);
|
|
826
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
827
|
+
}
|
|
828
|
+
console.log(`Group "${group}" was successfully disabled.`);
|
|
829
|
+
return void callback();
|
|
830
|
+
});
|
|
831
|
+
}
|
|
832
|
+
else if (command === 'get') {
|
|
833
|
+
users.getGroup(group, (err, isEnabled) => {
|
|
834
|
+
if (err) {
|
|
835
|
+
console.error(err);
|
|
836
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
837
|
+
}
|
|
838
|
+
console.log(`Group "${group}" is ${isEnabled ? 'enabled' : 'disabled'}`);
|
|
839
|
+
return void callback();
|
|
840
|
+
});
|
|
841
|
+
}
|
|
842
|
+
else {
|
|
843
|
+
console.warn(`Unknown command "${command}". Available commands are: add, del, passwd, enable, disable, list, get`);
|
|
844
|
+
return void callback(EXIT_CODES.INVALID_ARGUMENTS);
|
|
845
|
+
}
|
|
846
|
+
});
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
849
|
+
* @param options Command execution options
|
|
850
|
+
*/
|
|
851
|
+
export function processCommandAddUser(options) {
|
|
852
|
+
const { args, params, callback } = options;
|
|
853
|
+
const user = args[0];
|
|
854
|
+
const group = params.ingroup || 'system.group.administrator';
|
|
855
|
+
const password = params.password;
|
|
856
|
+
dbConnect(params, ({ objects }) => {
|
|
857
|
+
const users = new Users({
|
|
858
|
+
objects,
|
|
859
|
+
processExit: callback,
|
|
860
|
+
});
|
|
861
|
+
users.addUserPrompt(user, group, password, (err) => {
|
|
862
|
+
if (err) {
|
|
863
|
+
console.error(err);
|
|
864
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
865
|
+
}
|
|
866
|
+
console.log(`User "${user}" created (Group: ${group.replace('system.group.', '')})`);
|
|
867
|
+
return void callback();
|
|
868
|
+
});
|
|
869
|
+
});
|
|
870
|
+
}
|
|
871
|
+
/**
|
|
872
|
+
* @param options Command execution options
|
|
873
|
+
*/
|
|
874
|
+
export function processCommandPassword(options) {
|
|
875
|
+
const { args, params, callback } = options;
|
|
876
|
+
const user = args[0];
|
|
877
|
+
const password = params.password;
|
|
878
|
+
dbConnect(params, ({ objects }) => {
|
|
879
|
+
const users = new Users({
|
|
880
|
+
objects,
|
|
881
|
+
processExit: callback,
|
|
882
|
+
});
|
|
883
|
+
users
|
|
884
|
+
.setUserPassword(user, password, (err) => {
|
|
885
|
+
if (err) {
|
|
886
|
+
console.error(err);
|
|
887
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
888
|
+
}
|
|
889
|
+
console.log(`Password for "${user}" was successfully set.`);
|
|
890
|
+
return void callback();
|
|
891
|
+
})
|
|
892
|
+
.catch(e => console.error(`Cannot set password: ${e.message}`));
|
|
893
|
+
});
|
|
894
|
+
}
|
|
895
|
+
/**
|
|
896
|
+
* @param options Command execution options
|
|
897
|
+
*/
|
|
898
|
+
export function processCommandUserDel(options) {
|
|
899
|
+
const { args, params, callback } = options;
|
|
900
|
+
const user = args[0];
|
|
901
|
+
dbConnect(params, ({ objects }) => {
|
|
902
|
+
const users = new Users({
|
|
903
|
+
objects,
|
|
904
|
+
processExit: callback,
|
|
905
|
+
});
|
|
906
|
+
users.delUser(user, (err) => {
|
|
907
|
+
if (err) {
|
|
908
|
+
console.error(err);
|
|
909
|
+
return void callback(EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
|
|
910
|
+
}
|
|
911
|
+
console.log(`User "${user}" deleted`);
|
|
912
|
+
return void callback();
|
|
913
|
+
});
|
|
914
|
+
});
|
|
915
|
+
}
|
|
584
916
|
//# sourceMappingURL=setupUsers.js.map
|