@iobroker/js-controller-cli 7.2.3 → 8.0.0-alpha.2-20260923-99da17fcc

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.
Files changed (225) hide show
  1. package/build/cjs/index.js +3 -3
  2. package/build/cjs/lib/_Types.d.ts +8 -1
  3. package/build/cjs/lib/cli/cliCert.d.ts +7 -4
  4. package/build/cjs/lib/cli/cliCert.js +10 -6
  5. package/build/cjs/lib/cli/cliCert.js.map +2 -2
  6. package/build/cjs/lib/cli/cliCommand.d.ts +63 -15
  7. package/build/cjs/lib/cli/cliCommand.js +8 -1
  8. package/build/cjs/lib/cli/cliCommand.js.map +2 -2
  9. package/build/cjs/lib/cli/cliCompact.d.ts +5 -2
  10. package/build/cjs/lib/cli/cliCompact.js +9 -2
  11. package/build/cjs/lib/cli/cliCompact.js.map +2 -2
  12. package/build/cjs/lib/cli/cliDebug.d.ts +5 -2
  13. package/build/cjs/lib/cli/cliDebug.js +8 -1
  14. package/build/cjs/lib/cli/cliDebug.js.map +2 -2
  15. package/build/cjs/lib/cli/cliHost.d.ts +13 -10
  16. package/build/cjs/lib/cli/cliHost.js +13 -5
  17. package/build/cjs/lib/cli/cliHost.js.map +2 -2
  18. package/build/cjs/lib/cli/cliLogs.d.ts +9 -3
  19. package/build/cjs/lib/cli/cliLogs.js +12 -1
  20. package/build/cjs/lib/cli/cliLogs.js.map +2 -2
  21. package/build/cjs/lib/cli/cliMessage.d.ts +2 -1
  22. package/build/cjs/lib/cli/cliMessage.js +5 -0
  23. package/build/cjs/lib/cli/cliMessage.js.map +2 -2
  24. package/build/cjs/lib/cli/cliObjects.d.ts +21 -18
  25. package/build/cjs/lib/cli/cliObjects.js +51 -33
  26. package/build/cjs/lib/cli/cliObjects.js.map +2 -2
  27. package/build/cjs/lib/cli/cliPlugin.d.ts +3 -3
  28. package/build/cjs/lib/cli/cliPlugin.js +6 -0
  29. package/build/cjs/lib/cli/cliPlugin.js.map +2 -2
  30. package/build/cjs/lib/cli/cliProcess.d.ts +17 -7
  31. package/build/cjs/lib/cli/cliProcess.js +77 -24
  32. package/build/cjs/lib/cli/cliProcess.js.map +3 -3
  33. package/build/cjs/lib/cli/cliStates.d.ts +7 -4
  34. package/build/cjs/lib/cli/cliStates.js +14 -6
  35. package/build/cjs/lib/cli/cliStates.js.map +2 -2
  36. package/build/cjs/lib/cli/cliTools.js +11 -0
  37. package/build/cjs/lib/cli/cliTools.js.map +1 -1
  38. package/build/cjs/lib/cli/messages.js +47 -46
  39. package/build/cjs/lib/cli/messages.js.map +1 -1
  40. package/build/cjs/lib/progressBar.d.ts +59 -0
  41. package/build/cjs/lib/progressBar.js +115 -0
  42. package/build/cjs/lib/progressBar.js.map +7 -0
  43. package/build/cjs/lib/setup/customError.d.ts +4 -0
  44. package/build/cjs/lib/setup/customError.js +7 -0
  45. package/build/cjs/lib/setup/customError.js.map +2 -2
  46. package/build/cjs/lib/setup/dbConnection.js +69 -64
  47. package/build/cjs/lib/setup/dbConnection.js.map +3 -3
  48. package/build/cjs/lib/setup/formatters.d.ts +4 -4
  49. package/build/cjs/lib/setup/formatters.js +5 -0
  50. package/build/cjs/lib/setup/formatters.js.map +2 -2
  51. package/build/cjs/lib/setup/multihostClient.js +6 -2
  52. package/build/cjs/lib/setup/multihostClient.js.map +1 -1
  53. package/build/cjs/lib/setup/pluginInfos.d.ts +5 -0
  54. package/build/cjs/lib/setup/pluginInfos.js +2 -0
  55. package/build/cjs/lib/setup/pluginInfos.js.map +2 -2
  56. package/build/cjs/lib/setup/setupBackup.d.ts +53 -0
  57. package/build/cjs/lib/setup/setupBackup.js +125 -14
  58. package/build/cjs/lib/setup/setupBackup.js.map +3 -3
  59. package/build/cjs/lib/setup/setupInstall.d.ts +66 -15
  60. package/build/cjs/lib/setup/setupInstall.js +282 -28
  61. package/build/cjs/lib/setup/setupInstall.js.map +2 -2
  62. package/build/cjs/lib/setup/setupLicense.d.ts +13 -0
  63. package/build/cjs/lib/setup/setupLicense.js +33 -2
  64. package/build/cjs/lib/setup/setupLicense.js.map +2 -2
  65. package/build/cjs/lib/setup/setupList.d.ts +55 -1
  66. package/build/cjs/lib/setup/setupList.js +78 -24
  67. package/build/cjs/lib/setup/setupList.js.map +3 -3
  68. package/build/cjs/lib/setup/setupMultihost.d.ts +7 -0
  69. package/build/cjs/lib/setup/setupMultihost.js +78 -11
  70. package/build/cjs/lib/setup/setupMultihost.js.map +3 -3
  71. package/build/cjs/lib/setup/setupPacketManager.d.ts +10 -0
  72. package/build/cjs/lib/setup/setupPacketManager.js +16 -6
  73. package/build/cjs/lib/setup/setupPacketManager.js.map +2 -2
  74. package/build/cjs/lib/setup/setupRepo.d.ts +19 -0
  75. package/build/cjs/lib/setup/setupRepo.js +141 -13
  76. package/build/cjs/lib/setup/setupRepo.js.map +2 -2
  77. package/build/cjs/lib/setup/setupSetup.d.ts +34 -0
  78. package/build/cjs/lib/setup/setupSetup.js +209 -35
  79. package/build/cjs/lib/setup/setupSetup.js.map +3 -3
  80. package/build/cjs/lib/setup/setupUpgrade.d.ts +13 -2
  81. package/build/cjs/lib/setup/setupUpgrade.js +72 -12
  82. package/build/cjs/lib/setup/setupUpgrade.js.map +2 -2
  83. package/build/cjs/lib/setup/setupUpload.d.ts +77 -1
  84. package/build/cjs/lib/setup/setupUpload.js +152 -9
  85. package/build/cjs/lib/setup/setupUpload.js.map +2 -2
  86. package/build/cjs/lib/setup/setupUsers.d.ts +44 -14
  87. package/build/cjs/lib/setup/setupUsers.js +330 -17
  88. package/build/cjs/lib/setup/setupUsers.js.map +2 -2
  89. package/build/cjs/lib/setup/setupVendor.d.ts +14 -1
  90. package/build/cjs/lib/setup/setupVendor.js +40 -8
  91. package/build/cjs/lib/setup/setupVendor.js.map +2 -2
  92. package/build/cjs/lib/setup/setupVisDebug.d.ts +16 -2
  93. package/build/cjs/lib/setup/setupVisDebug.js +41 -17
  94. package/build/cjs/lib/setup/setupVisDebug.js.map +3 -3
  95. package/build/cjs/lib/setup/utils.d.ts +1 -1
  96. package/build/cjs/lib/setup/utils.js +13 -9
  97. package/build/cjs/lib/setup/utils.js.map +3 -3
  98. package/build/cjs/lib/setup.d.ts +1 -1
  99. package/build/cjs/lib/setup.js +858 -1758
  100. package/build/cjs/lib/setup.js.map +3 -3
  101. package/build/esm/lib/_Types.d.ts +8 -1
  102. package/build/esm/lib/_Types.d.ts.map +1 -1
  103. package/build/esm/lib/cli/cliCert.d.ts +7 -4
  104. package/build/esm/lib/cli/cliCert.d.ts.map +1 -1
  105. package/build/esm/lib/cli/cliCert.js +6 -6
  106. package/build/esm/lib/cli/cliCert.js.map +1 -1
  107. package/build/esm/lib/cli/cliCommand.d.ts +63 -15
  108. package/build/esm/lib/cli/cliCommand.d.ts.map +1 -1
  109. package/build/esm/lib/cli/cliCommand.js +4 -1
  110. package/build/esm/lib/cli/cliCommand.js.map +1 -1
  111. package/build/esm/lib/cli/cliCompact.d.ts +5 -2
  112. package/build/esm/lib/cli/cliCompact.d.ts.map +1 -1
  113. package/build/esm/lib/cli/cliCompact.js +5 -2
  114. package/build/esm/lib/cli/cliCompact.js.map +1 -1
  115. package/build/esm/lib/cli/cliDebug.d.ts +5 -2
  116. package/build/esm/lib/cli/cliDebug.d.ts.map +1 -1
  117. package/build/esm/lib/cli/cliDebug.js +4 -1
  118. package/build/esm/lib/cli/cliDebug.js.map +1 -1
  119. package/build/esm/lib/cli/cliHost.d.ts +13 -10
  120. package/build/esm/lib/cli/cliHost.d.ts.map +1 -1
  121. package/build/esm/lib/cli/cliHost.js +8 -5
  122. package/build/esm/lib/cli/cliHost.js.map +1 -1
  123. package/build/esm/lib/cli/cliLogs.d.ts +9 -3
  124. package/build/esm/lib/cli/cliLogs.d.ts.map +1 -1
  125. package/build/esm/lib/cli/cliLogs.js +8 -1
  126. package/build/esm/lib/cli/cliLogs.js.map +1 -1
  127. package/build/esm/lib/cli/cliMessage.d.ts +2 -1
  128. package/build/esm/lib/cli/cliMessage.d.ts.map +1 -1
  129. package/build/esm/lib/cli/cliMessage.js +1 -0
  130. package/build/esm/lib/cli/cliMessage.js.map +1 -1
  131. package/build/esm/lib/cli/cliObjects.d.ts +21 -18
  132. package/build/esm/lib/cli/cliObjects.d.ts.map +1 -1
  133. package/build/esm/lib/cli/cliObjects.js +44 -38
  134. package/build/esm/lib/cli/cliObjects.js.map +1 -1
  135. package/build/esm/lib/cli/cliPlugin.d.ts +3 -3
  136. package/build/esm/lib/cli/cliPlugin.d.ts.map +1 -1
  137. package/build/esm/lib/cli/cliPlugin.js +1 -1
  138. package/build/esm/lib/cli/cliPlugin.js.map +1 -1
  139. package/build/esm/lib/cli/cliProcess.d.ts +17 -7
  140. package/build/esm/lib/cli/cliProcess.d.ts.map +1 -1
  141. package/build/esm/lib/cli/cliProcess.js +73 -12
  142. package/build/esm/lib/cli/cliProcess.js.map +1 -1
  143. package/build/esm/lib/cli/cliStates.d.ts +7 -4
  144. package/build/esm/lib/cli/cliStates.d.ts.map +1 -1
  145. package/build/esm/lib/cli/cliStates.js +6 -2
  146. package/build/esm/lib/cli/cliStates.js.map +1 -1
  147. package/build/esm/lib/progressBar.d.ts +59 -0
  148. package/build/esm/lib/progressBar.d.ts.map +1 -0
  149. package/build/esm/lib/progressBar.js +104 -0
  150. package/build/esm/lib/progressBar.js.map +1 -0
  151. package/build/esm/lib/setup/customError.d.ts +4 -0
  152. package/build/esm/lib/setup/customError.d.ts.map +1 -1
  153. package/build/esm/lib/setup/customError.js +3 -0
  154. package/build/esm/lib/setup/customError.js.map +1 -1
  155. package/build/esm/lib/setup/dbConnection.d.ts.map +1 -1
  156. package/build/esm/lib/setup/dbConnection.js +10 -13
  157. package/build/esm/lib/setup/dbConnection.js.map +1 -1
  158. package/build/esm/lib/setup/formatters.d.ts +4 -4
  159. package/build/esm/lib/setup/formatters.js +4 -4
  160. package/build/esm/lib/setup/pluginInfos.d.ts +5 -0
  161. package/build/esm/lib/setup/pluginInfos.d.ts.map +1 -1
  162. package/build/esm/lib/setup/pluginInfos.js +5 -0
  163. package/build/esm/lib/setup/pluginInfos.js.map +1 -1
  164. package/build/esm/lib/setup/setupBackup.d.ts +53 -0
  165. package/build/esm/lib/setup/setupBackup.d.ts.map +1 -1
  166. package/build/esm/lib/setup/setupBackup.js +132 -13
  167. package/build/esm/lib/setup/setupBackup.js.map +1 -1
  168. package/build/esm/lib/setup/setupInstall.d.ts +66 -15
  169. package/build/esm/lib/setup/setupInstall.d.ts.map +1 -1
  170. package/build/esm/lib/setup/setupInstall.js +309 -23
  171. package/build/esm/lib/setup/setupInstall.js.map +1 -1
  172. package/build/esm/lib/setup/setupLicense.d.ts +13 -0
  173. package/build/esm/lib/setup/setupLicense.d.ts.map +1 -1
  174. package/build/esm/lib/setup/setupLicense.js +31 -1
  175. package/build/esm/lib/setup/setupLicense.js.map +1 -1
  176. package/build/esm/lib/setup/setupList.d.ts +55 -1
  177. package/build/esm/lib/setup/setupList.d.ts.map +1 -1
  178. package/build/esm/lib/setup/setupList.js +61 -8
  179. package/build/esm/lib/setup/setupList.js.map +1 -1
  180. package/build/esm/lib/setup/setupMultihost.d.ts +7 -0
  181. package/build/esm/lib/setup/setupMultihost.d.ts.map +1 -1
  182. package/build/esm/lib/setup/setupMultihost.js +85 -6
  183. package/build/esm/lib/setup/setupMultihost.js.map +1 -1
  184. package/build/esm/lib/setup/setupPacketManager.d.ts +10 -0
  185. package/build/esm/lib/setup/setupPacketManager.d.ts.map +1 -1
  186. package/build/esm/lib/setup/setupPacketManager.js +9 -0
  187. package/build/esm/lib/setup/setupPacketManager.js.map +1 -1
  188. package/build/esm/lib/setup/setupRepo.d.ts +19 -0
  189. package/build/esm/lib/setup/setupRepo.d.ts.map +1 -1
  190. package/build/esm/lib/setup/setupRepo.js +164 -14
  191. package/build/esm/lib/setup/setupRepo.js.map +1 -1
  192. package/build/esm/lib/setup/setupSetup.d.ts +34 -0
  193. package/build/esm/lib/setup/setupSetup.d.ts.map +1 -1
  194. package/build/esm/lib/setup/setupSetup.js +218 -21
  195. package/build/esm/lib/setup/setupSetup.js.map +1 -1
  196. package/build/esm/lib/setup/setupUpgrade.d.ts +13 -2
  197. package/build/esm/lib/setup/setupUpgrade.d.ts.map +1 -1
  198. package/build/esm/lib/setup/setupUpgrade.js +70 -6
  199. package/build/esm/lib/setup/setupUpgrade.js.map +1 -1
  200. package/build/esm/lib/setup/setupUpload.d.ts +77 -1
  201. package/build/esm/lib/setup/setupUpload.d.ts.map +1 -1
  202. package/build/esm/lib/setup/setupUpload.js +164 -7
  203. package/build/esm/lib/setup/setupUpload.js.map +1 -1
  204. package/build/esm/lib/setup/setupUsers.d.ts +44 -14
  205. package/build/esm/lib/setup/setupUsers.d.ts.map +1 -1
  206. package/build/esm/lib/setup/setupUsers.js +346 -14
  207. package/build/esm/lib/setup/setupUsers.js.map +1 -1
  208. package/build/esm/lib/setup/setupVendor.d.ts +14 -1
  209. package/build/esm/lib/setup/setupVendor.d.ts.map +1 -1
  210. package/build/esm/lib/setup/setupVendor.js +33 -2
  211. package/build/esm/lib/setup/setupVendor.js.map +1 -1
  212. package/build/esm/lib/setup/setupVisDebug.d.ts +16 -2
  213. package/build/esm/lib/setup/setupVisDebug.d.ts.map +1 -1
  214. package/build/esm/lib/setup/setupVisDebug.js +39 -14
  215. package/build/esm/lib/setup/setupVisDebug.js.map +1 -1
  216. package/build/esm/lib/setup/utils.d.ts +1 -1
  217. package/build/esm/lib/setup/utils.d.ts.map +1 -1
  218. package/build/esm/lib/setup/utils.js +2 -4
  219. package/build/esm/lib/setup/utils.js.map +1 -1
  220. package/build/esm/lib/setup.d.ts +1 -1
  221. package/build/esm/lib/setup.d.ts.map +1 -1
  222. package/build/esm/lib/setup.js +959 -1910
  223. package/build/esm/lib/setup.js.map +1 -1
  224. package/build/tsconfig.build.tsbuildinfo +1 -1
  225. 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
