@protontech/drive-sdk 0.1.0 → 0.1.1

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 (447) hide show
  1. package/dist/cache/memoryCache.js +0 -1
  2. package/dist/cache/memoryCache.js.map +1 -1
  3. package/dist/cache/memoryCache.test.js +2 -4
  4. package/dist/cache/memoryCache.test.js.map +1 -1
  5. package/dist/cache/nullCache.js +0 -1
  6. package/dist/cache/nullCache.js.map +1 -1
  7. package/dist/crypto/driveCrypto.d.ts +2 -5
  8. package/dist/crypto/driveCrypto.js +7 -12
  9. package/dist/crypto/driveCrypto.js.map +1 -1
  10. package/dist/crypto/driveCrypto.test.js +14 -14
  11. package/dist/crypto/openPGPCrypto.js +3 -3
  12. package/dist/crypto/openPGPCrypto.js.map +1 -1
  13. package/dist/diagnostic/eventsGenerator.js +1 -1
  14. package/dist/diagnostic/eventsGenerator.js.map +1 -1
  15. package/dist/diagnostic/httpClient.d.ts +1 -1
  16. package/dist/diagnostic/httpClient.js.map +1 -1
  17. package/dist/diagnostic/index.d.ts +3 -3
  18. package/dist/diagnostic/index.js.map +1 -1
  19. package/dist/diagnostic/integrityVerificationStream.js +1 -1
  20. package/dist/diagnostic/integrityVerificationStream.js.map +1 -1
  21. package/dist/diagnostic/interface.d.ts +2 -2
  22. package/dist/diagnostic/sdkDiagnostic.d.ts +3 -3
  23. package/dist/diagnostic/sdkDiagnostic.js +8 -2
  24. package/dist/diagnostic/sdkDiagnostic.js.map +1 -1
  25. package/dist/diagnostic/sdkDiagnosticFull.d.ts +4 -4
  26. package/dist/diagnostic/sdkDiagnosticFull.js.map +1 -1
  27. package/dist/diagnostic/telemetry.js.map +1 -1
  28. package/dist/diagnostic/zipGenerators.js +2 -2
  29. package/dist/diagnostic/zipGenerators.js.map +1 -1
  30. package/dist/diagnostic/zipGenerators.test.js +1 -1
  31. package/dist/diagnostic/zipGenerators.test.js.map +1 -1
  32. package/dist/interface/events.d.ts +2 -4
  33. package/dist/interface/events.js.map +1 -1
  34. package/dist/interface/index.d.ts +5 -5
  35. package/dist/interface/index.js +0 -1
  36. package/dist/interface/index.js.map +1 -1
  37. package/dist/interface/result.js.map +1 -1
  38. package/dist/interface/sharing.d.ts +1 -0
  39. package/dist/interface/sharing.js.map +1 -1
  40. package/dist/interface/telemetry.js +0 -8
  41. package/dist/interface/telemetry.js.map +1 -1
  42. package/dist/interface/thumbnail.js.map +1 -1
  43. package/dist/interface/upload.d.ts +1 -1
  44. package/dist/internal/apiService/apiService.d.ts +1 -1
  45. package/dist/internal/apiService/apiService.js +7 -11
  46. package/dist/internal/apiService/apiService.js.map +1 -1
  47. package/dist/internal/apiService/apiService.test.js +55 -48
  48. package/dist/internal/apiService/apiService.test.js.map +1 -1
  49. package/dist/internal/apiService/coreTypes.d.ts +2356 -2356
  50. package/dist/internal/apiService/driveTypes.d.ts +1680 -1680
  51. package/dist/internal/apiService/errors.js +14 -8
  52. package/dist/internal/apiService/errors.js.map +1 -1
  53. package/dist/internal/apiService/errors.test.js +17 -12
  54. package/dist/internal/apiService/errors.test.js.map +1 -1
  55. package/dist/internal/apiService/transformers.d.ts +1 -1
  56. package/dist/internal/apiService/transformers.js +1 -1
  57. package/dist/internal/asyncIteratorMap.test.js +2 -2
  58. package/dist/internal/asyncIteratorMap.test.js.map +1 -1
  59. package/dist/internal/asyncIteratorRace.d.ts +13 -0
  60. package/dist/internal/asyncIteratorRace.js +59 -0
  61. package/dist/internal/asyncIteratorRace.js.map +1 -0
  62. package/dist/internal/asyncIteratorRace.test.d.ts +1 -0
  63. package/dist/internal/asyncIteratorRace.test.js +119 -0
  64. package/dist/internal/asyncIteratorRace.test.js.map +1 -0
  65. package/dist/internal/batch.d.ts +1 -0
  66. package/dist/internal/batch.js +12 -0
  67. package/dist/internal/batch.js.map +1 -0
  68. package/dist/internal/batch.test.d.ts +1 -0
  69. package/dist/internal/batch.test.js +41 -0
  70. package/dist/internal/batch.test.js.map +1 -0
  71. package/dist/internal/batchLoading.js.map +1 -1
  72. package/dist/internal/batchLoading.test.js +13 -13
  73. package/dist/internal/batchLoading.test.js.map +1 -1
  74. package/dist/internal/devices/apiService.d.ts +3 -3
  75. package/dist/internal/devices/apiService.js +2 -2
  76. package/dist/internal/devices/apiService.js.map +1 -1
  77. package/dist/internal/devices/cryptoService.js +1 -2
  78. package/dist/internal/devices/cryptoService.js.map +1 -1
  79. package/dist/internal/devices/index.d.ts +5 -5
  80. package/dist/internal/devices/index.js.map +1 -1
  81. package/dist/internal/devices/interface.d.ts +3 -3
  82. package/dist/internal/devices/manager.js +2 -2
  83. package/dist/internal/devices/manager.js.map +1 -1
  84. package/dist/internal/devices/manager.test.js +38 -7
  85. package/dist/internal/devices/manager.test.js.map +1 -1
  86. package/dist/internal/download/apiService.d.ts +4 -4
  87. package/dist/internal/download/apiService.js +0 -1
  88. package/dist/internal/download/apiService.js.map +1 -1
  89. package/dist/internal/download/cryptoService.d.ts +4 -4
  90. package/dist/internal/download/cryptoService.js +6 -5
  91. package/dist/internal/download/cryptoService.js.map +1 -1
  92. package/dist/internal/download/fileDownloader.d.ts +4 -4
  93. package/dist/internal/download/fileDownloader.js +3 -2
  94. package/dist/internal/download/fileDownloader.js.map +1 -1
  95. package/dist/internal/download/fileDownloader.test.js +1 -1
  96. package/dist/internal/download/fileDownloader.test.js.map +1 -1
  97. package/dist/internal/download/index.d.ts +5 -5
  98. package/dist/internal/download/index.js +5 -5
  99. package/dist/internal/download/index.js.map +1 -1
  100. package/dist/internal/download/interface.d.ts +3 -4
  101. package/dist/internal/download/telemetry.d.ts +3 -3
  102. package/dist/internal/download/telemetry.js +4 -2
  103. package/dist/internal/download/telemetry.js.map +1 -1
  104. package/dist/internal/download/telemetry.test.js +8 -8
  105. package/dist/internal/download/telemetry.test.js.map +1 -1
  106. package/dist/internal/download/thumbnailDownloader.d.ts +4 -4
  107. package/dist/internal/download/thumbnailDownloader.js +6 -6
  108. package/dist/internal/download/thumbnailDownloader.js.map +1 -1
  109. package/dist/internal/download/thumbnailDownloader.test.js.map +1 -1
  110. package/dist/internal/errors.d.ts +1 -1
  111. package/dist/internal/errors.js +1 -3
  112. package/dist/internal/errors.js.map +1 -1
  113. package/dist/internal/events/apiService.d.ts +2 -2
  114. package/dist/internal/events/apiService.js +9 -5
  115. package/dist/internal/events/apiService.js.map +1 -1
  116. package/dist/internal/events/coreEventManager.d.ts +3 -3
  117. package/dist/internal/events/coreEventManager.js.map +1 -1
  118. package/dist/internal/events/coreEventManager.test.js +14 -14
  119. package/dist/internal/events/eventManager.d.ts +1 -1
  120. package/dist/internal/events/eventManager.js +0 -1
  121. package/dist/internal/events/eventManager.js.map +1 -1
  122. package/dist/internal/events/eventManager.test.js +34 -25
  123. package/dist/internal/events/eventManager.test.js.map +1 -1
  124. package/dist/internal/events/index.d.ts +6 -6
  125. package/dist/internal/events/index.js.map +1 -1
  126. package/dist/internal/events/interface.d.ts +1 -1
  127. package/dist/internal/events/interface.js +0 -1
  128. package/dist/internal/events/interface.js.map +1 -1
  129. package/dist/internal/events/volumeEventManager.d.ts +3 -3
  130. package/dist/internal/events/volumeEventManager.js.map +1 -1
  131. package/dist/internal/events/volumeEventManager.test.js +55 -55
  132. package/dist/internal/events/volumeEventManager.test.js.map +1 -1
  133. package/dist/internal/nodes/apiService.d.ts +4 -3
  134. package/dist/internal/nodes/apiService.js +36 -15
  135. package/dist/internal/nodes/apiService.js.map +1 -1
  136. package/dist/internal/nodes/apiService.test.js +60 -41
  137. package/dist/internal/nodes/apiService.test.js.map +1 -1
  138. package/dist/internal/nodes/cache.d.ts +5 -5
  139. package/dist/internal/nodes/cache.js +14 -7
  140. package/dist/internal/nodes/cache.js.map +1 -1
  141. package/dist/internal/nodes/cache.test.js +31 -9
  142. package/dist/internal/nodes/cache.test.js.map +1 -1
  143. package/dist/internal/nodes/cryptoCache.d.ts +2 -2
  144. package/dist/internal/nodes/cryptoCache.js.map +1 -1
  145. package/dist/internal/nodes/cryptoCache.test.js +24 -4
  146. package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
  147. package/dist/internal/nodes/cryptoService.d.ts +3 -3
  148. package/dist/internal/nodes/cryptoService.js +11 -17
  149. package/dist/internal/nodes/cryptoService.js.map +1 -1
  150. package/dist/internal/nodes/cryptoService.test.js +320 -241
  151. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  152. package/dist/internal/nodes/events.d.ts +3 -3
  153. package/dist/internal/nodes/events.js.map +1 -1
  154. package/dist/internal/nodes/events.test.js +27 -21
  155. package/dist/internal/nodes/events.test.js.map +1 -1
  156. package/dist/internal/nodes/extendedAttributes.d.ts +1 -1
  157. package/dist/internal/nodes/extendedAttributes.js +3 -1
  158. package/dist/internal/nodes/extendedAttributes.js.map +1 -1
  159. package/dist/internal/nodes/extendedAttributes.test.js +7 -10
  160. package/dist/internal/nodes/extendedAttributes.test.js.map +1 -1
  161. package/dist/internal/nodes/index.d.ts +10 -10
  162. package/dist/internal/nodes/index.js.map +1 -1
  163. package/dist/internal/nodes/index.test.d.ts +1 -0
  164. package/dist/internal/nodes/index.test.js +106 -0
  165. package/dist/internal/nodes/index.test.js.map +1 -0
  166. package/dist/internal/nodes/interface.d.ts +2 -2
  167. package/dist/internal/nodes/nodesAccess.d.ts +7 -7
  168. package/dist/internal/nodes/nodesAccess.js +28 -16
  169. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  170. package/dist/internal/nodes/nodesAccess.test.js +39 -13
  171. package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
  172. package/dist/internal/nodes/nodesManagement.d.ts +6 -6
  173. package/dist/internal/nodes/nodesManagement.js +9 -7
  174. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  175. package/dist/internal/nodes/nodesManagement.test.js +9 -9
  176. package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
  177. package/dist/internal/nodes/nodesRevisions.d.ts +4 -4
  178. package/dist/internal/nodes/nodesRevisions.js.map +1 -1
  179. package/dist/internal/photos/albums.d.ts +3 -3
  180. package/dist/internal/photos/albums.js.map +1 -1
  181. package/dist/internal/photos/apiService.d.ts +1 -1
  182. package/dist/internal/photos/apiService.js +3 -6
  183. package/dist/internal/photos/apiService.js.map +1 -1
  184. package/dist/internal/photos/cache.d.ts +1 -1
  185. package/dist/internal/photos/index.d.ts +5 -5
  186. package/dist/internal/photos/index.js.map +1 -1
  187. package/dist/internal/photos/interface.d.ts +2 -2
  188. package/dist/internal/photos/photosTimeline.d.ts +3 -3
  189. package/dist/internal/photos/photosTimeline.js +1 -2
  190. package/dist/internal/photos/photosTimeline.js.map +1 -1
  191. package/dist/internal/sdkEvents.d.ts +1 -1
  192. package/dist/internal/sdkEvents.js +2 -7
  193. package/dist/internal/sdkEvents.js.map +1 -1
  194. package/dist/internal/sdkEvents.test.js +8 -8
  195. package/dist/internal/shares/apiService.d.ts +2 -2
  196. package/dist/internal/shares/apiService.js +5 -3
  197. package/dist/internal/shares/apiService.js.map +1 -1
  198. package/dist/internal/shares/cache.d.ts +2 -2
  199. package/dist/internal/shares/cache.js +12 -6
  200. package/dist/internal/shares/cache.js.map +1 -1
  201. package/dist/internal/shares/cache.test.js.map +1 -1
  202. package/dist/internal/shares/cryptoCache.d.ts +2 -2
  203. package/dist/internal/shares/cryptoCache.test.js +8 -2
  204. package/dist/internal/shares/cryptoCache.test.js.map +1 -1
  205. package/dist/internal/shares/cryptoService.d.ts +3 -3
  206. package/dist/internal/shares/cryptoService.js.map +1 -1
  207. package/dist/internal/shares/cryptoService.test.js +42 -42
  208. package/dist/internal/shares/cryptoService.test.js.map +1 -1
  209. package/dist/internal/shares/index.d.ts +4 -4
  210. package/dist/internal/shares/index.js.map +1 -1
  211. package/dist/internal/shares/interface.d.ts +2 -2
  212. package/dist/internal/shares/manager.d.ts +7 -7
  213. package/dist/internal/shares/manager.js.map +1 -1
  214. package/dist/internal/shares/manager.test.js +71 -63
  215. package/dist/internal/shares/manager.test.js.map +1 -1
  216. package/dist/internal/sharing/apiService.d.ts +4 -4
  217. package/dist/internal/sharing/apiService.js +4 -3
  218. package/dist/internal/sharing/apiService.js.map +1 -1
  219. package/dist/internal/sharing/cache.d.ts +1 -1
  220. package/dist/internal/sharing/cache.test.js +33 -33
  221. package/dist/internal/sharing/cryptoService.d.ts +3 -3
  222. package/dist/internal/sharing/cryptoService.js +3 -5
  223. package/dist/internal/sharing/cryptoService.js.map +1 -1
  224. package/dist/internal/sharing/cryptoService.test.js +39 -39
  225. package/dist/internal/sharing/cryptoService.test.js.map +1 -1
  226. package/dist/internal/sharing/events.d.ts +4 -4
  227. package/dist/internal/sharing/events.js +0 -1
  228. package/dist/internal/sharing/events.js.map +1 -1
  229. package/dist/internal/sharing/events.test.js +39 -40
  230. package/dist/internal/sharing/events.test.js.map +1 -1
  231. package/dist/internal/sharing/index.d.ts +6 -6
  232. package/dist/internal/sharing/index.js.map +1 -1
  233. package/dist/internal/sharing/interface.d.ts +5 -4
  234. package/dist/internal/sharing/sharingAccess.d.ts +6 -6
  235. package/dist/internal/sharing/sharingAccess.js +8 -4
  236. package/dist/internal/sharing/sharingAccess.js.map +1 -1
  237. package/dist/internal/sharing/sharingAccess.test.js +45 -39
  238. package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
  239. package/dist/internal/sharing/sharingManagement.d.ts +4 -4
  240. package/dist/internal/sharing/sharingManagement.js +5 -7
  241. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  242. package/dist/internal/sharing/sharingManagement.test.js +297 -248
  243. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  244. package/dist/internal/uids.js.map +1 -1
  245. package/dist/internal/upload/apiService.d.ts +3 -3
  246. package/dist/internal/upload/apiService.js +1 -1
  247. package/dist/internal/upload/apiService.js.map +1 -1
  248. package/dist/internal/upload/blockVerifier.d.ts +3 -3
  249. package/dist/internal/upload/blockVerifier.js +1 -1
  250. package/dist/internal/upload/blockVerifier.js.map +1 -1
  251. package/dist/internal/upload/chunkStreamReader.test.js +6 -6
  252. package/dist/internal/upload/cryptoService.d.ts +4 -4
  253. package/dist/internal/upload/cryptoService.js +4 -4
  254. package/dist/internal/upload/cryptoService.js.map +1 -1
  255. package/dist/internal/upload/digests.js.map +1 -1
  256. package/dist/internal/upload/fileUploader.d.ts +6 -6
  257. package/dist/internal/upload/fileUploader.js.map +1 -1
  258. package/dist/internal/upload/fileUploader.test.js.map +1 -1
  259. package/dist/internal/upload/index.d.ts +5 -5
  260. package/dist/internal/upload/index.js.map +1 -1
  261. package/dist/internal/upload/interface.d.ts +3 -3
  262. package/dist/internal/upload/manager.d.ts +4 -4
  263. package/dist/internal/upload/manager.js +7 -5
  264. package/dist/internal/upload/manager.js.map +1 -1
  265. package/dist/internal/upload/manager.test.js +137 -123
  266. package/dist/internal/upload/manager.test.js.map +1 -1
  267. package/dist/internal/upload/streamUploader.d.ts +6 -6
  268. package/dist/internal/upload/streamUploader.js +8 -6
  269. package/dist/internal/upload/streamUploader.js.map +1 -1
  270. package/dist/internal/upload/streamUploader.test.js +16 -11
  271. package/dist/internal/upload/streamUploader.test.js.map +1 -1
  272. package/dist/internal/upload/telemetry.d.ts +3 -3
  273. package/dist/internal/upload/telemetry.js +5 -3
  274. package/dist/internal/upload/telemetry.js.map +1 -1
  275. package/dist/internal/upload/telemetry.test.js +8 -8
  276. package/dist/internal/upload/telemetry.test.js.map +1 -1
  277. package/dist/protonDriveClient.d.ts +8 -8
  278. package/dist/protonDriveClient.js +12 -9
  279. package/dist/protonDriveClient.js.map +1 -1
  280. package/dist/protonDrivePhotosClient.js.map +1 -1
  281. package/dist/telemetry.js +18 -15
  282. package/dist/telemetry.js.map +1 -1
  283. package/dist/tests/logger.js.map +1 -1
  284. package/dist/tests/telemetry.d.ts +1 -1
  285. package/dist/transformers.js +4 -2
  286. package/dist/transformers.js.map +1 -1
  287. package/package.json +1 -1
  288. package/src/cache/interface.ts +22 -22
  289. package/src/cache/memoryCache.test.ts +7 -7
  290. package/src/cache/memoryCache.ts +4 -4
  291. package/src/cache/nullCache.ts +1 -1
  292. package/src/config.ts +5 -5
  293. package/src/crypto/driveCrypto.test.ts +15 -15
  294. package/src/crypto/driveCrypto.ts +120 -156
  295. package/src/crypto/hmac.ts +1 -1
  296. package/src/crypto/interface.ts +63 -72
  297. package/src/crypto/openPGPCrypto.ts +74 -94
  298. package/src/crypto/utils.ts +1 -1
  299. package/src/diagnostic/eventsGenerator.ts +2 -2
  300. package/src/diagnostic/httpClient.ts +6 -2
  301. package/src/diagnostic/index.ts +12 -10
  302. package/src/diagnostic/integrityVerificationStream.ts +3 -4
  303. package/src/diagnostic/interface.ts +81 -81
  304. package/src/diagnostic/sdkDiagnostic.ts +35 -24
  305. package/src/diagnostic/sdkDiagnosticFull.ts +16 -19
  306. package/src/diagnostic/telemetry.ts +4 -1
  307. package/src/diagnostic/zipGenerators.test.ts +1 -1
  308. package/src/diagnostic/zipGenerators.ts +3 -3
  309. package/src/errors.ts +21 -21
  310. package/src/index.ts +3 -3
  311. package/src/interface/account.ts +10 -10
  312. package/src/interface/author.ts +6 -6
  313. package/src/interface/config.ts +4 -4
  314. package/src/interface/devices.ts +6 -6
  315. package/src/interface/download.ts +12 -9
  316. package/src/interface/events.ts +45 -39
  317. package/src/interface/httpClient.ts +11 -11
  318. package/src/interface/index.ts +76 -19
  319. package/src/interface/nodes.ts +47 -49
  320. package/src/interface/result.ts +1 -3
  321. package/src/interface/sharing.ts +60 -57
  322. package/src/interface/telemetry.ts +74 -74
  323. package/src/interface/thumbnail.ts +5 -6
  324. package/src/interface/upload.ts +20 -12
  325. package/src/internal/apiService/apiService.test.ts +109 -76
  326. package/src/internal/apiService/apiService.ts +40 -26
  327. package/src/internal/apiService/coreTypes.ts +2474 -2463
  328. package/src/internal/apiService/driveTypes.ts +1868 -1822
  329. package/src/internal/apiService/errorCodes.ts +4 -4
  330. package/src/internal/apiService/errors.test.ts +25 -23
  331. package/src/internal/apiService/errors.ts +15 -9
  332. package/src/internal/apiService/index.ts +1 -1
  333. package/src/internal/apiService/transformers.ts +2 -2
  334. package/src/internal/asyncIteratorMap.test.ts +4 -4
  335. package/src/internal/asyncIteratorMap.ts +1 -1
  336. package/src/internal/asyncIteratorRace.test.ts +149 -0
  337. package/src/internal/asyncIteratorRace.ts +79 -0
  338. package/src/internal/batch.test.ts +50 -0
  339. package/src/internal/batch.ts +9 -0
  340. package/src/internal/batchLoading.test.ts +13 -14
  341. package/src/internal/batchLoading.ts +8 -8
  342. package/src/internal/devices/apiService.ts +58 -51
  343. package/src/internal/devices/cryptoService.ts +22 -17
  344. package/src/internal/devices/index.ts +17 -10
  345. package/src/internal/devices/interface.ts +21 -12
  346. package/src/internal/devices/manager.test.ts +40 -9
  347. package/src/internal/devices/manager.ts +3 -3
  348. package/src/internal/download/apiService.ts +66 -49
  349. package/src/internal/download/cryptoService.ts +34 -18
  350. package/src/internal/download/fileDownloader.test.ts +25 -9
  351. package/src/internal/download/fileDownloader.ts +36 -18
  352. package/src/internal/download/index.ts +19 -19
  353. package/src/internal/download/interface.ts +19 -20
  354. package/src/internal/download/queue.ts +3 -3
  355. package/src/internal/download/telemetry.test.ts +11 -11
  356. package/src/internal/download/telemetry.ts +24 -14
  357. package/src/internal/download/thumbnailDownloader.test.ts +11 -6
  358. package/src/internal/download/thumbnailDownloader.ts +43 -32
  359. package/src/internal/errors.ts +7 -5
  360. package/src/internal/events/apiService.ts +30 -17
  361. package/src/internal/events/coreEventManager.test.ts +18 -18
  362. package/src/internal/events/coreEventManager.ts +9 -6
  363. package/src/internal/events/eventManager.test.ts +51 -46
  364. package/src/internal/events/eventManager.ts +6 -5
  365. package/src/internal/events/index.ts +24 -14
  366. package/src/internal/events/interface.ts +47 -39
  367. package/src/internal/events/volumeEventManager.test.ts +61 -65
  368. package/src/internal/events/volumeEventManager.ts +18 -9
  369. package/src/internal/nodes/apiService.test.ts +197 -147
  370. package/src/internal/nodes/apiService.ts +288 -174
  371. package/src/internal/nodes/cache.test.ts +48 -20
  372. package/src/internal/nodes/cache.ts +60 -44
  373. package/src/internal/nodes/cryptoCache.test.ts +34 -14
  374. package/src/internal/nodes/cryptoCache.ts +10 -5
  375. package/src/internal/nodes/cryptoService.test.ts +492 -351
  376. package/src/internal/nodes/cryptoService.ts +170 -88
  377. package/src/internal/nodes/events.test.ts +38 -28
  378. package/src/internal/nodes/events.ts +7 -5
  379. package/src/internal/nodes/extendedAttributes.test.ts +28 -24
  380. package/src/internal/nodes/extendedAttributes.ts +20 -15
  381. package/src/internal/nodes/index.test.ts +133 -0
  382. package/src/internal/nodes/index.ts +27 -15
  383. package/src/internal/nodes/interface.ts +42 -29
  384. package/src/internal/nodes/nodesAccess.test.ts +124 -58
  385. package/src/internal/nodes/nodesAccess.ts +73 -49
  386. package/src/internal/nodes/nodesManagement.test.ts +32 -31
  387. package/src/internal/nodes/nodesManagement.ts +39 -32
  388. package/src/internal/nodes/nodesRevisions.ts +7 -7
  389. package/src/internal/nodes/validations.ts +2 -2
  390. package/src/internal/photos/albums.ts +5 -5
  391. package/src/internal/photos/apiService.ts +4 -7
  392. package/src/internal/photos/cache.ts +1 -1
  393. package/src/internal/photos/index.ts +8 -8
  394. package/src/internal/photos/interface.ts +2 -2
  395. package/src/internal/photos/photosTimeline.ts +4 -5
  396. package/src/internal/sdkEvents.test.ts +10 -10
  397. package/src/internal/sdkEvents.ts +5 -13
  398. package/src/internal/shares/apiService.ts +44 -33
  399. package/src/internal/shares/cache.test.ts +6 -4
  400. package/src/internal/shares/cache.ts +21 -12
  401. package/src/internal/shares/cryptoCache.test.ts +17 -11
  402. package/src/internal/shares/cryptoCache.ts +4 -4
  403. package/src/internal/shares/cryptoService.test.ts +72 -74
  404. package/src/internal/shares/cryptoService.ts +48 -23
  405. package/src/internal/shares/index.ts +23 -11
  406. package/src/internal/shares/interface.ts +8 -8
  407. package/src/internal/shares/manager.test.ts +88 -80
  408. package/src/internal/shares/manager.ts +19 -19
  409. package/src/internal/sharing/apiService.ts +282 -175
  410. package/src/internal/sharing/cache.test.ts +35 -35
  411. package/src/internal/sharing/cache.ts +2 -2
  412. package/src/internal/sharing/cryptoService.test.ts +58 -46
  413. package/src/internal/sharing/cryptoService.ts +121 -84
  414. package/src/internal/sharing/events.test.ts +45 -49
  415. package/src/internal/sharing/events.ts +9 -6
  416. package/src/internal/sharing/index.ts +22 -11
  417. package/src/internal/sharing/interface.ts +40 -40
  418. package/src/internal/sharing/sharingAccess.test.ts +71 -65
  419. package/src/internal/sharing/sharingAccess.ts +39 -21
  420. package/src/internal/sharing/sharingManagement.test.ts +398 -298
  421. package/src/internal/sharing/sharingManagement.ts +138 -65
  422. package/src/internal/uids.ts +1 -1
  423. package/src/internal/upload/apiService.ts +167 -117
  424. package/src/internal/upload/blockVerifier.ts +8 -6
  425. package/src/internal/upload/chunkStreamReader.test.ts +7 -7
  426. package/src/internal/upload/cryptoService.ts +42 -36
  427. package/src/internal/upload/digests.ts +2 -2
  428. package/src/internal/upload/fileUploader.test.ts +15 -3
  429. package/src/internal/upload/fileUploader.ts +39 -17
  430. package/src/internal/upload/index.ts +13 -14
  431. package/src/internal/upload/interface.ts +78 -78
  432. package/src/internal/upload/manager.test.ts +170 -153
  433. package/src/internal/upload/manager.ts +59 -35
  434. package/src/internal/upload/queue.ts +3 -3
  435. package/src/internal/upload/streamUploader.test.ts +40 -26
  436. package/src/internal/upload/streamUploader.ts +87 -69
  437. package/src/internal/upload/telemetry.test.ts +11 -11
  438. package/src/internal/upload/telemetry.ts +25 -15
  439. package/src/internal/wait.test.ts +1 -1
  440. package/src/internal/wait.ts +3 -3
  441. package/src/protonDriveClient.ts +121 -39
  442. package/src/protonDrivePhotosClient.ts +16 -10
  443. package/src/telemetry.ts +60 -52
  444. package/src/tests/logger.ts +1 -1
  445. package/src/tests/telemetry.ts +2 -2
  446. package/src/transformers.ts +27 -21
  447. package/src/version.ts +0 -1
