@protontech/drive-sdk 0.1.0 → 0.1.2

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 (452) 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 +2 -1
  120. package/dist/internal/events/eventManager.js +9 -1
  121. package/dist/internal/events/eventManager.js.map +1 -1
  122. package/dist/internal/events/eventManager.test.js +84 -60
  123. package/dist/internal/events/eventManager.test.js.map +1 -1
  124. package/dist/internal/events/index.d.ts +10 -9
  125. package/dist/internal/events/index.js +38 -32
  126. package/dist/internal/events/index.js.map +1 -1
  127. package/dist/internal/events/interface.d.ts +1 -1
  128. package/dist/internal/events/interface.js +0 -1
  129. package/dist/internal/events/interface.js.map +1 -1
  130. package/dist/internal/events/volumeEventManager.d.ts +3 -3
  131. package/dist/internal/events/volumeEventManager.js.map +1 -1
  132. package/dist/internal/events/volumeEventManager.test.js +55 -55
  133. package/dist/internal/events/volumeEventManager.test.js.map +1 -1
  134. package/dist/internal/nodes/apiService.d.ts +4 -3
  135. package/dist/internal/nodes/apiService.js +36 -15
  136. package/dist/internal/nodes/apiService.js.map +1 -1
  137. package/dist/internal/nodes/apiService.test.js +60 -41
  138. package/dist/internal/nodes/apiService.test.js.map +1 -1
  139. package/dist/internal/nodes/cache.d.ts +5 -5
  140. package/dist/internal/nodes/cache.js +14 -7
  141. package/dist/internal/nodes/cache.js.map +1 -1
  142. package/dist/internal/nodes/cache.test.js +31 -9
  143. package/dist/internal/nodes/cache.test.js.map +1 -1
  144. package/dist/internal/nodes/cryptoCache.d.ts +2 -2
  145. package/dist/internal/nodes/cryptoCache.js.map +1 -1
  146. package/dist/internal/nodes/cryptoCache.test.js +24 -4
  147. package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
  148. package/dist/internal/nodes/cryptoService.d.ts +3 -3
  149. package/dist/internal/nodes/cryptoService.js +11 -17
  150. package/dist/internal/nodes/cryptoService.js.map +1 -1
  151. package/dist/internal/nodes/cryptoService.test.js +320 -241
  152. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  153. package/dist/internal/nodes/events.d.ts +3 -3
  154. package/dist/internal/nodes/events.js +7 -7
  155. package/dist/internal/nodes/events.js.map +1 -1
  156. package/dist/internal/nodes/events.test.js +27 -21
  157. package/dist/internal/nodes/events.test.js.map +1 -1
  158. package/dist/internal/nodes/extendedAttributes.d.ts +1 -1
  159. package/dist/internal/nodes/extendedAttributes.js +3 -1
  160. package/dist/internal/nodes/extendedAttributes.js.map +1 -1
  161. package/dist/internal/nodes/extendedAttributes.test.js +7 -10
  162. package/dist/internal/nodes/extendedAttributes.test.js.map +1 -1
  163. package/dist/internal/nodes/index.d.ts +10 -10
  164. package/dist/internal/nodes/index.js.map +1 -1
  165. package/dist/internal/nodes/index.test.d.ts +1 -0
  166. package/dist/internal/nodes/index.test.js +106 -0
  167. package/dist/internal/nodes/index.test.js.map +1 -0
  168. package/dist/internal/nodes/interface.d.ts +2 -2
  169. package/dist/internal/nodes/nodesAccess.d.ts +7 -7
  170. package/dist/internal/nodes/nodesAccess.js +28 -16
  171. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  172. package/dist/internal/nodes/nodesAccess.test.js +39 -13
  173. package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
  174. package/dist/internal/nodes/nodesManagement.d.ts +6 -6
  175. package/dist/internal/nodes/nodesManagement.js +9 -7
  176. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  177. package/dist/internal/nodes/nodesManagement.test.js +9 -9
  178. package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
  179. package/dist/internal/nodes/nodesRevisions.d.ts +4 -4
  180. package/dist/internal/nodes/nodesRevisions.js.map +1 -1
  181. package/dist/internal/photos/albums.d.ts +3 -3
  182. package/dist/internal/photos/albums.js.map +1 -1
  183. package/dist/internal/photos/apiService.d.ts +1 -1
  184. package/dist/internal/photos/apiService.js +3 -6
  185. package/dist/internal/photos/apiService.js.map +1 -1
  186. package/dist/internal/photos/cache.d.ts +1 -1
  187. package/dist/internal/photos/index.d.ts +5 -5
  188. package/dist/internal/photos/index.js.map +1 -1
  189. package/dist/internal/photos/interface.d.ts +2 -2
  190. package/dist/internal/photos/photosTimeline.d.ts +3 -3
  191. package/dist/internal/photos/photosTimeline.js +1 -2
  192. package/dist/internal/photos/photosTimeline.js.map +1 -1
  193. package/dist/internal/sdkEvents.d.ts +1 -1
  194. package/dist/internal/sdkEvents.js +2 -7
  195. package/dist/internal/sdkEvents.js.map +1 -1
  196. package/dist/internal/sdkEvents.test.js +8 -8
  197. package/dist/internal/shares/apiService.d.ts +2 -2
  198. package/dist/internal/shares/apiService.js +5 -3
  199. package/dist/internal/shares/apiService.js.map +1 -1
  200. package/dist/internal/shares/cache.d.ts +2 -2
  201. package/dist/internal/shares/cache.js +12 -6
  202. package/dist/internal/shares/cache.js.map +1 -1
  203. package/dist/internal/shares/cache.test.js.map +1 -1
  204. package/dist/internal/shares/cryptoCache.d.ts +2 -2
  205. package/dist/internal/shares/cryptoCache.test.js +8 -2
  206. package/dist/internal/shares/cryptoCache.test.js.map +1 -1
  207. package/dist/internal/shares/cryptoService.d.ts +3 -3
  208. package/dist/internal/shares/cryptoService.js.map +1 -1
  209. package/dist/internal/shares/cryptoService.test.js +42 -42
  210. package/dist/internal/shares/cryptoService.test.js.map +1 -1
  211. package/dist/internal/shares/index.d.ts +4 -4
  212. package/dist/internal/shares/index.js.map +1 -1
  213. package/dist/internal/shares/interface.d.ts +2 -2
  214. package/dist/internal/shares/manager.d.ts +7 -7
  215. package/dist/internal/shares/manager.js.map +1 -1
  216. package/dist/internal/shares/manager.test.js +71 -63
  217. package/dist/internal/shares/manager.test.js.map +1 -1
  218. package/dist/internal/sharing/apiService.d.ts +4 -4
  219. package/dist/internal/sharing/apiService.js +4 -3
  220. package/dist/internal/sharing/apiService.js.map +1 -1
  221. package/dist/internal/sharing/cache.d.ts +2 -1
  222. package/dist/internal/sharing/cache.js +9 -0
  223. package/dist/internal/sharing/cache.js.map +1 -1
  224. package/dist/internal/sharing/cache.test.js +33 -33
  225. package/dist/internal/sharing/cryptoService.d.ts +3 -3
  226. package/dist/internal/sharing/cryptoService.js +3 -5
  227. package/dist/internal/sharing/cryptoService.js.map +1 -1
  228. package/dist/internal/sharing/cryptoService.test.js +39 -39
  229. package/dist/internal/sharing/cryptoService.test.js.map +1 -1
  230. package/dist/internal/sharing/events.d.ts +5 -4
  231. package/dist/internal/sharing/events.js +28 -19
  232. package/dist/internal/sharing/events.js.map +1 -1
  233. package/dist/internal/sharing/events.test.js +101 -88
  234. package/dist/internal/sharing/events.test.js.map +1 -1
  235. package/dist/internal/sharing/index.d.ts +6 -6
  236. package/dist/internal/sharing/index.js.map +1 -1
  237. package/dist/internal/sharing/interface.d.ts +5 -4
  238. package/dist/internal/sharing/sharingAccess.d.ts +6 -6
  239. package/dist/internal/sharing/sharingAccess.js +8 -4
  240. package/dist/internal/sharing/sharingAccess.js.map +1 -1
  241. package/dist/internal/sharing/sharingAccess.test.js +45 -39
  242. package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
  243. package/dist/internal/sharing/sharingManagement.d.ts +4 -4
  244. package/dist/internal/sharing/sharingManagement.js +5 -7
  245. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  246. package/dist/internal/sharing/sharingManagement.test.js +297 -248
  247. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  248. package/dist/internal/uids.js.map +1 -1
  249. package/dist/internal/upload/apiService.d.ts +3 -3
  250. package/dist/internal/upload/apiService.js +1 -1
  251. package/dist/internal/upload/apiService.js.map +1 -1
  252. package/dist/internal/upload/blockVerifier.d.ts +3 -3
  253. package/dist/internal/upload/blockVerifier.js +1 -1
  254. package/dist/internal/upload/blockVerifier.js.map +1 -1
  255. package/dist/internal/upload/chunkStreamReader.test.js +6 -6
  256. package/dist/internal/upload/cryptoService.d.ts +4 -4
  257. package/dist/internal/upload/cryptoService.js +4 -4
  258. package/dist/internal/upload/cryptoService.js.map +1 -1
  259. package/dist/internal/upload/digests.js.map +1 -1
  260. package/dist/internal/upload/fileUploader.d.ts +6 -6
  261. package/dist/internal/upload/fileUploader.js.map +1 -1
  262. package/dist/internal/upload/fileUploader.test.js.map +1 -1
  263. package/dist/internal/upload/index.d.ts +5 -5
  264. package/dist/internal/upload/index.js.map +1 -1
  265. package/dist/internal/upload/interface.d.ts +4 -3
  266. package/dist/internal/upload/manager.d.ts +5 -5
  267. package/dist/internal/upload/manager.js +15 -9
  268. package/dist/internal/upload/manager.js.map +1 -1
  269. package/dist/internal/upload/manager.test.js +139 -128
  270. package/dist/internal/upload/manager.test.js.map +1 -1
  271. package/dist/internal/upload/streamUploader.d.ts +6 -6
  272. package/dist/internal/upload/streamUploader.js +9 -7
  273. package/dist/internal/upload/streamUploader.js.map +1 -1
  274. package/dist/internal/upload/streamUploader.test.js +17 -12
  275. package/dist/internal/upload/streamUploader.test.js.map +1 -1
  276. package/dist/internal/upload/telemetry.d.ts +3 -3
  277. package/dist/internal/upload/telemetry.js +5 -3
  278. package/dist/internal/upload/telemetry.js.map +1 -1
  279. package/dist/internal/upload/telemetry.test.js +8 -8
  280. package/dist/internal/upload/telemetry.test.js.map +1 -1
  281. package/dist/protonDriveClient.d.ts +8 -8
  282. package/dist/protonDriveClient.js +12 -9
  283. package/dist/protonDriveClient.js.map +1 -1
  284. package/dist/protonDrivePhotosClient.js.map +1 -1
  285. package/dist/telemetry.js +18 -15
  286. package/dist/telemetry.js.map +1 -1
  287. package/dist/tests/logger.js.map +1 -1
  288. package/dist/tests/telemetry.d.ts +1 -1
  289. package/dist/transformers.d.ts +1 -1
  290. package/dist/transformers.js +5 -2
  291. package/dist/transformers.js.map +1 -1
  292. package/package.json +1 -1
  293. package/src/cache/interface.ts +22 -22
  294. package/src/cache/memoryCache.test.ts +7 -7
  295. package/src/cache/memoryCache.ts +4 -4
  296. package/src/cache/nullCache.ts +1 -1
  297. package/src/config.ts +5 -5
  298. package/src/crypto/driveCrypto.test.ts +15 -15
  299. package/src/crypto/driveCrypto.ts +120 -156
  300. package/src/crypto/hmac.ts +1 -1
  301. package/src/crypto/interface.ts +63 -72
  302. package/src/crypto/openPGPCrypto.ts +74 -94
  303. package/src/crypto/utils.ts +1 -1
  304. package/src/diagnostic/eventsGenerator.ts +2 -2
  305. package/src/diagnostic/httpClient.ts +6 -2
  306. package/src/diagnostic/index.ts +12 -10
  307. package/src/diagnostic/integrityVerificationStream.ts +3 -4
  308. package/src/diagnostic/interface.ts +81 -81
  309. package/src/diagnostic/sdkDiagnostic.ts +35 -24
  310. package/src/diagnostic/sdkDiagnosticFull.ts +16 -19
  311. package/src/diagnostic/telemetry.ts +4 -1
  312. package/src/diagnostic/zipGenerators.test.ts +1 -1
  313. package/src/diagnostic/zipGenerators.ts +3 -3
  314. package/src/errors.ts +21 -21
  315. package/src/index.ts +3 -3
  316. package/src/interface/account.ts +10 -10
  317. package/src/interface/author.ts +6 -6
  318. package/src/interface/config.ts +4 -4
  319. package/src/interface/devices.ts +6 -6
  320. package/src/interface/download.ts +12 -9
  321. package/src/interface/events.ts +45 -39
  322. package/src/interface/httpClient.ts +11 -11
  323. package/src/interface/index.ts +76 -19
  324. package/src/interface/nodes.ts +47 -49
  325. package/src/interface/result.ts +1 -3
  326. package/src/interface/sharing.ts +60 -57
  327. package/src/interface/telemetry.ts +74 -74
  328. package/src/interface/thumbnail.ts +5 -6
  329. package/src/interface/upload.ts +20 -12
  330. package/src/internal/apiService/apiService.test.ts +109 -76
  331. package/src/internal/apiService/apiService.ts +40 -26
  332. package/src/internal/apiService/coreTypes.ts +2474 -2463
  333. package/src/internal/apiService/driveTypes.ts +1868 -1822
  334. package/src/internal/apiService/errorCodes.ts +4 -4
  335. package/src/internal/apiService/errors.test.ts +25 -23
  336. package/src/internal/apiService/errors.ts +15 -9
  337. package/src/internal/apiService/index.ts +1 -1
  338. package/src/internal/apiService/transformers.ts +2 -2
  339. package/src/internal/asyncIteratorMap.test.ts +4 -4
  340. package/src/internal/asyncIteratorMap.ts +1 -1
  341. package/src/internal/asyncIteratorRace.test.ts +149 -0
  342. package/src/internal/asyncIteratorRace.ts +79 -0
  343. package/src/internal/batch.test.ts +50 -0
  344. package/src/internal/batch.ts +9 -0
  345. package/src/internal/batchLoading.test.ts +13 -14
  346. package/src/internal/batchLoading.ts +8 -8
  347. package/src/internal/devices/apiService.ts +58 -51
  348. package/src/internal/devices/cryptoService.ts +22 -17
  349. package/src/internal/devices/index.ts +17 -10
  350. package/src/internal/devices/interface.ts +21 -12
  351. package/src/internal/devices/manager.test.ts +40 -9
  352. package/src/internal/devices/manager.ts +3 -3
  353. package/src/internal/download/apiService.ts +66 -49
  354. package/src/internal/download/cryptoService.ts +34 -18
  355. package/src/internal/download/fileDownloader.test.ts +25 -9
  356. package/src/internal/download/fileDownloader.ts +36 -18
  357. package/src/internal/download/index.ts +19 -19
  358. package/src/internal/download/interface.ts +19 -20
  359. package/src/internal/download/queue.ts +3 -3
  360. package/src/internal/download/telemetry.test.ts +11 -11
  361. package/src/internal/download/telemetry.ts +24 -14
  362. package/src/internal/download/thumbnailDownloader.test.ts +11 -6
  363. package/src/internal/download/thumbnailDownloader.ts +43 -32
  364. package/src/internal/errors.ts +7 -5
  365. package/src/internal/events/apiService.ts +30 -17
  366. package/src/internal/events/coreEventManager.test.ts +18 -18
  367. package/src/internal/events/coreEventManager.ts +9 -6
  368. package/src/internal/events/eventManager.test.ts +108 -82
  369. package/src/internal/events/eventManager.ts +16 -5
  370. package/src/internal/events/index.ts +75 -47
  371. package/src/internal/events/interface.ts +47 -39
  372. package/src/internal/events/volumeEventManager.test.ts +61 -65
  373. package/src/internal/events/volumeEventManager.ts +18 -9
  374. package/src/internal/nodes/apiService.test.ts +197 -147
  375. package/src/internal/nodes/apiService.ts +288 -174
  376. package/src/internal/nodes/cache.test.ts +48 -20
  377. package/src/internal/nodes/cache.ts +60 -44
  378. package/src/internal/nodes/cryptoCache.test.ts +34 -14
  379. package/src/internal/nodes/cryptoCache.ts +10 -5
  380. package/src/internal/nodes/cryptoService.test.ts +492 -351
  381. package/src/internal/nodes/cryptoService.ts +170 -88
  382. package/src/internal/nodes/events.test.ts +38 -28
  383. package/src/internal/nodes/events.ts +13 -12
  384. package/src/internal/nodes/extendedAttributes.test.ts +28 -24
  385. package/src/internal/nodes/extendedAttributes.ts +20 -15
  386. package/src/internal/nodes/index.test.ts +133 -0
  387. package/src/internal/nodes/index.ts +27 -15
  388. package/src/internal/nodes/interface.ts +42 -29
  389. package/src/internal/nodes/nodesAccess.test.ts +124 -58
  390. package/src/internal/nodes/nodesAccess.ts +73 -49
  391. package/src/internal/nodes/nodesManagement.test.ts +32 -31
  392. package/src/internal/nodes/nodesManagement.ts +39 -32
  393. package/src/internal/nodes/nodesRevisions.ts +7 -7
  394. package/src/internal/nodes/validations.ts +2 -2
  395. package/src/internal/photos/albums.ts +5 -5
  396. package/src/internal/photos/apiService.ts +4 -7
  397. package/src/internal/photos/cache.ts +1 -1
  398. package/src/internal/photos/index.ts +8 -8
  399. package/src/internal/photos/interface.ts +2 -2
  400. package/src/internal/photos/photosTimeline.ts +4 -5
  401. package/src/internal/sdkEvents.test.ts +10 -10
  402. package/src/internal/sdkEvents.ts +5 -13
  403. package/src/internal/shares/apiService.ts +44 -33
  404. package/src/internal/shares/cache.test.ts +6 -4
  405. package/src/internal/shares/cache.ts +21 -12
  406. package/src/internal/shares/cryptoCache.test.ts +17 -11
  407. package/src/internal/shares/cryptoCache.ts +4 -4
  408. package/src/internal/shares/cryptoService.test.ts +72 -74
  409. package/src/internal/shares/cryptoService.ts +48 -23
  410. package/src/internal/shares/index.ts +23 -11
  411. package/src/internal/shares/interface.ts +8 -8
  412. package/src/internal/shares/manager.test.ts +88 -80
  413. package/src/internal/shares/manager.ts +19 -19
  414. package/src/internal/sharing/apiService.ts +282 -175
  415. package/src/internal/sharing/cache.test.ts +35 -35
  416. package/src/internal/sharing/cache.ts +11 -2
  417. package/src/internal/sharing/cryptoService.test.ts +58 -46
  418. package/src/internal/sharing/cryptoService.ts +121 -84
  419. package/src/internal/sharing/events.test.ts +113 -102
  420. package/src/internal/sharing/events.ts +42 -24
  421. package/src/internal/sharing/index.ts +22 -11
  422. package/src/internal/sharing/interface.ts +40 -40
  423. package/src/internal/sharing/sharingAccess.test.ts +71 -65
  424. package/src/internal/sharing/sharingAccess.ts +39 -21
  425. package/src/internal/sharing/sharingManagement.test.ts +398 -298
  426. package/src/internal/sharing/sharingManagement.ts +138 -65
  427. package/src/internal/uids.ts +1 -1
  428. package/src/internal/upload/apiService.ts +167 -117
  429. package/src/internal/upload/blockVerifier.ts +8 -6
  430. package/src/internal/upload/chunkStreamReader.test.ts +7 -7
  431. package/src/internal/upload/cryptoService.ts +42 -36
  432. package/src/internal/upload/digests.ts +2 -2
  433. package/src/internal/upload/fileUploader.test.ts +15 -3
  434. package/src/internal/upload/fileUploader.ts +39 -17
  435. package/src/internal/upload/index.ts +13 -14
  436. package/src/internal/upload/interface.ts +79 -78
  437. package/src/internal/upload/manager.test.ts +170 -156
  438. package/src/internal/upload/manager.ts +66 -39
  439. package/src/internal/upload/queue.ts +3 -3
  440. package/src/internal/upload/streamUploader.test.ts +40 -26
  441. package/src/internal/upload/streamUploader.ts +87 -69
  442. package/src/internal/upload/telemetry.test.ts +11 -11
  443. package/src/internal/upload/telemetry.ts +25 -15
  444. package/src/internal/wait.test.ts +1 -1
  445. package/src/internal/wait.ts +3 -3
  446. package/src/protonDriveClient.ts +121 -39
  447. package/src/protonDrivePhotosClient.ts +16 -10
  448. package/src/telemetry.ts +60 -52
  449. package/src/tests/logger.ts +1 -1
  450. package/src/tests/telemetry.ts +2 -2
  451. package/src/transformers.ts +29 -21
  452. package/src/version.ts +0 -1
