@protontech/drive-sdk 0.0.13 → 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.
- package/dist/cache/index.d.ts +1 -0
- package/dist/cache/index.js +3 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/memoryCache.d.ts +1 -1
- package/dist/cache/nullCache.d.ts +14 -0
- package/dist/cache/nullCache.js +37 -0
- package/dist/cache/nullCache.js.map +1 -0
- package/dist/config.d.ts +16 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/crypto/openPGPCrypto.js +2 -0
- package/dist/crypto/openPGPCrypto.js.map +1 -1
- package/dist/diagnostic/eventsGenerator.d.ts +14 -0
- package/dist/diagnostic/eventsGenerator.js +49 -0
- package/dist/diagnostic/eventsGenerator.js.map +1 -0
- package/dist/diagnostic/httpClient.d.ts +16 -0
- package/dist/diagnostic/httpClient.js +81 -0
- package/dist/diagnostic/httpClient.js.map +1 -0
- package/dist/diagnostic/index.d.ts +10 -0
- package/dist/diagnostic/index.js +35 -0
- package/dist/diagnostic/index.js.map +1 -0
- package/dist/diagnostic/integrityVerificationStream.d.ts +21 -0
- package/dist/diagnostic/integrityVerificationStream.js +56 -0
- package/dist/diagnostic/integrityVerificationStream.js.map +1 -0
- package/dist/diagnostic/interface.d.ts +102 -0
- package/dist/diagnostic/interface.js +3 -0
- package/dist/diagnostic/interface.js.map +1 -0
- package/dist/diagnostic/sdkDiagnostic.d.ts +22 -0
- package/dist/diagnostic/sdkDiagnostic.js +216 -0
- package/dist/diagnostic/sdkDiagnostic.js.map +1 -0
- package/dist/diagnostic/sdkDiagnosticFull.d.ts +18 -0
- package/dist/diagnostic/sdkDiagnosticFull.js +35 -0
- package/dist/diagnostic/sdkDiagnosticFull.js.map +1 -0
- package/dist/diagnostic/telemetry.d.ts +25 -0
- package/dist/diagnostic/telemetry.js +70 -0
- package/dist/diagnostic/telemetry.js.map +1 -0
- package/dist/diagnostic/zipGenerators.d.ts +9 -0
- package/dist/diagnostic/zipGenerators.js +64 -0
- package/dist/diagnostic/zipGenerators.js.map +1 -0
- package/dist/diagnostic/zipGenerators.test.js +144 -0
- package/dist/diagnostic/zipGenerators.test.js.map +1 -0
- package/dist/errors.d.ts +2 -1
- package/dist/errors.js +3 -1
- package/dist/errors.js.map +1 -1
- package/dist/interface/config.d.ts +26 -0
- package/dist/interface/config.js +3 -0
- package/dist/interface/config.js.map +1 -0
- package/dist/interface/download.d.ts +2 -2
- package/dist/interface/events.d.ts +60 -20
- package/dist/interface/events.js +11 -1
- package/dist/interface/events.js.map +1 -1
- package/dist/interface/httpClient.d.ts +0 -14
- package/dist/interface/index.d.ts +8 -4
- package/dist/interface/index.js +2 -1
- package/dist/interface/index.js.map +1 -1
- package/dist/interface/nodes.d.ts +9 -0
- package/dist/interface/nodes.js.map +1 -1
- package/dist/interface/sharing.d.ts +1 -0
- package/dist/interface/upload.d.ts +6 -0
- package/dist/internal/download/apiService.js +32 -31
- package/dist/internal/download/apiService.js.map +1 -1
- package/dist/internal/download/fileDownloader.d.ts +2 -2
- package/dist/internal/download/fileDownloader.js.map +1 -1
- package/dist/internal/events/apiService.d.ts +4 -6
- package/dist/internal/events/apiService.js +15 -22
- package/dist/internal/events/apiService.js.map +1 -1
- package/dist/internal/events/coreEventManager.d.ts +7 -10
- package/dist/internal/events/coreEventManager.js +19 -36
- package/dist/internal/events/coreEventManager.js.map +1 -1
- package/dist/internal/events/coreEventManager.test.js +87 -0
- package/dist/internal/events/coreEventManager.test.js.map +1 -0
- package/dist/internal/events/eventManager.d.ts +11 -36
- package/dist/internal/events/eventManager.js +59 -105
- package/dist/internal/events/eventManager.js.map +1 -1
- package/dist/internal/events/eventManager.test.js +167 -82
- package/dist/internal/events/eventManager.test.js.map +1 -1
- package/dist/internal/events/index.d.ts +13 -33
- package/dist/internal/events/index.js +56 -72
- package/dist/internal/events/index.js.map +1 -1
- package/dist/internal/events/interface.d.ts +59 -14
- package/dist/internal/events/interface.js +13 -3
- package/dist/internal/events/interface.js.map +1 -1
- package/dist/internal/events/volumeEventManager.d.ts +7 -17
- package/dist/internal/events/volumeEventManager.js +58 -45
- package/dist/internal/events/volumeEventManager.js.map +1 -1
- package/dist/internal/events/volumeEventManager.test.d.ts +1 -0
- package/dist/internal/events/volumeEventManager.test.js +203 -0
- package/dist/internal/events/volumeEventManager.test.js.map +1 -0
- package/dist/internal/nodes/cache.d.ts +10 -1
- package/dist/internal/nodes/cache.js +17 -0
- package/dist/internal/nodes/cache.js.map +1 -1
- package/dist/internal/nodes/cryptoService.d.ts +1 -1
- package/dist/internal/nodes/cryptoService.js.map +1 -1
- package/dist/internal/nodes/events.d.ts +7 -83
- package/dist/internal/nodes/events.js +43 -217
- package/dist/internal/nodes/events.js.map +1 -1
- package/dist/internal/nodes/events.test.js +27 -277
- package/dist/internal/nodes/events.test.js.map +1 -1
- package/dist/internal/nodes/index.d.ts +3 -4
- package/dist/internal/nodes/index.js +5 -5
- package/dist/internal/nodes/index.js.map +1 -1
- package/dist/internal/nodes/nodesAccess.d.ts +15 -0
- package/dist/internal/nodes/nodesAccess.js +37 -0
- package/dist/internal/nodes/nodesAccess.js.map +1 -1
- package/dist/internal/nodes/nodesAccess.test.js +131 -93
- package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.d.ts +1 -3
- package/dist/internal/nodes/nodesManagement.js +12 -26
- package/dist/internal/nodes/nodesManagement.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.test.js +35 -14
- package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
- package/dist/internal/shares/cache.d.ts +2 -0
- package/dist/internal/shares/cache.js +2 -0
- package/dist/internal/shares/cache.js.map +1 -1
- package/dist/internal/shares/manager.d.ts +1 -0
- package/dist/internal/shares/manager.js +3 -0
- package/dist/internal/shares/manager.js.map +1 -1
- package/dist/internal/sharing/apiService.js +1 -0
- package/dist/internal/sharing/apiService.js.map +1 -1
- package/dist/internal/sharing/cryptoService.js +1 -0
- package/dist/internal/sharing/cryptoService.js.map +1 -1
- package/dist/internal/sharing/events.d.ts +23 -55
- package/dist/internal/sharing/events.js +46 -138
- package/dist/internal/sharing/events.js.map +1 -1
- package/dist/internal/sharing/events.test.js +77 -180
- package/dist/internal/sharing/events.test.js.map +1 -1
- package/dist/internal/sharing/index.d.ts +4 -5
- package/dist/internal/sharing/index.js +5 -5
- package/dist/internal/sharing/index.js.map +1 -1
- package/dist/internal/sharing/interface.d.ts +3 -0
- package/dist/internal/sharing/sharingManagement.d.ts +2 -3
- package/dist/internal/sharing/sharingManagement.js +7 -9
- package/dist/internal/sharing/sharingManagement.js.map +1 -1
- package/dist/internal/sharing/sharingManagement.test.js +9 -39
- package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
- package/dist/internal/upload/apiService.d.ts +2 -3
- package/dist/internal/upload/apiService.js +7 -4
- package/dist/internal/upload/apiService.js.map +1 -1
- package/dist/internal/upload/index.d.ts +2 -2
- package/dist/internal/upload/index.js +3 -3
- package/dist/internal/upload/index.js.map +1 -1
- package/dist/internal/upload/interface.d.ts +2 -0
- package/dist/internal/upload/manager.d.ts +5 -5
- package/dist/internal/upload/manager.js +19 -50
- package/dist/internal/upload/manager.js.map +1 -1
- package/dist/internal/upload/manager.test.js +68 -44
- package/dist/internal/upload/manager.test.js.map +1 -1
- package/dist/internal/upload/streamUploader.js +1 -2
- package/dist/internal/upload/streamUploader.js.map +1 -1
- package/dist/internal/upload/streamUploader.test.js +1 -1
- package/dist/internal/upload/streamUploader.test.js.map +1 -1
- package/dist/protonDriveClient.d.ts +19 -162
- package/dist/protonDriveClient.js +26 -190
- package/dist/protonDriveClient.js.map +1 -1
- package/dist/protonDrivePhotosClient.js +3 -2
- package/dist/protonDrivePhotosClient.js.map +1 -1
- package/package.json +3 -3
- package/src/cache/index.ts +1 -0
- package/src/cache/memoryCache.ts +1 -1
- package/src/cache/nullCache.ts +38 -0
- package/src/config.ts +17 -2
- package/src/crypto/openPGPCrypto.ts +2 -0
- package/src/diagnostic/eventsGenerator.ts +48 -0
- package/src/diagnostic/httpClient.ts +80 -0
- package/src/diagnostic/index.ts +38 -0
- package/src/diagnostic/integrityVerificationStream.ts +56 -0
- package/src/diagnostic/interface.ts +158 -0
- package/src/diagnostic/sdkDiagnostic.ts +238 -0
- package/src/diagnostic/sdkDiagnosticFull.ts +40 -0
- package/src/diagnostic/telemetry.ts +71 -0
- package/src/diagnostic/zipGenerators.test.ts +177 -0
- package/src/diagnostic/zipGenerators.ts +70 -0
- package/src/errors.ts +4 -1
- package/src/interface/config.ts +28 -0
- package/src/interface/download.ts +2 -2
- package/src/interface/events.ts +66 -21
- package/src/interface/httpClient.ts +0 -16
- package/src/interface/index.ts +8 -4
- package/src/interface/nodes.ts +21 -12
- package/src/interface/sharing.ts +1 -0
- package/src/interface/upload.ts +6 -0
- package/src/internal/download/apiService.ts +11 -8
- package/src/internal/download/fileDownloader.ts +2 -2
- package/src/internal/events/apiService.ts +25 -28
- package/src/internal/events/coreEventManager.test.ts +101 -0
- package/src/internal/events/coreEventManager.ts +20 -45
- package/src/internal/events/eventManager.test.ts +201 -88
- package/src/internal/events/eventManager.ts +69 -115
- package/src/internal/events/index.ts +54 -84
- package/src/internal/events/interface.ts +70 -15
- package/src/internal/events/volumeEventManager.test.ts +243 -0
- package/src/internal/events/volumeEventManager.ts +55 -53
- package/src/internal/nodes/cache.ts +20 -2
- package/src/internal/nodes/cryptoService.ts +1 -1
- package/src/internal/nodes/events.test.ts +29 -335
- package/src/internal/nodes/events.ts +45 -253
- package/src/internal/nodes/index.ts +6 -8
- package/src/internal/nodes/interface.ts +2 -2
- package/src/internal/nodes/nodesAccess.test.ts +132 -91
- package/src/internal/nodes/nodesAccess.ts +40 -1
- package/src/internal/nodes/nodesManagement.test.ts +39 -15
- package/src/internal/nodes/nodesManagement.ts +12 -30
- package/src/internal/shares/cache.ts +4 -2
- package/src/internal/shares/manager.ts +9 -5
- package/src/internal/sharing/apiService.ts +1 -0
- package/src/internal/sharing/cache.ts +1 -1
- package/src/internal/sharing/cryptoService.ts +1 -0
- package/src/internal/sharing/events.test.ts +89 -195
- package/src/internal/sharing/events.ts +42 -156
- package/src/internal/sharing/index.ts +6 -9
- package/src/internal/sharing/interface.ts +6 -2
- package/src/internal/sharing/sharingManagement.test.ts +10 -40
- package/src/internal/sharing/sharingManagement.ts +7 -11
- package/src/internal/upload/apiService.ts +5 -6
- package/src/internal/upload/index.ts +5 -5
- package/src/internal/upload/interface.ts +2 -0
- package/src/internal/upload/manager.test.ts +75 -45
- package/src/internal/upload/manager.ts +24 -54
- package/src/internal/upload/streamUploader.test.ts +0 -1
- package/src/internal/upload/streamUploader.ts +0 -2
- package/src/protonDriveClient.ts +75 -244
- package/src/protonDrivePhotosClient.ts +4 -3
- package/dist/internal/events/cache.d.ts +0 -28
- package/dist/internal/events/cache.js +0 -67
- package/dist/internal/events/cache.js.map +0 -1
- package/dist/internal/events/cache.test.js +0 -43
- package/dist/internal/events/cache.test.js.map +0 -1
- package/dist/internal/nodes/index.test.js +0 -114
- package/dist/internal/nodes/index.test.js.map +0 -1
- package/src/internal/events/cache.test.ts +0 -47
- package/src/internal/events/cache.ts +0 -80
- package/src/internal/nodes/index.test.ts +0 -137
- /package/dist/{internal/events/cache.test.d.ts → diagnostic/zipGenerators.test.d.ts} +0 -0
- /package/dist/internal/{nodes/index.test.d.ts → events/coreEventManager.test.d.ts} +0 -0
|
@@ -1,153 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.handleSharedByMeNodes = handleSharedByMeNodes;
|
|
5
|
-
exports.handleSharedWithMeNodes = handleSharedWithMeNodes;
|
|
6
|
-
const transformers_1 = require("../../transformers");
|
|
3
|
+
exports.SharingEventHandler = void 0;
|
|
7
4
|
const events_1 = require("../events");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
5
|
+
class SharingEventHandler {
|
|
6
|
+
logger;
|
|
7
|
+
cache;
|
|
8
|
+
shares;
|
|
9
|
+
constructor(logger, cache, shares) {
|
|
10
|
+
this.logger = logger;
|
|
11
|
+
this.cache = cache;
|
|
12
|
+
this.shares = shares;
|
|
13
|
+
}
|
|
14
|
+
;
|
|
15
|
+
/**
|
|
16
|
+
* Update cache and notify listeners accordingly for any updates
|
|
17
|
+
* to nodes that are shared by me.
|
|
18
|
+
*
|
|
19
|
+
* Any node create or update that is being shared, is automatically
|
|
20
|
+
* added to the cache and the listeners are notified about the
|
|
21
|
+
* update of the node.
|
|
22
|
+
*
|
|
23
|
+
* Any node delete or update that is not being shared, and the cache
|
|
24
|
+
* includes the node, is removed from the cache and the listeners are
|
|
25
|
+
* notified about the removal of the node.
|
|
26
|
+
*
|
|
27
|
+
* @throws Only if the client's callback throws.
|
|
28
|
+
*/
|
|
29
|
+
async handleDriveEvent(event) {
|
|
30
|
+
try {
|
|
31
|
+
if (event.type === events_1.DriveEventType.SharedWithMeUpdated) {
|
|
32
|
+
await this.cache.setSharedWithMeNodeUids(undefined);
|
|
31
33
|
return;
|
|
32
34
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
await handleSharedWithMeNodes(event, cache, this.listeners, sharingAccess);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
subscribeToSharedNodesByMe(callback) {
|
|
40
|
-
this.listeners.push({ type: interface_1.SharingType.SharedByMe, callback });
|
|
41
|
-
return () => {
|
|
42
|
-
this.listeners = this.listeners.filter(listener => listener.callback !== callback);
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
subscribeToSharedNodesWithMe(callback) {
|
|
46
|
-
this.listeners.push({ type: interface_1.SharingType.sharedWithMe, callback });
|
|
47
|
-
return () => {
|
|
48
|
-
this.listeners = this.listeners.filter(listener => listener.callback !== callback);
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.SharingEvents = SharingEvents;
|
|
53
|
-
/**
|
|
54
|
-
* Update cache and notify listeners accordingly for any updates
|
|
55
|
-
* to nodes that are shared by me.
|
|
56
|
-
*
|
|
57
|
-
* Any node create or update that is being shared, is automatically
|
|
58
|
-
* added to the cache and the listeners are notified about the
|
|
59
|
-
* update of the node.
|
|
60
|
-
*
|
|
61
|
-
* Any node delete or update that is not being shared, and the cache
|
|
62
|
-
* includes the node, is removed from the cache and the listeners are
|
|
63
|
-
* notified about the removal of the node.
|
|
64
|
-
*
|
|
65
|
-
* @throws Only if the client's callback throws.
|
|
66
|
-
*/
|
|
67
|
-
async function handleSharedByMeNodes(logger, event, cache, listeners, nodesService) {
|
|
68
|
-
if (event.type === events_1.DriveEventType.ShareWithMeUpdated || !event.isOwnVolume) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const subscribedListeners = listeners.filter(({ type }) => type === interface_1.SharingType.SharedByMe);
|
|
72
|
-
if ([events_1.DriveEventType.NodeCreated, events_1.DriveEventType.NodeUpdated, events_1.DriveEventType.NodeUpdatedMetadata].includes(event.type) && event.isShared) {
|
|
73
|
-
try {
|
|
74
|
-
await cache.addSharedByMeNodeUid(event.nodeUid);
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
logger.error(`Skipping shared by me node cache update`, error);
|
|
78
|
-
}
|
|
79
|
-
if (subscribedListeners.length) {
|
|
80
|
-
let node;
|
|
81
|
-
try {
|
|
82
|
-
node = await nodesService.getNode(event.nodeUid);
|
|
35
|
+
if (!(await this.shares.isOwnVolume(event.treeEventScopeId))) {
|
|
36
|
+
return;
|
|
83
37
|
}
|
|
84
|
-
|
|
85
|
-
|
|
38
|
+
if (event.type === events_1.DriveEventType.NodeCreated || event.type == events_1.DriveEventType.NodeUpdated) {
|
|
39
|
+
if (event.isShared && !event.isTrashed) {
|
|
40
|
+
await this.cache.addSharedByMeNodeUid(event.nodeUid);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
await this.cache.removeSharedByMeNodeUid(event.nodeUid);
|
|
44
|
+
}
|
|
86
45
|
return;
|
|
87
46
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if (((event.type === events_1.DriveEventType.NodeUpdated || event.type === events_1.DriveEventType.NodeUpdatedMetadata) && !event.isShared)
|
|
92
|
-
|| event.type === events_1.DriveEventType.NodeDeleted) {
|
|
93
|
-
let nodeWasShared = false;
|
|
94
|
-
try {
|
|
95
|
-
const cachedNodeUids = await cache.getSharedByMeNodeUids();
|
|
96
|
-
nodeWasShared = cachedNodeUids.includes(event.nodeUid);
|
|
97
|
-
}
|
|
98
|
-
catch {
|
|
99
|
-
// Cache can be empty.
|
|
100
|
-
}
|
|
101
|
-
if (nodeWasShared) {
|
|
102
|
-
try {
|
|
103
|
-
await cache.removeSharedByMeNodeUid(event.nodeUid);
|
|
47
|
+
if (event.type === events_1.DriveEventType.NodeDeleted) {
|
|
48
|
+
await this.cache.removeSharedByMeNodeUid(event.nodeUid);
|
|
49
|
+
return;
|
|
104
50
|
}
|
|
105
|
-
|
|
106
|
-
|
|
51
|
+
if (event.type === events_1.DriveEventType.TreeRefresh || event.type === events_1.DriveEventType.TreeRemove) {
|
|
52
|
+
await this.cache.setSharedWithMeNodeUids(undefined);
|
|
107
53
|
}
|
|
108
|
-
subscribedListeners.forEach(({ callback }) => callback({ type: 'remove', uid: event.nodeUid }));
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Update cache and notify listeners accordingly for any updates
|
|
114
|
-
* to nodes that are shared with me.
|
|
115
|
-
*
|
|
116
|
-
* There is only one event type that is relevant for shared with me
|
|
117
|
-
* nodes, which is the ShareWithMeUpdated event. The event is triggered
|
|
118
|
-
* when the list of shared with me nodes is updated.
|
|
119
|
-
*
|
|
120
|
-
* The cache is cleared and re-populated fully when the client
|
|
121
|
-
* requests the list of shared with me, or is actively listening.
|
|
122
|
-
*
|
|
123
|
-
* If the client listenes to shared with me updates, the client receives
|
|
124
|
-
* update to the full list of shared with me nodes, including remove
|
|
125
|
-
* updates for nodes that are no longer shared with me, but was before.
|
|
126
|
-
*
|
|
127
|
-
* @throws Only if the client's callback throws.
|
|
128
|
-
*/
|
|
129
|
-
async function handleSharedWithMeNodes(event, cache, listeners, sharingAccess) {
|
|
130
|
-
if (event.type !== events_1.DriveEventType.ShareWithMeUpdated) {
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
let cachedNodeUids = [];
|
|
134
|
-
const subscribedListeners = listeners.filter(({ type }) => type === interface_1.SharingType.sharedWithMe);
|
|
135
|
-
if (subscribedListeners.length) {
|
|
136
|
-
cachedNodeUids = await cache.getSharedWithMeNodeUids();
|
|
137
|
-
}
|
|
138
|
-
// Clearing the cache must be first, sharingAccess is no-op if cache is set.
|
|
139
|
-
await cache.setSharedWithMeNodeUids(undefined);
|
|
140
|
-
if (subscribedListeners.length) {
|
|
141
|
-
const nodeUids = [];
|
|
142
|
-
for await (const node of sharingAccess.iterateSharedNodesWithMe()) {
|
|
143
|
-
nodeUids.push(node.uid);
|
|
144
|
-
subscribedListeners.forEach(({ callback }) => callback({ type: 'update', uid: node.uid, node: (0, transformers_1.convertInternalNode)(node) }));
|
|
145
54
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
subscribedListeners.forEach(({ callback }) => callback({ type: 'remove', uid: nodeUid }));
|
|
149
|
-
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
this.logger.error(`Skipping shared by me node cache update`, error);
|
|
150
57
|
}
|
|
151
58
|
}
|
|
152
59
|
}
|
|
60
|
+
exports.SharingEventHandler = SharingEventHandler;
|
|
153
61
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/internal/sharing/events.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/internal/sharing/events.ts"],"names":[],"mappings":";;;AACA,sCAAuD;AAIvD,MAAa,mBAAmB;IACR;IAAwB;IAA6B;IAAzE,YAAoB,MAAc,EAAU,KAAmB,EAAU,MAAqB;QAA1E,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAc;QAAU,WAAM,GAAN,MAAM,CAAe;IAC9F,CAAC;IAAA,CAAC;IAEF;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAiB;QACpC,IAAI,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAc,CAAC,mBAAmB,EAAE,CAAC;gBACpD,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;gBACpD,OAAO;YACX,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO;YACX,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAc,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAc,CAAC,WAAW,EAAE,CAAC;gBACxF,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBACrC,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO;YACX,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAc,CAAC,WAAW,EAAE,CAAC;gBAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxD,OAAO;YACX,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAc,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAc,CAAC,UAAU,EAAE,CAAC;gBACxF,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;CACJ;AA9CD,kDA8CC"}
|
|
@@ -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
|
|
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
|
-
|
|
19
|
-
|
|
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
|
-
|
|
24
|
-
{
|
|
25
|
-
|
|
26
|
-
|
|
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: "
|
|
30
|
+
nodeUid: "newNodeUid",
|
|
30
31
|
parentNodeUid: "parentUid",
|
|
31
32
|
isTrashed: false,
|
|
32
33
|
isShared: true,
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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: "
|
|
45
|
+
nodeUid: "newNodeUid",
|
|
44
46
|
parentNodeUid: "parentUid",
|
|
45
47
|
isTrashed: false,
|
|
46
48
|
isShared: true,
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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: "
|
|
58
|
+
nodeUid: "newNodeUid",
|
|
58
59
|
parentNodeUid: "parentUid",
|
|
59
60
|
isTrashed: false,
|
|
60
61
|
isShared: false,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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: "
|
|
72
|
+
nodeUid: "cachedNodeUid",
|
|
86
73
|
parentNodeUid: "parentUid",
|
|
87
74
|
isTrashed: false,
|
|
88
75
|
isShared: true,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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: "
|
|
86
|
+
nodeUid: "cachedNodeUid",
|
|
114
87
|
parentNodeUid: "parentUid",
|
|
115
88
|
isTrashed: false,
|
|
116
89
|
isShared: false,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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: "
|
|
100
|
+
nodeUid: "cachedNodeUid",
|
|
140
101
|
parentNodeUid: "parentUid",
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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.
|
|
132
|
+
type: events_1.DriveEventType.SharedWithMeUpdated,
|
|
133
|
+
eventId: 'event1',
|
|
134
|
+
treeEventScopeId: 'core',
|
|
218
135
|
};
|
|
219
|
-
|
|
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":";;AAAA,+CAAmD;AACnD,sCAAuD;
|
|
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
|
|
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,
|
|
15
|
+
export declare function initSharingModule(telemetry: ProtonDriveTelemetry, apiService: DriveAPIService, driveEntitiesCache: ProtonDriveEntitiesCache, account: ProtonDriveAccount, crypto: DriveCrypto, sharesService: SharesService, nodesService: NodesService): {
|
|
17
16
|
access: SharingAccess;
|
|
18
|
-
|
|
17
|
+
eventHandler: SharingEventHandler;
|
|
19
18
|
management: SharingManagement;
|
|
20
19
|
};
|