@protontech/drive-sdk 0.0.13 → 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 (496) hide show
  1. package/dist/cache/index.d.ts +1 -0
  2. package/dist/cache/index.js +3 -1
  3. package/dist/cache/index.js.map +1 -1
  4. package/dist/cache/memoryCache.d.ts +1 -1
  5. package/dist/cache/memoryCache.js +0 -1
  6. package/dist/cache/memoryCache.js.map +1 -1
  7. package/dist/cache/memoryCache.test.js +2 -4
  8. package/dist/cache/memoryCache.test.js.map +1 -1
  9. package/dist/cache/nullCache.d.ts +14 -0
  10. package/dist/cache/nullCache.js +36 -0
  11. package/dist/cache/nullCache.js.map +1 -0
  12. package/dist/config.d.ts +16 -1
  13. package/dist/config.js +1 -1
  14. package/dist/config.js.map +1 -1
  15. package/dist/crypto/driveCrypto.d.ts +2 -5
  16. package/dist/crypto/driveCrypto.js +7 -12
  17. package/dist/crypto/driveCrypto.js.map +1 -1
  18. package/dist/crypto/driveCrypto.test.js +14 -14
  19. package/dist/crypto/openPGPCrypto.js +5 -3
  20. package/dist/crypto/openPGPCrypto.js.map +1 -1
  21. package/dist/diagnostic/eventsGenerator.d.ts +14 -0
  22. package/dist/diagnostic/eventsGenerator.js +49 -0
  23. package/dist/diagnostic/eventsGenerator.js.map +1 -0
  24. package/dist/diagnostic/httpClient.d.ts +16 -0
  25. package/dist/diagnostic/httpClient.js +81 -0
  26. package/dist/diagnostic/httpClient.js.map +1 -0
  27. package/dist/diagnostic/index.d.ts +10 -0
  28. package/dist/diagnostic/index.js +35 -0
  29. package/dist/diagnostic/index.js.map +1 -0
  30. package/dist/diagnostic/integrityVerificationStream.d.ts +21 -0
  31. package/dist/diagnostic/integrityVerificationStream.js +56 -0
  32. package/dist/diagnostic/integrityVerificationStream.js.map +1 -0
  33. package/dist/diagnostic/interface.d.ts +102 -0
  34. package/dist/diagnostic/interface.js +3 -0
  35. package/dist/diagnostic/interface.js.map +1 -0
  36. package/dist/diagnostic/sdkDiagnostic.d.ts +22 -0
  37. package/dist/diagnostic/sdkDiagnostic.js +222 -0
  38. package/dist/diagnostic/sdkDiagnostic.js.map +1 -0
  39. package/dist/diagnostic/sdkDiagnosticFull.d.ts +18 -0
  40. package/dist/diagnostic/sdkDiagnosticFull.js +35 -0
  41. package/dist/diagnostic/sdkDiagnosticFull.js.map +1 -0
  42. package/dist/diagnostic/telemetry.d.ts +25 -0
  43. package/dist/diagnostic/telemetry.js +70 -0
  44. package/dist/diagnostic/telemetry.js.map +1 -0
  45. package/dist/diagnostic/zipGenerators.d.ts +9 -0
  46. package/dist/diagnostic/zipGenerators.js +64 -0
  47. package/dist/diagnostic/zipGenerators.js.map +1 -0
  48. package/dist/diagnostic/zipGenerators.test.js +144 -0
  49. package/dist/diagnostic/zipGenerators.test.js.map +1 -0
  50. package/dist/errors.d.ts +2 -1
  51. package/dist/errors.js +3 -1
  52. package/dist/errors.js.map +1 -1
  53. package/dist/interface/config.d.ts +26 -0
  54. package/dist/interface/config.js +3 -0
  55. package/dist/interface/config.js.map +1 -0
  56. package/dist/interface/download.d.ts +2 -2
  57. package/dist/interface/events.d.ts +58 -20
  58. package/dist/interface/events.js +11 -1
  59. package/dist/interface/events.js.map +1 -1
  60. package/dist/interface/httpClient.d.ts +0 -14
  61. package/dist/interface/index.d.ts +11 -7
  62. package/dist/interface/index.js +2 -2
  63. package/dist/interface/index.js.map +1 -1
  64. package/dist/interface/nodes.d.ts +9 -0
  65. package/dist/interface/nodes.js.map +1 -1
  66. package/dist/interface/result.js.map +1 -1
  67. package/dist/interface/sharing.d.ts +2 -0
  68. package/dist/interface/sharing.js.map +1 -1
  69. package/dist/interface/telemetry.js +0 -8
  70. package/dist/interface/telemetry.js.map +1 -1
  71. package/dist/interface/thumbnail.js.map +1 -1
  72. package/dist/interface/upload.d.ts +7 -1
  73. package/dist/internal/apiService/apiService.d.ts +1 -1
  74. package/dist/internal/apiService/apiService.js +7 -11
  75. package/dist/internal/apiService/apiService.js.map +1 -1
  76. package/dist/internal/apiService/apiService.test.js +55 -48
  77. package/dist/internal/apiService/apiService.test.js.map +1 -1
  78. package/dist/internal/apiService/coreTypes.d.ts +2356 -2356
  79. package/dist/internal/apiService/driveTypes.d.ts +1680 -1680
  80. package/dist/internal/apiService/errors.js +14 -8
  81. package/dist/internal/apiService/errors.js.map +1 -1
  82. package/dist/internal/apiService/errors.test.js +17 -12
  83. package/dist/internal/apiService/errors.test.js.map +1 -1
  84. package/dist/internal/apiService/transformers.d.ts +1 -1
  85. package/dist/internal/apiService/transformers.js +1 -1
  86. package/dist/internal/asyncIteratorMap.test.js +2 -2
  87. package/dist/internal/asyncIteratorMap.test.js.map +1 -1
  88. package/dist/internal/asyncIteratorRace.d.ts +13 -0
  89. package/dist/internal/asyncIteratorRace.js +59 -0
  90. package/dist/internal/asyncIteratorRace.js.map +1 -0
  91. package/dist/internal/asyncIteratorRace.test.d.ts +1 -0
  92. package/dist/internal/asyncIteratorRace.test.js +119 -0
  93. package/dist/internal/asyncIteratorRace.test.js.map +1 -0
  94. package/dist/internal/batch.d.ts +1 -0
  95. package/dist/internal/batch.js +12 -0
  96. package/dist/internal/batch.js.map +1 -0
  97. package/dist/internal/batch.test.d.ts +1 -0
  98. package/dist/internal/batch.test.js +41 -0
  99. package/dist/internal/batch.test.js.map +1 -0
  100. package/dist/internal/batchLoading.js.map +1 -1
  101. package/dist/internal/batchLoading.test.js +13 -13
  102. package/dist/internal/batchLoading.test.js.map +1 -1
  103. package/dist/internal/devices/apiService.d.ts +3 -3
  104. package/dist/internal/devices/apiService.js +2 -2
  105. package/dist/internal/devices/apiService.js.map +1 -1
  106. package/dist/internal/devices/cryptoService.js +1 -2
  107. package/dist/internal/devices/cryptoService.js.map +1 -1
  108. package/dist/internal/devices/index.d.ts +5 -5
  109. package/dist/internal/devices/index.js.map +1 -1
  110. package/dist/internal/devices/interface.d.ts +3 -3
  111. package/dist/internal/devices/manager.js +2 -2
  112. package/dist/internal/devices/manager.js.map +1 -1
  113. package/dist/internal/devices/manager.test.js +38 -7
  114. package/dist/internal/devices/manager.test.js.map +1 -1
  115. package/dist/internal/download/apiService.d.ts +4 -4
  116. package/dist/internal/download/apiService.js +32 -32
  117. package/dist/internal/download/apiService.js.map +1 -1
  118. package/dist/internal/download/cryptoService.d.ts +4 -4
  119. package/dist/internal/download/cryptoService.js +6 -5
  120. package/dist/internal/download/cryptoService.js.map +1 -1
  121. package/dist/internal/download/fileDownloader.d.ts +6 -6
  122. package/dist/internal/download/fileDownloader.js +3 -2
  123. package/dist/internal/download/fileDownloader.js.map +1 -1
  124. package/dist/internal/download/fileDownloader.test.js +1 -1
  125. package/dist/internal/download/fileDownloader.test.js.map +1 -1
  126. package/dist/internal/download/index.d.ts +5 -5
  127. package/dist/internal/download/index.js +5 -5
  128. package/dist/internal/download/index.js.map +1 -1
  129. package/dist/internal/download/interface.d.ts +3 -4
  130. package/dist/internal/download/telemetry.d.ts +3 -3
  131. package/dist/internal/download/telemetry.js +4 -2
  132. package/dist/internal/download/telemetry.js.map +1 -1
  133. package/dist/internal/download/telemetry.test.js +8 -8
  134. package/dist/internal/download/telemetry.test.js.map +1 -1
  135. package/dist/internal/download/thumbnailDownloader.d.ts +4 -4
  136. package/dist/internal/download/thumbnailDownloader.js +6 -6
  137. package/dist/internal/download/thumbnailDownloader.js.map +1 -1
  138. package/dist/internal/download/thumbnailDownloader.test.js.map +1 -1
  139. package/dist/internal/errors.d.ts +1 -1
  140. package/dist/internal/errors.js +1 -3
  141. package/dist/internal/errors.js.map +1 -1
  142. package/dist/internal/events/apiService.d.ts +5 -7
  143. package/dist/internal/events/apiService.js +19 -22
  144. package/dist/internal/events/apiService.js.map +1 -1
  145. package/dist/internal/events/coreEventManager.d.ts +9 -12
  146. package/dist/internal/events/coreEventManager.js +19 -36
  147. package/dist/internal/events/coreEventManager.js.map +1 -1
  148. package/dist/internal/events/coreEventManager.test.d.ts +1 -0
  149. package/dist/internal/events/coreEventManager.test.js +87 -0
  150. package/dist/internal/events/coreEventManager.test.js.map +1 -0
  151. package/dist/internal/events/eventManager.d.ts +11 -36
  152. package/dist/internal/events/eventManager.js +59 -106
  153. package/dist/internal/events/eventManager.js.map +1 -1
  154. package/dist/internal/events/eventManager.test.js +177 -83
  155. package/dist/internal/events/eventManager.test.js.map +1 -1
  156. package/dist/internal/events/index.d.ts +16 -36
  157. package/dist/internal/events/index.js +56 -72
  158. package/dist/internal/events/index.js.map +1 -1
  159. package/dist/internal/events/interface.d.ts +59 -14
  160. package/dist/internal/events/interface.js +12 -3
  161. package/dist/internal/events/interface.js.map +1 -1
  162. package/dist/internal/events/volumeEventManager.d.ts +9 -19
  163. package/dist/internal/events/volumeEventManager.js +58 -45
  164. package/dist/internal/events/volumeEventManager.js.map +1 -1
  165. package/dist/internal/events/volumeEventManager.test.d.ts +1 -0
  166. package/dist/internal/events/volumeEventManager.test.js +203 -0
  167. package/dist/internal/events/volumeEventManager.test.js.map +1 -0
  168. package/dist/internal/nodes/apiService.d.ts +4 -3
  169. package/dist/internal/nodes/apiService.js +36 -15
  170. package/dist/internal/nodes/apiService.js.map +1 -1
  171. package/dist/internal/nodes/apiService.test.js +60 -41
  172. package/dist/internal/nodes/apiService.test.js.map +1 -1
  173. package/dist/internal/nodes/cache.d.ts +14 -5
  174. package/dist/internal/nodes/cache.js +31 -7
  175. package/dist/internal/nodes/cache.js.map +1 -1
  176. package/dist/internal/nodes/cache.test.js +31 -9
  177. package/dist/internal/nodes/cache.test.js.map +1 -1
  178. package/dist/internal/nodes/cryptoCache.d.ts +2 -2
  179. package/dist/internal/nodes/cryptoCache.js.map +1 -1
  180. package/dist/internal/nodes/cryptoCache.test.js +24 -4
  181. package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
  182. package/dist/internal/nodes/cryptoService.d.ts +4 -4
  183. package/dist/internal/nodes/cryptoService.js +11 -17
  184. package/dist/internal/nodes/cryptoService.js.map +1 -1
  185. package/dist/internal/nodes/cryptoService.test.js +320 -241
  186. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  187. package/dist/internal/nodes/events.d.ts +8 -84
  188. package/dist/internal/nodes/events.js +43 -217
  189. package/dist/internal/nodes/events.js.map +1 -1
  190. package/dist/internal/nodes/events.test.js +35 -279
  191. package/dist/internal/nodes/events.test.js.map +1 -1
  192. package/dist/internal/nodes/extendedAttributes.d.ts +1 -1
  193. package/dist/internal/nodes/extendedAttributes.js +3 -1
  194. package/dist/internal/nodes/extendedAttributes.js.map +1 -1
  195. package/dist/internal/nodes/extendedAttributes.test.js +7 -10
  196. package/dist/internal/nodes/extendedAttributes.test.js.map +1 -1
  197. package/dist/internal/nodes/index.d.ts +12 -13
  198. package/dist/internal/nodes/index.js +5 -5
  199. package/dist/internal/nodes/index.js.map +1 -1
  200. package/dist/internal/nodes/index.test.js +24 -32
  201. package/dist/internal/nodes/index.test.js.map +1 -1
  202. package/dist/internal/nodes/interface.d.ts +2 -2
  203. package/dist/internal/nodes/nodesAccess.d.ts +22 -7
  204. package/dist/internal/nodes/nodesAccess.js +65 -16
  205. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  206. package/dist/internal/nodes/nodesAccess.test.js +165 -101
  207. package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
  208. package/dist/internal/nodes/nodesManagement.d.ts +7 -9
  209. package/dist/internal/nodes/nodesManagement.js +21 -33
  210. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  211. package/dist/internal/nodes/nodesManagement.test.js +42 -21
  212. package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
  213. package/dist/internal/nodes/nodesRevisions.d.ts +4 -4
  214. package/dist/internal/nodes/nodesRevisions.js.map +1 -1
  215. package/dist/internal/photos/albums.d.ts +3 -3
  216. package/dist/internal/photos/albums.js.map +1 -1
  217. package/dist/internal/photos/apiService.d.ts +1 -1
  218. package/dist/internal/photos/apiService.js +3 -6
  219. package/dist/internal/photos/apiService.js.map +1 -1
  220. package/dist/internal/photos/cache.d.ts +1 -1
  221. package/dist/internal/photos/index.d.ts +5 -5
  222. package/dist/internal/photos/index.js.map +1 -1
  223. package/dist/internal/photos/interface.d.ts +2 -2
  224. package/dist/internal/photos/photosTimeline.d.ts +3 -3
  225. package/dist/internal/photos/photosTimeline.js +1 -2
  226. package/dist/internal/photos/photosTimeline.js.map +1 -1
  227. package/dist/internal/sdkEvents.d.ts +1 -1
  228. package/dist/internal/sdkEvents.js +2 -7
  229. package/dist/internal/sdkEvents.js.map +1 -1
  230. package/dist/internal/sdkEvents.test.js +8 -8
  231. package/dist/internal/shares/apiService.d.ts +2 -2
  232. package/dist/internal/shares/apiService.js +5 -3
  233. package/dist/internal/shares/apiService.js.map +1 -1
  234. package/dist/internal/shares/cache.d.ts +4 -2
  235. package/dist/internal/shares/cache.js +14 -6
  236. package/dist/internal/shares/cache.js.map +1 -1
  237. package/dist/internal/shares/cache.test.js.map +1 -1
  238. package/dist/internal/shares/cryptoCache.d.ts +2 -2
  239. package/dist/internal/shares/cryptoCache.test.js +8 -2
  240. package/dist/internal/shares/cryptoCache.test.js.map +1 -1
  241. package/dist/internal/shares/cryptoService.d.ts +3 -3
  242. package/dist/internal/shares/cryptoService.js.map +1 -1
  243. package/dist/internal/shares/cryptoService.test.js +42 -42
  244. package/dist/internal/shares/cryptoService.test.js.map +1 -1
  245. package/dist/internal/shares/index.d.ts +4 -4
  246. package/dist/internal/shares/index.js.map +1 -1
  247. package/dist/internal/shares/interface.d.ts +2 -2
  248. package/dist/internal/shares/manager.d.ts +8 -7
  249. package/dist/internal/shares/manager.js +3 -0
  250. package/dist/internal/shares/manager.js.map +1 -1
  251. package/dist/internal/shares/manager.test.js +71 -63
  252. package/dist/internal/shares/manager.test.js.map +1 -1
  253. package/dist/internal/sharing/apiService.d.ts +4 -4
  254. package/dist/internal/sharing/apiService.js +5 -3
  255. package/dist/internal/sharing/apiService.js.map +1 -1
  256. package/dist/internal/sharing/cache.d.ts +1 -1
  257. package/dist/internal/sharing/cache.test.js +33 -33
  258. package/dist/internal/sharing/cryptoService.d.ts +3 -3
  259. package/dist/internal/sharing/cryptoService.js +3 -4
  260. package/dist/internal/sharing/cryptoService.js.map +1 -1
  261. package/dist/internal/sharing/cryptoService.test.js +39 -39
  262. package/dist/internal/sharing/cryptoService.test.js.map +1 -1
  263. package/dist/internal/sharing/events.d.ts +24 -56
  264. package/dist/internal/sharing/events.js +45 -138
  265. package/dist/internal/sharing/events.js.map +1 -1
  266. package/dist/internal/sharing/events.test.js +85 -189
  267. package/dist/internal/sharing/events.test.js.map +1 -1
  268. package/dist/internal/sharing/index.d.ts +8 -9
  269. package/dist/internal/sharing/index.js +5 -5
  270. package/dist/internal/sharing/index.js.map +1 -1
  271. package/dist/internal/sharing/interface.d.ts +8 -4
  272. package/dist/internal/sharing/sharingAccess.d.ts +6 -6
  273. package/dist/internal/sharing/sharingAccess.js +8 -4
  274. package/dist/internal/sharing/sharingAccess.js.map +1 -1
  275. package/dist/internal/sharing/sharingAccess.test.js +45 -39
  276. package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
  277. package/dist/internal/sharing/sharingManagement.d.ts +5 -6
  278. package/dist/internal/sharing/sharingManagement.js +12 -16
  279. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  280. package/dist/internal/sharing/sharingManagement.test.js +305 -286
  281. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  282. package/dist/internal/uids.js.map +1 -1
  283. package/dist/internal/upload/apiService.d.ts +5 -6
  284. package/dist/internal/upload/apiService.js +8 -5
  285. package/dist/internal/upload/apiService.js.map +1 -1
  286. package/dist/internal/upload/blockVerifier.d.ts +3 -3
  287. package/dist/internal/upload/blockVerifier.js +1 -1
  288. package/dist/internal/upload/blockVerifier.js.map +1 -1
  289. package/dist/internal/upload/chunkStreamReader.test.js +6 -6
  290. package/dist/internal/upload/cryptoService.d.ts +4 -4
  291. package/dist/internal/upload/cryptoService.js +4 -4
  292. package/dist/internal/upload/cryptoService.js.map +1 -1
  293. package/dist/internal/upload/digests.js.map +1 -1
  294. package/dist/internal/upload/fileUploader.d.ts +6 -6
  295. package/dist/internal/upload/fileUploader.js.map +1 -1
  296. package/dist/internal/upload/fileUploader.test.js.map +1 -1
  297. package/dist/internal/upload/index.d.ts +6 -6
  298. package/dist/internal/upload/index.js +3 -3
  299. package/dist/internal/upload/index.js.map +1 -1
  300. package/dist/internal/upload/interface.d.ts +5 -3
  301. package/dist/internal/upload/manager.d.ts +8 -8
  302. package/dist/internal/upload/manager.js +23 -52
  303. package/dist/internal/upload/manager.js.map +1 -1
  304. package/dist/internal/upload/manager.test.js +185 -147
  305. package/dist/internal/upload/manager.test.js.map +1 -1
  306. package/dist/internal/upload/streamUploader.d.ts +6 -6
  307. package/dist/internal/upload/streamUploader.js +9 -8
  308. package/dist/internal/upload/streamUploader.js.map +1 -1
  309. package/dist/internal/upload/streamUploader.test.js +17 -12
  310. package/dist/internal/upload/streamUploader.test.js.map +1 -1
  311. package/dist/internal/upload/telemetry.d.ts +3 -3
  312. package/dist/internal/upload/telemetry.js +5 -3
  313. package/dist/internal/upload/telemetry.js.map +1 -1
  314. package/dist/internal/upload/telemetry.test.js +8 -8
  315. package/dist/internal/upload/telemetry.test.js.map +1 -1
  316. package/dist/protonDriveClient.d.ts +27 -170
  317. package/dist/protonDriveClient.js +37 -198
  318. package/dist/protonDriveClient.js.map +1 -1
  319. package/dist/protonDrivePhotosClient.js +3 -2
  320. package/dist/protonDrivePhotosClient.js.map +1 -1
  321. package/dist/telemetry.js +18 -15
  322. package/dist/telemetry.js.map +1 -1
  323. package/dist/tests/logger.js.map +1 -1
  324. package/dist/tests/telemetry.d.ts +1 -1
  325. package/dist/transformers.js +4 -2
  326. package/dist/transformers.js.map +1 -1
  327. package/package.json +3 -3
  328. package/src/cache/index.ts +1 -0
  329. package/src/cache/interface.ts +22 -22
  330. package/src/cache/memoryCache.test.ts +7 -7
  331. package/src/cache/memoryCache.ts +5 -5
  332. package/src/cache/nullCache.ts +38 -0
  333. package/src/config.ts +17 -2
  334. package/src/crypto/driveCrypto.test.ts +15 -15
  335. package/src/crypto/driveCrypto.ts +120 -156
  336. package/src/crypto/hmac.ts +1 -1
  337. package/src/crypto/interface.ts +63 -72
  338. package/src/crypto/openPGPCrypto.ts +76 -94
  339. package/src/crypto/utils.ts +1 -1
  340. package/src/diagnostic/eventsGenerator.ts +48 -0
  341. package/src/diagnostic/httpClient.ts +84 -0
  342. package/src/diagnostic/index.ts +40 -0
  343. package/src/diagnostic/integrityVerificationStream.ts +55 -0
  344. package/src/diagnostic/interface.ts +158 -0
  345. package/src/diagnostic/sdkDiagnostic.ts +249 -0
  346. package/src/diagnostic/sdkDiagnosticFull.ts +37 -0
  347. package/src/diagnostic/telemetry.ts +74 -0
  348. package/src/diagnostic/zipGenerators.test.ts +177 -0
  349. package/src/diagnostic/zipGenerators.ts +70 -0
  350. package/src/errors.ts +25 -22
  351. package/src/index.ts +3 -3
  352. package/src/interface/account.ts +10 -10
  353. package/src/interface/author.ts +6 -6
  354. package/src/interface/config.ts +28 -0
  355. package/src/interface/devices.ts +6 -6
  356. package/src/interface/download.ts +12 -9
  357. package/src/interface/events.ts +76 -25
  358. package/src/interface/httpClient.ts +11 -27
  359. package/src/interface/index.ts +81 -20
  360. package/src/interface/nodes.ts +67 -60
  361. package/src/interface/result.ts +1 -3
  362. package/src/interface/sharing.ts +60 -56
  363. package/src/interface/telemetry.ts +74 -74
  364. package/src/interface/thumbnail.ts +5 -6
  365. package/src/interface/upload.ts +25 -11
  366. package/src/internal/apiService/apiService.test.ts +109 -76
  367. package/src/internal/apiService/apiService.ts +40 -26
  368. package/src/internal/apiService/coreTypes.ts +2474 -2463
  369. package/src/internal/apiService/driveTypes.ts +1868 -1822
  370. package/src/internal/apiService/errorCodes.ts +4 -4
  371. package/src/internal/apiService/errors.test.ts +25 -23
  372. package/src/internal/apiService/errors.ts +15 -9
  373. package/src/internal/apiService/index.ts +1 -1
  374. package/src/internal/apiService/transformers.ts +2 -2
  375. package/src/internal/asyncIteratorMap.test.ts +4 -4
  376. package/src/internal/asyncIteratorMap.ts +1 -1
  377. package/src/internal/asyncIteratorRace.test.ts +149 -0
  378. package/src/internal/asyncIteratorRace.ts +79 -0
  379. package/src/internal/batch.test.ts +50 -0
  380. package/src/internal/batch.ts +9 -0
  381. package/src/internal/batchLoading.test.ts +13 -14
  382. package/src/internal/batchLoading.ts +8 -8
  383. package/src/internal/devices/apiService.ts +58 -51
  384. package/src/internal/devices/cryptoService.ts +22 -17
  385. package/src/internal/devices/index.ts +17 -10
  386. package/src/internal/devices/interface.ts +21 -12
  387. package/src/internal/devices/manager.test.ts +40 -9
  388. package/src/internal/devices/manager.ts +3 -3
  389. package/src/internal/download/apiService.ts +72 -52
  390. package/src/internal/download/cryptoService.ts +34 -18
  391. package/src/internal/download/fileDownloader.test.ts +25 -9
  392. package/src/internal/download/fileDownloader.ts +38 -20
  393. package/src/internal/download/index.ts +19 -19
  394. package/src/internal/download/interface.ts +19 -20
  395. package/src/internal/download/queue.ts +3 -3
  396. package/src/internal/download/telemetry.test.ts +11 -11
  397. package/src/internal/download/telemetry.ts +24 -14
  398. package/src/internal/download/thumbnailDownloader.test.ts +11 -6
  399. package/src/internal/download/thumbnailDownloader.ts +43 -32
  400. package/src/internal/errors.ts +7 -5
  401. package/src/internal/events/apiService.ts +46 -36
  402. package/src/internal/events/coreEventManager.test.ts +101 -0
  403. package/src/internal/events/coreEventManager.ts +26 -48
  404. package/src/internal/events/eventManager.test.ts +211 -93
  405. package/src/internal/events/eventManager.ts +72 -117
  406. package/src/internal/events/index.ts +71 -91
  407. package/src/internal/events/interface.ts +92 -29
  408. package/src/internal/events/volumeEventManager.test.ts +239 -0
  409. package/src/internal/events/volumeEventManager.ts +68 -57
  410. package/src/internal/nodes/apiService.test.ts +197 -147
  411. package/src/internal/nodes/apiService.ts +288 -174
  412. package/src/internal/nodes/cache.test.ts +48 -20
  413. package/src/internal/nodes/cache.ts +79 -45
  414. package/src/internal/nodes/cryptoCache.test.ts +34 -14
  415. package/src/internal/nodes/cryptoCache.ts +10 -5
  416. package/src/internal/nodes/cryptoService.test.ts +492 -351
  417. package/src/internal/nodes/cryptoService.ts +171 -89
  418. package/src/internal/nodes/events.test.ts +48 -344
  419. package/src/internal/nodes/events.ts +48 -254
  420. package/src/internal/nodes/extendedAttributes.test.ts +28 -24
  421. package/src/internal/nodes/extendedAttributes.ts +20 -15
  422. package/src/internal/nodes/index.test.ts +51 -55
  423. package/src/internal/nodes/index.ts +32 -22
  424. package/src/internal/nodes/interface.ts +44 -31
  425. package/src/internal/nodes/nodesAccess.test.ts +237 -130
  426. package/src/internal/nodes/nodesAccess.ts +113 -50
  427. package/src/internal/nodes/nodesManagement.test.ts +64 -39
  428. package/src/internal/nodes/nodesManagement.ts +51 -62
  429. package/src/internal/nodes/nodesRevisions.ts +7 -7
  430. package/src/internal/nodes/validations.ts +2 -2
  431. package/src/internal/photos/albums.ts +5 -5
  432. package/src/internal/photos/apiService.ts +4 -7
  433. package/src/internal/photos/cache.ts +1 -1
  434. package/src/internal/photos/index.ts +8 -8
  435. package/src/internal/photos/interface.ts +2 -2
  436. package/src/internal/photos/photosTimeline.ts +4 -5
  437. package/src/internal/sdkEvents.test.ts +10 -10
  438. package/src/internal/sdkEvents.ts +5 -13
  439. package/src/internal/shares/apiService.ts +44 -33
  440. package/src/internal/shares/cache.test.ts +6 -4
  441. package/src/internal/shares/cache.ts +25 -14
  442. package/src/internal/shares/cryptoCache.test.ts +17 -11
  443. package/src/internal/shares/cryptoCache.ts +4 -4
  444. package/src/internal/shares/cryptoService.test.ts +72 -74
  445. package/src/internal/shares/cryptoService.ts +48 -23
  446. package/src/internal/shares/index.ts +23 -11
  447. package/src/internal/shares/interface.ts +8 -8
  448. package/src/internal/shares/manager.test.ts +88 -80
  449. package/src/internal/shares/manager.ts +27 -23
  450. package/src/internal/sharing/apiService.ts +283 -175
  451. package/src/internal/sharing/cache.test.ts +35 -35
  452. package/src/internal/sharing/cache.ts +3 -3
  453. package/src/internal/sharing/cryptoService.test.ts +58 -46
  454. package/src/internal/sharing/cryptoService.ts +121 -83
  455. package/src/internal/sharing/events.test.ts +97 -207
  456. package/src/internal/sharing/events.ts +46 -157
  457. package/src/internal/sharing/index.ts +24 -16
  458. package/src/internal/sharing/interface.ts +46 -42
  459. package/src/internal/sharing/sharingAccess.test.ts +71 -65
  460. package/src/internal/sharing/sharingAccess.ts +39 -21
  461. package/src/internal/sharing/sharingManagement.test.ts +405 -335
  462. package/src/internal/sharing/sharingManagement.ts +144 -75
  463. package/src/internal/uids.ts +1 -1
  464. package/src/internal/upload/apiService.ts +168 -119
  465. package/src/internal/upload/blockVerifier.ts +8 -6
  466. package/src/internal/upload/chunkStreamReader.test.ts +7 -7
  467. package/src/internal/upload/cryptoService.ts +42 -36
  468. package/src/internal/upload/digests.ts +2 -2
  469. package/src/internal/upload/fileUploader.test.ts +15 -3
  470. package/src/internal/upload/fileUploader.ts +39 -17
  471. package/src/internal/upload/index.ts +17 -18
  472. package/src/internal/upload/interface.ts +79 -77
  473. package/src/internal/upload/manager.test.ts +222 -175
  474. package/src/internal/upload/manager.ts +74 -80
  475. package/src/internal/upload/queue.ts +3 -3
  476. package/src/internal/upload/streamUploader.test.ts +40 -27
  477. package/src/internal/upload/streamUploader.ts +87 -71
  478. package/src/internal/upload/telemetry.test.ts +11 -11
  479. package/src/internal/upload/telemetry.ts +25 -15
  480. package/src/internal/wait.test.ts +1 -1
  481. package/src/internal/wait.ts +3 -3
  482. package/src/protonDriveClient.ts +189 -276
  483. package/src/protonDrivePhotosClient.ts +20 -13
  484. package/src/telemetry.ts +60 -52
  485. package/src/tests/logger.ts +1 -1
  486. package/src/tests/telemetry.ts +2 -2
  487. package/src/transformers.ts +27 -21
  488. package/src/version.ts +0 -1
  489. package/dist/internal/events/cache.d.ts +0 -28
  490. package/dist/internal/events/cache.js +0 -67
  491. package/dist/internal/events/cache.js.map +0 -1
  492. package/dist/internal/events/cache.test.js +0 -43
  493. package/dist/internal/events/cache.test.js.map +0 -1
  494. package/src/internal/events/cache.test.ts +0 -47
  495. package/src/internal/events/cache.ts +0 -80
  496. /package/dist/{internal/events/cache.test.d.ts → diagnostic/zipGenerators.test.d.ts} +0 -0