@@ -1,5 +1,12 @@
1
- import { getMockLogger } from "../../tests/logger";
2
- import { FolderExtendedAttributes, FileExtendedAttributesParsed, generateFolderExtendedAttributes, generateFileExtendedAttributes, parseFolderExtendedAttributes, parseFileExtendedAttributes } from './extendedAttributes';
1
+ import { getMockLogger } from '../../tests/logger';
2
+ import {
3
+ FolderExtendedAttributes,
4
+ FileExtendedAttributesParsed,
5
+ generateFolderExtendedAttributes,
6
+ generateFileExtendedAttributes,
7
+ parseFolderExtendedAttributes,
8
+ parseFileExtendedAttributes,
9
+ } from './extendedAttributes';
3
10
 
4
11
  describe('extended attrbiutes', () => {
5
12
  describe('should generate folder attributes', () => {
@@ -11,7 +18,7 @@ describe('extended attrbiutes', () => {
11
18
  it(`should generate ${input}`, () => {
12
19
  const output = generateFolderExtendedAttributes(input);
13
20
  expect(output).toBe(expectedAttributes);
14
- })
21
+ });
15
22
  });
16
23
  });
17
24
 
@@ -26,46 +33,43 @@ describe('extended attrbiutes', () => {
26
33
  claimedModificationTime: new Date(1234567890000),
27
34
  },
28
35
  ],
