@protontech/drive-sdk 0.0.12 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) 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/nullCache.d.ts +14 -0
  6. package/dist/cache/nullCache.js +37 -0
  7. package/dist/cache/nullCache.js.map +1 -0
  8. package/dist/config.d.ts +16 -1
  9. package/dist/config.js +1 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/crypto/openPGPCrypto.js +2 -0
  12. package/dist/crypto/openPGPCrypto.js.map +1 -1
  13. package/dist/diagnostic/eventsGenerator.d.ts +14 -0
  14. package/dist/diagnostic/eventsGenerator.js +49 -0
  15. package/dist/diagnostic/eventsGenerator.js.map +1 -0
  16. package/dist/diagnostic/httpClient.d.ts +16 -0
  17. package/dist/diagnostic/httpClient.js +81 -0
  18. package/dist/diagnostic/httpClient.js.map +1 -0
  19. package/dist/diagnostic/index.d.ts +10 -0
  20. package/dist/diagnostic/index.js +35 -0
  21. package/dist/diagnostic/index.js.map +1 -0
  22. package/dist/diagnostic/integrityVerificationStream.d.ts +21 -0
  23. package/dist/diagnostic/integrityVerificationStream.js +56 -0
  24. package/dist/diagnostic/integrityVerificationStream.js.map +1 -0
  25. package/dist/diagnostic/interface.d.ts +102 -0
  26. package/dist/diagnostic/interface.js +3 -0
  27. package/dist/diagnostic/interface.js.map +1 -0
  28. package/dist/diagnostic/sdkDiagnostic.d.ts +22 -0
  29. package/dist/diagnostic/sdkDiagnostic.js +216 -0
  30. package/dist/diagnostic/sdkDiagnostic.js.map +1 -0
  31. package/dist/diagnostic/sdkDiagnosticFull.d.ts +18 -0
  32. package/dist/diagnostic/sdkDiagnosticFull.js +35 -0
  33. package/dist/diagnostic/sdkDiagnosticFull.js.map +1 -0
  34. package/dist/diagnostic/telemetry.d.ts +25 -0
  35. package/dist/diagnostic/telemetry.js +70 -0
  36. package/dist/diagnostic/telemetry.js.map +1 -0
  37. package/dist/diagnostic/zipGenerators.d.ts +9 -0
  38. package/dist/diagnostic/zipGenerators.js +64 -0
  39. package/dist/diagnostic/zipGenerators.js.map +1 -0
  40. package/dist/diagnostic/zipGenerators.test.js +144 -0
  41. package/dist/diagnostic/zipGenerators.test.js.map +1 -0
  42. package/dist/errors.d.ts +8 -3
  43. package/dist/errors.js +11 -4
  44. package/dist/errors.js.map +1 -1
  45. package/dist/interface/config.d.ts +26 -0
  46. package/dist/interface/config.js +3 -0
  47. package/dist/interface/config.js.map +1 -0
  48. package/dist/interface/download.d.ts +2 -2
  49. package/dist/interface/events.d.ts +60 -20
  50. package/dist/interface/events.js +11 -1
  51. package/dist/interface/events.js.map +1 -1
  52. package/dist/interface/httpClient.d.ts +0 -14
  53. package/dist/interface/index.d.ts +9 -5
  54. package/dist/interface/index.js +2 -1
  55. package/dist/interface/index.js.map +1 -1
  56. package/dist/interface/nodes.d.ts +21 -1
  57. package/dist/interface/nodes.js +11 -0
  58. package/dist/interface/nodes.js.map +1 -1
  59. package/dist/interface/sharing.d.ts +1 -0
  60. package/dist/interface/upload.d.ts +57 -3
  61. package/dist/internal/apiService/driveTypes.d.ts +1341 -465
  62. package/dist/internal/apiService/errors.js +2 -2
  63. package/dist/internal/apiService/errors.js.map +1 -1
  64. package/dist/internal/apiService/transformers.js +2 -0
  65. package/dist/internal/apiService/transformers.js.map +1 -1
  66. package/dist/internal/asyncIteratorMap.d.ts +15 -0
  67. package/dist/internal/asyncIteratorMap.js +59 -0
  68. package/dist/internal/asyncIteratorMap.js.map +1 -0
  69. package/dist/internal/asyncIteratorMap.test.js +120 -0
  70. package/dist/internal/asyncIteratorMap.test.js.map +1 -0
  71. package/dist/internal/download/apiService.js +32 -31
  72. package/dist/internal/download/apiService.js.map +1 -1
  73. package/dist/internal/download/fileDownloader.d.ts +2 -2
  74. package/dist/internal/download/fileDownloader.js.map +1 -1
  75. package/dist/internal/events/apiService.d.ts +4 -6
  76. package/dist/internal/events/apiService.js +15 -22
  77. package/dist/internal/events/apiService.js.map +1 -1
  78. package/dist/internal/events/coreEventManager.d.ts +7 -10
  79. package/dist/internal/events/coreEventManager.js +19 -36
  80. package/dist/internal/events/coreEventManager.js.map +1 -1
  81. package/dist/internal/events/coreEventManager.test.d.ts +1 -0
  82. package/dist/internal/events/coreEventManager.test.js +87 -0
  83. package/dist/internal/events/coreEventManager.test.js.map +1 -0
  84. package/dist/internal/events/eventManager.d.ts +11 -36
  85. package/dist/internal/events/eventManager.js +59 -105
  86. package/dist/internal/events/eventManager.js.map +1 -1
  87. package/dist/internal/events/eventManager.test.js +167 -82
  88. package/dist/internal/events/eventManager.test.js.map +1 -1
  89. package/dist/internal/events/index.d.ts +13 -33
  90. package/dist/internal/events/index.js +56 -72
  91. package/dist/internal/events/index.js.map +1 -1
  92. package/dist/internal/events/interface.d.ts +59 -14
  93. package/dist/internal/events/interface.js +13 -3
  94. package/dist/internal/events/interface.js.map +1 -1
  95. package/dist/internal/events/volumeEventManager.d.ts +7 -17
  96. package/dist/internal/events/volumeEventManager.js +58 -45
  97. package/dist/internal/events/volumeEventManager.js.map +1 -1
  98. package/dist/internal/events/volumeEventManager.test.d.ts +1 -0
  99. package/dist/internal/events/volumeEventManager.test.js +203 -0
  100. package/dist/internal/events/volumeEventManager.test.js.map +1 -0
  101. package/dist/internal/nodes/apiService.d.ts +2 -2
  102. package/dist/internal/nodes/apiService.js +16 -6
  103. package/dist/internal/nodes/apiService.js.map +1 -1
  104. package/dist/internal/nodes/apiService.test.js +30 -8
  105. package/dist/internal/nodes/apiService.test.js.map +1 -1
  106. package/dist/internal/nodes/cache.d.ts +10 -1
  107. package/dist/internal/nodes/cache.js +18 -0
  108. package/dist/internal/nodes/cache.js.map +1 -1
  109. package/dist/internal/nodes/cache.test.js +1 -0
  110. package/dist/internal/nodes/cache.test.js.map +1 -1
  111. package/dist/internal/nodes/cryptoService.d.ts +1 -1
  112. package/dist/internal/nodes/cryptoService.js.map +1 -1
  113. package/dist/internal/nodes/cryptoService.test.js +34 -0
  114. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  115. package/dist/internal/nodes/events.d.ts +7 -83
  116. package/dist/internal/nodes/events.js +43 -217
  117. package/dist/internal/nodes/events.js.map +1 -1
  118. package/dist/internal/nodes/events.test.js +27 -277
  119. package/dist/internal/nodes/events.test.js.map +1 -1
  120. package/dist/internal/nodes/index.d.ts +3 -4
  121. package/dist/internal/nodes/index.js +5 -5
  122. package/dist/internal/nodes/index.js.map +1 -1
  123. package/dist/internal/nodes/interface.d.ts +3 -1
  124. package/dist/internal/nodes/nodesAccess.d.ts +15 -0
  125. package/dist/internal/nodes/nodesAccess.js +65 -7
  126. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  127. package/dist/internal/nodes/nodesAccess.test.js +132 -93
  128. package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
  129. package/dist/internal/nodes/nodesManagement.d.ts +1 -3
  130. package/dist/internal/nodes/nodesManagement.js +12 -26
  131. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  132. package/dist/internal/nodes/nodesManagement.test.js +35 -14
  133. package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
  134. package/dist/internal/shares/cache.d.ts +2 -0
  135. package/dist/internal/shares/cache.js +2 -0
  136. package/dist/internal/shares/cache.js.map +1 -1
  137. package/dist/internal/shares/manager.d.ts +1 -0
  138. package/dist/internal/shares/manager.js +3 -0
  139. package/dist/internal/shares/manager.js.map +1 -1
  140. package/dist/internal/sharing/apiService.js +20 -2
  141. package/dist/internal/sharing/apiService.js.map +1 -1
  142. package/dist/internal/sharing/cryptoService.js +1 -0
  143. package/dist/internal/sharing/cryptoService.js.map +1 -1
  144. package/dist/internal/sharing/events.d.ts +23 -55
  145. package/dist/internal/sharing/events.js +46 -138
  146. package/dist/internal/sharing/events.js.map +1 -1
  147. package/dist/internal/sharing/events.test.js +77 -180
  148. package/dist/internal/sharing/events.test.js.map +1 -1
  149. package/dist/internal/sharing/index.d.ts +4 -5
  150. package/dist/internal/sharing/index.js +5 -5
  151. package/dist/internal/sharing/index.js.map +1 -1
  152. package/dist/internal/sharing/interface.d.ts +3 -0
  153. package/dist/internal/sharing/sharingManagement.d.ts +2 -3
  154. package/dist/internal/sharing/sharingManagement.js +7 -9
  155. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  156. package/dist/internal/sharing/sharingManagement.test.js +9 -39
  157. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  158. package/dist/internal/upload/apiService.d.ts +2 -3
  159. package/dist/internal/upload/apiService.js +7 -4
  160. package/dist/internal/upload/apiService.js.map +1 -1
  161. package/dist/internal/upload/fileUploader.d.ts +49 -53
  162. package/dist/internal/upload/fileUploader.js +91 -395
  163. package/dist/internal/upload/fileUploader.js.map +1 -1
  164. package/dist/internal/upload/fileUploader.test.js +38 -292
  165. package/dist/internal/upload/fileUploader.test.js.map +1 -1
  166. package/dist/internal/upload/index.d.ts +5 -5
  167. package/dist/internal/upload/index.js +23 -44
  168. package/dist/internal/upload/index.js.map +1 -1
  169. package/dist/internal/upload/interface.d.ts +2 -0
  170. package/dist/internal/upload/manager.d.ts +6 -6
  171. package/dist/internal/upload/manager.js +32 -66
  172. package/dist/internal/upload/manager.js.map +1 -1
  173. package/dist/internal/upload/manager.test.js +100 -117
  174. package/dist/internal/upload/manager.test.js.map +1 -1
  175. package/dist/internal/upload/streamUploader.d.ts +62 -0
  176. package/dist/internal/upload/streamUploader.js +440 -0
  177. package/dist/internal/upload/streamUploader.js.map +1 -0
  178. package/dist/internal/upload/streamUploader.test.d.ts +1 -0
  179. package/dist/internal/upload/streamUploader.test.js +358 -0
  180. package/dist/internal/upload/streamUploader.test.js.map +1 -0
  181. package/dist/protonDriveClient.d.ts +22 -165
  182. package/dist/protonDriveClient.js +27 -191
  183. package/dist/protonDriveClient.js.map +1 -1
  184. package/dist/protonDrivePhotosClient.js +3 -2
  185. package/dist/protonDrivePhotosClient.js.map +1 -1
  186. package/package.json +4 -4
  187. package/src/cache/index.ts +1 -0
  188. package/src/cache/memoryCache.ts +1 -1
  189. package/src/cache/nullCache.ts +38 -0
  190. package/src/config.ts +17 -2
  191. package/src/crypto/openPGPCrypto.ts +2 -0
  192. package/src/diagnostic/eventsGenerator.ts +48 -0
  193. package/src/diagnostic/httpClient.ts +80 -0
  194. package/src/diagnostic/index.ts +38 -0
  195. package/src/diagnostic/integrityVerificationStream.ts +56 -0
  196. package/src/diagnostic/interface.ts +158 -0
  197. package/src/diagnostic/sdkDiagnostic.ts +238 -0
  198. package/src/diagnostic/sdkDiagnosticFull.ts +40 -0
  199. package/src/diagnostic/telemetry.ts +71 -0
  200. package/src/diagnostic/zipGenerators.test.ts +177 -0
  201. package/src/diagnostic/zipGenerators.ts +70 -0
  202. package/src/errors.ts +13 -4
  203. package/src/interface/config.ts +28 -0
  204. package/src/interface/download.ts +2 -2
  205. package/src/interface/events.ts +66 -21
  206. package/src/interface/httpClient.ts +0 -16
  207. package/src/interface/index.ts +9 -5
  208. package/src/interface/nodes.ts +32 -12
  209. package/src/interface/sharing.ts +1 -0
  210. package/src/interface/upload.ts +59 -3
  211. package/src/internal/apiService/driveTypes.ts +1341 -465
  212. package/src/internal/apiService/errors.ts +3 -2
  213. package/src/internal/apiService/transformers.ts +2 -0
  214. package/src/internal/asyncIteratorMap.test.ts +150 -0
  215. package/src/internal/asyncIteratorMap.ts +64 -0
  216. package/src/internal/download/apiService.ts +11 -8
  217. package/src/internal/download/fileDownloader.ts +2 -2
  218. package/src/internal/events/apiService.ts +25 -28
  219. package/src/internal/events/coreEventManager.test.ts +101 -0
  220. package/src/internal/events/coreEventManager.ts +20 -45
  221. package/src/internal/events/eventManager.test.ts +201 -88
  222. package/src/internal/events/eventManager.ts +69 -115
  223. package/src/internal/events/index.ts +54 -84
  224. package/src/internal/events/interface.ts +70 -15
  225. package/src/internal/events/volumeEventManager.test.ts +243 -0
  226. package/src/internal/events/volumeEventManager.ts +55 -53
  227. package/src/internal/nodes/apiService.test.ts +36 -7
  228. package/src/internal/nodes/apiService.ts +19 -7
  229. package/src/internal/nodes/cache.test.ts +1 -0
  230. package/src/internal/nodes/cache.ts +21 -2
  231. package/src/internal/nodes/cryptoService.test.ts +38 -0
  232. package/src/internal/nodes/cryptoService.ts +1 -1
  233. package/src/internal/nodes/events.test.ts +29 -335
  234. package/src/internal/nodes/events.ts +45 -253
  235. package/src/internal/nodes/index.ts +6 -8
  236. package/src/internal/nodes/interface.ts +6 -3
  237. package/src/internal/nodes/nodesAccess.test.ts +133 -91
  238. package/src/internal/nodes/nodesAccess.ts +70 -8
  239. package/src/internal/nodes/nodesManagement.test.ts +39 -15
  240. package/src/internal/nodes/nodesManagement.ts +12 -30
  241. package/src/internal/shares/cache.ts +4 -2
  242. package/src/internal/shares/manager.ts +9 -5
  243. package/src/internal/sharing/apiService.ts +25 -2
  244. package/src/internal/sharing/cache.ts +1 -1
  245. package/src/internal/sharing/cryptoService.ts +1 -0
  246. package/src/internal/sharing/events.test.ts +89 -195
  247. package/src/internal/sharing/events.ts +42 -156
  248. package/src/internal/sharing/index.ts +6 -9
  249. package/src/internal/sharing/interface.ts +6 -2
  250. package/src/internal/sharing/sharingManagement.test.ts +10 -40
  251. package/src/internal/sharing/sharingManagement.ts +7 -11
  252. package/src/internal/upload/apiService.ts +5 -6
  253. package/src/internal/upload/fileUploader.test.ts +46 -376
  254. package/src/internal/upload/fileUploader.ts +114 -494
  255. package/src/internal/upload/index.ts +30 -54
  256. package/src/internal/upload/interface.ts +2 -0
  257. package/src/internal/upload/manager.test.ts +107 -124
  258. package/src/internal/upload/manager.ts +48 -80
  259. package/src/internal/upload/streamUploader.test.ts +468 -0
  260. package/src/internal/upload/streamUploader.ts +550 -0
  261. package/src/protonDriveClient.ts +80 -248
  262. package/src/protonDrivePhotosClient.ts +4 -3
  263. package/dist/internal/events/cache.d.ts +0 -28
  264. package/dist/internal/events/cache.js +0 -67
  265. package/dist/internal/events/cache.js.map +0 -1
  266. package/dist/internal/events/cache.test.js +0 -43
  267. package/dist/internal/events/cache.test.js.map +0 -1
  268. package/dist/internal/nodes/index.test.js +0 -112
  269. package/dist/internal/nodes/index.test.js.map +0 -1
  270. package/src/internal/events/cache.test.ts +0 -47
  271. package/src/internal/events/cache.ts +0 -80
  272. package/src/internal/nodes/index.test.ts +0 -135
  273. /package/dist/{internal/events/cache.test.d.ts → diagnostic/zipGenerators.test.d.ts} +0 -0
  274. /package/dist/internal/{nodes/index.test.d.ts → asyncIteratorMap.test.d.ts} +0 -0
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const logger_1 = require("../../tests/logger");
4
4
  const events_1 = require("../events");
