@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
|
@@ -16,7 +16,7 @@ describe('nodesAccess', () => {
|
|
|
16
16
|
apiService = {
|
|
17
17
|
getNode: jest.fn(),
|
|
18
18
|
iterateNodes: jest.fn().mockImplementation(async function* (uids) {
|
|
19
|
-
yield* uids.map((uid => ({ uid, parentUid: '
|
|
19
|
+
yield* uids.map((uid => ({ uid, parentUid: 'volumeId~parentNodeId' })));
|
|
20
20
|
}),
|
|
21
21
|
iterateChildrenNodeUids: jest.fn(),
|
|
22
22
|
};
|
|
@@ -47,71 +47,74 @@ describe('nodesAccess', () => {
|
|
|
47
47
|
});
|
|
48
48
|
describe('getNode', () => {
|
|
49
49
|
it('should get node from cache', async () => {
|
|
50
|
-
const node = { uid: 'nodeId', isStale: false };
|
|
50
|
+
const node = { uid: 'volumeId~nodeId', isStale: false };
|
|
51
51
|
cache.getNode = jest.fn(() => Promise.resolve(node));
|
|
52
|
-
const result = await access.getNode('nodeId');
|
|
52
|
+
const result = await access.getNode('volumeId~nodeId');
|
|
53
53
|
expect(result).toBe(node);
|
|
54
54
|
expect(apiService.getNode).not.toHaveBeenCalled();
|
|
55
55
|
});
|
|
56
|
-
it('should get node from API when
|
|
57
|
-
const encryptedNode = { uid: 'nodeId', parentUid: '
|
|
58
|
-
const decryptedUnparsedNode = { uid: 'nodeId', parentUid: '
|
|
56
|
+
it('should get node from API when cache is stale', async () => {
|
|
57
|
+
const encryptedNode = { uid: 'volumeId~nodeId', parentUid: 'volumeId~parentNodeid' };
|
|
58
|
+
const decryptedUnparsedNode = { uid: 'volumeId~nodeId', parentUid: 'volumeId~parentNodeid', name: { ok: true, value: 'name' } };
|
|
59
59
|
const decryptedNode = {
|
|
60
60
|
...decryptedUnparsedNode,
|
|
61
61
|
name: { ok: true, value: 'name' },
|
|
62
62
|
isStale: false,
|
|
63
63
|
activeRevision: undefined,
|
|
64
64
|
folder: undefined,
|
|
65
|
+
treeEventScopeId: "volumeId",
|
|
65
66
|
};
|
|
66
67
|
const decryptedKeys = { key: 'key' };
|
|
67
|
-
cache.getNode = jest.fn(() => Promise.resolve({ uid: 'nodeId', isStale: true }));
|
|
68
|
+
cache.getNode = jest.fn(() => Promise.resolve({ uid: 'volumeId~nodeId', isStale: true }));
|
|
68
69
|
apiService.getNode = jest.fn(() => Promise.resolve(encryptedNode));
|
|
69
70
|
cryptoCache.getNodeKeys = jest.fn(() => Promise.resolve({ key: 'parentKey' }));
|
|
70
71
|
cryptoService.decryptNode = jest.fn(() => Promise.resolve({ node: decryptedUnparsedNode, keys: decryptedKeys }));
|
|
71
|
-
const result = await access.getNode('nodeId');
|
|
72
|
+
const result = await access.getNode('volumeId~nodeId');
|
|
72
73
|
expect(result).toEqual(decryptedNode);
|
|
73
|
-
expect(apiService.getNode).toHaveBeenCalledWith('nodeId', 'volumeId');
|
|
74
|
-
expect(cryptoCache.getNodeKeys).toHaveBeenCalledWith('
|
|
74
|
+
expect(apiService.getNode).toHaveBeenCalledWith('volumeId~nodeId', 'volumeId');
|
|
75
|
+
expect(cryptoCache.getNodeKeys).toHaveBeenCalledWith('volumeId~parentNodeid');
|
|
75
76
|
expect(cryptoService.decryptNode).toHaveBeenCalledWith(encryptedNode, 'parentKey');
|
|
76
77
|
expect(cache.setNode).toHaveBeenCalledWith(decryptedNode);
|
|
77
|
-
expect(cryptoCache.setNodeKeys).toHaveBeenCalledWith('nodeId', decryptedKeys);
|
|
78
|
+
expect(cryptoCache.setNodeKeys).toHaveBeenCalledWith('volumeId~nodeId', decryptedKeys);
|
|
78
79
|
});
|
|
79
80
|
it('should get node from API missing cache', async () => {
|
|
80
|
-
const encryptedNode = { uid: 'nodeId', parentUid: '
|
|
81
|
-
const decryptedUnparsedNode = { uid: 'nodeId', parentUid: '
|
|
81
|
+
const encryptedNode = { uid: 'volumeId~nodeId', parentUid: 'volumeId~parentNodeid' };
|
|
82
|
+
const decryptedUnparsedNode = { uid: 'volumeId~nodeId', parentUid: 'volumeId~parentNodeid', name: { ok: true, value: 'name' } };
|
|
82
83
|
const decryptedNode = {
|
|
83
84
|
...decryptedUnparsedNode,
|
|
84
85
|
name: { ok: true, value: 'name' },
|
|
85
86
|
isStale: false,
|
|
86
87
|
activeRevision: undefined,
|
|
87
88
|
folder: undefined,
|
|
89
|
+
treeEventScopeId: 'volumeId',
|
|
88
90
|
};
|
|
89
91
|
const decryptedKeys = { key: 'key' };
|
|
90
92
|
cache.getNode = jest.fn(() => Promise.reject(new Error('Entity not found')));
|
|
91
93
|
apiService.getNode = jest.fn(() => Promise.resolve(encryptedNode));
|
|
92
94
|
cryptoCache.getNodeKeys = jest.fn(() => Promise.resolve({ key: 'parentKey' }));
|
|
93
95
|
cryptoService.decryptNode = jest.fn(() => Promise.resolve({ node: decryptedUnparsedNode, keys: decryptedKeys }));
|
|
94
|
-
const result = await access.getNode('nodeId');
|
|
96
|
+
const result = await access.getNode('volumeId~nodeId');
|
|
95
97
|
expect(result).toEqual(decryptedNode);
|
|
96
|
-
expect(apiService.getNode).toHaveBeenCalledWith('nodeId', 'volumeId');
|
|
97
|
-
expect(cryptoCache.getNodeKeys).toHaveBeenCalledWith('
|
|
98
|
+
expect(apiService.getNode).toHaveBeenCalledWith('volumeId~nodeId', 'volumeId');
|
|
99
|
+
expect(cryptoCache.getNodeKeys).toHaveBeenCalledWith('volumeId~parentNodeid');
|
|
98
100
|
expect(cryptoService.decryptNode).toHaveBeenCalledWith(encryptedNode, 'parentKey');
|
|
99
101
|
expect(cache.setNode).toHaveBeenCalledWith(decryptedNode);
|
|
100
|
-
expect(cryptoCache.setNodeKeys).toHaveBeenCalledWith('nodeId', decryptedKeys);
|
|
102
|
+
expect(cryptoCache.setNodeKeys).toHaveBeenCalledWith('volumeId~nodeId', decryptedKeys);
|
|
101
103
|
});
|
|
102
104
|
it('should validate node name', async () => {
|
|
103
|
-
const encryptedNode = { uid: 'nodeId', parentUid: '
|
|
104
|
-
const decryptedUnparsedNode = { uid: 'nodeId', parentUid: '
|
|
105
|
+
const encryptedNode = { uid: 'volumeId~nodeId', parentUid: 'volumeId~parentNodeid' };
|
|
106
|
+
const decryptedUnparsedNode = { uid: 'volumeId~nodeId', parentUid: 'volumeId~parentNodeid', name: { ok: true, value: 'foo/bar' } };
|
|
105
107
|
const decryptedNode = {
|
|
106
108
|
...decryptedUnparsedNode,
|
|
107
109
|
name: { ok: false, error: { name: 'foo/bar', error: "Name must not contain the character '/'" } },
|
|
110
|
+
treeEventScopeId: 'volumeId',
|
|
108
111
|
};
|
|
109
112
|
const decryptedKeys = { key: 'key' };
|
|
110
113
|
cache.getNode = jest.fn(() => Promise.reject(new Error('Entity not found')));
|
|
111
114
|
apiService.getNode = jest.fn(() => Promise.resolve(encryptedNode));
|
|
112
115
|
cryptoCache.getNodeKeys = jest.fn(() => Promise.resolve({ key: 'parentKey' }));
|
|
113
116
|
cryptoService.decryptNode = jest.fn(() => Promise.resolve({ node: decryptedUnparsedNode, keys: decryptedKeys }));
|
|
114
|
-
const result = await access.getNode('nodeId');
|
|
117
|
+
const result = await access.getNode('volumeId~nodeId');
|
|
115
118
|
expect(result).toMatchObject(decryptedNode);
|
|
116
119
|
});
|
|
117
120
|
});
|
|
@@ -124,11 +127,11 @@ describe('nodesAccess', () => {
|
|
|
124
127
|
}));
|
|
125
128
|
});
|
|
126
129
|
describe('iterateChildren', () => {
|
|
127
|
-
const parentNode = { uid: '
|
|
128
|
-
const node1 = { uid: 'node1', isStale: false };
|
|
129
|
-
const node2 = { uid: 'node2', isStale: false };
|
|
130
|
-
const node3 = { uid: 'node3', isStale: false };
|
|
131
|
-
const node4 = { uid: 'node4', isStale: false };
|
|
130
|
+
const parentNode = { uid: 'volumeId~parentNodeid', isStale: false };
|
|
131
|
+
const node1 = { uid: 'volumeId~node1', isStale: false };
|
|
132
|
+
const node2 = { uid: 'volumeId~node2', isStale: false };
|
|
133
|
+
const node3 = { uid: 'volumeId~node3', isStale: false };
|
|
134
|
+
const node4 = { uid: 'volumeId~node4', isStale: false };
|
|
132
135
|
beforeEach(() => {
|
|
133
136
|
cache.getNode = jest.fn().mockResolvedValue(parentNode);
|
|
134
137
|
});
|
|
@@ -140,7 +143,7 @@ describe('nodesAccess', () => {
|
|
|
140
143
|
yield { ok: true, node: node3 };
|
|
141
144
|
yield { ok: true, node: node4 };
|
|
142
145
|
});
|
|
143
|
-
const result = await Array.fromAsync(access.iterateFolderChildren('
|
|
146
|
+
const result = await Array.fromAsync(access.iterateFolderChildren('volumeId~parentNodeid'));
|
|
144
147
|
expect(result).toMatchObject([node1, node2, node3, node4]);
|
|
145
148
|
expect(apiService.iterateChildrenNodeUids).not.toHaveBeenCalled();
|
|
146
149
|
expect(apiService.iterateNodes).not.toHaveBeenCalled();
|
|
@@ -153,33 +156,33 @@ describe('nodesAccess', () => {
|
|
|
153
156
|
yield { ok: true, uid: node3.uid, node: { ...node3, isStale: true } };
|
|
154
157
|
yield { ok: true, uid: node4.uid, node: node4 };
|
|
155
158
|
});
|
|
156
|
-
const result = await Array.fromAsync(access.iterateFolderChildren('
|
|
159
|
+
const result = await Array.fromAsync(access.iterateFolderChildren('volumeId~parentNodeid'));
|
|
157
160
|
expect(result).toMatchObject([node1, node4, node2, node3]);
|
|
158
|
-
expect(apiService.iterateNodes).toHaveBeenCalledWith([
|
|
161
|
+
expect(apiService.iterateNodes).toHaveBeenCalledWith([node2.uid, node3.uid], 'volumeId', undefined);
|
|
159
162
|
expect(cryptoService.decryptNode).toHaveBeenCalledTimes(2);
|
|
160
163
|
expect(cache.setNode).toHaveBeenCalledTimes(2);
|
|
161
164
|
expect(cryptoCache.setNodeKeys).toHaveBeenCalledTimes(2);
|
|
162
165
|
});
|
|
163
166
|
it('should load children uids and serve nodes from cache', async () => {
|
|
164
167
|
apiService.iterateChildrenNodeUids = jest.fn().mockImplementation(async function* () {
|
|
165
|
-
yield
|
|
166
|
-
yield
|
|
167
|
-
yield
|
|
168
|
-
yield
|
|
168
|
+
yield node1.uid;
|
|
169
|
+
yield node2.uid;
|
|
170
|
+
yield node3.uid;
|
|
171
|
+
yield node4.uid;
|
|
169
172
|
});
|
|
170
173
|
cache.getNode = jest.fn().mockImplementation((uid) => ({ uid, isStale: false }));
|
|
171
|
-
const result = await Array.fromAsync(access.iterateFolderChildren('
|
|
174
|
+
const result = await Array.fromAsync(access.iterateFolderChildren('volumeId~parentNodeid'));
|
|
172
175
|
expect(result).toMatchObject([node1, node2, node3, node4]);
|
|
173
|
-
expect(apiService.iterateChildrenNodeUids).toHaveBeenCalledWith('
|
|
176
|
+
expect(apiService.iterateChildrenNodeUids).toHaveBeenCalledWith('volumeId~parentNodeid', undefined);
|
|
174
177
|
expect(apiService.iterateNodes).not.toHaveBeenCalled();
|
|
175
|
-
expect(cache.setFolderChildrenLoaded).toHaveBeenCalledWith('
|
|
178
|
+
expect(cache.setFolderChildrenLoaded).toHaveBeenCalledWith('volumeId~parentNodeid');
|
|
176
179
|
});
|
|
177
180
|
it('should load from API', async () => {
|
|
178
181
|
apiService.iterateChildrenNodeUids = jest.fn().mockImplementation(async function* () {
|
|
179
|
-
yield
|
|
180
|
-
yield
|
|
181
|
-
yield
|
|
182
|
-
yield
|
|
182
|
+
yield node1.uid;
|
|
183
|
+
yield node2.uid;
|
|
184
|
+
yield node3.uid;
|
|
185
|
+
yield node4.uid;
|
|
183
186
|
});
|
|
184
187
|
cache.getNode = jest.fn().mockImplementation((uid) => {
|
|
185
188
|
if (uid === parentNode.uid) {
|
|
@@ -187,20 +190,20 @@ describe('nodesAccess', () => {
|
|
|
187
190
|
}
|
|
188
191
|
throw new Error('Entity not found');
|
|
189
192
|
});
|
|
190
|
-
const result = await Array.fromAsync(access.iterateFolderChildren('
|
|
193
|
+
const result = await Array.fromAsync(access.iterateFolderChildren('volumeId~parentNodeid'));
|
|
191
194
|
expect(result).toMatchObject([node1, node2, node3, node4]);
|
|
192
|
-
expect(apiService.iterateChildrenNodeUids).toHaveBeenCalledWith('
|
|
193
|
-
expect(apiService.iterateNodes).toHaveBeenCalledWith(['node1', 'node2', 'node3', 'node4'], 'volumeId', undefined);
|
|
195
|
+
expect(apiService.iterateChildrenNodeUids).toHaveBeenCalledWith('volumeId~parentNodeid', undefined);
|
|
196
|
+
expect(apiService.iterateNodes).toHaveBeenCalledWith(['volumeId~node1', 'volumeId~node2', 'volumeId~node3', 'volumeId~node4'], 'volumeId', undefined);
|
|
194
197
|
expect(cryptoService.decryptNode).toHaveBeenCalledTimes(4);
|
|
195
198
|
expect(cache.setNode).toHaveBeenCalledTimes(4);
|
|
196
199
|
expect(cryptoCache.setNodeKeys).toHaveBeenCalledTimes(4);
|
|
197
|
-
expect(cache.setFolderChildrenLoaded).toHaveBeenCalledWith('
|
|
200
|
+
expect(cache.setFolderChildrenLoaded).toHaveBeenCalledWith('volumeId~parentNodeid');
|
|
198
201
|
});
|
|
199
202
|
it('should remove from cache if missing on API', async () => {
|
|
200
203
|
apiService.iterateChildrenNodeUids = jest.fn().mockImplementation(async function* () {
|
|
201
|
-
yield
|
|
202
|
-
yield
|
|
203
|
-
yield
|
|
204
|
+
yield node1.uid;
|
|
205
|
+
yield node2.uid;
|
|
206
|
+
yield node3.uid;
|
|
204
207
|
});
|
|
205
208
|
cache.getNode = jest.fn().mockImplementation((uid) => {
|
|
206
209
|
if (uid === parentNode.uid) {
|
|
@@ -212,15 +215,15 @@ describe('nodesAccess', () => {
|
|
|
212
215
|
// Skip first node - make it missing.
|
|
213
216
|
yield* uids.slice(1).map((uid) => ({ uid, parentUid: parentNode.uid }));
|
|
214
217
|
});
|
|
215
|
-
const result = await Array.fromAsync(access.iterateFolderChildren('
|
|
218
|
+
const result = await Array.fromAsync(access.iterateFolderChildren('volumeId~parentNodeid'));
|
|
216
219
|
expect(result).toMatchObject([node2, node3]);
|
|
217
|
-
expect(cache.removeNodes).toHaveBeenCalledWith([
|
|
220
|
+
expect(cache.removeNodes).toHaveBeenCalledWith([node1.uid]);
|
|
218
221
|
});
|
|
219
222
|
it('should yield all decryptable children before throwing error', async () => {
|
|
220
223
|
apiService.iterateChildrenNodeUids = jest.fn().mockImplementation(async function* () {
|
|
221
|
-
yield 'node1';
|
|
222
|
-
yield 'node2';
|
|
223
|
-
yield 'node3';
|
|
224
|
+
yield 'volumeId~node1';
|
|
225
|
+
yield 'volumeId~node2';
|
|
226
|
+
yield 'volumeId~node3';
|
|
224
227
|
});
|
|
225
228
|
cache.getNode = jest.fn().mockImplementation((uid) => {
|
|
226
229
|
if (uid === parentNode.uid) {
|
|
@@ -229,7 +232,7 @@ describe('nodesAccess', () => {
|
|
|
229
232
|
throw new Error('Entity not found');
|
|
230
233
|
});
|
|
231
234
|
cryptoService.decryptNode = jest.fn().mockImplementation((encryptedNode) => {
|
|
232
|
-
if (encryptedNode.uid === 'node2') {
|
|
235
|
+
if (encryptedNode.uid === 'volumeId~node2') {
|
|
233
236
|
throw new errors_1.DecryptionError('Decryption failed');
|
|
234
237
|
}
|
|
235
238
|
return Promise.resolve({
|
|
@@ -237,11 +240,11 @@ describe('nodesAccess', () => {
|
|
|
237
240
|
keys: { key: 'key' },
|
|
238
241
|
});
|
|
239
242
|
});
|
|
240
|
-
const generator = access.iterateFolderChildren('
|
|
243
|
+
const generator = access.iterateFolderChildren('volumeId~parentNodeid');
|
|
241
244
|
const node1 = await generator.next();
|
|
242
|
-
expect(node1.value).toMatchObject({ uid: 'node1' });
|
|
245
|
+
expect(node1.value).toMatchObject({ uid: 'volumeId~node1' });
|
|
243
246
|
const node2 = await generator.next();
|
|
244
|
-
expect(node2.value).toMatchObject({ uid: 'node3' });
|
|
247
|
+
expect(node2.value).toMatchObject({ uid: 'volumeId~node3' });
|
|
245
248
|
const node3 = generator.next();
|
|
246
249
|
await expect(node3).rejects.toThrow('Failed to decrypt some nodes');
|
|
247
250
|
try {
|
|
@@ -256,10 +259,10 @@ describe('nodesAccess', () => {
|
|
|
256
259
|
});
|
|
257
260
|
describe('iterateTrashedNodes', () => {
|
|
258
261
|
const volumeId = 'volumeId';
|
|
259
|
-
const node1 = { uid: 'node1', isStale: false };
|
|
260
|
-
const node2 = { uid: 'node2', isStale: false };
|
|
261
|
-
const node3 = { uid: 'node3', isStale: false };
|
|
262
|
-
const node4 = { uid: 'node4', isStale: false };
|
|
262
|
+
const node1 = { uid: 'volumeId~node1', isStale: false };
|
|
263
|
+
const node2 = { uid: 'volumeId~node2', isStale: false };
|
|
264
|
+
const node3 = { uid: 'volumeId~node3', isStale: false };
|
|
265
|
+
const node4 = { uid: 'volumeId~node4', isStale: false };
|
|
263
266
|
beforeEach(() => {
|
|
264
267
|
shareService.getMyFilesIDs = jest.fn().mockResolvedValue({ volumeId });
|
|
265
268
|
apiService.iterateTrashedNodeUids = jest.fn().mockImplementation(async function* () {
|
|
@@ -283,7 +286,7 @@ describe('nodesAccess', () => {
|
|
|
283
286
|
const result = await Array.fromAsync(access.iterateTrashedNodes());
|
|
284
287
|
expect(result).toMatchObject([node1, node2, node3, node4]);
|
|
285
288
|
expect(apiService.iterateTrashedNodeUids).toHaveBeenCalledWith(volumeId, undefined);
|
|
286
|
-
expect(apiService.iterateNodes).toHaveBeenCalledWith(['node1', 'node2', 'node3', 'node4'], volumeId, undefined);
|
|
289
|
+
expect(apiService.iterateNodes).toHaveBeenCalledWith(['volumeId~node1', 'volumeId~node2', 'volumeId~node3', 'volumeId~node4'], volumeId, undefined);
|
|
287
290
|
expect(cryptoService.decryptNode).toHaveBeenCalledTimes(4);
|
|
288
291
|
expect(cache.setNode).toHaveBeenCalledTimes(4);
|
|
289
292
|
expect(cryptoCache.setNodeKeys).toHaveBeenCalledTimes(4);
|
|
@@ -294,18 +297,18 @@ describe('nodesAccess', () => {
|
|
|
294
297
|
});
|
|
295
298
|
apiService.iterateNodes = jest.fn().mockImplementation(async function* (uids) {
|
|
296
299
|
// Skip first node - make it missing.
|
|
297
|
-
yield* uids.slice(1).map((uid) => ({ uid, parentUid: '
|
|
300
|
+
yield* uids.slice(1).map((uid) => ({ uid, parentUid: 'volumeId~parentNodeid' }));
|
|
298
301
|
});
|
|
299
302
|
const result = await Array.fromAsync(access.iterateTrashedNodes());
|
|
300
303
|
expect(result).toMatchObject([node2, node3, node4]);
|
|
301
|
-
expect(cache.removeNodes).toHaveBeenCalledWith(['node1']);
|
|
304
|
+
expect(cache.removeNodes).toHaveBeenCalledWith(['volumeId~node1']);
|
|
302
305
|
});
|
|
303
306
|
});
|
|
304
307
|
describe('iterateNodes', () => {
|
|
305
|
-
const node1 = { uid: 'node1', isStale: false };
|
|
306
|
-
const node2 = { uid: 'node2', isStale: false };
|
|
307
|
-
const node3 = { uid: 'node3', isStale: false };
|
|
308
|
-
const node4 = { uid: 'node4', isStale: false };
|
|
308
|
+
const node1 = { uid: 'volumeId~node1', isStale: false, treeEventScopeId: 'volumeId' };
|
|
309
|
+
const node2 = { uid: 'volumeId~node2', isStale: false, treeEventScopeId: 'volumeId' };
|
|
310
|
+
const node3 = { uid: 'volumeId~node3', isStale: false, treeEventScopeId: 'volumeId' };
|
|
311
|
+
const node4 = { uid: 'volume~node4', isStale: false, treeEventScopeId: 'volumeId' };
|
|
309
312
|
it('should serve fully from cache', async () => {
|
|
310
313
|
cache.iterateNodes = jest.fn().mockImplementation(async function* () {
|
|
311
314
|
yield { ok: true, node: node1 };
|
|
@@ -313,67 +316,70 @@ describe('nodesAccess', () => {
|
|
|
313
316
|
yield { ok: true, node: node3 };
|
|
314
317
|
yield { ok: true, node: node4 };
|
|
315
318
|
});
|
|
316
|
-
const result = await Array.fromAsync(access.iterateNodes(['node1', 'node2', 'node3', 'node4']));
|
|
319
|
+
const result = await Array.fromAsync(access.iterateNodes(['volumeId~node1', 'volumeId~node2', 'volumeId~node3', 'volumeId~node4']));
|
|
317
320
|
expect(result).toMatchObject([node1, node2, node3, node4]);
|
|
318
321
|
expect(apiService.iterateNodes).not.toHaveBeenCalled();
|
|
319
322
|
});
|
|
320
323
|
it('should load from API', async () => {
|
|
321
324
|
cache.iterateNodes = jest.fn().mockImplementation(async function* () {
|
|
322
325
|
yield { ok: true, node: node1 };
|
|
323
|
-
yield { ok: false, uid: 'node2' };
|
|
324
|
-
yield { ok: false, uid: 'node3' };
|
|
326
|
+
yield { ok: false, uid: 'volumeId~node2' };
|
|
327
|
+
yield { ok: false, uid: 'volumeId~node3' };
|
|
325
328
|
yield { ok: true, node: node4 };
|
|
326
329
|
});
|
|
327
|
-
const result = await Array.fromAsync(access.iterateNodes(['node1', 'node2', 'node3', 'node4']));
|
|
330
|
+
const result = await Array.fromAsync(access.iterateNodes(['volumeId~node1', 'volumeId~node2', 'volumeId~node3', 'volumeId~node4']));
|
|
328
331
|
expect(result).toMatchObject([node1, node4, node2, node3]);
|
|
329
|
-
expect(apiService.iterateNodes).toHaveBeenCalledWith(['node2', 'node3'], 'volumeId', undefined);
|
|
332
|
+
expect(apiService.iterateNodes).toHaveBeenCalledWith(['volumeId~node2', 'volumeId~node3'], 'volumeId', undefined);
|
|
330
333
|
});
|
|
331
334
|
it('should remove from cache if missing on API and return back to caller', async () => {
|
|
332
335
|
cache.iterateNodes = jest.fn().mockImplementation(async function* () {
|
|
333
|
-
yield { ok: false, uid: 'node1' };
|
|
334
|
-
yield { ok: false, uid: 'node2' };
|
|
335
|
-
yield { ok: false, uid: 'node3' };
|
|
336
|
+
yield { ok: false, uid: 'volumeId~node1' };
|
|
337
|
+
yield { ok: false, uid: 'volumeId~node2' };
|
|
338
|
+
yield { ok: false, uid: 'volumeId~node3' };
|
|
336
339
|
});
|
|
337
340
|
apiService.iterateNodes = jest.fn().mockImplementation(async function* (uids) {
|
|
338
341
|
// Skip first node - make it missing.
|
|
339
|
-
yield* uids.slice(1).map((uid) => ({ uid, parentUid: '
|
|
342
|
+
yield* uids.slice(1).map((uid) => ({ uid, parentUid: 'volumeId~parentNodeid' }));
|
|
340
343
|
});
|
|
341
|
-
const result = await Array.fromAsync(access.iterateNodes(['node1', 'node2', 'node3']));
|
|
342
|
-
expect(result).toMatchObject([node2, node3, { missingUid: 'node1' }]);
|
|
343
|
-
expect(cache.removeNodes).toHaveBeenCalledWith(['node1']);
|
|
344
|
+
const result = await Array.fromAsync(access.iterateNodes(['volumeId~node1', 'volumeId~node2', 'volumeId~node3']));
|
|
345
|
+
expect(result).toMatchObject([node2, node3, { missingUid: 'volumeId~node1' }]);
|
|
346
|
+
expect(cache.removeNodes).toHaveBeenCalledWith(['volumeId~node1']);
|
|
344
347
|
});
|
|
345
348
|
it('should return degraded node if parent cannot be decrypted', async () => {
|
|
346
349
|
cache.iterateNodes = jest.fn().mockImplementation(async function* () {
|
|
347
|
-
yield { ok: false, uid: 'node1' };
|
|
348
|
-
yield { ok: false, uid: 'node2' };
|
|
349
|
-
yield { ok: false, uid: 'node3' };
|
|
350
|
+
yield { ok: false, uid: 'volumeId~node1' };
|
|
351
|
+
yield { ok: false, uid: 'volumeId~node2' };
|
|
352
|
+
yield { ok: false, uid: 'volumeId~node3' };
|
|
350
353
|
});
|
|
351
354
|
const encryptedCrypto = {
|
|
352
355
|
signatureEmail: 'signatureEmail',
|
|
353
356
|
nameSignatureEmail: 'nameSignatureEmail',
|
|
354
357
|
};
|
|
355
358
|
apiService.iterateNodes = jest.fn().mockImplementation(async function* (uids) {
|
|
356
|
-
yield* uids.map((uid) =>
|
|
357
|
-
uid,
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
359
|
+
yield* uids.map((uid) => {
|
|
360
|
+
const parentUid = uid.replace('node', 'parentOfNode');
|
|
361
|
+
return {
|
|
362
|
+
uid,
|
|
363
|
+
parentUid,
|
|
364
|
+
encryptedCrypto,
|
|
365
|
+
};
|
|
366
|
+
});
|
|
361
367
|
});
|
|
362
368
|
const decryptionError = new errors_1.DecryptionError('Parent cannot be decrypted');
|
|
363
369
|
jest.spyOn(access, 'getParentKeys').mockImplementation(async ({ parentUid }) => {
|
|
364
|
-
if (parentUid === '
|
|
370
|
+
if (parentUid === 'volumeId~parentOfNode1') {
|
|
365
371
|
throw decryptionError;
|
|
366
372
|
}
|
|
367
373
|
return {
|
|
368
374
|
key: { _idx: 32132 },
|
|
369
375
|
};
|
|
370
376
|
});
|
|
371
|
-
const result = await Array.fromAsync(access.iterateNodes(['node1', 'node2', 'node3']));
|
|
377
|
+
const result = await Array.fromAsync(access.iterateNodes(['volumeId~node1', 'volumeId~node2', 'volumeId~node3']));
|
|
372
378
|
expect(result).toEqual([
|
|
373
379
|
{
|
|
374
380
|
...node1,
|
|
375
381
|
encryptedCrypto,
|
|
376
|
-
parentUid: '
|
|
382
|
+
parentUid: 'volumeId~parentOfNode1',
|
|
377
383
|
name: { ok: false, error: decryptionError },
|
|
378
384
|
keyAuthor: { ok: false, error: { claimedAuthor: 'signatureEmail', error: decryptionError.message } },
|
|
379
385
|
nameAuthor: { ok: false, error: { claimedAuthor: 'nameSignatureEmail', error: decryptionError.message } },
|
|
@@ -404,13 +410,13 @@ describe('nodesAccess', () => {
|
|
|
404
410
|
});
|
|
405
411
|
it('should get node parent keys', async () => {
|
|
406
412
|
cryptoCache.getNodeKeys = jest.fn(() => Promise.resolve({ key: 'parentKey' }));
|
|
407
|
-
const result = await access.getParentKeys({ shareId: undefined, parentUid: '
|
|
413
|
+
const result = await access.getParentKeys({ shareId: undefined, parentUid: 'volumeId~parentNodeid' });
|
|
408
414
|
expect(result).toEqual({ key: 'parentKey' });
|
|
409
415
|
expect(shareService.getSharePrivateKey).not.toHaveBeenCalled();
|
|
410
416
|
});
|
|
411
417
|
it('should get node parent keys even if share is set', async () => {
|
|
412
418
|
cryptoCache.getNodeKeys = jest.fn(() => Promise.resolve({ key: 'parentKey' }));
|
|
413
|
-
const result = await access.getParentKeys({ shareId: 'shareId', parentUid: '
|
|
419
|
+
const result = await access.getParentKeys({ shareId: 'shareId', parentUid: 'volume1~parentNodeid' });
|
|
414
420
|
expect(result).toEqual({ key: 'parentKey' });
|
|
415
421
|
expect(shareService.getSharePrivateKey).not.toHaveBeenCalled();
|
|
416
422
|
});
|
|
@@ -420,7 +426,7 @@ describe('nodesAccess', () => {
|
|
|
420
426
|
cryptoCache.getNodeKeys = jest.fn(() => Promise.reject(new Error('Entity not found')));
|
|
421
427
|
apiService.getNode = jest.fn(() => Promise.reject(new Error('API called')));
|
|
422
428
|
try {
|
|
423
|
-
await access.getNodeKeys('nodeId');
|
|
429
|
+
await access.getNodeKeys('volumeId~nodeId');
|
|
424
430
|
throw new Error('Expected error');
|
|
425
431
|
}
|
|
426
432
|
catch (error) {
|
|
@@ -433,7 +439,7 @@ describe('nodesAccess', () => {
|
|
|
433
439
|
const nodeUid = 'nodeUid';
|
|
434
440
|
const node = {
|
|
435
441
|
uid: nodeUid,
|
|
436
|
-
parentUid: '
|
|
442
|
+
parentUid: 'volume1~parentNodeid',
|
|
437
443
|
encryptedName: 'encryptedName',
|
|
438
444
|
};
|
|
439
445
|
jest.spyOn(access, 'getNode').mockResolvedValue(node);
|
|
@@ -484,5 +490,37 @@ describe('nodesAccess', () => {
|
|
|
484
490
|
expect(result).toBe('https://drive.proton.me/shareId/folder/nodeId');
|
|
485
491
|
});
|
|
486
492
|
});
|
|
493
|
+
describe('notifyNodeChanged', () => {
|
|
494
|
+
it('should mark node as stale', async () => {
|
|
495
|
+
const node = { uid: 'volumeId~nodeId', isStale: false };
|
|
496
|
+
cache.getNode = jest.fn(() => Promise.resolve(node));
|
|
497
|
+
cache.setNode = jest.fn();
|
|
498
|
+
await access.notifyNodeChanged(node.uid);
|
|
499
|
+
expect(cache.getNode).toHaveBeenCalledWith(node.uid);
|
|
500
|
+
expect(cache.setNode).toHaveBeenCalledWith({ ...node, isStale: true });
|
|
501
|
+
});
|
|
502
|
+
it('should update parent if needed', async () => {
|
|
503
|
+
const node = { uid: 'volumeId~nodeId', parentUid: 'v1~pn1', isStale: false };
|
|
504
|
+
cache.getNode = jest.fn(() => Promise.resolve(node));
|
|
505
|
+
cache.setNode = jest.fn();
|
|
506
|
+
await access.notifyNodeChanged(node.uid, 'v1~pn2');
|
|
507
|
+
expect(cache.getNode).toHaveBeenCalledWith(node.uid);
|
|
508
|
+
expect(cache.setNode).toHaveBeenCalledWith({ ...node, parentUid: 'v1~pn2', isStale: true });
|
|
509
|
+
});
|
|
510
|
+
});
|
|
511
|
+
describe('notifyChildCreated', () => {
|
|
512
|
+
it('should reset parent listing', async () => {
|
|
513
|
+
const nodeUid = 'VolumeId1~NodeId1';
|
|
514
|
+
cache.resetFolderChildrenLoaded = jest.fn();
|
|
515
|
+
await access.notifyChildCreated(nodeUid);
|
|
516
|
+
expect(cache.resetFolderChildrenLoaded).toHaveBeenCalledWith(nodeUid);
|
|
517
|
+
});
|
|
518
|
+
});
|
|
519
|
+
describe('notifyNodeDeleted', () => {
|
|
520
|
+
it('should reset parent listing', async () => {
|
|
521
|
+
await access.notifyNodeDeleted('v1~n1');
|
|
522
|
+
expect(cache.removeNodes).toHaveBeenCalledWith(['v1~n1']);
|
|
523
|
+
});
|
|
524
|
+
});
|
|
487
525
|
});
|
|
488
526
|
//# sourceMappingURL=nodesAccess.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodesAccess.test.js","sourceRoot":"","sources":["../../../src/internal/nodes/nodesAccess.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nodesAccess.test.js","sourceRoot":"","sources":["../../../src/internal/nodes/nodesAccess.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import { NodeResult } from "../../interface";
|
|
|
2
2
|
import { NodeAPIService } from "./apiService";
|
|
3
3
|
import { NodesCryptoCache } from "./cryptoCache";
|
|
4
4
|
import { NodesCryptoService } from "./cryptoService";
|
|
5
|
-
import { NodesEvents } from './events';
|
|
6
5
|
import { DecryptedNode } from "./interface";
|
|
7
6
|
import { NodesAccess } from "./nodesAccess";
|
|
8
7
|
/**
|
|
@@ -19,8 +18,7 @@ export declare class NodesManagement {
|
|
|
19
18
|
private cryptoCache;
|
|
20
19
|
private cryptoService;
|
|
21
20
|
private nodesAccess;
|
|
22
|
-
|
|
23
|
-
constructor(apiService: NodeAPIService, cryptoCache: NodesCryptoCache, cryptoService: NodesCryptoService, nodesAccess: NodesAccess, nodesEvents: NodesEvents);
|
|
21
|
+
constructor(apiService: NodeAPIService, cryptoCache: NodesCryptoCache, cryptoService: NodesCryptoService, nodesAccess: NodesAccess);
|
|
24
22
|
renameNode(nodeUid: string, newName: string, options?: {
|
|
25
23
|
allowRenameRootNode: boolean;
|
|
26
24
|
}): Promise<DecryptedNode>;
|