@@ -5,6 +5,7 @@ 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 });
8
9
  var __export = (target, all) => {
9
10
  for (var name in all)
10
11
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -28,14 +29,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
29
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
30
  var setupUsers_exports = {};
30
31
  __export(setupUsers_exports, {
31
- Users: () => Users
32
+ Users: () => Users,
33
+ processCommandAddUser: () => processCommandAddUser,
34
+ processCommandGroup: () => processCommandGroup,
35
+ processCommandPassword: () => processCommandPassword,
36
+ processCommandUser: () => processCommandUser,
37
+ processCommandUserDel: () => processCommandUserDel
32
38
  });
33
39
  module.exports = __toCommonJS(setupUsers_exports);
34
40
  var import_js_controller_common = require("@iobroker/js-controller-common");
35
41
  var import_prompt = __toESM(require("prompt"), 1);
42
+ var import_dbConnection = require("../../lib/setup/dbConnection.js");
36
43
  class Users {
44
+ static {
45
+ __name(this, "Users");
46
+ }
37
47
  objects;
38
48
  processExit;
49
+ /**
50
+ * @param options The objects database client and the process-exit callback
51
+ */
39
52
  constructor(options) {
40
53
  if (!options.objects) {
41
54
  throw new Error("Invalid arguments: objects is missing");
@@ -51,7 +64,7 @@ class Users {
51
64
  *
52
65
  * @param username name of the user which will be added
53
66
  * @param pw password
54
- * @param callback
67
+ * @param callback Called once the user has been added
55
68
  */
56
69
  addUser(username, pw, callback) {
57
70
  const _user = username.replace(/\s/g, "_").toLowerCase();
@@ -97,7 +110,7 @@ class Users {
97
110
  *
98
111
  * @param username name of the user to set password for
99
112
  * @param pw password
100
- * @param callback
113
+ * @param callback Called once the password has been set
101
114
  */
102
115
  setPassword(username, pw, callback) {
103
116
  const _user = username.replace(/\s/g, "_").toLowerCase();
@@ -123,7 +136,7 @@ class Users {
123
136
  *
124
137
  * @param username name of the user to check password
125
138
  * @param pw password
126
- * @param callback
139
+ * @param callback Called with whether the password is correct
127
140
  */
128
141
  checkPassword(username, pw, callback) {
129
142
  const _user = username.replace(/\s/g, "_").toLowerCase();
@@ -140,7 +153,7 @@ class Users {
140
153
  * Deletes user from system
141
154
  *
142
155
  * @param username name of the user to delete
143
- * @param callback
156
+ * @param callback Called once the user has been deleted
144
157
  */
145
158
  delUser(username, callback) {
146
159
  if (!username) {
@@ -193,7 +206,7 @@ class Users {
193
206
  *
194
207
  * @param username user which will be added to the group
195
208
  * @param groupName name of the group where the user will be added to
196
- * @param callback
209
+ * @param callback Called once the user has been added to the group
197
210
  */
198
211
  addUserToGroup(username, groupName, callback) {
199
212
  let _user = username.replace(/\s/g, "_").toLowerCase();
@@ -232,7 +245,7 @@ class Users {
232
245
  * @param username user which sohuld be created
233
246
  * @param groupName default group for the new user
234
247
  * @param password user password
235
- * @param callback
248
+ * @param callback Called once the user has been created
236
249
  */
237
250
  addUserPrompt(username, groupName, password2, callback) {
238
251
  if (!username) {
@@ -306,7 +319,7 @@ class Users {
306
319
  *
307
320
  * @param username name of the user to set password for
308
321
  * @param password password of user
309
- * @param callback
322
+ * @param callback Called once the password has been set
310
323
  */
311
324
  async setUserPassword(username, password2, callback) {
312
325
  if (!username) {
@@ -365,7 +378,7 @@ class Users {
365
378
  *
366
379
  * @param username name of the user which will be activated
367
380
  * @param enable true if it should be enabled else false
368
- * @param callback
381
+ * @param callback Called once the user has been enabled or disabled
369
382
  */
370
383
  enableUser(username, enable, callback) {
371
384
  if (!username) {
@@ -397,7 +410,7 @@ class Users {
397
410
  *
398
411
  * @param username name of the user to check password for
399
412
  * @param password password to check
400
- * @param callback
413
+ * @param callback Called with whether the password is valid
401
414
  */
402
415
  checkUserPassword(username, password2, callback) {
403
416
  if (!username && !password2) {
@@ -463,7 +476,7 @@ class Users {
463
476
  * Get user object
464
477
  *
465
478
  * @param username name of the user to get object of
466
- * @param callback
479
+ * @param callback Called with the user object
467
480
  */
468
481
  getUser(username, callback) {
469
482
  this.objects.getObject(`system.user.${username}`, (err, obj) => {
@@ -480,7 +493,7 @@ class Users {
480
493
  * Get group object
481
494
  *
482
495
  * @param group groupname
483
- * @param callback
496
+ * @param callback Called with the group object
484
497
  */
485
498
  getGroup(group, callback) {
486
499
  this.objects.getObject(`system.group.${group}`, (err, obj) => {
@@ -498,7 +511,7 @@ class Users {
498
511
  *
499
512
  * @param group groupname
500
513
  * @param enable if enable or disable
501
- * @param callback
514
+ * @param callback Called once the group has been enabled or disabled
502
515
  */
503
516
  enableGroup(group, enable, callback) {
504
517
  if (!group) {
@@ -537,11 +550,47 @@ class Users {
537
550
  throw new Error("Group yet exists");
538
551
  } else {
539
552
  await this.objects.setObject(`system.group.${_group}`, {
553
+ _id: `system.group.${_group}`,
540
554
  type: "group",
541
555
  common: {
542
556
  name: group,
543
557
  enabled: true,
544
- members: []
558
+ members: [],
559
+ acl: {
560
+ file: {
561
+ read: false,
562
+ list: false,
563
+ write: false,
564
+ create: false,
565
+ delete: false
566
+ },
567
+ object: {
568
+ read: false,
569
+ list: false,
570
+ write: false,
571
+ create: false,
572
+ delete: false
573
+ },
574
+ users: {
575
+ read: false,
576
+ list: false,
577
+ write: false,
578
+ create: false,
579
+ delete: false
580
+ },
581
+ state: {
582
+ read: false,
583
+ list: false,
584
+ write: false,
585
+ create: false,
586
+ delete: false
587
+ },
588
+ other: {
589
+ execute: false,
590
+ sendto: false,
591
+ http: false
592
+ }
593
+ }
545
594
  },
546
595
  from: `system.host.${import_js_controller_common.tools.getHostName()}.cli`,
547
596
  ts: Date.now(),
@@ -553,7 +602,7 @@ class Users {
553
602
  * Remove group
554
603
  *
555
604
  * @param group groupname
556
- * @param callback
605
+ * @param callback Called once the group has been removed
557
606
  */
558
607
  delGroup(group, callback) {
559
608
  const _group = group.replace(/\s/g, "_");
@@ -574,7 +623,7 @@ class Users {
574
623
  *
575
624
  * @param username name of the user which will be removed from group
576
625
  * @param groupName name of the group user will be removed from
577
- * @param callback
626
+ * @param callback Called once the user has been removed from the group
578
627
  */
579
628
  removeUserFromGroup(username, groupName, callback) {
580
629
  const _group = groupName.replace(/\s/g, "_");
@@ -595,8 +644,272 @@ class Users {
595
644
  });
596
645
  }
597
646
  }
647
+ function processCommandUser(options) {
648
+ const { args, params, callback } = options;
649
+ const command = args[0] || "";
650
+ let user = args[1] || "";
651
+ if (user?.startsWith("system.user.")) {
652
+ user = user.substring("system.user.".length);
653
+ }
654
+ (0, import_dbConnection.dbConnect)(params, ({ objects }) => {
655
+ const users = new Users({
656
+ objects,
657
+ processExit: callback
658
+ });
659
+ const password2 = params.password;
660
+ const group = params.ingroup || "system.group.administrator";
661
+ if (command === "add") {
662
+ users.addUserPrompt(user, group, password2, (err) => {
663
+ if (err) {
664
+ console.error(err);
665
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
666
+ }
667
+ console.log(`User "${user}" created (Group: ${group.replace("system.group.", "")})`);
668
+ return void callback();
669
+ });
670
+ } else if (command === "del" || command === "delete") {
671
+ users.delUser(user, (err) => {
672
+ if (err) {
673
+ console.error(err);
674
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
675
+ }
676
+ console.log(`User "${user}" deleted`);
677
+ return void callback();
678
+ });
679
+ } else if (command === "check") {
680
+ users.checkUserPassword(user, password2, (err) => {
681
+ if (err) {
682
+ console.error(err.message);
683
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
684
+ }
685
+ console.log(`Password for user "${user}" matches.`);
686
+ return void callback();
687
+ });
688
+ } else if (command === "set" || command === "passwd") {
689
+ users.setUserPassword(user, password2, (err) => {
690
+ if (err) {
691
+ console.error(err.message);
692
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
693
+ }
694
+ console.log(`Password for "${user}" was successfully set.`);
695
+ return void callback();
696
+ }).catch((e) => console.error(`Cannot set password: ${e.message}`));
697
+ } else if (command === "enable" || command === "e") {
698
+ users.enableUser(user, true, (err) => {
699
+ if (err) {
700
+ console.error(err.message);
701
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
702
+ }
703
+ console.log(`User "${user}" was successfully enabled.`);
704
+ return void callback();
705
+ });
706
+ } else if (command === "disable" || command === "d") {
707
+ users.enableUser(user, false, (err) => {
708
+ if (err) {
709
+ console.error(err.message);
710
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
711
+ }
712
+ console.log(`User "${user}" was successfully disabled.`);
713
+ return void callback();
714
+ });
715
+ } else if (command === "get") {
716
+ users.getUser(user, (err, isEnabled) => {
717
+ if (err) {
718
+ console.error(err.message);
719
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
720
+ }
721
+ console.log(`User "${user}" is ${isEnabled ? "enabled" : "disabled"}`);
722
+ return void callback();
723
+ });
724
+ } else {
725
+ console.warn(`Unknown command "${command}". Available commands are: add, del, passwd, enable, disable, check, get`);
726
+ return void callback(import_js_controller_common.EXIT_CODES.INVALID_ARGUMENTS);
727
+ }
728
+ });
729
+ }
730
+ __name(processCommandUser, "processCommandUser");
731
+ function processCommandGroup(options) {
732
+ const { args, params, callback } = options;
733
+ const command = args[0] || "";
734
+ let group = args[1] || "";
735
+ let user = args[2] || "";
736
+ if (group?.startsWith("system.group.")) {
737
+ group = group.substring("system.group.".length);
738
+ }
739
+ if (user?.startsWith("system.user.")) {
740
+ user = user.substring("system.user.".length);
741
+ }
742
+ if (!command) {
743
+ console.warn(`Unknown command "${command}". Available commands are: add, del, passwd, enable, disable, list, get`);
744
+ return void callback(import_js_controller_common.EXIT_CODES.INVALID_ARGUMENTS);
745
+ }
746
+ if (!group) {
747
+ console.warn(`Please define group name: group ${command} groupName`);
748
+ return callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
749
+ }
750
+ (0, import_dbConnection.dbConnect)(params, async ({ objects }) => {
751
+ const users = new Users({
752
+ objects,
753
+ processExit: callback
754
+ });
755
+ if (command === "useradd" || command === "adduser") {
756
+ if (!user) {
757
+ console.warn('Please define user name: "group useradd groupName userName"');
758
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
759
+ }
760
+ users.addUserToGroup(user, group, (err) => {
761
+ if (err) {
762
+ console.error(err);
763
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
764
+ }
765
+ console.log(`User "${user}" was added to group "${group}"`);
766
+ return void callback();
767
+ });
768
+ } else if (command === "userdel" || command === "deluser") {
769
+ if (!user) {
770
+ console.warn('Please define user name: "group userdel groupName userName"');
771
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
772
+ }
773
+ users.removeUserFromGroup(user, group, (err) => {
774
+ if (err) {
775
+ console.error(err);
776
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
777
+ }
778
+ console.log(`User "${user}" was deleted from group "${group}"`);
779
+ return void callback();
780
+ });
781
+ } else if (command === "add") {
782
+ try {
783
+ await users.addGroup(group);
784
+ console.log(`Group "${group}" was created`);
785
+ return void callback();
786
+ } catch {
787
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
788
+ }
789
+ } else if (command === "del" || command === "delete") {
790
+ users.delGroup(group, (err) => {
791
+ if (err) {
792
+ console.error(err);
793
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
794
+ }
795
+ console.log(`Group "${group}" was deleted`);
796
+ return void callback();
797
+ });
798
+ } else if (command === "list" || command === "l") {
799
+ users.getGroup(group, (err, isEnabled, members) => {
800
+ if (err) {
801
+ console.error(err);
802
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
803
+ }
804
+ console.log(`Group "${group}" is ${isEnabled ? "enabled" : "disabled"} and has following members:`);
805
+ if (members) {
806
+ for (const member of members) {
807
+ console.log(member.substring("system.user.".length));
808
+ }
809
+ }
810
+ return void callback();
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(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
817
+ }
818
+ console.log(`Group "${group}" was successfully enabled.`);
819
+ return void callback();
820
+ });
821
+ } else if (command === "disable" || command === "d") {
822
+ users.enableGroup(group, false, (err) => {
823
+ if (err) {
824
+ console.error(err);
825
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
826
+ }
827
+ console.log(`Group "${group}" was successfully disabled.`);
828
+ return void callback();
829
+ });
830
+ } else if (command === "get") {
831
+ users.getGroup(group, (err, isEnabled) => {
832
+ if (err) {
833
+ console.error(err);
834
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
835
+ }
836
+ console.log(`Group "${group}" is ${isEnabled ? "enabled" : "disabled"}`);
837
+ return void callback();
838
+ });
839
+ } else {
840
+ console.warn(`Unknown command "${command}". Available commands are: add, del, passwd, enable, disable, list, get`);
841
+ return void callback(import_js_controller_common.EXIT_CODES.INVALID_ARGUMENTS);
842
+ }
843
+ });
844
+ }
845
+ __name(processCommandGroup, "processCommandGroup");
846
+ function processCommandAddUser(options) {
847
+ const { args, params, callback } = options;
848
+ const user = args[0];
849
+ const group = params.ingroup || "system.group.administrator";
850
+ const password2 = params.password;
851
+ (0, import_dbConnection.dbConnect)(params, ({ objects }) => {
852
+ const users = new Users({
853
+ objects,
854
+ processExit: callback
855
+ });
856
+ users.addUserPrompt(user, group, password2, (err) => {
857
+ if (err) {
858
+ console.error(err);
859
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
860
+ }
861
+ console.log(`User "${user}" created (Group: ${group.replace("system.group.", "")})`);
862
+ return void callback();
863
+ });
864
+ });
865
+ }
866
+ __name(processCommandAddUser, "processCommandAddUser");
867
+ function processCommandPassword(options) {
868
+ const { args, params, callback } = options;
869
+ const user = args[0];
870
+ const password2 = params.password;
871
+ (0, import_dbConnection.dbConnect)(params, ({ objects }) => {
872
+ const users = new Users({
873
+ objects,
874
+ processExit: callback
875
+ });
876
+ users.setUserPassword(user, password2, (err) => {
877
+ if (err) {
878
+ console.error(err);
879
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
880
+ }
881
+ console.log(`Password for "${user}" was successfully set.`);
882
+ return void callback();
883
+ }).catch((e) => console.error(`Cannot set password: ${e.message}`));
884
+ });
885
+ }
886
+ __name(processCommandPassword, "processCommandPassword");
887
+ function processCommandUserDel(options) {
888
+ const { args, params, callback } = options;
889
+ const user = args[0];
890
+ (0, import_dbConnection.dbConnect)(params, ({ objects }) => {
891
+ const users = new Users({
892
+ objects,
893
+ processExit: callback
894
+ });
895
+ users.delUser(user, (err) => {
896
+ if (err) {
897
+ console.error(err);
898
+ return void callback(import_js_controller_common.EXIT_CODES.CANNOT_CREATE_USER_OR_GROUP);
899
+ }
900
+ console.log(`User "${user}" deleted`);
901
+ return void callback();
902
+ });
903
+ });
904
+ }
905
+ __name(processCommandUserDel, "processCommandUserDel");
598
906
  // Annotate the CommonJS export names for ESM import in node:
599
907
  0 && (module.exports = {
600
- Users
908
+ Users,
909
+ processCommandAddUser,
910
+ processCommandGroup,
911
+ processCommandPassword,
912
+ processCommandUser,
913
+ processCommandUserDel
601
914
  });
602
915
  //# sourceMappingURL=setupUsers.js.map