29
- [
30
- '{"Common": {"ModificationTime": "aa"}}',
31
- {},
32
- ],
36
+ ['{"Common": {"ModificationTime": "aa"}}', {}],
33
37
  [
34
38
  '{"Common": {"ModificationTime": "2009-02-13T23:31:30+0000", "Size": 123}}',
35
39
  {
36
40
  claimedModificationTime: new Date(1234567890000),
37
41
  },
38
42
  ],
39
- [
40
- '{"Common": {"Whatever": 123}}',
41
- {},
42
- ],
43
+ ['{"Common": {"Whatever": 123}}', {}],
43
44
  ];
44
45
  testCases.forEach(([input, expectedAttributes]) => {
45
46
  it(`should parse ${input}`, () => {
46
47
  const output = parseFolderExtendedAttributes(getMockLogger(), input);
47
48
  expect(output).toMatchObject(expectedAttributes);
48
- })
49
+ });
49
50
  });
50
51
  });
51
52
 
52
53
  describe('should generate file attributes', () => {
53
54
  const testCases: [object, string | undefined][] = [
54
55
  [{}, undefined],
55
- [{modificationTime: new Date(1234567890000)}, '{"Common":{"ModificationTime":"2009-02-13T23:31:30.000Z"}}'],
56
- [{size: undefined}, undefined],
57
- [{size: 0}, '{"Common":{"Size":0}}'],
58
- [{size: 1234}, '{"Common":{"Size":1234}}'],
59
- [{blockSizes: []}, undefined],
60
- [{blockSizes: [4,4,4,2]}, '{"Common":{"BlockSizes":[4,4,4,2]}}'],
61
- [{digests: {}}, undefined],
62
- [{digests: {sha1: 'abcdef'}}, '{"Common":{"Digests":{"SHA1":"abcdef"}}}'],
56
+ [
57
+ { modificationTime: new Date(1234567890000) },
58
+ '{"Common":{"ModificationTime":"2009-02-13T23:31:30.000Z"}}',
59
+ ],
60
+ [{ size: undefined }, undefined],
61
+ [{ size: 0 }, '{"Common":{"Size":0}}'],
62
+ [{ size: 1234 }, '{"Common":{"Size":1234}}'],
63
+ [{ blockSizes: [] }, undefined],
64
+ [{ blockSizes: [4, 4, 4, 2] }, '{"Common":{"BlockSizes":[4,4,4,2]}}'],
65
+ [{ digests: {} }, undefined],
66
+ [{ digests: { sha1: 'abcdef' } }, '{"Common":{"Digests":{"SHA1":"abcdef"}}}'],
63
67
  [
64
68
  {
65
69
  modificationTime: new Date(1234567890000),
66
70
  size: 1234,
67
71
  blockSizes: [4, 4, 4, 2],
68
- digests: {sha1: 'abcdef'},
72
+ digests: { sha1: 'abcdef' },
69
73
  },
70
74
  '{"Common":{"ModificationTime":"2009-02-13T23:31:30.000Z","Size":1234,"BlockSizes":[4,4,4,2],"Digests":{"SHA1":"abcdef"}}}',
71
75
  ],
@@ -74,7 +78,7 @@ describe('extended attrbiutes', () => {
74
78
  it(`should generate ${input}`, () => {
75
79
  const output = generateFileExtendedAttributes(input);
76
80
  expect(output).toBe(expectedAttributes);
77
- })
81
+ });
78
82
  });
79
83
  });