@@ -1,13 +1,13 @@
1
- import { ValidationError } from "../../errors";
2
- import { ProtonDriveTelemetry, UploadMetadata } from "../../interface";
3
- import { getMockTelemetry } from "../../tests/telemetry";
4
- import { ErrorCode } from "../apiService";
5
- import { UploadAPIService } from "./apiService";
6
- import { UploadCryptoService } from "./cryptoService";
7
- import { NodesService } from "./interface";
1
+ import { ValidationError } from '../../errors';
2
+ import { ProtonDriveTelemetry, UploadMetadata } from '../../interface';
3
+ import { getMockTelemetry } from '../../tests/telemetry';
4
+ import { ErrorCode } from '../apiService';
5
+ import { UploadAPIService } from './apiService';
6
+ import { UploadCryptoService } from './cryptoService';
7
+ import { NodesService } from './interface';
8
8
  import { UploadManager } from './manager';
9
9
 
10
- describe("UploadManager", () => {
10
+ describe('UploadManager', () => {
11
11
  let telemetry: ProtonDriveTelemetry;
12
12
  let apiService: UploadAPIService;
13
13
  let cryptoService: UploadCryptoService;
@@ -22,16 +22,16 @@ describe("UploadManager", () => {
22
22
  // @ts-expect-error No need to implement all methods for mocking
23
23
  apiService = {
24
24
  createDraft: jest.fn().mockResolvedValue({
25
- nodeUid: "newNode:nodeUid",
26
- nodeRevisionUid: "newNode:nodeRevisionUid",
25
+ nodeUid: 'newNode:nodeUid',
26
+ nodeRevisionUid: 'newNode:nodeRevisionUid',
27
27
  }),
28
28
  deleteDraft: jest.fn(),
29
29
  checkAvailableHashes: jest.fn().mockResolvedValue({
30
- availalbleHashes: ["name1Hash"],
30
+ availalbleHashes: ['name1Hash'],
31
31
  pendingHashes: [],
32
32
  }),
33
33
  commitDraftRevision: jest.fn(),
34
- }
34
+ };
35
35
  // @ts-expect-error No need to implement all methods for mocking
36
36
  cryptoService = {
37
37
  generateFileCrypto: jest.fn().mockResolvedValue({
@@ -51,163 +51,168 @@ describe("UploadManager", () => {
51
51
  },
52
52
  },
53
53
  encryptedNode: {
54
- encryptedName: "newNode:encryptedName",
55
- hash: "newNode:hash",
54
+ encryptedName: 'newNode:encryptedName',
55
+ hash: 'newNode:hash',
56
56
  },
57
57
  signatureAddress: {
58
- email: "signatureEmail",
58
+ email: 'signatureEmail',
59
59
  },
60
60
  }),
61
- generateNameHashes: jest.fn().mockResolvedValue([{
62
- name: "name1",
63
- hash: "name1Hash",
64
- }, {
65
- name: "name2",
66
- hash: "name2Hash",
67
- }, {
68
- name: "name3",
69
- hash: "name3Hash",
70
- }]),
61
+ generateNameHashes: jest.fn().mockResolvedValue([
62
+ {
63
+ name: 'name1',
64
+ hash: 'name1Hash',
65
+ },
66
+ {
67
+ name: 'name2',
68
+ hash: 'name2Hash',
69
+ },
70
+ {
71
+ name: 'name3',
72
+ hash: 'name3Hash',
73
+ },
74
+ ]),
71
75
  commitFile: jest.fn().mockResolvedValue({
72
- armoredManifestSignature: "newNode:armoredManifestSignature",
73
- signatureEmail: "signatureEmail",
74
- armoredExtendedAttributes: "newNode:armoredExtendedAttributes",
76
+ armoredManifestSignature: 'newNode:armoredManifestSignature',
77
+ signatureEmail: 'signatureEmail',
78
+ armoredExtendedAttributes: 'newNode:armoredExtendedAttributes',
75
79
  }),
76
- }
80
+ };
77
81
  nodesService = {
78
82
  getNode: jest.fn(async (nodeUid: string) => ({
79
83
  uid: nodeUid,
80
84
  parentUid: 'parentUid',
81
-
82
85
  })),
83
86
  getNodeKeys: jest.fn().mockResolvedValue({
84
87
  hashKey: 'parentNode:hashKey',
85
88
  key: 'parentNode:nodekey',
86
89
  }),
87
90
  getRootNodeEmailKey: jest.fn().mockResolvedValue({
88
- email: "signatureEmail",
89
- addressId: "addressId",
91
+ email: 'signatureEmail',
92
+ addressId: 'addressId',
90
93
  }),
91
- notifyChildCreated: jest.fn(async (nodeUid: string) => { return }),
92
- }
94
+ notifyChildCreated: jest.fn(async (nodeUid: string) => {
95
+ return;
96
+ }),
97
+ };
93
98
 
94
99
  manager = new UploadManager(telemetry, apiService, cryptoService, nodesService, clientUid);
95
100
  });
96
101
 
97
- describe("createDraftNode", () => {
98
- it("should fail to create node in non-folder parent", async () => {
102
+ describe('createDraftNode', () => {
103
+ it('should fail to create node in non-folder parent', async () => {
99
104
  nodesService.getNodeKeys = jest.fn().mockResolvedValue({ hashKey: undefined });
100
105
 
101
- const result = manager.createDraftNode("parentUid", "name", {} as UploadMetadata);
102
- await expect(result).rejects.toThrow("Creating files in non-folders is not allowed");
106
+ const result = manager.createDraftNode('parentUid', 'name', {} as UploadMetadata);
107
+ await expect(result).rejects.toThrow('Creating files in non-folders is not allowed');
103
108
  });
104
109
 
105
- it("should create draft node", async () => {
106
- const result = await manager.createDraftNode("parentUid", "name", {
107
- mediaType: "myMimeType",
110
+ it('should create draft node', async () => {
111
+ const result = await manager.createDraftNode('parentUid', 'name', {
112
+ mediaType: 'myMimeType',
108
113
  expectedSize: 123456,
109
114
  } as UploadMetadata);
110
115
 
111
116
  expect(result).toEqual({
112
- nodeUid: "newNode:nodeUid",
113
- nodeRevisionUid: "newNode:nodeRevisionUid",
117
+ nodeUid: 'newNode:nodeUid',
118
+ nodeRevisionUid: 'newNode:nodeRevisionUid',
114
119
  nodeKeys: {
115
- key: "newNode:key",
116
- contentKeyPacketSessionKey: "newNode:ContentKeyPacketSessionKey",
120
+ key: 'newNode:key',
121
+ contentKeyPacketSessionKey: 'newNode:ContentKeyPacketSessionKey',
117
122
  signatureAddress: {
118
- email: "signatureEmail",
123
+ email: 'signatureEmail',
119
124
  },
120
125
  },
121
126
  newNodeInfo: {
122
- parentUid: "parentUid",
123
- name: "name",
124
- encryptedName: "newNode:encryptedName",
125
- hash: "newNode:hash",
127
+ parentUid: 'parentUid',
128
+ name: 'name',
129
+ encryptedName: 'newNode:encryptedName',
130
+ hash: 'newNode:hash',
126
131
  },
127
132
  });
128
- expect(apiService.createDraft).toHaveBeenCalledWith("parentUid", {
129
- armoredEncryptedName: "newNode:encryptedName",
130
- hash: "newNode:hash",
131
- mediaType: "myMimeType",
133
+ expect(apiService.createDraft).toHaveBeenCalledWith('parentUid', {
134
+ armoredEncryptedName: 'newNode:encryptedName',
135
+ hash: 'newNode:hash',
136
+ mediaType: 'myMimeType',
132
137
  intendedUploadSize: 123456,
133
- armoredNodeKey: "newNode:armoredKey",
134
- armoredNodePassphrase: "newNode:armoredPassphrase",
135
- armoredNodePassphraseSignature: "newNode:armoredPassphraseSignature",
136
- base64ContentKeyPacket: "newNode:base64ContentKeyPacket",
137
- armoredContentKeyPacketSignature: "newNode:armoredContentKeyPacketSignature",
138
- signatureEmail: "signatureEmail",
138
+ armoredNodeKey: 'newNode:armoredKey',
139
+ armoredNodePassphrase: 'newNode:armoredPassphrase',
140
+ armoredNodePassphraseSignature: 'newNode:armoredPassphraseSignature',
141
+ base64ContentKeyPacket: 'newNode:base64ContentKeyPacket',
142
+ armoredContentKeyPacketSignature: 'newNode:armoredContentKeyPacketSignature',
143
+ signatureEmail: 'signatureEmail',
139
144
  });
140
145
  });
141
146
 
142
- it("should delete existing draft and trying again", async () => {
147
+ it('should delete existing draft and trying again', async () => {
143
148
  let firstCall = true;
144
149
  apiService.createDraft = jest.fn().mockImplementation(() => {
145
150
  if (firstCall) {
146
151
  firstCall = false;
147
- throw new ValidationError("Draft already exists", ErrorCode.ALREADY_EXISTS, {
148
- ConflictLinkID: "existingLinkId",
149
- ConflictDraftRevisionID: "existingDraftRevisionId",
152
+ throw new ValidationError('Draft already exists', ErrorCode.ALREADY_EXISTS, {
153
+ ConflictLinkID: 'existingLinkId',
154
+ ConflictDraftRevisionID: 'existingDraftRevisionId',
150
155
  ConflictDraftClientUID: clientUid,
151
156
  });
152
157
  }
153
158
  return {
154
- nodeUid: "newNode:nodeUid",
155
- nodeRevisionUid: "newNode:nodeRevisionUid",
159
+ nodeUid: 'newNode:nodeUid',
160
+ nodeRevisionUid: 'newNode:nodeRevisionUid',
156
161
  };
157
162
  });
158
163
 
159
- const result = await manager.createDraftNode("volumeId~parentUid", "name", {} as UploadMetadata);
164
+ const result = await manager.createDraftNode('volumeId~parentUid', 'name', {} as UploadMetadata);
160
165
 
161
166
  expect(result).toEqual({
162
- nodeUid: "newNode:nodeUid",
163
- nodeRevisionUid: "newNode:nodeRevisionUid",
167
+ nodeUid: 'newNode:nodeUid',
168
+ nodeRevisionUid: 'newNode:nodeRevisionUid',
164
169
  nodeKeys: {
165
- key: "newNode:key",
166
- contentKeyPacketSessionKey: "newNode:ContentKeyPacketSessionKey",
170
+ key: 'newNode:key',
171
+ contentKeyPacketSessionKey: 'newNode:ContentKeyPacketSessionKey',
167
172
  signatureAddress: {
168
- email: "signatureEmail",
173
+ email: 'signatureEmail',
169
174
  },
170
175
  },
171
176
  newNodeInfo: {
172
- parentUid: "volumeId~parentUid",
173
- name: "name",
174
- encryptedName: "newNode:encryptedName",
175
- hash: "newNode:hash",
177
+ parentUid: 'volumeId~parentUid',
178
+ name: 'name',
179
+ encryptedName: 'newNode:encryptedName',
180
+ hash: 'newNode:hash',
176
181
  },
177
182
  });
178
183
  expect(apiService.deleteDraft).toHaveBeenCalledTimes(1);
179
- expect(apiService.deleteDraft).toHaveBeenCalledWith("volumeId~existingLinkId");
184
+ expect(apiService.deleteDraft).toHaveBeenCalledWith('volumeId~existingLinkId');
180
185
  });
181
186
 
182
- it("should not delete existing draft if client UID does not match", async () => {
187
+ it('should not delete existing draft if client UID does not match', async () => {
183
188
  let firstCall = true;
184
189
  apiService.createDraft = jest.fn().mockImplementation(() => {
185
190
  if (firstCall) {
186
191
  firstCall = false;
187
- throw new ValidationError("Draft already exists", ErrorCode.ALREADY_EXISTS, {
188
- ConflictLinkID: "existingLinkId",
189
- ConflictDraftRevisionID: "existingDraftRevisionId",
190
- ConflictDraftClientUID: "anotherClientUid",
192
+ throw new ValidationError('Draft already exists', ErrorCode.ALREADY_EXISTS, {
193
+ ConflictLinkID: 'existingLinkId',
194
+ ConflictDraftRevisionID: 'existingDraftRevisionId',
195
+ ConflictDraftClientUID: 'anotherClientUid',
191
196
  });
192
197
  }
193
198
  return {
194
- nodeUid: "newNode:nodeUid",
195
- nodeRevisionUid: "newNode:nodeRevisionUid",
199
+ nodeUid: 'newNode:nodeUid',
200
+ nodeRevisionUid: 'newNode:nodeRevisionUid',
196
201
  };
197
202
  });
198
203
 
199
- const promise = manager.createDraftNode("volumeId~parentUid", "name", {} as UploadMetadata);
204
+ const promise = manager.createDraftNode('volumeId~parentUid', 'name', {} as UploadMetadata);
200
205
 
201
206
  try {
202
207
  await promise;
203
208
  } catch (error: any) {
204
- expect(error.message).toBe("Draft already exists");
209
+ expect(error.message).toBe('Draft already exists');
205
210
  expect(error.ongoingUploadByOtherClient).toBe(true);
206
211
  }
207
212
  expect(apiService.deleteDraft).not.toHaveBeenCalled();
208
213
  });
209
214
 
210
- it("should not delete existing draft if client UID is not set", async () => {
215
+ it('should not delete existing draft if client UID is not set', async () => {
211
216
  const clientUid = undefined;
212
217
  manager = new UploadManager(telemetry, apiService, cryptoService, nodesService, clientUid);
213
218
 
@@ -215,77 +220,81 @@ describe("UploadManager", () => {
215
220
  apiService.createDraft = jest.fn().mockImplementation(() => {
216
221
  if (firstCall) {
217
222
  firstCall = false;
218
- throw new ValidationError("Draft already exists", ErrorCode.ALREADY_EXISTS, {
219
- ConflictLinkID: "existingLinkId",
220
- ConflictDraftRevisionID: "existingDraftRevisionId",
223
+ throw new ValidationError('Draft already exists', ErrorCode.ALREADY_EXISTS, {
224
+ ConflictLinkID: 'existingLinkId',
225
+ ConflictDraftRevisionID: 'existingDraftRevisionId',
221
226
  ConflictDraftClientUID: clientUid,
222
227
  });
223
228
  }
224
229
  return {
225
- nodeUid: "newNode:nodeUid",
226
- nodeRevisionUid: "newNode:nodeRevisionUid",
230
+ nodeUid: 'newNode:nodeUid',
231
+ nodeRevisionUid: 'newNode:nodeRevisionUid',
227
232
  };
228
233
  });
229
234
 
230
- const promise = manager.createDraftNode("volumeId~parentUid", "name", {} as UploadMetadata);
235
+ const promise = manager.createDraftNode('volumeId~parentUid', 'name', {} as UploadMetadata);
231
236
 
232
237
  try {
233
238
  await promise;
234
239
  } catch (error: any) {
235
- expect(error.message).toBe("Draft already exists");
240
+ expect(error.message).toBe('Draft already exists');
236
241
  expect(error.ongoingUploadByOtherClient).toBe(true);
237
242
  }
238
243
  expect(apiService.deleteDraft).not.toHaveBeenCalled();
239
244
  });
240
245
 
241
- it("should handle error when deleting existing draft", async () => {
246
+ it('should handle error when deleting existing draft', async () => {
242
247
  let firstCall = true;
243
248
  apiService.createDraft = jest.fn().mockImplementation(() => {
244
249
  if (firstCall) {
245
250
  firstCall = false;
246
- throw new ValidationError("Draft already exists", ErrorCode.ALREADY_EXISTS, {
247
- ConflictLinkID: "existingLinkId",
248
- ConflictDraftRevisionID: "existingDraftRevisionId",
251
+ throw new ValidationError('Draft already exists', ErrorCode.ALREADY_EXISTS, {
252
+ ConflictLinkID: 'existingLinkId',
253
+ ConflictDraftRevisionID: 'existingDraftRevisionId',
249
254
  ConflictDraftClientUID: clientUid,
250
255
  });
251
256
  }
252
257
  return {
253
- nodeUid: "newNode:nodeUid",
254
- nodeRevisionUid: "newNode:nodeRevisionUid",
258
+ nodeUid: 'newNode:nodeUid',
259
+ nodeRevisionUid: 'newNode:nodeRevisionUid',
255
260
  };
256
261
  });
257
262
  apiService.deleteDraft = jest.fn().mockImplementation(() => {
258
- throw new Error("Failed to delete draft");
263
+ throw new Error('Failed to delete draft');
259
264
  });
260
265
 
261
- const result = manager.createDraftNode("volumeId~parentUid", "name", {} as UploadMetadata);
266
+ const result = manager.createDraftNode('volumeId~parentUid', 'name', {} as UploadMetadata);
262
267
 
263
268
  try {
264
269
  await result;
265
270
  } catch (error: any) {
266
- expect(error.message).toBe("Draft already exists");
267
- expect(error.existingNodeUid).toBe("volumeId~existingLinkId");
271
+ expect(error.message).toBe('Draft already exists');
272
+ expect(error.existingNodeUid).toBe('volumeId~existingLinkId');
268
273
  }
269
274
  expect(apiService.deleteDraft).toHaveBeenCalledTimes(1);
270
275
  });
271
276
  });
272
277
 
273
- describe("findAvailableName", () => {
274
- it("should find available name", async () => {
278
+ describe('findAvailableName', () => {
279
+ it('should find available name', async () => {
275
280
  apiService.checkAvailableHashes = jest.fn().mockImplementation(() => {
276
281
  return {
277
- availalbleHashes: ["name3Hash"],
282
+ availalbleHashes: ['name3Hash'],
278
283
  pendingHashes: [],
279
- }
284
+ };
280
285
  });
281
286
 
282
- const result = await manager.findAvailableName("parentUid", "name");
283
- expect(result).toBe("name3");
287
+ const result = await manager.findAvailableName('parentUid', 'name');
288
+ expect(result).toBe('name3');
284
289
  expect(apiService.checkAvailableHashes).toHaveBeenCalledTimes(1);
285
- expect(apiService.checkAvailableHashes).toHaveBeenCalledWith("parentUid", ["name1Hash", "name2Hash", "name3Hash"]);
290
+ expect(apiService.checkAvailableHashes).toHaveBeenCalledWith('parentUid', [
291
+ 'name1Hash',
292
+ 'name2Hash',
293
+ 'name3Hash',
294
+ ]);
286
295
  });
287
296
 
288
- it("should find available name with multiple pages", async () => {
297
+ it('should find available name with multiple pages', async () => {
289
298
  let firstCall = false;
290
299
  apiService.checkAvailableHashes = jest.fn().mockImplementation(() => {
291
300
  if (!firstCall) {
@@ -294,80 +303,88 @@ describe("UploadManager", () => {
294
303
  // First page has no available hashes
295
304
  availalbleHashes: [],
296
305
  pendingHashes: [],
297
- }
306
+ };
298
307
  }
299
308
  return {
300
- availalbleHashes: ["name3Hash"],
309
+ availalbleHashes: ['name3Hash'],
301
310
  pendingHashes: [],
302
- }
311
+ };
303
312
  });
304
313
 
305
- const result = await manager.findAvailableName("parentUid", "name");
306
- expect(result).toBe("name3");
314
+ const result = await manager.findAvailableName('parentUid', 'name');
315
+ expect(result).toBe('name3');
307
316
  expect(apiService.checkAvailableHashes).toHaveBeenCalledTimes(2);
308
- expect(apiService.checkAvailableHashes).toHaveBeenCalledWith("parentUid", ["name1Hash", "name2Hash", "name3Hash"]);
317
+ expect(apiService.checkAvailableHashes).toHaveBeenCalledWith('parentUid', [
318
+ 'name1Hash',
319
+ 'name2Hash',
320
+ 'name3Hash',
321
+ ]);
309
322
  });
310
323
  });
311
324
 
312
- describe("commit draft", () => {
325
+ describe('commit draft', () => {
313
326
  const nodeRevisionDraft = {
314
- nodeUid: "newNode:nodeUid",
315
- nodeRevisionUid: "newNode:nodeRevisionUid",
327
+ nodeUid: 'newNode:nodeUid',
328
+ nodeRevisionUid: 'newNode:nodeRevisionUid',
316
329
  nodeKeys: {
317
330
  key: { _idx: 32321 },
318
- contentKeyPacketSessionKey: "newNode:contentKeyPacketSessionKey",
331
+ contentKeyPacketSessionKey: 'newNode:contentKeyPacketSessionKey',
319
332
  signatureAddress: {
320
- email: "signatureEmail",
321
- addressId: "addressId",
322
- addressKey: "addressKey",
333
+ email: 'signatureEmail',
334
+ addressId: 'addressId',
335
+ addressKey: 'addressKey',
323
336
  } as any,
324
337
  },
325
338
  };
326
339
  const manifest = new Uint8Array([1, 2, 3]);
327
340
  const metadata = {
328
- mediaType: "myMimeType",
341
+ mediaType: 'myMimeType',
329
342
  expectedSize: 123456,
330
343
  };
331
344
  const extendedAttributes = {
332
345
  modificationTime: new Date(),
333
346
  digests: {
334
- sha1: "sha1",
335
- }
347
+ sha1: 'sha1',
348
+ },
336
349
  };
337
350
 
338
- it("should commit revision draft", async () => {
339
- await manager.commitDraft(
340
- nodeRevisionDraft as any,
351
+ it('should commit revision draft', async () => {
352
+ await manager.commitDraft(nodeRevisionDraft as any, manifest, metadata, extendedAttributes);
353
+
354
+ expect(cryptoService.commitFile).toHaveBeenCalledWith(
355
+ nodeRevisionDraft.nodeKeys,
341
356
  manifest,
342
- metadata,
343
- extendedAttributes,
357
+ expect.anything(),
344
358
  );
359
+ expect(apiService.commitDraftRevision).toHaveBeenCalledWith(
360
+ nodeRevisionDraft.nodeRevisionUid,
361
+ expect.anything(),
362
+ );
363
+ expect(nodesService.notifyChildCreated).toHaveBeenCalledWith('parentUid');
364
+ });
345
365
 
346
- expect(cryptoService.commitFile).toHaveBeenCalledWith(nodeRevisionDraft.nodeKeys, manifest, expect.anything());
347
- expect(apiService.commitDraftRevision).toHaveBeenCalledWith(nodeRevisionDraft.nodeRevisionUid, expect.anything());
348
- expect(nodesService.notifyChildCreated).toHaveBeenCalledWith("parentUid");
349
- })
350
-
351
- it("should commit node draft", async () => {
366
+ it('should commit node draft', async () => {
352
367
  const nodeRevisionDraftWithNewNodeInfo = {
353
368
  ...nodeRevisionDraft,
354
369
  newNodeInfo: {
355
- parentUid: "parentUid",
356
- name: "newNode:name",
357
- encryptedName: "newNode:encryptedName",
358
- hash: "newNode:hash",
359
- }
360
- }
361
- await manager.commitDraft(
362
- nodeRevisionDraftWithNewNodeInfo as any,
370
+ parentUid: 'parentUid',
371
+ name: 'newNode:name',
372
+ encryptedName: 'newNode:encryptedName',
373
+ hash: 'newNode:hash',
374
+ },
375
+ };
376
+ await manager.commitDraft(nodeRevisionDraftWithNewNodeInfo as any, manifest, metadata, extendedAttributes);
377
+
378
+ expect(cryptoService.commitFile).toHaveBeenCalledWith(
379
+ nodeRevisionDraft.nodeKeys,
363
380
  manifest,
364
- metadata,
365
- extendedAttributes,
381
+ expect.anything(),
366
382
  );
367
-
368
- expect(cryptoService.commitFile).toHaveBeenCalledWith(nodeRevisionDraft.nodeKeys, manifest, expect.anything());
369
- expect(apiService.commitDraftRevision).toHaveBeenCalledWith(nodeRevisionDraft.nodeRevisionUid, expect.anything());
370
- expect(nodesService.notifyChildCreated).toHaveBeenCalledWith("parentUid");
383
+ expect(apiService.commitDraftRevision).toHaveBeenCalledWith(
384
+ nodeRevisionDraft.nodeRevisionUid,
385
+ expect.anything(),
386
+ );
387
+ expect(nodesService.notifyChildCreated).toHaveBeenCalledWith('parentUid');
371
388
  });
372
389
  });
373
390
  });