@protontech/drive-sdk 0.5.0 → 0.6.0

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 (206) hide show
  1. package/dist/diagnostic/{sdkDiagnosticFull.d.ts → diagnostic.d.ts} +5 -4
  2. package/dist/diagnostic/{sdkDiagnosticFull.js → diagnostic.js} +13 -10
  3. package/dist/diagnostic/diagnostic.js.map +1 -0
  4. package/dist/diagnostic/index.js +2 -4
  5. package/dist/diagnostic/index.js.map +1 -1
  6. package/dist/diagnostic/interface.d.ts +22 -1
  7. package/dist/diagnostic/sdkDiagnostic.d.ts +3 -2
  8. package/dist/diagnostic/sdkDiagnostic.js +79 -7
  9. package/dist/diagnostic/sdkDiagnostic.js.map +1 -1
  10. package/dist/interface/index.d.ts +2 -2
  11. package/dist/interface/index.js.map +1 -1
  12. package/dist/interface/nodes.d.ts +9 -0
  13. package/dist/interface/telemetry.d.ts +4 -1
  14. package/dist/interface/telemetry.js.map +1 -1
  15. package/dist/interface/upload.d.ts +1 -12
  16. package/dist/internal/apiService/driveTypes.d.ts +2571 -2356
  17. package/dist/internal/download/controller.d.ts +2 -0
  18. package/dist/internal/download/controller.js +15 -1
  19. package/dist/internal/download/controller.js.map +1 -1
  20. package/dist/internal/download/fileDownloader.js +6 -1
  21. package/dist/internal/download/fileDownloader.js.map +1 -1
  22. package/dist/internal/nodes/apiService.d.ts +11 -1
  23. package/dist/internal/nodes/apiService.js +47 -13
  24. package/dist/internal/nodes/apiService.js.map +1 -1
  25. package/dist/internal/nodes/apiService.test.js +61 -3
  26. package/dist/internal/nodes/apiService.test.js.map +1 -1
  27. package/dist/internal/nodes/cryptoService.d.ts +4 -0
  28. package/dist/internal/nodes/cryptoService.js +6 -0
  29. package/dist/internal/nodes/cryptoService.js.map +1 -1
  30. package/dist/internal/nodes/debouncer.d.ts +3 -2
  31. package/dist/internal/nodes/debouncer.js +16 -4
  32. package/dist/internal/nodes/debouncer.js.map +1 -1
  33. package/dist/internal/nodes/debouncer.test.js +20 -12
  34. package/dist/internal/nodes/debouncer.test.js.map +1 -1
  35. package/dist/internal/nodes/extendedAttributes.js +2 -2
  36. package/dist/internal/nodes/extendedAttributes.js.map +1 -1
  37. package/dist/internal/nodes/index.d.ts +1 -1
  38. package/dist/internal/nodes/index.js +3 -3
  39. package/dist/internal/nodes/index.js.map +1 -1
  40. package/dist/internal/nodes/index.test.js +1 -1
  41. package/dist/internal/nodes/index.test.js.map +1 -1
  42. package/dist/internal/nodes/nodeName.d.ts +8 -0
  43. package/dist/internal/nodes/nodeName.js +30 -0
  44. package/dist/internal/nodes/nodeName.js.map +1 -0
  45. package/dist/internal/nodes/nodeName.test.d.ts +1 -0
  46. package/dist/internal/nodes/nodeName.test.js +50 -0
  47. package/dist/internal/nodes/nodeName.test.js.map +1 -0
  48. package/dist/internal/nodes/nodesAccess.d.ts +5 -4
  49. package/dist/internal/nodes/nodesAccess.js +6 -5
  50. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  51. package/dist/internal/nodes/nodesAccess.test.js +17 -5
  52. package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
  53. package/dist/internal/nodes/nodesManagement.d.ts +3 -2
  54. package/dist/internal/nodes/nodesManagement.js +35 -4
  55. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  56. package/dist/internal/nodes/nodesManagement.test.js +64 -1
  57. package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
  58. package/dist/internal/photos/apiService.js +9 -20
  59. package/dist/internal/photos/apiService.js.map +1 -1
  60. package/dist/internal/photos/index.d.ts +2 -0
  61. package/dist/internal/photos/index.js +4 -0
  62. package/dist/internal/photos/index.js.map +1 -1
  63. package/dist/internal/photos/upload.js +7 -1
  64. package/dist/internal/photos/upload.js.map +1 -1
  65. package/dist/internal/shares/index.d.ts +1 -0
  66. package/dist/internal/shares/index.js +3 -0
  67. package/dist/internal/shares/index.js.map +1 -1
  68. package/dist/internal/shares/interface.d.ts +8 -0
  69. package/dist/internal/shares/interface.js +10 -1
  70. package/dist/internal/shares/interface.js.map +1 -1
  71. package/dist/internal/sharing/apiService.d.ts +4 -2
  72. package/dist/internal/sharing/apiService.js +18 -14
  73. package/dist/internal/sharing/apiService.js.map +1 -1
  74. package/dist/internal/sharing/index.d.ts +2 -1
  75. package/dist/internal/sharing/index.js +6 -2
  76. package/dist/internal/sharing/index.js.map +1 -1
  77. package/dist/internal/sharing/sharingManagement.d.ts +4 -1
  78. package/dist/internal/sharing/sharingManagement.js +7 -4
  79. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  80. package/dist/internal/sharingPublic/apiService.d.ts +8 -10
  81. package/dist/internal/sharingPublic/apiService.js +9 -63
  82. package/dist/internal/sharingPublic/apiService.js.map +1 -1
  83. package/dist/internal/sharingPublic/index.d.ts +3 -3
  84. package/dist/internal/sharingPublic/index.js +7 -12
  85. package/dist/internal/sharingPublic/index.js.map +1 -1
  86. package/dist/internal/sharingPublic/nodes.d.ts +13 -8
  87. package/dist/internal/sharingPublic/nodes.js +20 -2
  88. package/dist/internal/sharingPublic/nodes.js.map +1 -1
  89. package/dist/internal/sharingPublic/session/apiService.d.ts +7 -5
  90. package/dist/internal/sharingPublic/session/apiService.js +25 -4
  91. package/dist/internal/sharingPublic/session/apiService.js.map +1 -1
  92. package/dist/internal/sharingPublic/session/interface.d.ts +17 -0
  93. package/dist/internal/sharingPublic/session/manager.d.ts +12 -4
  94. package/dist/internal/sharingPublic/session/manager.js +14 -4
  95. package/dist/internal/sharingPublic/session/manager.js.map +1 -1
  96. package/dist/internal/sharingPublic/session/session.d.ts +5 -2
  97. package/dist/internal/sharingPublic/session/session.js +7 -3
  98. package/dist/internal/sharingPublic/session/session.js.map +1 -1
  99. package/dist/internal/sharingPublic/shares.d.ts +3 -10
  100. package/dist/internal/sharingPublic/shares.js +10 -33
  101. package/dist/internal/sharingPublic/shares.js.map +1 -1
  102. package/dist/internal/upload/apiService.d.ts +0 -9
  103. package/dist/internal/upload/apiService.js +0 -16
  104. package/dist/internal/upload/apiService.js.map +1 -1
  105. package/dist/internal/upload/controller.d.ts +3 -1
  106. package/dist/internal/upload/controller.js +16 -2
  107. package/dist/internal/upload/controller.js.map +1 -1
  108. package/dist/internal/upload/cryptoService.d.ts +0 -4
  109. package/dist/internal/upload/cryptoService.js +0 -6
  110. package/dist/internal/upload/cryptoService.js.map +1 -1
  111. package/dist/internal/upload/fileUploader.d.ts +0 -1
  112. package/dist/internal/upload/fileUploader.js +2 -6
  113. package/dist/internal/upload/fileUploader.js.map +1 -1
  114. package/dist/internal/upload/manager.d.ts +0 -1
  115. package/dist/internal/upload/manager.js +0 -51
  116. package/dist/internal/upload/manager.js.map +1 -1
  117. package/dist/internal/upload/manager.test.js +0 -61
  118. package/dist/internal/upload/manager.test.js.map +1 -1
  119. package/dist/internal/upload/streamUploader.d.ts +4 -3
  120. package/dist/internal/upload/streamUploader.js +61 -18
  121. package/dist/internal/upload/streamUploader.js.map +1 -1
  122. package/dist/internal/upload/streamUploader.test.js +38 -12
  123. package/dist/internal/upload/streamUploader.test.js.map +1 -1
  124. package/dist/protonDriveClient.d.ts +24 -4
  125. package/dist/protonDriveClient.js +26 -7
  126. package/dist/protonDriveClient.js.map +1 -1
  127. package/dist/protonDrivePhotosClient.d.ts +100 -4
  128. package/dist/protonDrivePhotosClient.js +160 -9
  129. package/dist/protonDrivePhotosClient.js.map +1 -1
  130. package/dist/protonDrivePublicLinkClient.d.ts +4 -3
  131. package/dist/protonDrivePublicLinkClient.js +2 -2
  132. package/dist/protonDrivePublicLinkClient.js.map +1 -1
  133. package/dist/tests/telemetry.d.ts +4 -2
  134. package/dist/tests/telemetry.js +3 -1
  135. package/dist/tests/telemetry.js.map +1 -1
  136. package/dist/transformers.d.ts +3 -2
  137. package/dist/transformers.js +6 -0
  138. package/dist/transformers.js.map +1 -1
  139. package/package.json +1 -1
  140. package/src/diagnostic/{sdkDiagnosticFull.ts → diagnostic.ts} +10 -6
  141. package/src/diagnostic/index.ts +3 -5
  142. package/src/diagnostic/interface.ts +39 -0
  143. package/src/diagnostic/sdkDiagnostic.ts +110 -9
  144. package/src/interface/index.ts +2 -1
  145. package/src/interface/nodes.ts +3 -0
  146. package/src/interface/telemetry.ts +5 -0
  147. package/src/interface/upload.ts +1 -13
  148. package/src/internal/apiService/driveTypes.ts +2698 -2529
  149. package/src/internal/download/controller.ts +13 -1
  150. package/src/internal/download/fileDownloader.ts +8 -1
  151. package/src/internal/nodes/apiService.test.ts +65 -1
  152. package/src/internal/nodes/apiService.ts +80 -17
  153. package/src/internal/nodes/cryptoService.ts +9 -0
  154. package/src/internal/nodes/debouncer.test.ts +25 -13
  155. package/src/internal/nodes/debouncer.ts +20 -4
  156. package/src/internal/nodes/extendedAttributes.ts +2 -2
  157. package/src/internal/nodes/index.test.ts +1 -0
  158. package/src/internal/nodes/index.ts +3 -9
  159. package/src/internal/nodes/nodeName.test.ts +57 -0
  160. package/src/internal/nodes/nodeName.ts +26 -0
  161. package/src/internal/nodes/nodesAccess.test.ts +17 -5
  162. package/src/internal/nodes/nodesAccess.ts +15 -5
  163. package/src/internal/nodes/nodesManagement.test.ts +68 -1
  164. package/src/internal/nodes/nodesManagement.ts +54 -6
  165. package/src/internal/photos/apiService.ts +12 -29
  166. package/src/internal/photos/index.ts +4 -0
  167. package/src/internal/photos/upload.ts +19 -1
  168. package/src/internal/shares/index.ts +1 -0
  169. package/src/internal/shares/interface.ts +9 -0
  170. package/src/internal/sharing/apiService.ts +17 -14
  171. package/src/internal/sharing/index.ts +7 -1
  172. package/src/internal/sharing/sharingManagement.ts +7 -4
  173. package/src/internal/sharingPublic/apiService.ts +23 -77
  174. package/src/internal/sharingPublic/index.ts +13 -11
  175. package/src/internal/sharingPublic/nodes.ts +33 -11
  176. package/src/internal/sharingPublic/session/apiService.ts +31 -9
  177. package/src/internal/sharingPublic/session/interface.ts +20 -0
  178. package/src/internal/sharingPublic/session/manager.ts +31 -8
  179. package/src/internal/sharingPublic/session/session.ts +10 -5
  180. package/src/internal/sharingPublic/shares.ts +7 -43
  181. package/src/internal/upload/apiService.ts +0 -39
  182. package/src/internal/upload/controller.ts +16 -4
  183. package/src/internal/upload/cryptoService.ts +0 -9
  184. package/src/internal/upload/fileUploader.ts +2 -7
  185. package/src/internal/upload/manager.test.ts +0 -65
  186. package/src/internal/upload/manager.ts +0 -64
  187. package/src/internal/upload/streamUploader.test.ts +46 -14
  188. package/src/internal/upload/streamUploader.ts +74 -21
  189. package/src/protonDriveClient.ts +46 -9
  190. package/src/protonDrivePhotosClient.ts +193 -8
  191. package/src/protonDrivePublicLinkClient.ts +7 -4
  192. package/src/tests/telemetry.ts +6 -3
  193. package/src/transformers.ts +8 -0
  194. package/dist/diagnostic/sdkDiagnosticFull.js.map +0 -1
  195. package/dist/internal/sharingPublic/cryptoCache.d.ts +0 -15
  196. package/dist/internal/sharingPublic/cryptoCache.js +0 -44
  197. package/dist/internal/sharingPublic/cryptoCache.js.map +0 -1
  198. package/dist/internal/sharingPublic/cryptoService.d.ts +0 -8
  199. package/dist/internal/sharingPublic/cryptoService.js +0 -19
  200. package/dist/internal/sharingPublic/cryptoService.js.map +0 -1
  201. package/dist/internal/sharingPublic/interface.d.ts +0 -5
  202. package/dist/internal/sharingPublic/interface.js +0 -3
  203. package/dist/internal/sharingPublic/interface.js.map +0 -1
  204. package/src/internal/sharingPublic/cryptoCache.ts +0 -45
  205. package/src/internal/sharingPublic/cryptoService.ts +0 -22
  206. package/src/internal/sharingPublic/interface.ts +0 -5