80
84
 
@@ -151,7 +155,7 @@ describe('extended attrbiutes', () => {
151
155
  {
152
156
  claimedModificationTime: undefined,
153
157
  claimedSize: undefined,
154
- claimedDigests: {sha1: "abcdef"},
158
+ claimedDigests: { sha1: 'abcdef' },
155
159
  claimedAdditionalMetadata: undefined,
156
160
  },
157
161
  ],
@@ -171,7 +175,7 @@ describe('extended attrbiutes', () => {
171
175
  it(`should parse ${input}`, () => {
172
176
  const output = parseFileExtendedAttributes(getMockLogger(), input);
173
177
  expect(output).toMatchObject(expectedAttributes);
174
- })
178
+ });
175
179
  });
176
180
  });
177
181
  });
@@ -1,4 +1,4 @@
1
- import { Logger } from "../../interface";
1
+ import { Logger } from '../../interface';
2
2
 
3
3
  interface FolderExtendedAttributesSchema {
4
4
  Common?: {
@@ -38,16 +38,16 @@ interface FileExtendedAttributesSchema {
38
38
  }
39
39
 
40
40
  export interface FolderExtendedAttributes {
41
- claimedModificationTime?: Date,
41
+ claimedModificationTime?: Date;
42
42
  }
43
43
 
44
44
  export interface FileExtendedAttributesParsed {
45
- claimedSize?: number,
46
- claimedModificationTime?: Date,
45
+ claimedSize?: number;
46
+ claimedModificationTime?: Date;
47
47
  claimedDigests?: {
48
- sha1?: string,
49
- },
50
- claimedAdditionalMetadata?: object,
48
+ sha1?: string;
49
+ };
50
+ claimedAdditionalMetadata?: object;
51
51
  }
52
52
 
53
53
  export function generateFolderExtendedAttributes(claimedModificationTime?: Date): string | undefined {
@@ -83,12 +83,12 @@ export function parseFolderExtendedAttributes(logger: Logger, extendedAttributes
83
83
  }
84
84
 
85
85
  export function generateFileExtendedAttributes(options: {
86
- modificationTime?: Date,
87
- size?: number,
88
- blockSizes?: number[],
86
+ modificationTime?: Date;
87
+ size?: number;
88
+ blockSizes?: number[];
89
89
  digests?: {
90
- sha1?: string,
91
- },
90
+ sha1?: string;
91
+ };
92
92
  }): string | undefined {
93
93
  const commonAttributes: FileExtendedAttributesSchema['Common'] = {};
94
94
  if (options.modificationTime) {
@@ -115,7 +115,7 @@ export function generateFileExtendedAttributes(options: {
115
115
 
116
116
  export function parseFileExtendedAttributes(logger: Logger, extendedAttributes?: string): FileExtendedAttributesParsed {
117
117
  if (!extendedAttributes) {
118
- return {}
118
+ return {};
119
119
  }
120
120
 
121
121
  try {
@@ -128,7 +128,9 @@ export function parseFileExtendedAttributes(logger: Logger, extendedAttributes?:
128
128
  claimedSize: parseSize(logger, parsed),
129
129
  claimedModificationTime: parseModificationTime(logger, parsed),
130
130
  claimedDigests: parseDigests(logger, parsed),
131
- claimedAdditionalMetadata: Object.keys(claimedAdditionalMetadata).length ? claimedAdditionalMetadata : undefined,
131
+ claimedAdditionalMetadata: Object.keys(claimedAdditionalMetadata).length
132
+ ? claimedAdditionalMetadata
133
+ : undefined,
132
134
  };
133
135
  } catch (error: unknown) {
134
136
  logger.error(`Failed to parse extended attributes`, error);
@@ -148,7 +150,10 @@ function parseSize(logger: Logger, xattr?: FileExtendedAttributesSchema): number
148
150
  return size;
149
151
  }
150
152
 
151
- function parseModificationTime(logger: Logger, xattr?: FolderExtendedAttributesSchema | FolderExtendedAttributesSchema): Date | undefined {
153
+ function parseModificationTime(
154
+ logger: Logger,
155
+ xattr?: FolderExtendedAttributesSchema | FolderExtendedAttributesSchema,
156
+ ): Date | undefined {
152
157
  const modificationTime = xattr?.Common?.ModificationTime;
153
158
  if (modificationTime === undefined) {
154
159
  return undefined;
@@ -0,0 +1,133 @@
1
+ import {
2
+ ProtonDriveEntitiesCache,
3
+ ProtonDriveCryptoCache,
4
+ ProtonDriveAccount,
5
+ MemberRole,
6
+ NodeType,
7
+ } from '../../interface';
8
+ import { DriveCrypto } from '../../crypto';
9
+ import { MemoryCache } from '../../cache';
10
+ import { getMockTelemetry } from '../../tests/telemetry';
11
+ import { DriveAPIService } from '../apiService';
12
+ import { DriveEventType } from '../events';
13
+ import { makeNodeUid } from '../uids';
14
+ import { SharesService, DecryptedNode } from './interface';
15
+ import { initNodesModule } from './index';
16
+ import { NodesCache } from './cache';
17
+ import { getMockLogger } from '../../tests/logger';
18
+
19
+ function generateNode(uid: string, parentUid = 'volumeId~root', params: Partial<DecryptedNode> = {}): DecryptedNode {
20
+ return {
21
+ uid,
22
+ parentUid,
23
+ directMemberRole: MemberRole.Admin,
24
+ type: NodeType.File,
25
+ mediaType: 'text',
26
+ isShared: false,
27
+ creationTime: new Date(),
28
+ trashTime: undefined,
29
+ isStale: false,
30
+ ...params,
31
+ } as DecryptedNode;
32
+ }
33
+
34
+ describe('nodesModules integration tests', () => {
35
+ let apiService: DriveAPIService;
36
+ let driveEntitiesCache: ProtonDriveEntitiesCache;
37
+ let driveCryptoCache: ProtonDriveCryptoCache;
38
+ let account: ProtonDriveAccount;
39
+ let driveCrypto: DriveCrypto;
40
+ let sharesService: SharesService;
41
+ let nodesModule: ReturnType<typeof initNodesModule>;
42
+ let nodesCache: NodesCache;
43
+
44
+ beforeEach(() => {
45
+ // @ts-expect-error No need to implement all methods for mocking
46
+ apiService = {};
47
+ driveEntitiesCache = new MemoryCache();
48
+ driveCryptoCache = new MemoryCache();
49
+ // @ts-expect-error No need to implement all methods for mocking
50
+ account = {};
51
+ // @ts-expect-error No need to implement all methods for mocking
52
+ driveCrypto = {};
53
+ // @ts-expect-error No need to implement all methods for mocking
54
+ sharesService = {
55
+ getMyFilesIDs: jest.fn().mockResolvedValue({ volumeId: 'volumeId' }),
56
+ };
57
+
58
+ nodesModule = initNodesModule(
59
+ getMockTelemetry(),
60
+ apiService,
61
+ driveEntitiesCache,
62
+ driveCryptoCache,
63
+ account,
64
+ driveCrypto,
65
+ sharesService,
66
+ );
67
+
68
+ nodesCache = new NodesCache(getMockLogger(), driveEntitiesCache);
69
+ });
70
+
71
+ test('should move node from one folder to another after move event', async () => {
72
+ // Prepare two folders (original and target) and a node in the original folder.
73
+ const originalFolderUid = makeNodeUid('volumeId', 'originalFolder');
74
+ const targetFolderUid = makeNodeUid('volumeId', 'targetFolder');
75
+ const nodeUid = makeNodeUid('volumeId', 'node1');
76
+
77
+ await nodesCache.setNode(generateNode(originalFolderUid));
78
+ await nodesCache.setFolderChildrenLoaded(originalFolderUid);
79
+ await nodesCache.setNode(generateNode(targetFolderUid));
80
+ await nodesCache.setFolderChildrenLoaded(targetFolderUid);
81
+ await nodesCache.setNode(generateNode(nodeUid, originalFolderUid));
82
+
83
+ // Mock the API services to return the moved node.
84
+ // This is called when listing the children of the target folder after
85
+ // move event (when node marked as stale).
86
+ apiService.post = jest.fn().mockImplementation(async (url, body) => {
87
+ expect(url).toBe(`drive/v2/volumes/volumeId/links`);
88
+ return {
89
+ Links: [
90
+ {
91
+ Link: {
92
+ LinkID: 'node1',
93
+ ParentLinkID: 'targetFolder',
94
+ NameHash: 'hash',
95
+ Type: 2,
96
+ },
97
+ File: {
98
+ ActiveRevision: {},
99
+ },
100
+ },
101
+ ],
102
+ };
103
+ });
104
+ jest.spyOn(nodesModule.access, 'getParentKeys').mockResolvedValue({ key: { _idx: 32131 } } as any);
105
+
106
+ // Verify the inital state before move event is sent.
107
+ const originalBeforeMove = await Array.fromAsync(nodesModule.access.iterateFolderChildren(originalFolderUid));
108
+ expect(originalBeforeMove).toMatchObject([{ uid: nodeUid, parentUid: originalFolderUid }]);
109
+
110
+ const targetBeforeMove = await Array.fromAsync(nodesModule.access.iterateFolderChildren(targetFolderUid));
111
+ expect(targetBeforeMove).toMatchObject([]);
112
+
113
+ // Send the move event that updates the cache.
114
+ await nodesModule.eventHandler.updateNodesCacheOnEvent({
115
+ type: DriveEventType.NodeUpdated,
116
+ nodeUid,
117
+ parentNodeUid: targetFolderUid,
118
+ isTrashed: false,
119
+ isShared: false,
120
+ treeEventScopeId: 'volumeId',
121
+ eventId: '1',
122
+ });
123
+
124
+ // Verify the state after the move event, including when API service is called.
125
+ const originalAfterMove = await Array.fromAsync(nodesModule.access.iterateFolderChildren(originalFolderUid));
126
+ expect(originalAfterMove).toMatchObject([]);
127
+ expect(apiService.post).not.toHaveBeenCalled();
128
+
129
+ const targetAfterMove = await Array.fromAsync(nodesModule.access.iterateFolderChildren(targetFolderUid));
130
+ expect(targetAfterMove).toMatchObject([{ uid: nodeUid, parentUid: targetFolderUid }]);
131
+ expect(apiService.post).toHaveBeenCalledTimes(1);
132
+ });
133
+ });
@@ -1,18 +1,23 @@
1
- import { DriveAPIService } from "../apiService";
2
- import { DriveCrypto } from "../../crypto";
3
- import { ProtonDriveEntitiesCache, ProtonDriveCryptoCache, ProtonDriveAccount, ProtonDriveTelemetry } from "../../interface";
4
- import { NodeAPIService } from "./apiService";
5
- import { NodesCache } from "./cache";
6
- import { NodesCryptoCache } from "./cryptoCache";
7
- import { NodesCryptoService } from "./cryptoService";
8
- import { SharesService } from "./interface";
9
- import { NodesAccess } from "./nodesAccess";
10
- import { NodesManagement } from "./nodesManagement";
11
- import { NodesRevisons } from "./nodesRevisions";
12
- import { NodesEventsHandler } from "./events";
1
+ import { DriveAPIService } from '../apiService';
2
+ import { DriveCrypto } from '../../crypto';
3
+ import {
4
+ ProtonDriveEntitiesCache,
5
+ ProtonDriveCryptoCache,
6
+ ProtonDriveAccount,
7
+ ProtonDriveTelemetry,
8
+ } from '../../interface';
9
+ import { NodeAPIService } from './apiService';
10
+ import { NodesCache } from './cache';
11
+ import { NodesCryptoCache } from './cryptoCache';
12
+ import { NodesCryptoService } from './cryptoService';
13
+ import { SharesService } from './interface';
14
+ import { NodesAccess } from './nodesAccess';
15
+ import { NodesManagement } from './nodesManagement';
16
+ import { NodesRevisons } from './nodesRevisions';
17
+ import { NodesEventsHandler } from './events';
13
18
 
14
- export type { DecryptedNode, DecryptedRevision } from "./interface";
15
- export { generateFileExtendedAttributes } from "./extendedAttributes";
19
+ export type { DecryptedNode, DecryptedRevision } from './interface';
20
+ export { generateFileExtendedAttributes } from './extendedAttributes';
16
21
 
17
22
  /**
18
23
  * Provides facade for the whole nodes module.
@@ -36,7 +41,14 @@ export function initNodesModule(
36
41
  const cache = new NodesCache(telemetry.getLogger('nodes-cache'), driveEntitiesCache);
37
42
  const cryptoCache = new NodesCryptoCache(telemetry.getLogger('nodes-cache'), driveCryptoCache);
38
43
  const cryptoService = new NodesCryptoService(telemetry, driveCrypto, account, sharesService);
39
- const nodesAccess = new NodesAccess(telemetry.getLogger('nodes'), api, cache, cryptoCache, cryptoService, sharesService);
44
+ const nodesAccess = new NodesAccess(
45
+ telemetry.getLogger('nodes'),
46
+ api,
47
+ cache,
48
+ cryptoCache,
49
+ cryptoService,
50
+ sharesService,
51
+ );
40
52
  const nodesEventHandler = new NodesEventsHandler(telemetry.getLogger('nodes-events'), cache);
41
53
  const nodesManagement = new NodesManagement(api, cryptoCache, cryptoService, nodesAccess);
42
54
  const nodesRevisions = new NodesRevisons(telemetry.getLogger('nodes'), api, cryptoService, nodesAccess);
@@ -1,5 +1,16 @@
1
- import { PrivateKey, SessionKey } from "../../crypto";
2
- import { NodeEntity, Result, InvalidNameError, Author, MemberRole, NodeType, ThumbnailType, MetricVolumeType, Revision, RevisionState } from "../../interface";
1
+ import { PrivateKey, SessionKey } from '../../crypto';
2
+ import {
3
+ NodeEntity,
4
+ Result,
5
+ InvalidNameError,
6
+ Author,
7
+ MemberRole,
8
+ NodeType,
9
+ ThumbnailType,
10
+ MetricVolumeType,
11
+ Revision,
12
+ RevisionState,
13
+ } from '../../interface';
3
14
 
4
15
  /**
5
16
  * Internal common node interface for both encrypted or decrypted node.
@@ -20,8 +31,8 @@ interface BaseNode {
20
31
 
21
32
  // Share node metadata
22
33
  shareId?: string;
23
- isShared: boolean,
24
- directMemberRole: MemberRole,
34
+ isShared: boolean;
35
+ directMemberRole: MemberRole;
25
36
  }
26
37
 
27
38
  /**
@@ -68,28 +79,30 @@ export interface EncryptedNodeAlbumCrypto extends EncryptedNodeCrypto {}
68
79
  * such as extended attributes.
69
80
  */
70
81
  export interface DecryptedUnparsedNode extends BaseNode {
71
- keyAuthor: Author,
72
- nameAuthor: Author,
73
- name: Result<string, Error>,
74
- activeRevision?: Result<DecryptedUnparsedRevision, Error>,
82
+ keyAuthor: Author;
83
+ nameAuthor: Author;
84
+ name: Result<string, Error>;
85
+ activeRevision?: Result<DecryptedUnparsedRevision, Error>;
75
86
  folder?: {
76
- extendedAttributes?: string,
77
- },
78
- errors?: unknown[],
87
+ extendedAttributes?: string;
88
+ };
89
+ errors?: unknown[];
79
90
  }
80
91
 
81
92
  /**
82
93
  * Interface holding decrypted node metadata.
83
94
  */
84
- export interface DecryptedNode extends Omit<DecryptedUnparsedNode, 'name' | 'activeRevision' | 'folder'>, Omit<NodeEntity, 'name' | 'activeRevision'> {
95
+ export interface DecryptedNode
96
+ extends Omit<DecryptedUnparsedNode, 'name' | 'activeRevision' | 'folder'>,
97
+ Omit<NodeEntity, 'name' | 'activeRevision'> {
85
98
  // Internal metadata
86
99
  isStale: boolean;
87
- name: Result<string, Error | InvalidNameError>,
100
+ name: Result<string, Error | InvalidNameError>;
88
101
 
89
- activeRevision?: Result<DecryptedRevision, Error>,
102
+ activeRevision?: Result<DecryptedRevision, Error>;
90
103
  folder?: {
91
- claimedModificationTime?: Date,
92
- },
104
+ claimedModificationTime?: Date;
105
+ };
93
106
  }
94
107
 
95
108
  /**
@@ -120,7 +133,7 @@ interface BaseRevision {
120
133
  export type Thumbnail = {
121
134
  uid: string;
122
135
  type: ThumbnailType;
123
- }
136
+ };
124
137
 
125
138
  export interface EncryptedRevision extends BaseRevision {
126
139
  signatureEmail?: string;
@@ -128,8 +141,8 @@ export interface EncryptedRevision extends BaseRevision {
128
141
  }
129
142
 
130
143
  export interface DecryptedUnparsedRevision extends BaseRevision {
131
- contentAuthor: Author,
132
- extendedAttributes?: string,
144
+ contentAuthor: Author;
145
+ extendedAttributes?: string;
133
146
  }
134
147
 
135
148
  export interface DecryptedRevision extends Revision {
@@ -140,16 +153,16 @@ export interface DecryptedRevision extends Revision {
140
153
  * Interface describing the dependencies to the shares module.
141
154
  */
142
155
  export interface SharesService {
143
- getMyFilesIDs(): Promise<{ volumeId: string, rootNodeId: string }>,
144
- getSharePrivateKey(shareId: string): Promise<PrivateKey>,
156
+ getMyFilesIDs(): Promise<{ volumeId: string; rootNodeId: string }>;
157
+ getSharePrivateKey(shareId: string): Promise<PrivateKey>;
145
158
  getMyFilesShareMemberEmailKey(): Promise<{
146
- email: string,
147
- }>,
159
+ email: string;
160
+ }>;
148
161
  getContextShareMemberEmailKey(shareId: string): Promise<{
149
- email: string,
150
- addressId: string,
151
- addressKey: PrivateKey,
152
- addressKeyId: string,
153
- }>,
154
- getVolumeMetricContext(volumeId: string): Promise<MetricVolumeType>,
162
+ email: string;
163
+ addressId: string;
164
+ addressKey: PrivateKey;
165
+ addressKeyId: string;
166
+ }>;
167
+ getVolumeMetricContext(volumeId: string): Promise<MetricVolumeType>;
155
168
  }