@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.
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 +51 -15
  60. package/build/cjs/lib/setup/setupInstall.js +212 -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 +51 -15
  169. package/build/esm/lib/setup/setupInstall.d.ts.map +1 -1
  170. package/build/esm/lib/setup/setupInstall.js +228 -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
@@ -9,8 +9,12 @@
9
9
  import type { Client as StatesRedisClient } from '@iobroker/db-states-redis';
10
10
  import type { Client as ObjectsRedisClient } from '@iobroker/db-objects-redis';
11
11
  import type { InternalLogger } from '@iobroker/js-controller-common-db/tools';
12
+ import type { ProcessCommandOptions } from '../../lib/cli/cliCommand.js';
13
+ /** Options for the upload command */
12
14
  export interface CLIUploadOptions {
15
+ /** The states database client */
13
16
  states: StatesRedisClient;
17
+ /** The objects database client */
14
18
  objects: ObjectsRedisClient;
15
19
  }
16
20
  interface File {
@@ -22,6 +26,9 @@ interface Logger extends InternalLogger {
22
26
  }
23
27
  /** Logger without noisy levels */
24
28
  type MinimalLogger = Omit<Logger, 'info' | 'silly' | 'debug'>;
29
+ /**
30
+ * CLI command to upload adapter files into the objects database
31
+ */
25
32
  export declare class Upload {
26
33
  private readonly states;
27
34
  private readonly objects;
@@ -30,11 +37,42 @@ export declare class Upload {
30
37
  private readonly sendToHostFromCliAsync;
31
38
  private callbacks;
32
39
  private lastProgressUpdate;
40
+ /**
41
+ * @param _options The states and objects database clients
42
+ */
33
43
  constructor(_options: CLIUploadOptions);
44
+ /**
45
+ * Filter the given hosts to those that are currently alive
46
+ *
47
+ * @param hosts The hosts to check
48
+ */
34
49
  checkHostsIfAlive(hosts: string[]): Promise<string[]>;
50
+ /**
51
+ * Get the list of known hosts
52
+ *
53
+ * @param onlyAlive Whether to only return hosts that are currently alive
54
+ */
35
55
  getHosts(onlyAlive: boolean): Promise<string[]>;
56
+ /**
57
+ * Check if some adapters must be restarted because of the given adapter's files and restart them
58
+ *
59
+ * @param adapter The adapter whose dependents should be restarted
60
+ */
36
61
  checkRestartOther(adapter: string): Promise<void>;
62
+ /**
63
+ * Send a message to a host from the CLI
64
+ *
65
+ * @param host The target host id
66
+ * @param command The command to send
67
+ * @param message The message payload
68
+ * @param callback Called with the host's response
69
+ */
37
70
  sendToHostFromCli(host: string, command: string, message: ioBroker.MessagePayload, callback: ioBroker.MessageCallback | null): void;
71
+ /**
72
+ * Upload the files of all given adapters from every host
73
+ *
74
+ * @param adapters The adapters to upload
75
+ */
38
76
  uploadAdapterFullAsync(adapters: string[]): Promise<void>;
39
77
  /**
40
78
  * Uploads a file
@@ -43,7 +81,13 @@ export declare class Upload {
43
81
  * @param target target path
44
82
  */
45
83
  uploadFile(source: string, target: string): Promise<string>;
46
- eraseFiles(files: any[], logger: MinimalLogger | typeof console): Promise<void>;
84
+ /**
85
+ * Delete the given files from the objects database
86
+ *
87
+ * @param files The files to delete
88
+ * @param logger Logger used to report errors
89
+ */
90
+ eraseFiles(files: File[], logger: MinimalLogger | typeof console): Promise<void>;
47
91
  /**
48
92
  * Collect Files of an adapter specific directory from the ioBroker storage
49
93
  *
@@ -55,7 +99,22 @@ export declare class Upload {
55
99
  filesToDelete: File[];
56
100
  dirs: File[];
57
101
  }>;
102
+ /**
103
+ * Upload the files of a single adapter into the objects database
104
+ *
105
+ * @param adapter The adapter whose files are uploaded
106
+ * @param isAdmin Whether the admin files should be uploaded
107
+ * @param files The files to upload
108
+ * @param id The upload state id used to report progress
109
+ * @param logger Logger used to report progress
110
+ */
58
111
  upload(adapter: string, isAdmin: boolean, files: string[], id: string, logger: MinimalLogger | typeof console): Promise<string>;
112
+ /**
113
+ * Recursively collect all file paths below the given directory
114
+ *
115
+ * @param dir The directory to walk
116
+ * @param _results Accumulator of results collected so far
117
+ */
59
118
  walk(dir: string, _results?: string[]): string[];
60
119
  /**
61
120
  * Upload given adapter
@@ -67,7 +126,20 @@ export declare class Upload {
67
126
  * @param _logger logger instance
68
127
  */
69
128
  uploadAdapter(adapter: string, isAdmin: boolean, forceUpload: boolean, subTree?: string, _logger?: MinimalLogger): Promise<string>;
129
+ /**
130
+ * Deep-merge additional values into the native section of an object
131
+ *
132
+ * @param target The target object to extend
133
+ * @param additional The additional values to merge in
134
+ */
70
135
  extendNative(target: Record<string, any>, additional: Record<string, unknown>): Record<string, any>;
136
+ /**
137
+ * Merge additional values into the common section of an instance object, preserving some attributes
138
+ *
139
+ * @param target The target common object to extend
140
+ * @param additional The additional values to merge in
141
+ * @param instance The instance id the common belongs to
142
+ */
71
143
  extendCommon(target: Record<string, any>, additional: Record<string, any>, instance: string): ioBroker.InstanceCommon;
72
144
  /**
73
145
  * Extends the `system.instance.adapter.<instanceNumber>` objects with the native properties from adapters io-package.json
@@ -87,5 +159,9 @@ export declare class Upload {
87
159
  */
88
160
  upgradeAdapterObjects(name: string, ioPack?: ioBroker.AdapterObject, logger?: MinimalLogger | typeof console): Promise<string>;
89
161
  }
162
+ /**
163
+ * @param options The process command options
164
+ */
165
+ export declare function processCommandUpload(options: ProcessCommandOptions): void;
90
166
  export {};
91
167
  //# sourceMappingURL=setupUpload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupUpload.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/setupUpload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupUpload.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/setupUpload.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,18 @@
7
7
  *
8
8
  */
9
9
  import fs from 'fs-extra';
10
- import { tools } from '@iobroker/js-controller-common';
10
+ import { tools, EXIT_CODES } from '@iobroker/js-controller-common';
11
11
  import deepClone from 'deep-clone';
12
12
  import { isDeepStrictEqual } from 'node:util';
13
13
  import axios from 'axios';
14
14
  import mime from 'mime-types';
15
15
  import { join } from 'node:path';
16
+ import { dbConnect } from '../../lib/setup/dbConnection.js';
17
+ import { ProgressBar } from '../../lib/progressBar.js';
16
18
  const hostname = tools.getHostName();
19
+ /**
20
+ * CLI command to upload adapter files into the objects database
21
+ */
17
22
  export class Upload {
18
23
  states;
19
24
  objects;
@@ -22,6 +27,9 @@ export class Upload {
22
27
  sendToHostFromCliAsync;
23
28
  callbacks = {};
24
29
  lastProgressUpdate = Date.now();
30
+ /**
31
+ * @param _options The states and objects database clients
32
+ */
25
33
  constructor(_options) {
26
34
  const options = _options || {};
27
35
  if (!options.states) {
@@ -34,6 +42,11 @@ export class Upload {
34
42
  this.objects = options.objects;
35
43
  this.sendToHostFromCliAsync = tools.promisifyNoError(this.sendToHostFromCli);
36
44
  }
45
+ /**
46
+ * Filter the given hosts to those that are currently alive
47
+ *
48
+ * @param hosts The hosts to check
49
+ */
37
50
  async checkHostsIfAlive(hosts) {
38
51
  const result = [];
39
52
  if (hosts) {
@@ -46,6 +59,11 @@ export class Upload {
46
59
  }
47
60
  return result;
48
61
  }
62
+ /**
63
+ * Get the list of known hosts
64
+ *
65
+ * @param onlyAlive Whether to only return hosts that are currently alive
66
+ */
49
67
  async getHosts(onlyAlive) {
50
68
  const hosts = [];
51
69
  try {
@@ -71,7 +89,11 @@ export class Upload {
71
89
  }
72
90
  return hosts;
73
91
  }
74
- // Check if some adapters must be restarted and restart them
92
+ /**
93
+ * Check if some adapters must be restarted because of the given adapter's files and restart them
94
+ *
95
+ * @param adapter The adapter whose dependents should be restarted
96
+ */
75
97
  async checkRestartOther(adapter) {
76
98
  const adapterDir = tools.getAdapterDir(adapter);
77
99
  if (!adapterDir) {
@@ -118,6 +140,14 @@ export class Upload {
118
140
  console.error(`Cannot parse ${adapterDir}/io-package.json: ${e.message}`);
119
141
  }
120
142
  }
143
+ /**
144
+ * Send a message to a host from the CLI
145
+ *
146
+ * @param host The target host id
147
+ * @param command The command to send
148
+ * @param message The message payload
149
+ * @param callback Called with the host's response
150
+ */
121
151
  sendToHostFromCli(host, command, message, callback) {
122
152
  const time = Date.now();
123
153
  const from = `system.host.${hostname}_cli_${time}`;
@@ -126,7 +156,7 @@ export class Upload {
126
156
  callback();
127
157
  }
128
158
  callback = null;
129
- this.states.unsubscribeMessage(from);
159
+ this.states.unsubscribeMessage(from).catch(e => console.error(`Cannot unsubscribe: ${e.message}`));
130
160
  // @ts-expect-error todo: I don't think this works
131
161
  this.states.onChange = null;
132
162
  }, 60_000);
@@ -141,7 +171,7 @@ export class Upload {
141
171
  callback(msg && msg.message);
142
172
  callback = null;
143
173
  clearTimeout(timeout);
144
- this.states.unsubscribeMessage(from);
174
+ this.states.unsubscribeMessage(from).catch(e => console.error(`Cannot unsubscribe: ${e.message}`));
145
175
  // @ts-expect-error
146
176
  this.states.onChange = null;
147
177
  }
@@ -164,9 +194,14 @@ export class Upload {
164
194
  }
165
195
  this.callbacks[`_${obj.callback.id}`] = { cb: callback };
166
196
  // we cannot receive answers from hosts in CLI, so this command is "fire and forget"
167
- this.states.pushMessage(host, obj);
197
+ this.states.pushMessage(host, obj).catch(e => console.error(`Cannot push message: ${e.message}`));
168
198
  });
169
199
  }
200
+ /**
201
+ * Upload the files of all given adapters from every host
202
+ *
203
+ * @param adapters The adapters to upload
204
+ */
170
205
  async uploadAdapterFullAsync(adapters) {
171
206
  if (adapters?.length) {
172
207
  const liveHosts = await this.getHosts(true);
@@ -278,8 +313,14 @@ export class Upload {
278
313
  }
279
314
  return `${adapter}/${target}`;
280
315
  }
316
+ /**
317
+ * Delete the given files from the objects database
318
+ *
319
+ * @param files The files to delete
320
+ * @param logger Logger used to report errors
321
+ */
281
322
  async eraseFiles(files, logger) {
282
- if (files && files.length) {
323
+ if (files?.length) {
283
324
  for (const file of files) {
284
325
  try {
285
326
  await this.objects.unlinkAsync(file.adapter, file.path);
@@ -336,9 +377,22 @@ export class Upload {
336
377
  }
337
378
  return { filesToDelete: _files, dirs: _dirs };
338
379
  }
380
+ /**
381
+ * Upload the files of a single adapter into the objects database
382
+ *
383
+ * @param adapter The adapter whose files are uploaded
384
+ * @param isAdmin Whether the admin files should be uploaded
385
+ * @param files The files to upload
386
+ * @param id The upload state id used to report progress
387
+ * @param logger Logger used to report progress
388
+ */
339
389
  async upload(adapter, isAdmin, files, id, logger) {
340
390
  const uploadID = `system.adapter.${adapter}.upload`;
341
391
  await this.states.setState(uploadID, { val: 0, ack: true });
392
+ // A bar only makes sense when the output goes to a terminal which can overwrite its own
393
+ // line, and when it goes to the console at all - an upload triggered by the controller
394
+ // writes through a real logger into iobroker.log, where control characters are noise.
395
+ const progress = files.length && logger === console && ProgressBar.isSupported() ? new ProgressBar(id, files.length) : null;
342
396
  for (let f = 0; f < files.length; f++) {
343
397
  const file = files[f];
344
398
  // do not upload '.gitignore' files. Todo: add other exceptions
@@ -354,7 +408,10 @@ export class Upload {
354
408
  let attName = attNameArr.pop();
355
409
  attName = attName.split('/').slice(2).join('/');
356
410
  const remainingFiles = files.length - f - 1;
357
- if (remainingFiles >= 100) {
411
+ if (progress) {
412
+ progress.update(f + 1);
413
+ }
414
+ else if (remainingFiles >= 100) {
358
415
  (!f || !(remainingFiles % 50)) &&
359
416
  logger.log(`upload [${remainingFiles}] ${id} ${file} ${attName} ${mimeType}`);
360
417
  }
@@ -382,9 +439,13 @@ export class Upload {
382
439
  await this.objects.writeFileAsync(id, attName, content, { mimeType: mimeType || undefined });
383
440
  }
384
441
  catch (e) {
442
+ // close the bar's line first, otherwise the message lands inside it and the next
443
+ // redraw overwrites it
444
+ progress?.interrupt();
385
445
  console.error(`Error: Cannot upload ${file}: ${e.message}`);
386
446
  }
387
447
  }
448
+ progress?.finish();
388
449
  // Set upload progress to 0;
389
450
  if (!isAdmin && files.length) {
390
451
  await this.states.setState(uploadID, { val: 0, ack: true });
@@ -392,6 +453,12 @@ export class Upload {
392
453
  return adapter;
393
454
  }
394
455
  // Read synchronous all files recursively from local directory
456
+ /**
457
+ * Recursively collect all file paths below the given directory
458
+ *
459
+ * @param dir The directory to walk
460
+ * @param _results Accumulator of results collected so far
461
+ */
395
462
  walk(dir, _results) {
396
463
  const results = _results || [];
397
464
  try {
@@ -537,6 +604,12 @@ export class Upload {
537
604
  }
538
605
  return adapter;
539
606
  }
607
+ /**
608
+ * Deep-merge additional values into the native section of an object
609
+ *
610
+ * @param target The target object to extend
611
+ * @param additional The additional values to merge in
612
+ */
540
613
  extendNative(target, additional) {
541
614
  if (tools.isObject(additional)) {
542
615
  for (const [attr, attrData] of Object.entries(additional)) {
@@ -558,6 +631,13 @@ export class Upload {
558
631
  }
559
632
  return target;
560
633
  }
634
+ /**
635
+ * Merge additional values into the common section of an instance object, preserving some attributes
636
+ *
637
+ * @param target The target common object to extend
638
+ * @param additional The additional values to merge in
639
+ * @param instance The instance id the common belongs to
640
+ */
561
641
  extendCommon(target, additional, instance) {
562
642
  if (tools.isObject(additional)) {
563
643
  const preserveAttributes = [
@@ -755,4 +835,81 @@ export class Upload {
755
835
  return name;
756
836
  }
757
837
  }
838
+ /**
839
+ * @param options The process command options
840
+ */
841
+ export function processCommandUpload(options) {
842
+ const { args, params, callback } = options;
843
+ const { showHelp } = options.commandOptions;
844
+ const name = args[0];
845
+ const subTree = args[1];
846
+ if (name) {
847
+ dbConnect(params, async ({ objects, states }) => {
848
+ const upload = new Upload({ states, objects });
849
+ if (name === 'all') {
850
+ try {
851
+ const objs = await objects.getObjectListAsync({
852
+ startkey: 'system.adapter.',
853
+ endkey: 'system.adapter.\u9999',
854
+ });
855
+ if (objs) {
856
+ const adapters = [];
857
+ for (const row of objs.rows) {
858
+ if (row.value.type !== 'adapter') {
859
+ continue;
860
+ }
861
+ adapters.push(tools.isObject(row.value.common.name)
862
+ ? row.value.common.name.en
863
+ : row.value.common.name);
864
+ }
865
+ await upload.uploadAdapterFullAsync(adapters);
866
+ }
867
+ callback();
868
+ }
869
+ catch (err) {
870
+ console.error(`Cannot upload all adapters: ${err.message}`);
871
+ return void callback(EXIT_CODES.CANNOT_UPLOAD_DATA);
872
+ }
873
+ }
874
+ else {
875
+ // if upload of file
876
+ if (name.includes('.')) {
877
+ if (!subTree) {
878
+ console.log(`Please specify target name, like:\n${tools.appName} upload /file/picture.png /vis-2.0/main/img/picture.png`);
879
+ return void callback(EXIT_CODES.INVALID_ARGUMENTS);
880
+ }
881
+ try {
882
+ const newName = await upload.uploadFile(name, subTree);
883
+ console.log(`File "${name}" is successfully saved under ${newName}`);
884
+ return void callback();
885
+ }
886
+ catch (err) {
887
+ console.error(`Cannot upload file "${name}": ${err.message}`);
888
+ return void callback(EXIT_CODES.CANNOT_UPLOAD_DATA);
889
+ }
890
+ }
891
+ else {
892
+ try {
893
+ if (subTree) {
894
+ await upload.uploadAdapter(name, false, true, subTree);
895
+ }
896
+ else {
897
+ await upload.uploadAdapterFullAsync([name]);
898
+ }
899
+ return void callback();
900
+ }
901
+ catch (err) {
902
+ console.error(`Cannot upload files "${name}": ${err.message}`);
903
+ return void callback(EXIT_CODES.CANNOT_UPLOAD_DATA);
904
+ }
905
+ }
906
+ }
907
+ });
908
+ }
909
+ else {
910
+ console.log('No adapter name found!');
911
+ showHelp();
912
+ return void callback(EXIT_CODES.INVALID_ADAPTER_ID);
913
+ }
914
+ }
758
915
  //# sourceMappingURL=setupUpload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupUpload.js","sourceRoot":"","sources":["../../../../src/lib/setup/setupUpload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupUpload.js","sourceRoot":"","sources":["../../../../src/lib/setup/setupUpload.ts"],"names":[],"mappings":"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"}