@@ -36,16 +36,16 @@ class ProtonDrivePhotosClient {
36
36
  if (!telemetry) {
37
37
  telemetry = new telemetry_1.Telemetry();
38
38
  }
39
- this.logger = telemetry.getLogger('interface');
39
+ this.logger = telemetry.getLogger('photos-interface');
40
40
  const fullConfig = (0, config_1.getConfig)(config);
41
41
  this.sdkEvents = new sdkEvents_1.SDKEvents(telemetry);
42
42
  const cryptoModule = new crypto_1.DriveCrypto(openPGPCryptoModule, srpModule);
43
43
  const apiService = new apiService_1.DriveAPIService(telemetry, this.sdkEvents, httpClient, fullConfig.baseUrl, fullConfig.language);
44
44
  const coreShares = (0, shares_1.initSharesModule)(telemetry, apiService, entitiesCache, cryptoCache, account, cryptoModule);
45
45
  this.photoShares = (0, photos_1.initPhotoSharesModule)(telemetry, apiService, entitiesCache, cryptoCache, account, cryptoModule, coreShares);
46
- this.nodes = (0, nodes_1.initNodesModule)(telemetry, apiService, entitiesCache, cryptoCache, account, cryptoModule, this.photoShares);
46
+ this.nodes = (0, nodes_1.initNodesModule)(telemetry, apiService, entitiesCache, cryptoCache, account, cryptoModule, this.photoShares, fullConfig.clientUid);
47
47
  this.photos = (0, photos_1.initPhotosModule)(apiService, this.photoShares, this.nodes.access);
48
- this.sharing = (0, sharing_1.initSharingModule)(telemetry, apiService, entitiesCache, account, cryptoModule, this.photoShares, this.nodes.access);
48
+ this.sharing = (0, sharing_1.initSharingModule)(telemetry, apiService, entitiesCache, account, cryptoModule, this.photoShares, this.nodes.access, photos_1.PHOTOS_SHARE_TARGET_TYPES);
49
49
  this.download = (0, download_1.initDownloadModule)(telemetry, apiService, cryptoModule, account, this.photoShares, this.nodes.access, this.nodes.revisions);
50
50
  this.upload = (0, photos_1.initPhotoUploadModule)(telemetry, apiService, cryptoModule, this.photoShares, this.nodes.access, fullConfig.clientUid);
51
51
  // These are used to keep the internal cache up to date
@@ -105,6 +105,15 @@ class ProtonDrivePhotosClient {
105
105
  // TODO: expose better type
106
106
  yield* this.photos.timeline.iterateTimeline(signal);
107
107
  }
108
+ /**
109
+ * Iterates the trashed nodes.
110
+ *
111
+ * See `ProtonDriveClient.iterateTrashedNodes` for more information.
112
+ */
113
+ async *iterateTrashedNodes(signal) {
114
+ this.logger.info('Iterating trashed nodes');
115
+ yield* (0, transformers_1.convertInternalNodeIterator)(this.nodes.access.iterateTrashedNodes(signal));
116
+ }
108
117
  /**
109
118
  * Iterates the nodes by their UIDs.
110
119
  *
@@ -125,14 +134,146 @@ class ProtonDrivePhotosClient {
125
134
  return (0, transformers_1.convertInternalNodePromise)(this.nodes.access.getNode((0, transformers_1.getUid)(nodeUid)));
126
135
  }
127
136
  /**
128
- * Iterates the albums.
137
+ * Rename the node.
129
138
  *
130
- * The output is not sorted and the order of the nodes is not guaranteed.
139
+ * See `ProtonDriveClient.renameNode` for more information.
131
140
  */
132
- async *iterateAlbums(signal) {
133
- this.logger.info('Iterating albums');
134
- // TODO: expose album type
135
- yield* (0, transformers_1.convertInternalNodeIterator)(this.photos.albums.iterateAlbums(signal));
141
+ async renameNode(nodeUid, newName) {
142
+ this.logger.info(`Renaming node ${(0, transformers_1.getUid)(nodeUid)}`);
143
+ return (0, transformers_1.convertInternalNodePromise)(this.nodes.management.renameNode((0, transformers_1.getUid)(nodeUid), newName));
144
+ }
145
+ /**
146
+ * Trash the nodes.
147
+ *
148
+ * See `ProtonDriveClient.trashNodes` for more information.
149
+ */
150
+ async *trashNodes(nodeUids, signal) {
151
+ this.logger.info(`Trashing ${nodeUids.length} nodes`);
152
+ yield* this.nodes.management.trashNodes((0, transformers_1.getUids)(nodeUids), signal);
153
+ }
154
+ /**
155
+ * Restore the nodes from the trash to their original place.
156
+ *
157
+ * See `ProtonDriveClient.restoreNodes` for more information.
158
+ */
159
+ async *restoreNodes(nodeUids, signal) {
160
+ this.logger.info(`Restoring ${nodeUids.length} nodes`);
161
+ yield* this.nodes.management.restoreNodes((0, transformers_1.getUids)(nodeUids), signal);
162
+ }
163
+ /**
164
+ * Delete the nodes permanently.
165
+ *
166
+ * See `ProtonDriveClient.deleteNodes` for more information.
167
+ */
168
+ async *deleteNodes(nodeUids, signal) {
169
+ this.logger.info(`Deleting ${nodeUids.length} nodes`);
170
+ yield* this.nodes.management.deleteNodes((0, transformers_1.getUids)(nodeUids), signal);
171
+ }
172
+ /**
173
+ * Empty the trash.
174
+ *
175
+ * See `ProtonDriveClient.emptyTrash` for more information.
176
+ */
177
+ async emptyTrash() {
178
+ this.logger.info('Emptying trash');
179
+ throw new Error('Method not implemented');
180
+ }
181
+ /**
182
+ * Iterates the nodes shared by the user.
183
+ *
184
+ * See `ProtonDriveClient.iterateSharedNodes` for more information.
185
+ */
186
+ async *iterateSharedNodes(signal) {
187
+ this.logger.info('Iterating shared nodes by me');
188
+ yield* (0, transformers_1.convertInternalNodeIterator)(this.sharing.access.iterateSharedNodes(signal));
189
+ }
190
+ /**
191
+ * Iterates the nodes shared with the user.
192
+ *
193
+ * See `ProtonDriveClient.iterateSharedNodesWithMe` for more information.
194
+ */
195
+ async *iterateSharedNodesWithMe(signal) {
196
+ this.logger.info('Iterating shared nodes with me');
197
+ for await (const node of this.sharing.access.iterateSharedNodesWithMe(signal)) {
198
+ yield (0, transformers_1.convertInternalNode)(node);
199
+ }
200
+ }
201
+ /**
202
+ * Leave shared node that was previously shared with the user.
203
+ *
204
+ * See `ProtonDriveClient.leaveSharedNode` for more information.
205
+ */
206
+ async leaveSharedNode(nodeUid) {
207
+ this.logger.info(`Leaving shared node with me ${(0, transformers_1.getUid)(nodeUid)}`);
208
+ await this.sharing.access.removeSharedNodeWithMe((0, transformers_1.getUid)(nodeUid));
209
+ }
210
+ /**
211
+ * Iterates the invitations to shared nodes.
212
+ *
213
+ * See `ProtonDriveClient.iterateInvitations` for more information.
214
+ */
215
+ async *iterateInvitations(signal) {
216
+ this.logger.info('Iterating invitations');
217
+ yield* this.sharing.access.iterateInvitations(signal);
218
+ }
219
+ /**
220
+ * Accept the invitation to the shared node.
221
+ *
222
+ * See `ProtonDriveClient.acceptInvitation` for more information.
223
+ */
224
+ async acceptInvitation(invitationUid) {
225
+ this.logger.info(`Accepting invitation ${(0, transformers_1.getUid)(invitationUid)}`);
226
+ await this.sharing.access.acceptInvitation((0, transformers_1.getUid)(invitationUid));
227
+ }
228
+ /**
229
+ * Reject the invitation to the shared node.
230
+ *
231
+ * See `ProtonDriveClient.rejectInvitation` for more information.
232
+ */
233
+ async rejectInvitation(invitationUid) {
234
+ this.logger.info(`Rejecting invitation ${(0, transformers_1.getUid)(invitationUid)}`);
235
+ await this.sharing.access.rejectInvitation((0, transformers_1.getUid)(invitationUid));
236
+ }
237
+ /**
238
+ * Get sharing info of the node.
239
+ *
240
+ * See `ProtonDriveClient.getSharingInfo` for more information.
241
+ */
242
+ async getSharingInfo(nodeUid) {
243
+ this.logger.info(`Getting sharing info for ${(0, transformers_1.getUid)(nodeUid)}`);
244
+ return this.sharing.management.getSharingInfo((0, transformers_1.getUid)(nodeUid));
245
+ }
246
+ /**
247
+ * Share or update sharing of the node.
248
+ *
249
+ * See `ProtonDriveClient.shareNode` for more information.
250
+ */
251
+ async shareNode(nodeUid, settings) {
252
+ this.logger.info(`Sharing node ${(0, transformers_1.getUid)(nodeUid)}`);
253
+ return this.sharing.management.shareNode((0, transformers_1.getUid)(nodeUid), settings);
254
+ }
255
+ /**
256
+ * Unshare the node, completely or partially.
257
+ *
258
+ * See `ProtonDriveClient.unshareNode` for more information.
259
+ */
260
+ async unshareNode(nodeUid, settings) {
261
+ if (!settings) {
262
+ this.logger.info(`Unsharing node ${(0, transformers_1.getUid)(nodeUid)}`);
263
+ }
264
+ else {
265
+ this.logger.info(`Partially unsharing ${(0, transformers_1.getUid)(nodeUid)}`);
266
+ }
267
+ return this.sharing.management.unshareNode((0, transformers_1.getUid)(nodeUid), settings);
268
+ }
269
+ /**
270
+ * Resend the invitation email to shared node.
271
+ *
272
+ * See `ProtonDriveClient.resendInvitation` for more information.
273
+ */
274
+ async resendInvitation(nodeUid, invitationUid) {
275
+ this.logger.info(`Resending invitation ${(0, transformers_1.getUid)(invitationUid)}`);
276
+ return this.sharing.management.resendInvitationEmail((0, transformers_1.getUid)(nodeUid), (0, transformers_1.getUid)(invitationUid));
136
277
  }
137
278
  /**
138
279
  * Get the file downloader to download the node content.
@@ -162,6 +303,16 @@ class ProtonDrivePhotosClient {
162
303
  const parentFolderUid = await this.nodes.access.getVolumeRootFolder();
163
304
  return this.upload.getFileUploader((0, transformers_1.getUid)(parentFolderUid), name, metadata, signal);
164
305
  }
306
+ /**
307
+ * Iterates the albums.
308
+ *
309
+ * The output is not sorted and the order of the nodes is not guaranteed.
310
+ */
311
+ async *iterateAlbums(signal) {
312
+ this.logger.info('Iterating albums');
313
+ // TODO: expose album type
314
+ yield* (0, transformers_1.convertInternalNodeIterator)(this.photos.albums.iterateAlbums(signal));
315
+ }
165
316
  }
166
317
  exports.ProtonDrivePhotosClient = ProtonDrivePhotosClient;
167
318
  //# sourceMappingURL=protonDrivePhotosClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protonDrivePhotosClient.js","sourceRoot":"","sources":["../src/protonDrivePhotosClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protonDrivePhotosClient.js","sourceRoot":"","sources":["../src/protonDrivePhotosClient.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { OpenPGPCrypto, SRPModule, SessionKey } from './crypto';
1
+ import { OpenPGPCrypto, PrivateKey, SRPModule, SessionKey } from './crypto';
2
2
  import { ProtonDriveHTTPClient, ProtonDriveTelemetry, ProtonDriveConfig, NodeOrUid, ProtonDriveAccount, MaybeNode, NodeType, MaybeMissingNode, FileDownloader, ThumbnailType, ThumbnailResult } from './interface';
3
3
  /**
4
4
  * ProtonDrivePublicLinkClient is the interface for the public link client.
@@ -34,7 +34,7 @@ export declare class ProtonDrivePublicLinkClient {
34
34
  */
35
35
  getDocsKey: (nodeUid: NodeOrUid) => Promise<SessionKey>;
36
36
  };