@@ -1,14 +1,14 @@
1
- import { ProtonDriveAccount } from "../../interface";
2
- import { getMockLogger } from "../../tests/logger";
3
- import { NotFoundAPIError } from "../apiService";
4
- import { SharesAPIService } from "./apiService";
5
- import { SharesCache } from "./cache";
6
- import { SharesCryptoCache } from "./cryptoCache";
7
- import { SharesCryptoService } from "./cryptoService";
8
- import { VolumeShareNodeIDs } from "./interface";
9
- import { SharesManager } from "./manager";
10
-
11
- describe("SharesManager", () => {
1
+ import { ProtonDriveAccount } from '../../interface';
2
+ import { getMockLogger } from '../../tests/logger';
3
+ import { NotFoundAPIError } from '../apiService';
4
+ import { SharesAPIService } from './apiService';
5
+ import { SharesCache } from './cache';
6
+ import { SharesCryptoCache } from './cryptoCache';
7
+ import { SharesCryptoService } from './cryptoService';
8
+ import { VolumeShareNodeIDs } from './interface';
9
+ import { SharesManager } from './manager';
10
+
11
+ describe('SharesManager', () => {
12
12
  let apiService: SharesAPIService;
13
13
  let cache: SharesCache;
14
14
  let cryptoCache: SharesCryptoCache;
@@ -25,46 +25,46 @@ describe("SharesManager", () => {
25
25
  getShare: jest.fn(),
26
26
  getVolume: jest.fn(),
27
27
  createVolume: jest.fn(),
28
- }
28
+ };
29
29
  // @ts-expect-error No need to implement all methods for mocking
30
30
  cache = {
31
31
  setVolume: jest.fn(),
32
32
  getVolume: jest.fn(),
33
- }
33
+ };
34
34
  // @ts-expect-error No need to implement all methods for mocking
35
35
  cryptoCache = {
36
36
  setShareKey: jest.fn(),
37
37
  getShareKey: jest.fn(),
38
- }
38
+ };
39
39
  // @ts-expect-error No need to implement all methods for mocking
40
40
  cryptoService = {
41
41
  generateVolumeBootstrap: jest.fn(),
42
42
  decryptRootShare: jest.fn(),
43
- }
43
+ };
44
44
  // @ts-expect-error No need to implement all methods for mocking
45
45
  account = {
46
46
  getOwnPrimaryAddress: jest.fn(),
47
47
  getOwnAddress: jest.fn(),
48
- }
48
+ };
49
49
 