5
- const interface_1 = require("./interface");
6
5
  const events_2 = require("./events");
6
+ // FIXME: test tree_refresh and tree_remove
7
7
  describe("handleSharedByMeNodes", () => {
8
8
  let cache;
9
- let nodesService;
9
+ let sharingEventHandler;
10
+ let sharesManager;
10
11
  beforeEach(() => {
11
12
  jest.clearAllMocks();
12
13
  // @ts-expect-error No need to implement all methods for mocking
@@ -14,192 +15,103 @@ describe("handleSharedByMeNodes", () => {
14
15
  addSharedByMeNodeUid: jest.fn(),
15
16
  removeSharedByMeNodeUid: jest.fn(),
16
17
  setSharedWithMeNodeUids: jest.fn(),
18
+ getSharedByMeNodeUids: jest.fn().mockResolvedValue(["cachedNodeUid"]),
17
19
  };
18
- // @ts-expect-error No need to implement all methods for mocking
19
- nodesService = {
20
- getNode: jest.fn().mockResolvedValue({ uid: 'nodeUid', name: { ok: true, value: 'name' } }),
20
+ sharesManager = {
21
+ isOwnVolume: jest.fn(async (volumeId) => volumeId === 'MyVolume1'),
21
22
  };
23
+ sharingEventHandler = new events_2.SharingEventHandler((0, logger_1.getMockLogger)(), cache, sharesManager);
22
24
  });
23
- const testCases = [
24
- {
25
- title: "should add if new own shared node is created",
26
- existingNodeUids: [],
27
- event: {
25
+ describe("node events trigger cache update", () => {
26
+ it("should add if new own shared node is created", async () => {
27
+ const event = {
28
+ eventId: "1",
28
29
  type: events_1.DriveEventType.NodeCreated,
29
- nodeUid: "nodeUid",
30
+ nodeUid: "newNodeUid",
30
31
  parentNodeUid: "parentUid",
31
32
  isTrashed: false,
32
33
  isShared: true,
33
- isOwnVolume: true,
34
- },
35
- added: true,
36
- removed: false,
37
- },
38
- {
39
- title: "should not add if new shared node is not own",
40
- existingNodeUids: [],
41
- event: {
34
+ treeEventScopeId: "MyVolume1",
35
+ };
36
+ await sharingEventHandler.handleDriveEvent(event);
37
+ expect(cache.addSharedByMeNodeUid).toHaveBeenCalledWith("newNodeUid");
38
+ expect(cache.setSharedWithMeNodeUids).not.toHaveBeenCalled();
39
+ });
40
+ // FIXME enable when volume ownership is handled
41
+ test.skip("should not add if new shared node is not own", async () => {
42
+ const event = {
43
+ eventId: "1",
42
44
  type: events_1.DriveEventType.NodeCreated,
43
- nodeUid: "nodeUid",
45
+ nodeUid: "newNodeUid",
44
46
  parentNodeUid: "parentUid",
45
47
  isTrashed: false,
46
48
  isShared: true,
47
- isOwnVolume: false,
48
- },
49
- added: false,
50
- removed: false,
51
- },
52
- {
53
- title: "should not add if new own node is not shared",
54
- existingNodeUids: [],
55
- event: {
49
+ treeEventScopeId: "NotOwnVolume",
50
+ };
51
+ await sharingEventHandler.handleDriveEvent(event);
52
+ expect(cache.addSharedByMeNodeUid).not.toHaveBeenCalled();
53
+ expect(cache.setSharedWithMeNodeUids).not.toHaveBeenCalled();
54
+ });
55
+ it("should not add if new own node is not shared", async () => {
56
+ const event = {
56
57
  type: events_1.DriveEventType.NodeCreated,
57
- nodeUid: "nodeUid",
58
+ nodeUid: "newNodeUid",
58
59
  parentNodeUid: "parentUid",
59
60
  isTrashed: false,
60
61
  isShared: false,
61
- isOwnVolume: true,
62
- },
63
- added: false,
64
- removed: false,
65
- },
66
- {
67
- title: "should add if own node is updated and shared",
68
- existingNodeUids: [],
69
- event: {
70
- type: events_1.DriveEventType.NodeUpdated,
71
- nodeUid: "nodeUid",
72
- parentNodeUid: "parentUid",
73
- isTrashed: false,
74
- isShared: true,
75
- isOwnVolume: true,
76
- },
77
- added: true,
78
- removed: false,
79
- },
80
- {
81
- title: "should add/update if shared node is updated",
82
- existingNodeUids: ["nodeUid"],
83
- event: {
62
+ eventId: "1",
63
+ treeEventScopeId: "MyVolume1",
64
+ };
65
+ await sharingEventHandler.handleDriveEvent(event);
66
+ expect(cache.addSharedByMeNodeUid).not.toHaveBeenCalled();
67
+ expect(cache.setSharedWithMeNodeUids).not.toHaveBeenCalled();
68
+ });
69
+ it("should add if own node is updated and shared", async () => {
70
+ const event = {
84
71
  type: events_1.DriveEventType.NodeUpdated,
85
- nodeUid: "nodeUid",
72
+ nodeUid: "cachedNodeUid",
86
73
  parentNodeUid: "parentUid",
87
74
  isTrashed: false,
88
75
  isShared: true,
89
- isOwnVolume: true,
90
- },
91
- added: true,
92
- removed: false,
93
- },
94
- {
95
- title: "should remove if shared node is un-shared",
96
- existingNodeUids: ["nodeUid"],
97
- event: {
98
- type: events_1.DriveEventType.NodeUpdated,
99
- nodeUid: "nodeUid",
100
- parentNodeUid: "parentUid",
101
- isTrashed: false,
102
- isShared: false,
103
- isOwnVolume: true,
104
- },
105
- added: false,
106
- removed: true,
107
- },
108
- {
109
- title: "should not remove if non-shared node is updated",
110
- existingNodeUids: [],
111
- event: {
76
+ eventId: "1",
77
+ treeEventScopeId: "MyVolume1",
78
+ };
79
+ await sharingEventHandler.handleDriveEvent(event);
80
+ expect(cache.addSharedByMeNodeUid).toHaveBeenCalledWith("cachedNodeUid");
81
+ expect(cache.setSharedWithMeNodeUids).not.toHaveBeenCalled();
82
+ });
83
+ it("should remove if shared node is un-shared", async () => {
84
+ const event = {
112
85
  type: events_1.DriveEventType.NodeUpdated,
113
- nodeUid: "nodeUid",
86
+ nodeUid: "cachedNodeUid",
114
87
  parentNodeUid: "parentUid",
115
88
  isTrashed: false,
116
89
  isShared: false,
117
- isOwnVolume: true,
118
- },
119
- added: false,
120
- removed: false,
121
- },
122
- {
123
- title: "should remove if shared node is deleted",
124
- existingNodeUids: ["nodeUid"],
125
- event: {
126
- type: events_1.DriveEventType.NodeDeleted,
127
- nodeUid: "nodeUid",
128
- parentNodeUid: "parentUid",
129
- isOwnVolume: true,
130
- },
131
- added: false,
132
- removed: true,
133
- },
134
- {
135
- title: "should not remove if non-shared node is deleted",
136
- existingNodeUids: [],
137
- event: {
90
+ eventId: "1",
91
+ treeEventScopeId: "MyVolume1",
92
+ };
93
+ await sharingEventHandler.handleDriveEvent(event);
94
+ expect(cache.removeSharedByMeNodeUid).toHaveBeenCalledWith("cachedNodeUid");
95
+ expect(cache.setSharedWithMeNodeUids).not.toHaveBeenCalled();
96
+ });
97
+ it("should remove if shared node is deleted", async () => {
98
+ const event = {
138
99
  type: events_1.DriveEventType.NodeDeleted,
139
- nodeUid: "nodeUid",
100
+ nodeUid: "cachedNodeUid",
140
101
  parentNodeUid: "parentUid",
141
- isOwnVolume: true,
142
- },
143
- added: false,
144
- removed: false,
145
- },
146
- ];
147
- describe("with listeners", () => {
148
- testCases.map(({ title, existingNodeUids, event, added, removed }) => {
149
- it(title, async () => {
150
- cache.getSharedByMeNodeUids = jest.fn().mockResolvedValue(existingNodeUids);
151
- const listener = jest.fn();
152
- const listeners = [{ type: interface_1.SharingType.SharedByMe, callback: listener }];
153
- await (0, events_2.handleSharedByMeNodes)((0, logger_1.getMockLogger)(), event, cache, listeners, nodesService);
154
- if (added) {
155
- expect(cache.addSharedByMeNodeUid).toHaveBeenCalledWith("nodeUid");
156
- expect(listener).toHaveBeenCalledWith(expect.objectContaining({ type: 'update', uid: 'nodeUid' }));
157
- }
158
- else {
159
- expect(cache.addSharedByMeNodeUid).not.toHaveBeenCalled();
160
- }
161
- if (removed) {
162
- expect(cache.removeSharedByMeNodeUid).toHaveBeenCalledWith("nodeUid");
163
- expect(listener).toHaveBeenCalledWith({ type: 'remove', uid: 'nodeUid' });
164
- }
165
- else {
166
- expect(cache.removeSharedByMeNodeUid).not.toHaveBeenCalled();
167
- }
168
- if (!added && !removed) {
169
- expect(listener).not.toHaveBeenCalled();
170
- }
171
- expect(cache.setSharedWithMeNodeUids).not.toHaveBeenCalled();
172
- });
173
- });
174
- });
175
- describe("without listeners", () => {
176
- testCases.map(({ title, existingNodeUids, event, added, removed }) => {
177
- it(title, async () => {
178
- cache.getSharedByMeNodeUids = jest.fn().mockResolvedValue(existingNodeUids);
179
- const listener = jest.fn();
180
- const listeners = [{ type: interface_1.SharingType.sharedWithMe, callback: listener }];
181
- await (0, events_2.handleSharedByMeNodes)((0, logger_1.getMockLogger)(), event, cache, listeners, nodesService);
182
- if (added) {
183
- expect(cache.addSharedByMeNodeUid).toHaveBeenCalledWith("nodeUid");
184
- }
185
- else {
186
- expect(cache.addSharedByMeNodeUid).not.toHaveBeenCalled();
187
- }
188
- if (removed) {
189
- expect(cache.removeSharedByMeNodeUid).toHaveBeenCalledWith("nodeUid");
190
- }
191
- else {
192
- expect(cache.removeSharedByMeNodeUid).not.toHaveBeenCalled();
193
- }
194
- expect(listener).not.toHaveBeenCalled();
195
- expect(cache.setSharedWithMeNodeUids).not.toHaveBeenCalled();
196
- });
102
+ eventId: "1",
103
+ treeEventScopeId: "MyVolume1",
104
+ };
105
+ await sharingEventHandler.handleDriveEvent(event);
106
+ expect(cache.removeSharedByMeNodeUid).toHaveBeenCalledWith("cachedNodeUid");
107
+ expect(cache.setSharedWithMeNodeUids).not.toHaveBeenCalled();
197
108
  });
198
109
  });
199
110
  });
200
111
  describe("handleSharedWithMeNodes", () => {
201
112
  let cache;
202
113
  let sharingAccess;
114
+ let sharesManager;
203
115
  beforeEach(() => {
204
116
  jest.clearAllMocks();
205
117
  // @ts-expect-error No need to implement all methods for mocking
@@ -211,36 +123,21 @@ describe("handleSharedWithMeNodes", () => {
211
123
  sharingAccess = {
212
124
  iterateSharedNodesWithMe: jest.fn(),
213
125
  };
126
+ sharesManager = {
127
+ isOwnVolume: jest.fn(async (volumeId) => volumeId === 'MyVolume1'),
128
+ };
214
129
  });
215
130
  it("should only update cache", async () => {
216
131
  const event = {
217
- type: events_1.DriveEventType.ShareWithMeUpdated,
132
+ type: events_1.DriveEventType.SharedWithMeUpdated,
133
+ eventId: 'event1',
134
+ treeEventScopeId: 'core',
218
135
  };
219
- await (0, events_2.handleSharedWithMeNodes)(event, cache, [], sharingAccess);
136
+ const sharingEventHandler = new events_2.SharingEventHandler((0, logger_1.getMockLogger)(), cache, sharesManager);
137
+ await sharingEventHandler.handleDriveEvent(event);
220
138
  expect(cache.setSharedWithMeNodeUids).toHaveBeenCalledWith(undefined);
221
139
  expect(cache.getSharedWithMeNodeUids).not.toHaveBeenCalled();
222
140
  expect(sharingAccess.iterateSharedNodesWithMe).not.toHaveBeenCalled();
223
141
  });
224
- it("should update cache and notify listener", async () => {
225
- cache.getSharedWithMeNodeUids = jest.fn().mockResolvedValue(["nodeUid1", "nodeUid4"]);
226
- sharingAccess.iterateSharedNodesWithMe = jest.fn().mockImplementation(async function* () {
227
- yield { uid: "nodeUid1", name: { ok: true, value: "name1" } };
228
- yield { uid: "nodeUid2", name: { ok: true, value: "name2" } };
229
- yield { uid: "nodeUid3", name: { ok: true, value: "name3" } };
230
- });
231
- const listener = jest.fn();
232
- const event = {
233
- type: events_1.DriveEventType.ShareWithMeUpdated,
234
- };
235
- await (0, events_2.handleSharedWithMeNodes)(event, cache, [{ type: interface_1.SharingType.sharedWithMe, callback: listener }], sharingAccess);
236
- expect(cache.setSharedWithMeNodeUids).toHaveBeenCalledWith(undefined);
237
- expect(cache.getSharedWithMeNodeUids).toHaveBeenCalled();
238
- expect(sharingAccess.iterateSharedNodesWithMe).toHaveBeenCalled();
239
- expect(listener).toHaveBeenCalledTimes(4);
240
- expect(listener).toHaveBeenCalledWith(expect.objectContaining({ type: 'update', uid: 'nodeUid1' }));
241
- expect(listener).toHaveBeenCalledWith(expect.objectContaining({ type: 'update', uid: 'nodeUid2' }));
242
- expect(listener).toHaveBeenCalledWith(expect.objectContaining({ type: 'update', uid: 'nodeUid3' }));
243
- expect(listener).toHaveBeenCalledWith({ type: 'remove', uid: 'nodeUid4' });
244
- });
245
142
  });
246
143
  //# sourceMappingURL=events.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../src/internal/sharing/events.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../src/internal/sharing/events.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import { ProtonDriveAccount, ProtonDriveEntitiesCache, ProtonDriveTelemetry } from "../../interface";
2
2
  import { DriveCrypto } from '../../crypto';
3
3
  import { DriveAPIService } from "../apiService";
4
- import { DriveEventsService } from "../events";
5
- import { SharingEvents } from "./events";
6
4
  import { SharingAccess } from "./sharingAccess";
7
5
  import { SharingManagement } from "./sharingManagement";
8
- import { SharesService, NodesService, NodesEvents } from "./interface";
6
+ import { SharesService, NodesService } from "./interface";
7
+ import { SharingEventHandler } from "./events";
9
8
  /**
10
9
  * Provides facade for the whole sharing module.
11
10
  *
@@ -13,8 +12,8 @@ import { SharesService, NodesService, NodesEvents } from "./interface";
13
12
  * standard shares, listing shared nodes, etc. It includes API communication,
14
13
  * encryption, decryption, caching, and event handling.
15
14
  */
16
- export declare function initSharingModule(telemetry: ProtonDriveTelemetry, apiService: DriveAPIService, driveEntitiesCache: ProtonDriveEntitiesCache, account: ProtonDriveAccount, crypto: DriveCrypto, driveEvents: DriveEventsService, sharesService: SharesService, nodesService: NodesService, nodesEvents: NodesEvents): {
15
+ export declare function initSharingModule(telemetry: ProtonDriveTelemetry, apiService: DriveAPIService, driveEntitiesCache: ProtonDriveEntitiesCache, account: ProtonDriveAccount, crypto: DriveCrypto, sharesService: SharesService, nodesService: NodesService): {
17
16
  access: SharingAccess;
18
- events: SharingEvents;
17
+ eventHandler: SharingEventHandler;
19
18
  management: SharingManagement;
20
19
  };
@@ -4,9 +4,9 @@ exports.initSharingModule = initSharingModule;
4
4
  const apiService_1 = require("./apiService");
5
5
  const cache_1 = require("./cache");
6
6
  const cryptoService_1 = require("./cryptoService");
7
- const events_1 = require("./events");
8
7
  const sharingAccess_1 = require("./sharingAccess");
9
8
  const sharingManagement_1 = require("./sharingManagement");
9
+ const events_1 = require("./events");
10
10
  /**
11
11
  * Provides facade for the whole sharing module.
12
12
  *
@@ -14,16 +14,16 @@ const sharingManagement_1 = require("./sharingManagement");
14
14
  * standard shares, listing shared nodes, etc. It includes API communication,
15
15
  * encryption, decryption, caching, and event handling.
16
16
  */
17
- function initSharingModule(telemetry, apiService, driveEntitiesCache, account, crypto, driveEvents, sharesService, nodesService, nodesEvents) {
17
+ function initSharingModule(telemetry, apiService, driveEntitiesCache, account, crypto, sharesService, nodesService) {
18
18
  const api = new apiService_1.SharingAPIService(telemetry.getLogger('sharing-api'), apiService);
19
19
  const cache = new cache_1.SharingCache(driveEntitiesCache);
20
20
  const cryptoService = new cryptoService_1.SharingCryptoService(telemetry, crypto, account, sharesService);
21
21
  const sharingAccess = new sharingAccess_1.SharingAccess(api, cache, cryptoService, sharesService, nodesService);
22
- const sharingEvents = new events_1.SharingEvents(telemetry.getLogger('sharing-events'), driveEvents, cache, nodesService, sharingAccess);
23
- const sharingManagement = new sharingManagement_1.SharingManagement(telemetry.getLogger('sharing'), api, cryptoService, account, sharesService, nodesService, nodesEvents);
22
+ const sharingManagement = new sharingManagement_1.SharingManagement(telemetry.getLogger('sharing'), api, cryptoService, account, sharesService, nodesService);
23
+ const sharingEventHandler = new events_1.SharingEventHandler(telemetry.getLogger('sharing-event-handler'), cache, sharesService);
24
24
  return {
25
25
  access: sharingAccess,
26
- events: sharingEvents,
26
+ eventHandler: sharingEventHandler,
27
27
  management: sharingManagement,
28
28
  };
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/sharing/index.ts"],"names":[],"mappings":";;AAmBA,8CAuBC;AAtCD,6CAAiD;AACjD,mCAAuC;AACvC,mDAAuD;AACvD,qCAAyC;AACzC,mDAAgD;AAChD,2DAAwD;AAGxD;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC7B,SAA+B,EAC/B,UAA2B,EAC3B,kBAA4C,EAC5C,OAA2B,EAC3B,MAAmB,EACnB,WAA+B,EAC/B,aAA4B,EAC5B,YAA0B,EAC1B,WAAwB;IAExB,MAAM,GAAG,GAAG,IAAI,8BAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;IAClF,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,oCAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC1F,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAChG,MAAM,aAAa,GAAG,IAAI,sBAAa,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAChI,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAEvJ,OAAO;QACH,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,iBAAiB;KAChC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/sharing/index.ts"],"names":[],"mappings":";;AAkBA,8CAqBC;AApCD,6CAAiD;AACjD,mCAAuC;AACvC,mDAAuD;AACvD,mDAAgD;AAChD,2DAAwD;AAExD,qCAA+C;AAE/C;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC7B,SAA+B,EAC/B,UAA2B,EAC3B,kBAA4C,EAC5C,OAA2B,EAC3B,MAAmB,EACnB,aAA4B,EAC5B,YAA0B;IAE1B,MAAM,GAAG,GAAG,IAAI,8BAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;IAClF,MAAM,KAAK,GAAG,IAAI,oBAAY,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,oCAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC1F,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAChG,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAC1I,MAAM,mBAAmB,GAAG,IAAI,4BAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAExH,OAAO;QACH,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE,mBAAmB;QACjC,UAAU,EAAE,iBAAiB;KAChC,CAAC;AACN,CAAC"}
@@ -107,6 +107,7 @@ export interface EncryptedPublicLink {
107
107
  flags: number;
108
108
  creatorEmail: string;
109
109
  publicUrl: string;
110
+ numberOfInitializedDownloads: number;
110
111
  armoredUrlPassword: string;
111
112
  urlPasswordSalt: string;
112
113
  base64SharePassphraseKeyPacket: string;
@@ -140,6 +141,7 @@ export interface SharesService {
140
141
  addressId: string;
141
142
  addressKey: PrivateKey;
142
143
  }>;
144
+ isOwnVolume(volumeId: string): Promise<boolean>;
143
145
  }
144
146
  /**
145
147
  * Interface describing the dependencies to the nodes module.
@@ -160,6 +162,7 @@ export interface NodesService {
160
162
  addressKey: PrivateKey;
161
163
  }>;
162
164
  iterateNodes(nodeUids: string[], signal?: AbortSignal): AsyncGenerator<DecryptedNode | MissingNode>;
165
+ notifyNodeChanged(nodeUid: string): Promise<void>;
163
166
  }
164
167
  /**
165
168
  * Interface describing the dependencies to the nodes module.
@@ -1,7 +1,7 @@
1
1
  import { Logger, ShareNodeSettings, UnshareNodeSettings, ShareResult, ProtonDriveAccount } from "../../interface";
2
2
  import { SharingAPIService } from "./apiService";
3
3
  import { SharingCryptoService } from "./cryptoService";
4
- import { SharesService, NodesService, NodesEvents, ShareResultWithCreatorEmail } from "./interface";
4
+ import { SharesService, NodesService, ShareResultWithCreatorEmail } from "./interface";
5
5
  /**
6
6
  * Provides high-level actions for managing sharing.
7
7
  *
@@ -15,8 +15,7 @@ export declare class SharingManagement {
15
15
  private account;
16
16
  private sharesService;
17
17
  private nodesService;
18
- private nodesEvents;
19
- constructor(logger: Logger, apiService: SharingAPIService, cryptoService: SharingCryptoService, account: ProtonDriveAccount, sharesService: SharesService, nodesService: NodesService, nodesEvents: NodesEvents);
18
+ constructor(logger: Logger, apiService: SharingAPIService, cryptoService: SharingCryptoService, account: ProtonDriveAccount, sharesService: SharesService, nodesService: NodesService);
20
19
  getSharingInfo(nodeUid: string): Promise<ShareResultWithCreatorEmail | undefined>;
21
20
  private iterateShareInvitations;
22
21
  private iterateShareExternalInvitations;
@@ -20,22 +20,19 @@ class SharingManagement {
20
20
  account;
21
21
  sharesService;
22
22
  nodesService;
23
- nodesEvents;
24
- constructor(logger, apiService, cryptoService, account, sharesService, nodesService, nodesEvents) {
23
+ constructor(logger, apiService, cryptoService, account, sharesService, nodesService) {
25
24
  this.logger = logger;
26
25
  this.apiService = apiService;
27
26
  this.cryptoService = cryptoService;
28
27
  this.account = account;
29
28
  this.sharesService = sharesService;
30
29
  this.nodesService = nodesService;
31
- this.nodesEvents = nodesEvents;
32
30
  this.logger = logger;
33
31
  this.apiService = apiService;
34
32
  this.cryptoService = cryptoService;
35
33
  this.account = account;
36
34
  this.sharesService = sharesService;
37
35
  this.nodesService = nodesService;
38
- this.nodesEvents = nodesEvents;
39
36
  }
40
37
  async getSharingInfo(nodeUid) {
41
38
  const node = await this.nodesService.getNode(nodeUid);
@@ -204,7 +201,7 @@ class SharingManagement {
204
201
  }
205
202
  if (!settings) {
206
203
  this.logger.info(`Unsharing node ${nodeUid}`);
207
- await this.deleteShare(nodeUid, currentSharing.share.shareId);
204
+ await this.deleteShare(currentSharing.share.shareId, nodeUid);
208
205
  return;
209
206
  }
210
207
  for (const userEmail of settings.users || []) {
@@ -251,7 +248,7 @@ class SharingManagement {
251
248
  // update local state immediately.
252
249
  this.logger.info(`Deleting share ${currentSharing.share.shareId} for node ${nodeUid}`);
253
250
  try {
254
- await this.deleteShare(nodeUid, currentSharing.share.shareId);
251
+ await this.deleteShare(currentSharing.share.shareId, nodeUid);
255
252
  }
256
253
  catch (error) {
257
254
  // If deleting the share fails, we don't want to throw an error
@@ -306,7 +303,7 @@ class SharingManagement {
306
303
  base64PassphraseKeyPacket: keys.base64PpassphraseKeyPacket,
307
304
  base64NameKeyPacket: keys.base64NameKeyPacket,
308
305
  });
309
- await this.nodesEvents.nodeUpdated({ uid: nodeUid, shareId, isShared: true });
306
+ await this.nodesService.notifyNodeChanged(nodeUid);
310
307
  return {
311
308
  volumeId,
312
309
  shareId,
@@ -314,9 +311,9 @@ class SharingManagement {
314
311
  passphraseSessionKey: keys.shareKey.decrypted.passphraseSessionKey,
315
312
  };
316
313
  }
317
- async deleteShare(nodeUid, shareId) {
314
+ async deleteShare(shareId, nodeUid) {
318
315
  await this.apiService.deleteShare(shareId);
319
- await this.nodesEvents.nodeUpdated({ uid: nodeUid, shareId: undefined, isShared: false });
316
+ await this.nodesService.notifyNodeChanged(nodeUid);
320
317
  }
321
318
  async inviteProtonUser(share, inviteeEmail, role, emailOptions) {
322
319
  const inviter = await this.sharesService.getContextShareMemberEmailKey(share.shareId);
@@ -406,6 +403,7 @@ class SharingManagement {
406
403
  url: `${publicLink.publicUrl}#${generatedPassword}`,
407
404
  customPassword: options.customPassword,
408
405
  expirationTime: options.expiration,
406
+ numberOfInitializedDownloads: 0,
409
407
  creatorEmail,
410
408
  };
411
409
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sharingManagement.js","sourceRoot":"","sources":["../../../src/internal/sharing/sharingManagement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sharingManagement.js","sourceRoot":"","sources":["../../../src/internal/sharing/sharingManagement.ts"],"names":[],"mappings":"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"}