37
- constructor({ httpClient, account, openPGPCryptoModule, srpModule, config, telemetry, url, token, password, }: {
37
+ constructor({ httpClient, account, openPGPCryptoModule, srpModule, config, telemetry, url, token, publicShareKey, publicRootNodeUid, }: {
38
38
  httpClient: ProtonDriveHTTPClient;
39
39
  account: ProtonDriveAccount;
40
40
  openPGPCryptoModule: OpenPGPCrypto;
@@ -43,7 +43,8 @@ export declare class ProtonDrivePublicLinkClient {
43
43
  telemetry?: ProtonDriveTelemetry;
44
44
  url: string;
45
45
  token: string;
46
- password: string;
46
+ publicShareKey: PrivateKey;
47
+ publicRootNodeUid: string;
47
48
  });
48
49
  /**
49
50
  * @returns The root folder to the public link.
@@ -29,7 +29,7 @@ class ProtonDrivePublicLinkClient {
29
29
  sharingPublic;
30
30
  download;
31
31
  experimental;
32
- constructor({ httpClient, account, openPGPCryptoModule, srpModule, config, telemetry, url, token, password, }) {
32
+ constructor({ httpClient, account, openPGPCryptoModule, srpModule, config, telemetry, url, token, publicShareKey, publicRootNodeUid, }) {
33
33
  if (!telemetry) {
34
34
  telemetry = new telemetry_1.Telemetry();
35
35
  }
@@ -41,7 +41,7 @@ class ProtonDrivePublicLinkClient {
41
41
  this.sdkEvents = new sdkEvents_1.SDKEvents(telemetry);
42
42
  const apiService = new apiService_1.DriveAPIService(telemetry, this.sdkEvents, httpClient, fullConfig.baseUrl, fullConfig.language);
43
43
  const cryptoModule = new crypto_1.DriveCrypto(openPGPCryptoModule, srpModule);
44
- this.sharingPublic = (0, sharingPublic_1.initSharingPublicModule)(telemetry, apiService, entitiesCache, cryptoCache, cryptoModule, account, url, token, password);
44
+ this.sharingPublic = (0, sharingPublic_1.initSharingPublicModule)(telemetry, apiService, entitiesCache, cryptoCache, cryptoModule, account, url, token, publicShareKey, publicRootNodeUid);
45
45
  this.download = (0, download_1.initDownloadModule)(telemetry, apiService, cryptoModule, account, this.sharingPublic.shares, this.sharingPublic.nodes.access, this.sharingPublic.nodes.revisions);
46
46
  this.experimental = {
47
47
  getNodeUrl: async (nodeUid) => {
@@ -1 +1 @@
1
- {"version":3,"file":"protonDrivePublicLinkClient.js","sourceRoot":"","sources":["../src/protonDrivePublicLinkClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protonDrivePublicLinkClient.js","sourceRoot":"","sources":["../src/protonDrivePublicLinkClient.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AACtC,qCAAqC;AACrC,qCAAyF;AAgBzF,2CAAwC;AACxC,iDAMwB;AACxB,sDAAwD;AACxD,kDAAyD;AACzD,oDAAiD;AACjD,4DAAmE;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAa,2BAA2B;IAC5B,MAAM,CAAS;IACf,SAAS,CAAY;IACrB,aAAa,CAA6C;IAC1D,QAAQ,CAAwC;IAEjD,YAAY,CAejB;IAEF,YAAY,EACR,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,SAAS,EACT,MAAM,EACN,SAAS,EACT,GAAG,EACH,KAAK,EACL,cAAc,EACd,iBAAiB,GAYpB;QACG,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE/C,sGAAsG;QACtG,MAAM,aAAa,GAAG,IAAI,mBAAW,EAAU,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,mBAAW,EAAwB,CAAC;QAE5D,MAAM,UAAU,GAAG,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,4BAAe,CAClC,SAAS,EACT,IAAI,CAAC,SAAS,EACd,UAAU,EACV,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,QAAQ,CACtB,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,oBAAW,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,GAAG,IAAA,uCAAuB,EACxC,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,OAAO,EACP,GAAG,EACH,KAAK,EACL,cAAc,EACd,iBAAiB,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAA,6BAAkB,EAC9B,SAAS,EACT,UAAU,EACV,YAAY,EACZ,OAAO,EACP,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAC/B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CACrC,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG;YAChB,UAAU,EAAE,KAAK,EAAE,OAAkB,EAAE,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,OAAkB,EAAE,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,CAAC,CAAC;gBAChF,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBAC3E,CAAC;gBACD,OAAO,IAAI,CAAC,0BAA0B,CAAC;YAC3C,CAAC;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC1E,OAAO,IAAA,yCAA0B,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,qBAAqB,CACxB,SAAoB,EACpB,aAAmC,EACnC,MAAoB;QAEpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAA,qBAAM,EAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,CAAC,IAAA,0CAA2B,EAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAA,qBAAM,EAAC,SAAS,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAClG,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,YAAY,CAAC,QAAqB,EAAE,MAAoB;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC;QACvD,KAAK,CAAC,CAAC,IAAA,iDAAkC,EACrC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAA,sBAAO,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAC1E,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,OAAkB;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,IAAA,yCAA0B,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAkB,EAAE,MAAoB;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,iBAAiB,CACpB,QAAqB,EACrB,aAA6B,EAC7B,MAAoB;QAEpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;QAC5D,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAA,sBAAO,EAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;CACJ;AA9KD,kEA8KC"}
@@ -1,2 +1,4 @@
1
- import { ProtonDriveTelemetry } from '../interface';
2
- export declare function getMockTelemetry(): ProtonDriveTelemetry;
1
+ import { Logger, ProtonDriveTelemetry } from '../interface';
2
+ export declare function getMockTelemetry(): ProtonDriveTelemetry & {
3
+ mockLogger: Logger;
4
+ };
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMockTelemetry = getMockTelemetry;
4
4
  const logger_1 = require("./logger");
5
5
  function getMockTelemetry() {
6
+ const mockLogger = (0, logger_1.getMockLogger)();
6
7
  return {
7
- getLogger: logger_1.getMockLogger,
8
+ mockLogger,
9
+ getLogger: () => mockLogger,
8
10
  recordMetric: jest.fn(),
9
11
  };
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/tests/telemetry.ts"],"names":[],"mappings":";;AAGA,4CAKC;AAPD,qCAAyC;AAEzC,SAAgB,gBAAgB;IAC5B,OAAO;QACH,SAAS,EAAE,sBAAa;QACxB,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;KAC1B,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/tests/telemetry.ts"],"names":[],"mappings":";;AAGA,4CAQC;AAVD,qCAAyC;AAEzC,SAAgB,gBAAgB;IAC5B,MAAM,UAAU,GAAG,IAAA,sBAAa,GAAE,CAAC;IAEnC,OAAO;QACH,UAAU;QACV,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;KAC1B,CAAC;AACN,CAAC"}
@@ -1,5 +1,5 @@
1
- import { MaybeNode as PublicMaybeNode, MaybeMissingNode as PublicMaybeMissingNode, Result, MissingNode } from './interface';
2
- import { DecryptedNode as InternalNode } from './internal/nodes';
1
+ import { MaybeNode as PublicMaybeNode, MaybeMissingNode as PublicMaybeMissingNode, Revision as PublicRevision, Result, MissingNode } from './interface';
2
+ import { DecryptedNode as InternalNode, DecryptedRevision as InternalRevision } from './internal/nodes';
3
3
  type InternalPartialNode = Pick<InternalNode, 'uid' | 'parentUid' | 'name' | 'keyAuthor' | 'nameAuthor' | 'directRole' | 'membership' | 'type' | 'mediaType' | 'isShared' | 'isSharedPublicly' | 'creationTime' | 'trashTime' | 'activeRevision' | 'folder' | 'totalStorageSize' | 'errors' | 'shareId' | 'treeEventScopeId'>;
4
4
  type NodeUid = string | {
5
5
  uid: string;
@@ -14,4 +14,5 @@ export declare function convertInternalNodeIterator(nodeIterator: AsyncGenerator
14
14
  export declare function convertInternalMissingNodeIterator(nodeIterator: AsyncGenerator<InternalPartialNode | MissingNode>): AsyncGenerator<PublicMaybeMissingNode>;
15
15
  export declare function convertInternalNodePromise(nodePromise: Promise<InternalPartialNode>): Promise<PublicMaybeNode>;
16
16
  export declare function convertInternalNode(node: InternalPartialNode): PublicMaybeNode;
17
+ export declare function convertInternalRevisionIterator(revisionIterator: AsyncGenerator<InternalRevision>): AsyncGenerator<PublicRevision>;
17
18
  export {};
@@ -6,6 +6,7 @@ exports.convertInternalNodeIterator = convertInternalNodeIterator;
6
6
  exports.convertInternalMissingNodeIterator = convertInternalMissingNodeIterator;
7
7
  exports.convertInternalNodePromise = convertInternalNodePromise;
8
8
  exports.convertInternalNode = convertInternalNode;
9
+ exports.convertInternalRevisionIterator = convertInternalRevisionIterator;
9
10
  const interface_1 = require("./interface");
10
11
  function getUid(nodeUid) {
11
12
  if (typeof nodeUid === 'string') {
@@ -80,6 +81,11 @@ function convertInternalNode(node) {
80
81
  activeRevision: activeRevision?.ok ? convertInternalRevision(activeRevision.value) : undefined,
81
82
  });
82
83
  }
84
+ async function* convertInternalRevisionIterator(revisionIterator) {
85
+ for await (const revision of revisionIterator) {
86
+ yield convertInternalRevision(revision);
87
+ }
88
+ }
83
89
  function convertInternalRevision(revision) {
84
90
  return {
85
91
  uid: revision.uid,
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":";;AAsCA,wBAaC;AAED,0BAEC;AAED,kEAMC;AAED,gFAUC;AAED,gEAGC;AAED,kDAuCC;AAED,0EAMC;AAjID,2CAUqB;AA4BrB,SAAgB,MAAM,CAAC,OAAgB;IACnC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,oEAAoE;IACpE,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,GAAG,CAAC;IACvB,CAAC;IACD,2DAA2D;IAC3D,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7B,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,CAAC;AAED,SAAgB,OAAO,CAAC,QAAmB;IACvC,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAEM,KAAK,SAAS,CAAC,CAAC,2BAA2B,CAC9C,YAAiD;IAEjD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;AACL,CAAC;AAEM,KAAK,SAAS,CAAC,CAAC,kCAAkC,CACrD,YAA+D;IAE/D,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACpC,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAA,uBAAW,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAAC,WAAyC;IACtF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;IAC/B,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAyB;IACzD,MAAM,gBAAgB,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,iBAAiB,EAAE,IAAI,CAAC,OAAO;QAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KAC1C,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAE3C,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5E,OAAO,IAAA,uBAAW,EAAC;YACf,GAAG,gBAAgB;YACnB,IAAI;YACJ,cAAc,EAAE,cAAc,EAAE,EAAE;gBAC9B,CAAC,CAAC,IAAA,oBAAQ,EAAC,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACzD,CAAC,CAAC,cAAc;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;SACA,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,IAAA,oBAAQ,EAAC;QACZ,GAAG,gBAAgB;QACnB,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,cAAc,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7E,CAAC,CAAC;AAC3B,CAAC;AAEM,KAAK,SAAS,CAAC,CAAC,+BAA+B,CAClD,gBAAkD;IAElD,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QAC5C,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,QAA0B;IACvD,OAAO;QACH,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;QACzD,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB;KAChE,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@protontech/drive-sdk",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Proton Drive SDK",
5
5
  "license": "GPL-3.0",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,8 @@
1
1
  import { MaybeNode } from '../interface';
2
+ import { ProtonDriveClient } from '../protonDriveClient';
2
3
  import { DiagnosticHTTPClient } from './httpClient';
3
- import { Diagnostic, DiagnosticOptions, DiagnosticResult } from './interface';
4
+ import { DiagnosticOptions, DiagnosticResult } from './interface';
5
+ import { SDKDiagnostic } from './sdkDiagnostic';
4
6
  import { DiagnosticTelemetry } from './telemetry';
5
7
  import { zipGenerators } from './zipGenerators';
6
8
 
@@ -8,23 +10,25 @@ import { zipGenerators } from './zipGenerators';
8
10
  * Diagnostic tool that produces full diagnostic, including logs and metrics
9
11
  * by reading the events from the telemetry and HTTP client.
10
12
  */
11
- export class FullSDKDiagnostic implements Diagnostic {
13
+ export class Diagnostic {
12
14
  constructor(
13
- private diagnostic: Diagnostic,
14
15
  private telemetry: DiagnosticTelemetry,
15
16
  private httpClient: DiagnosticHTTPClient,
17
+ private protonDriveClient: ProtonDriveClient,
16
18
  ) {
17
- this.diagnostic = diagnostic;
18
19
  this.telemetry = telemetry;
19
20
  this.httpClient = httpClient;
21
+ this.protonDriveClient = protonDriveClient;
20
22
  }
21
23
 
22
24
  async *verifyMyFiles(options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
23
- yield* this.yieldEvents(this.diagnostic.verifyMyFiles(options));
25
+ const diagnostic = new SDKDiagnostic(this.protonDriveClient);
26
+ yield* this.yieldEvents(diagnostic.verifyMyFiles(options));
24
27
  }
25
28
 
26
29
  async *verifyNodeTree(node: MaybeNode, options?: DiagnosticOptions): AsyncGenerator<DiagnosticResult> {
27
- yield* this.yieldEvents(this.diagnostic.verifyNodeTree(node, options));
30
+ const diagnostic = new SDKDiagnostic(this.protonDriveClient);
31
+ yield* this.yieldEvents(diagnostic.verifyNodeTree(node, options));
28
32
  }
29
33
 
30
34
  private async *yieldEvents(generator: AsyncGenerator<DiagnosticResult>): AsyncGenerator<DiagnosticResult> {
@@ -1,10 +1,9 @@
1
1
  import { MemoryCache, NullCache } from '../cache';
2
2
  import { ProtonDriveClientContructorParameters } from '../interface';
3
3
  import { ProtonDriveClient } from '../protonDriveClient';
4
- import { DiagnosticHTTPClient } from './httpClient';
4
+ import { Diagnostic as DiagnosticClass } from './diagnostic';
5
5
  import { Diagnostic } from './interface';
6
- import { SDKDiagnostic } from './sdkDiagnostic';
7
- import { FullSDKDiagnostic } from './sdkDiagnosticFull';
6
+ import { DiagnosticHTTPClient } from './httpClient';
8
7
  import { DiagnosticTelemetry } from './telemetry';
9
8
 
10
9
  export type { Diagnostic, DiagnosticResult } from './interface';
@@ -35,6 +34,5 @@ export function initDiagnostic(
35
34
  telemetry,
36
35
  });
37
36
 
38
- const diagnostic = new SDKDiagnostic(protonDriveClient);
39
- return new FullSDKDiagnostic(diagnostic, telemetry, httpClient);
37
+ return new DiagnosticClass(telemetry, httpClient, protonDriveClient);
40
38
  }
@@ -9,6 +9,15 @@ export interface Diagnostic {
9
9
  export type DiagnosticOptions = {
10
10
  verifyContent?: boolean;
11
11
  verifyThumbnails?: boolean;
12
+ expectedStructure?: ExcpectedTreeNode;
13
+ };
14
+
15
+ // Tree structure of the expected node tree.
16
+ export type ExcpectedTreeNode = {
17
+ name: string;
18
+ expectedSha1?: string;
19
+ expectedSizeInBytes?: number;
20
+ children?: ExcpectedTreeNode[];
12
21
  };
13
22
 
14
23
  export type DiagnosticResult =
@@ -23,6 +32,9 @@ export type DiagnosticResult =
23
32
  | ContentIntegrityErrorResult
24
33
  | ContentDownloadErrorResult
25
34
  | ThumbnailsErrorResult
35
+ | ExpectedStructureMissingNode
36
+ | ExpectedStructureUnexpectedNode
37
+ | ExpectedStructureIntegrityError
26
38
  | LogErrorResult
27
39
  | LogWarningResult
28
40
  | MetricResult;
@@ -121,6 +133,33 @@ export type ThumbnailsErrorResult = {
121
133
  error: unknown;
122
134
  } & NodeDetails;
123
135
 
136
+ // Event representing that expected node is missing.
137
+ // This will be reported for any node that is not found compared to
138
+ // the expected structure.
139
+ export type ExpectedStructureMissingNode = {
140
+ type: 'expected_structure_missing_node';
141
+ expectedNode: ExcpectedTreeNode;
142
+ parentNodeUid: string;
143
+ };
144
+
145
+ // Event representing that unexpected node is present.
146
+ // This will be reported for any node that is found in the actual structure
147
+ // but is not defined in the expected structure.
148
+ export type ExpectedStructureUnexpectedNode = {
149
+ type: 'expected_structure_unexpected_node';
150
+ } & NodeDetails;
151
+
152
+ // Event representing that expected node is not matching the actual node.
153
+ // This will be reported when claimed and expected values are different.
154
+ // It doesn't check the real content - use content verification to verify
155
+ // the claimed values with the real content.
156
+ export type ExpectedStructureIntegrityError = {
157
+ type: 'expected_structure_integrity_error';
158
+ expectedNode: ExcpectedTreeNode;
159
+ claimedSha1?: string;
160
+ claimedSizeInBytes?: number;
161
+ } & NodeDetails;
162
+
124
163
  // Event representing errors logged during the diagnostic.
125
164
  export type LogErrorResult = {
126
165
  type: 'log_error';