50
50
  manager = new SharesManager(getMockLogger(), apiService, cache, cryptoCache, cryptoService, account);
51
51
  });
52
52
 
53
- describe("getMyFilesIDs", () => {
53
+ describe('getMyFilesIDs', () => {
54
54
  const myFilesShare = {
55
- shareId: "myFilesShareId",
56
- volumeId: "myFilesVolumeId",
57
- rootNodeId: "myFilesRootNodeId",
55
+ shareId: 'myFilesShareId',
56
+ volumeId: 'myFilesVolumeId',
57
+ rootNodeId: 'myFilesRootNodeId',
58
58
  };
59
59
 
60
- it("should load My files IDs once", async () => {
60
+ it('should load My files IDs once', async () => {
61
61
  const encryptedShare = {
62
62
  share: myFilesShare,
63
- creatorEmail: "email",
63
+ creatorEmail: 'email',
64
64
  };
65
65
  const key = {
66
- key: "privateKey",
67
- sessionKey: "sessionKey",
66
+ key: 'privateKey',
67
+ sessionKey: 'sessionKey',
68
68
  };
69
69
 
70
70
  apiService.getMyFiles = jest.fn().mockResolvedValue(encryptedShare);
@@ -86,18 +86,20 @@ describe("SharesManager", () => {
86
86
  });
87
87
 
88
88
  it("should create volume when My files section doesn't exist", async () => {
89
- apiService.getMyFiles = jest.fn().mockRejectedValue(new NotFoundAPIError("no active volume", 0));
90
- account.getOwnPrimaryAddress = jest.fn().mockResolvedValue({ primaryKeyIndex: 0, keys: [{ key: "addressKey" }] });
89
+ apiService.getMyFiles = jest.fn().mockRejectedValue(new NotFoundAPIError('no active volume', 0));
90
+ account.getOwnPrimaryAddress = jest
91
+ .fn()
92
+ .mockResolvedValue({ primaryKeyIndex: 0, keys: [{ key: 'addressKey' }] });
91
93
  cryptoService.generateVolumeBootstrap = jest.fn().mockResolvedValue({
92
94
  shareKey: {
93
- encrypted: "encrypted share key",
94
- decrypted: "decrypted share key",
95
+ encrypted: 'encrypted share key',
96
+ decrypted: 'decrypted share key',
95
97
  },
96
98
  rootNode: {
97
99
  key: {
98
- encrypted: "encrypted root key",
100
+ encrypted: 'encrypted root key',
99
101
  },
100
- }
102
+ },
101
103
  });
102
104
  apiService.createVolume = jest.fn().mockResolvedValue(myFilesShare);
103
105
 
@@ -105,102 +107,108 @@ describe("SharesManager", () => {
105
107
 
106
108
  expect(result).toStrictEqual(myFilesShare);
107
109
  expect(cryptoService.decryptRootShare).not.toHaveBeenCalled();
108
- expect(cryptoCache.setShareKey).toHaveBeenCalledWith("myFilesShareId", "decrypted share key");
110
+ expect(cryptoCache.setShareKey).toHaveBeenCalledWith('myFilesShareId', 'decrypted share key');
109
111
  });
110
112
 
111
- it("should throw on unknown error", async () => {
112
- apiService.getMyFiles = jest.fn().mockRejectedValue(new Error("Some error"));
113
+ it('should throw on unknown error', async () => {
114
+ apiService.getMyFiles = jest.fn().mockRejectedValue(new Error('Some error'));
113
115
 
114
- await expect(manager.getMyFilesIDs()).rejects.toThrow("Some error");
116
+ await expect(manager.getMyFilesIDs()).rejects.toThrow('Some error');
115
117
  expect(cryptoService.decryptRootShare).not.toHaveBeenCalled();
116
118
  expect(apiService.createVolume).not.toHaveBeenCalled();
117
119
  });
118
120
  });
119
121
 
120
- describe("getSharePrivateKey", () => {
121
- it("should return cached private key", async () => {
122
- cryptoCache.getShareKey = jest.fn().mockResolvedValue({ key: "cachedPrivateKey" });
122
+ describe('getSharePrivateKey', () => {
123
+ it('should return cached private key', async () => {
124
+ cryptoCache.getShareKey = jest.fn().mockResolvedValue({ key: 'cachedPrivateKey' });
123
125
 
124
- const result = await manager.getSharePrivateKey("shareId");
126
+ const result = await manager.getSharePrivateKey('shareId');
125
127
 
126
- expect(result).toBe("cachedPrivateKey");
128
+ expect(result).toBe('cachedPrivateKey');
127
129
  });
128
130
 
129
- it("should load private key if not in cache", async () => {
131
+ it('should load private key if not in cache', async () => {
130
132
  cryptoCache.getShareKey = jest.fn().mockRejectedValue(new Error('not found'));
131
- apiService.getRootShare = jest.fn().mockResolvedValue({ shareId: "shareId" });
132
- cryptoService.decryptRootShare = jest.fn().mockResolvedValue({ key: { key: "privateKey" } });
133
+ apiService.getRootShare = jest.fn().mockResolvedValue({ shareId: 'shareId' });
134
+ cryptoService.decryptRootShare = jest.fn().mockResolvedValue({ key: { key: 'privateKey' } });
133
135
 
134
- const result = await manager.getSharePrivateKey("shareId");
136
+ const result = await manager.getSharePrivateKey('shareId');
135
137
 
136
- expect(result).toBe("privateKey");
137
- expect(cryptoCache.setShareKey).toHaveBeenCalledWith("shareId", { key: "privateKey" });
138
+ expect(result).toBe('privateKey');
139
+ expect(cryptoCache.setShareKey).toHaveBeenCalledWith('shareId', { key: 'privateKey' });
138
140
  });
139
141
  });
140
142
 
141
- describe("getMyFilesShareMemberEmailKey", () => {
142
- it("should return cached volume email key", async () => {
143
- jest.spyOn(manager, 'getMyFilesIDs').mockResolvedValue({ volumeId: "volumeId" } as VolumeShareNodeIDs);
144
- cache.getVolume = jest.fn().mockResolvedValue({ addressId: "addressId" });
145
- account.getOwnAddress = jest.fn().mockResolvedValue({ email: "email", primaryKeyIndex: 0, keys: [{ key: "addressKey" }] });
143
+ describe('getMyFilesShareMemberEmailKey', () => {
144
+ it('should return cached volume email key', async () => {
145
+ jest.spyOn(manager, 'getMyFilesIDs').mockResolvedValue({ volumeId: 'volumeId' } as VolumeShareNodeIDs);
146
+ cache.getVolume = jest.fn().mockResolvedValue({ addressId: 'addressId' });
147
+ account.getOwnAddress = jest
148
+ .fn()
149
+ .mockResolvedValue({ email: 'email', primaryKeyIndex: 0, keys: [{ key: 'addressKey' }] });
146
150
 
147
151
  const result = await manager.getMyFilesShareMemberEmailKey();
148
152
 
149
153
  expect(result).toEqual({
150
- addressId: "addressId",
151
- email: "email",
152
- addressKey: "addressKey",
154
+ addressId: 'addressId',
155
+ email: 'email',
156
+ addressKey: 'addressKey',
153
157
  });
154
158
  });
155
159
 
156
- it("should load volume email key if not in cache", async () => {
157
- jest.spyOn(manager, 'getMyFilesIDs').mockResolvedValue({ volumeId: "volumeId" } as VolumeShareNodeIDs);
160
+ it('should load volume email key if not in cache', async () => {
161
+ jest.spyOn(manager, 'getMyFilesIDs').mockResolvedValue({ volumeId: 'volumeId' } as VolumeShareNodeIDs);
158
162
  const share = {
159
- volumeId: "volumeId",
160
- shareId: "shareId",
161
- rootNodeId: "rootNodeId",
162
- creatorEmail: "email",
163
- addressId: "addressId",
164
- }
163
+ volumeId: 'volumeId',
164
+ shareId: 'shareId',
165
+ rootNodeId: 'rootNodeId',
166
+ creatorEmail: 'email',
167
+ addressId: 'addressId',
168
+ };
165
169
  cache.getVolume = jest.fn().mockRejectedValue(new Error('not found'));
166
- apiService.getVolume = jest.fn().mockResolvedValue({ shareId: "shareId" });
170
+ apiService.getVolume = jest.fn().mockResolvedValue({ shareId: 'shareId' });
167
171
  apiService.getRootShare = jest.fn().mockResolvedValue(share);
168
- account.getOwnAddress = jest.fn().mockResolvedValue({ email: "email", primaryKeyIndex: 0, keys: [{ key: "addressKey" }] });
172
+ account.getOwnAddress = jest
173
+ .fn()
174
+ .mockResolvedValue({ email: 'email', primaryKeyIndex: 0, keys: [{ key: 'addressKey' }] });
169
175
 
170
176
  const result = await manager.getMyFilesShareMemberEmailKey();
171
177
 
172
178
  expect(result).toEqual({
173
- addressId: "addressId",
174
- email: "email",
175
- addressKey: "addressKey",
179
+ addressId: 'addressId',
180
+ email: 'email',
181
+ addressKey: 'addressKey',
176
182
  });
177
183
  expect(cache.setVolume).toHaveBeenCalledWith(share);
178
184
  });
179
185
  });
180
186
 
181
- describe("getContextShareMemberEmailKey", () => {
182
- it("should load share email key only once", async () => {
187
+ describe('getContextShareMemberEmailKey', () => {
188
+ it('should load share email key only once', async () => {
183
189
  const share = {
184
- volumeId: "volumeId",
185
- shareId: "shareId",
186
- rootNodeId: "rootNodeId",
187
- creatorEmail: "creatorEmail",
188
- addressId: "addressId",
189
- }
190
+ volumeId: 'volumeId',
191
+ shareId: 'shareId',
192
+ rootNodeId: 'rootNodeId',
193
+ creatorEmail: 'creatorEmail',
194
+ addressId: 'addressId',
195
+ };
190
196
  apiService.getRootShare = jest.fn().mockResolvedValue(share);
191
- account.getOwnAddress = jest.fn().mockResolvedValue({ email: "email", primaryKeyIndex: 0, keys: [{ key: "addressKey" }] });
197
+ account.getOwnAddress = jest
198
+ .fn()
199
+ .mockResolvedValue({ email: 'email', primaryKeyIndex: 0, keys: [{ key: 'addressKey' }] });
192
200
 
193
- const result = await manager.getContextShareMemberEmailKey("shareId");
201
+ const result = await manager.getContextShareMemberEmailKey('shareId');
194
202
 
195
203
  expect(result).toEqual({
196
- addressId: "addressId",
197
- email: "email",
198
- addressKey: "addressKey",
204
+ addressId: 'addressId',
205
+ email: 'email',
206
+ addressKey: 'addressKey',
199
207
  });
200
208
  expect(apiService.getRootShare).toHaveBeenCalledTimes(1);
201
209
  expect(account.getOwnAddress).toHaveBeenCalledTimes(1);
202
210
 
203
- const result2 = await manager.getContextShareMemberEmailKey("shareId");
211
+ const result2 = await manager.getContextShareMemberEmailKey('shareId');
204
212
 
205
213
  expect(result2).toEqual(result);
206
214
  expect(apiService.getRootShare).toHaveBeenCalledTimes(1);
@@ -1,11 +1,11 @@
1
- import { Logger, MetricVolumeType, ProtonDriveAccount } from "../../interface";
2
- import { PrivateKey } from "../../crypto";
3
- import { NotFoundAPIError } from "../apiService";
4
- import { SharesAPIService } from "./apiService";
5
- import { SharesCache } from "./cache";
6
- import { SharesCryptoCache } from "./cryptoCache";
7
- import { SharesCryptoService } from "./cryptoService";
8
- import { VolumeShareNodeIDs, EncryptedShare, EncryptedRootShare } from "./interface";
1
+ import { Logger, MetricVolumeType, ProtonDriveAccount } from '../../interface';
2
+ import { PrivateKey } from '../../crypto';
3
+ import { NotFoundAPIError } from '../apiService';
4
+ import { SharesAPIService } from './apiService';
5
+ import { SharesCache } from './cache';
6
+ import { SharesCryptoCache } from './cryptoCache';
7
+ import { SharesCryptoService } from './cryptoService';
8
+ import { VolumeShareNodeIDs, EncryptedShare, EncryptedRootShare } from './interface';
9
9
 
10
10
  /**
11
11
  * Provides high-level actions for managing shares.
@@ -43,7 +43,7 @@ export class SharesManager {
43
43
 
44
44
  /**
45
45
  * It returns the IDs of the My files section.
46
- *
46
+ *
47
47
  * If the default volume or My files section doesn't exist, it creates it.
48
48
  */
49
49
  async getMyFilesIDs(): Promise<VolumeShareNodeIDs> {
@@ -85,12 +85,12 @@ export class SharesManager {
85
85
 
86
86
  /**
87
87
  * Creates new default volume for the user.
88
- *
88
+ *
89
89
  * It generates the volume bootstrap, creates the volume on the server,
90
90
  * and caches the volume metadata.
91
- *
91
+ *
92
92
  * User can have only one default volume.
93
- *
93
+ *
94
94
  * @throws If the volume cannot be created (e.g., one already exists).
95
95
  */
96
96
  private async createVolume(): Promise<VolumeShareNodeIDs> {
@@ -117,7 +117,7 @@ export class SharesManager {
117
117
  * It is a high-level action that retrieves the private key for a share.
118
118
  * If prefers to use the cache, but if the key is not there, it fetches
119
119
  * the share from the API, decrypts it, and caches it.
120
- *
120
+ *
121
121
  * @param shareId - The ID of the share.
122
122
  * @returns The private key for the share.
123
123
  * @throws If the share is not found or cannot be decrypted, or cached.
@@ -126,7 +126,7 @@ export class SharesManager {
126
126
  try {
127
127
  const { key } = await this.cryptoCache.getShareKey(shareId);
128
128
  return key;
129
- } catch { }
129
+ } catch {}
130
130
 
131
131
  const encryptedShare = await this.apiService.getRootShare(shareId);
132
132
  const { key } = await this.cryptoService.decryptRootShare(encryptedShare);
@@ -135,10 +135,10 @@ export class SharesManager {
135
135
  }
136
136
 
137
137
  async getMyFilesShareMemberEmailKey(): Promise<{
138
- email: string,
139
- addressId: string,
140
- addressKey: PrivateKey,
141
- addressKeyId: string,
138
+ email: string;
139
+ addressId: string;
140
+ addressKey: PrivateKey;
141
+ addressKeyId: string;
142
142
  }> {
143
143
  const { volumeId } = await this.getMyFilesIDs();
144
144
 
@@ -151,7 +151,7 @@ export class SharesManager {
151
151
  addressKey: address.keys[address.primaryKeyIndex].key,
152
152
  addressKeyId: address.keys[address.primaryKeyIndex].id,
153
153
  };
154
- } catch { }
154
+ } catch {}
155
155
 
156
156
  const { shareId } = await this.apiService.getVolume(volumeId);
157
157
  const share = await this.apiService.getRootShare(shareId);
@@ -174,10 +174,10 @@ export class SharesManager {
174
174
  }
175
175
 
176
176
  async getContextShareMemberEmailKey(shareId: string): Promise<{
177
- email: string,
178
- addressId: string,
179
- addressKey: PrivateKey,
180
- addressKeyId: string,
177
+ email: string;
178
+ addressId: string;
179
+ addressKey: PrivateKey;
180
+ addressKeyId: string;
181
181
  }> {
182
182
  let encryptedShare = this.rootShares.get(shareId);
183
183
  if (!encryptedShare) {
@@ -195,6 +195,10 @@ export class SharesManager {
195
195
  };
196
196
  }
197
197
 
198
+ async isOwnVolume(volumeId: string): Promise<boolean> {
199
+ return (await this.getMyFilesIDs()).volumeId === volumeId;
200
+ }
201
+
198
202
  async getVolumeMetricContext(volumeId: string): Promise<MetricVolumeType> {
199
203
  const { volumeId: myVolumeId } = await this.getMyFilesIDs();
200
204