@protontech/drive-sdk 0.6.2 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/interface/index.d.ts +1 -0
- package/dist/interface/index.js.map +1 -1
- package/dist/interface/nodes.d.ts +14 -10
- package/dist/interface/nodes.js +5 -8
- package/dist/interface/nodes.js.map +1 -1
- package/dist/interface/photos.d.ts +62 -0
- package/dist/interface/photos.js +3 -0
- package/dist/interface/photos.js.map +1 -0
- package/dist/internal/apiService/apiService.d.ts +2 -2
- package/dist/internal/apiService/apiService.js.map +1 -1
- package/dist/internal/apiService/driveTypes.d.ts +1294 -517
- package/dist/internal/apiService/errors.js +4 -3
- package/dist/internal/apiService/errors.js.map +1 -1
- package/dist/internal/download/cryptoService.js +8 -6
- package/dist/internal/download/cryptoService.js.map +1 -1
- package/dist/internal/download/fileDownloader.d.ts +2 -1
- package/dist/internal/download/fileDownloader.js +6 -3
- package/dist/internal/download/fileDownloader.js.map +1 -1
- package/dist/internal/download/index.d.ts +1 -1
- package/dist/internal/download/index.js +3 -3
- package/dist/internal/download/index.js.map +1 -1
- package/dist/internal/errors.d.ts +1 -0
- package/dist/internal/errors.js +4 -0
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/nodes/apiService.d.ts +68 -16
- package/dist/internal/nodes/apiService.js +138 -85
- package/dist/internal/nodes/apiService.js.map +1 -1
- package/dist/internal/nodes/apiService.test.js +7 -5
- package/dist/internal/nodes/apiService.test.js.map +1 -1
- package/dist/internal/nodes/cache.d.ts +16 -8
- package/dist/internal/nodes/cache.js +19 -5
- package/dist/internal/nodes/cache.js.map +1 -1
- package/dist/internal/nodes/cache.test.js +1 -0
- package/dist/internal/nodes/cache.test.js.map +1 -1
- package/dist/internal/nodes/cryptoReporter.d.ts +3 -3
- package/dist/internal/nodes/cryptoReporter.js.map +1 -1
- package/dist/internal/nodes/cryptoService.d.ts +13 -22
- package/dist/internal/nodes/cryptoService.js +47 -16
- package/dist/internal/nodes/cryptoService.js.map +1 -1
- package/dist/internal/nodes/cryptoService.test.js +262 -17
- package/dist/internal/nodes/cryptoService.test.js.map +1 -1
- package/dist/internal/nodes/events.d.ts +2 -2
- package/dist/internal/nodes/events.js.map +1 -1
- package/dist/internal/nodes/index.test.js +1 -0
- package/dist/internal/nodes/index.test.js.map +1 -1
- package/dist/internal/nodes/interface.d.ts +14 -3
- package/dist/internal/nodes/nodesAccess.d.ts +36 -20
- package/dist/internal/nodes/nodesAccess.js +54 -29
- package/dist/internal/nodes/nodesAccess.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.d.ts +34 -14
- package/dist/internal/nodes/nodesManagement.js +44 -31
- package/dist/internal/nodes/nodesManagement.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.test.js +60 -14
- package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
- package/dist/internal/nodes/nodesRevisions.d.ts +2 -2
- package/dist/internal/nodes/nodesRevisions.js.map +1 -1
- package/dist/internal/photos/albums.d.ts +2 -2
- package/dist/internal/photos/albums.js.map +1 -1
- package/dist/internal/photos/index.d.ts +19 -3
- package/dist/internal/photos/index.js +38 -8
- package/dist/internal/photos/index.js.map +1 -1
- package/dist/internal/photos/interface.d.ts +18 -9
- package/dist/internal/photos/nodes.d.ts +57 -0
- package/dist/internal/photos/nodes.js +165 -0
- package/dist/internal/photos/nodes.js.map +1 -0
- package/dist/internal/photos/timeline.d.ts +2 -2
- package/dist/internal/photos/timeline.js.map +1 -1
- package/dist/internal/photos/timeline.test.js.map +1 -1
- package/dist/internal/photos/upload.d.ts +2 -2
- package/dist/internal/photos/upload.js.map +1 -1
- package/dist/internal/sharingPublic/index.d.ts +6 -6
- package/dist/internal/sharingPublic/index.js +8 -7
- package/dist/internal/sharingPublic/index.js.map +1 -1
- package/dist/internal/sharingPublic/nodes.d.ts +16 -3
- package/dist/internal/sharingPublic/nodes.js +34 -2
- package/dist/internal/sharingPublic/nodes.js.map +1 -1
- package/dist/internal/sharingPublic/unauthApiService.d.ts +17 -0
- package/dist/internal/sharingPublic/unauthApiService.js +31 -0
- package/dist/internal/sharingPublic/unauthApiService.js.map +1 -0
- package/dist/internal/sharingPublic/unauthApiService.test.d.ts +1 -0
- package/dist/internal/sharingPublic/unauthApiService.test.js +27 -0
- package/dist/internal/sharingPublic/unauthApiService.test.js.map +1 -0
- package/dist/internal/upload/apiService.d.ts +4 -3
- package/dist/internal/upload/apiService.js.map +1 -1
- package/dist/internal/upload/cryptoService.d.ts +8 -3
- package/dist/internal/upload/cryptoService.js +45 -9
- package/dist/internal/upload/cryptoService.js.map +1 -1
- package/dist/internal/upload/fileUploader.test.js +1 -1
- package/dist/internal/upload/fileUploader.test.js.map +1 -1
- package/dist/internal/upload/interface.d.ts +25 -13
- package/dist/internal/upload/manager.js +7 -4
- package/dist/internal/upload/manager.js.map +1 -1
- package/dist/internal/upload/manager.test.js +5 -4
- package/dist/internal/upload/manager.test.js.map +1 -1
- package/dist/internal/upload/streamUploader.js +9 -4
- package/dist/internal/upload/streamUploader.js.map +1 -1
- package/dist/internal/upload/streamUploader.test.js +8 -5
- package/dist/internal/upload/streamUploader.test.js.map +1 -1
- package/dist/protonDriveClient.d.ts +11 -2
- package/dist/protonDriveClient.js +20 -4
- package/dist/protonDriveClient.js.map +1 -1
- package/dist/protonDrivePhotosClient.d.ts +8 -8
- package/dist/protonDrivePhotosClient.js +8 -9
- package/dist/protonDrivePhotosClient.js.map +1 -1
- package/dist/protonDrivePublicLinkClient.d.ts +9 -2
- package/dist/protonDrivePublicLinkClient.js +16 -5
- package/dist/protonDrivePublicLinkClient.js.map +1 -1
- package/dist/transformers.d.ts +7 -2
- package/dist/transformers.js +37 -0
- package/dist/transformers.js.map +1 -1
- package/package.json +1 -1
- package/src/interface/index.ts +1 -0
- package/src/interface/nodes.ts +14 -11
- package/src/interface/photos.ts +67 -0
- package/src/internal/apiService/apiService.ts +2 -2
- package/src/internal/apiService/driveTypes.ts +1294 -517
- package/src/internal/apiService/errors.ts +5 -4
- package/src/internal/download/cryptoService.ts +13 -6
- package/src/internal/download/fileDownloader.ts +4 -2
- package/src/internal/download/index.ts +3 -0
- package/src/internal/errors.ts +4 -0
- package/src/internal/nodes/apiService.test.ts +7 -5
- package/src/internal/nodes/apiService.ts +210 -124
- package/src/internal/nodes/cache.test.ts +1 -0
- package/src/internal/nodes/cache.ts +32 -13
- package/src/internal/nodes/cryptoReporter.ts +3 -3
- package/src/internal/nodes/cryptoService.test.ts +380 -18
- package/src/internal/nodes/cryptoService.ts +77 -36
- package/src/internal/nodes/events.ts +2 -2
- package/src/internal/nodes/index.test.ts +1 -0
- package/src/internal/nodes/interface.ts +17 -2
- package/src/internal/nodes/nodesAccess.ts +99 -54
- package/src/internal/nodes/nodesManagement.test.ts +69 -14
- package/src/internal/nodes/nodesManagement.ts +94 -48
- package/src/internal/nodes/nodesRevisions.ts +3 -3
- package/src/internal/photos/albums.ts +2 -2
- package/src/internal/photos/index.ts +45 -3
- package/src/internal/photos/interface.ts +21 -9
- package/src/internal/photos/nodes.ts +233 -0
- package/src/internal/photos/timeline.test.ts +2 -2
- package/src/internal/photos/timeline.ts +2 -2
- package/src/internal/photos/upload.ts +3 -3
- package/src/internal/sharingPublic/index.ts +7 -3
- package/src/internal/sharingPublic/nodes.ts +43 -2
- package/src/internal/sharingPublic/unauthApiService.test.ts +29 -0
- package/src/internal/sharingPublic/unauthApiService.ts +32 -0
- package/src/internal/upload/apiService.ts +4 -3
- package/src/internal/upload/cryptoService.ts +73 -12
- package/src/internal/upload/fileUploader.test.ts +1 -1
- package/src/internal/upload/interface.ts +24 -13
- package/src/internal/upload/manager.test.ts +5 -4
- package/src/internal/upload/manager.ts +7 -4
- package/src/internal/upload/streamUploader.test.ts +8 -5
- package/src/internal/upload/streamUploader.ts +10 -4
- package/src/protonDriveClient.ts +27 -5
- package/src/protonDrivePhotosClient.ts +23 -23
- package/src/protonDrivePublicLinkClient.ts +19 -3
- package/src/transformers.ts +49 -2
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const nodesManagement_1 = require("./nodesManagement");
|
|
4
4
|
const errors_1 = require("./errors");
|
|
5
|
+
const errors_2 = require("../../errors");
|
|
5
6
|
describe('NodesManagement', () => {
|
|
6
7
|
let apiService;
|
|
7
8
|
let cryptoCache;
|
|
@@ -49,7 +50,7 @@ describe('NodesManagement', () => {
|
|
|
49
50
|
restoreNodes: jest.fn(async function* (uids) {
|
|
50
51
|
yield* uids.map((uid) => ({ ok: true, uid }));
|
|
51
52
|
}),
|
|
52
|
-
|
|
53
|
+
deleteTrashedNodes: jest.fn(async function* (uids) {
|
|
53
54
|
yield* uids.map((uid) => ({ ok: true, uid }));
|
|
54
55
|
}),
|
|
55
56
|
createFolder: jest.fn(),
|
|
@@ -107,7 +108,12 @@ describe('NodesManagement', () => {
|
|
|
107
108
|
contentKeyPacketSessionKey: `${uid}-contentKeyPacketSessionKey`,
|
|
108
109
|
nameSessionKey: `${uid}-nameSessionKey`,
|
|
109
110
|
})),
|
|
110
|
-
|
|
111
|
+
getNodeSigningKeys: jest.fn().mockResolvedValue({
|
|
112
|
+
type: 'userAddress',
|
|
113
|
+
email: 'root-email',
|
|
114
|
+
addressId: 'root-addressId',
|
|
115
|
+
key: 'root-key',
|
|
116
|
+
}),
|
|
111
117
|
notifyNodeChanged: jest.fn(),
|
|
112
118
|
notifyNodeDeleted: jest.fn(),
|
|
113
119
|
notifyChildCreated: jest.fn(),
|
|
@@ -123,8 +129,8 @@ describe('NodesManagement', () => {
|
|
|
123
129
|
nameAuthor: { ok: true, value: 'newSignatureEmail' },
|
|
124
130
|
hash: 'newHash',
|
|
125
131
|
});
|
|
126
|
-
expect(nodesAccess.
|
|
127
|
-
expect(cryptoService.encryptNewName).toHaveBeenCalledWith({ key: 'parentUid-key', hashKey: 'parentUid-hashKey' }, 'nodeUid-nameSessionKey', { email: 'root-email',
|
|
132
|
+
expect(nodesAccess.getNodeSigningKeys).toHaveBeenCalledWith({ nodeUid: 'nodeUid', parentNodeUid: 'parentUid' });
|
|
133
|
+
expect(cryptoService.encryptNewName).toHaveBeenCalledWith({ key: 'parentUid-key', hashKey: 'parentUid-hashKey' }, 'nodeUid-nameSessionKey', { type: 'userAddress', email: 'root-email', addressId: 'root-addressId', key: 'root-key' }, 'new name');
|
|
128
134
|
expect(apiService.renameNode).toHaveBeenCalledWith(nodes.nodeUid.uid, { hash: nodes.nodeUid.hash }, { encryptedName: 'newArmoredNodeName', nameSignatureEmail: 'newSignatureEmail', hash: 'newHash' });
|
|
129
135
|
expect(nodesAccess.notifyNodeChanged).toHaveBeenCalledWith('nodeUid');
|
|
130
136
|
});
|
|
@@ -153,14 +159,17 @@ describe('NodesManagement', () => {
|
|
|
153
159
|
keyAuthor: { ok: true, value: 'movedSignatureEmail' },
|
|
154
160
|
nameAuthor: { ok: true, value: 'movedNameSignatureEmail' },
|
|
155
161
|
});
|
|
156
|
-
expect(nodesAccess.
|
|
157
|
-
|
|
162
|
+
expect(nodesAccess.getNodeSigningKeys).toHaveBeenCalledWith({
|
|
163
|
+
nodeUid: 'nodeUid',
|
|
164
|
+
parentNodeUid: 'newParentNodeUid',
|
|
165
|
+
});
|
|
166
|
+
expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.nodeUid.name, expect.objectContaining({
|
|
158
167
|
key: 'nodeUid-key',
|
|
159
168
|
passphrase: 'nodeUid-passphrase',
|
|
160
169
|
passphraseSessionKey: 'nodeUid-passphraseSessionKey',
|
|
161
170
|
contentKeyPacketSessionKey: 'nodeUid-contentKeyPacketSessionKey',
|
|
162
171
|
nameSessionKey: 'nodeUid-nameSessionKey',
|
|
163
|
-
}), expect.objectContaining({ key: 'newParentNodeUid-key', hashKey: 'newParentNodeUid-hashKey' }), { email: 'root-email',
|
|
172
|
+
}), expect.objectContaining({ key: 'newParentNodeUid-key', hashKey: 'newParentNodeUid-hashKey' }), { type: 'userAddress', email: 'root-email', addressId: 'root-addressId', key: 'root-key' });
|
|
164
173
|
expect(apiService.moveNode).toHaveBeenCalledWith('nodeUid', {
|
|
165
174
|
hash: nodes.nodeUid.hash,
|
|
166
175
|
}, {
|
|
@@ -182,13 +191,13 @@ describe('NodesManagement', () => {
|
|
|
182
191
|
};
|
|
183
192
|
cryptoService.encryptNodeWithNewParent = jest.fn().mockResolvedValue(encryptedCrypto);
|
|
184
193
|
const newNode = await management.moveNode('anonymousNodeUid', 'newParentNodeUid');
|
|
185
|
-
expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.anonymousNodeUid, expect.objectContaining({
|
|
194
|
+
expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.anonymousNodeUid.name, expect.objectContaining({
|
|
186
195
|
key: 'anonymousNodeUid-key',
|
|
187
196
|
passphrase: 'anonymousNodeUid-passphrase',
|
|
188
197
|
passphraseSessionKey: 'anonymousNodeUid-passphraseSessionKey',
|
|
189
198
|
contentKeyPacketSessionKey: 'anonymousNodeUid-contentKeyPacketSessionKey',
|
|
190
199
|
nameSessionKey: 'anonymousNodeUid-nameSessionKey',
|
|
191
|
-
}), expect.objectContaining({ key: 'newParentNodeUid-key', hashKey: 'newParentNodeUid-hashKey' }), { email: 'root-email',
|
|
200
|
+
}), expect.objectContaining({ key: 'newParentNodeUid-key', hashKey: 'newParentNodeUid-hashKey' }), { type: 'userAddress', email: 'root-email', addressId: 'root-addressId', key: 'root-key' });
|
|
192
201
|
expect(newNode).toEqual({
|
|
193
202
|
...nodes.anonymousNodeUid,
|
|
194
203
|
parentUid: 'newParentNodeUid',
|
|
@@ -224,14 +233,17 @@ describe('NodesManagement', () => {
|
|
|
224
233
|
keyAuthor: { ok: true, value: 'copiedSignatureEmail' },
|
|
225
234
|
nameAuthor: { ok: true, value: 'copiedNameSignatureEmail' },
|
|
226
235
|
});
|
|
227
|
-
expect(nodesAccess.
|
|
228
|
-
|
|
236
|
+
expect(nodesAccess.getNodeSigningKeys).toHaveBeenCalledWith({
|
|
237
|
+
nodeUid: 'nodeUid',
|
|
238
|
+
parentNodeUid: 'newParentNodeUid',
|
|
239
|
+
});
|
|
240
|
+
expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.nodeUid.name, expect.objectContaining({
|
|
229
241
|
key: 'nodeUid-key',
|
|
230
242
|
passphrase: 'nodeUid-passphrase',
|
|
231
243
|
passphraseSessionKey: 'nodeUid-passphraseSessionKey',
|
|
232
244
|
contentKeyPacketSessionKey: 'nodeUid-contentKeyPacketSessionKey',
|
|
233
245
|
nameSessionKey: 'nodeUid-nameSessionKey',
|
|
234
|
-
}), expect.objectContaining({ key: 'newParentNodeUid-key', hashKey: 'newParentNodeUid-hashKey' }), { email: 'root-email',
|
|
246
|
+
}), expect.objectContaining({ key: 'newParentNodeUid-key', hashKey: 'newParentNodeUid-hashKey' }), { type: 'userAddress', email: 'root-email', addressId: 'root-addressId', key: 'root-key' });
|
|
235
247
|
expect(apiService.copyNode).toHaveBeenCalledWith('nodeUid', {
|
|
236
248
|
parentUid: 'newParentNodeUid',
|
|
237
249
|
...encryptedCrypto,
|
|
@@ -252,13 +264,13 @@ describe('NodesManagement', () => {
|
|
|
252
264
|
};
|
|
253
265
|
cryptoService.encryptNodeWithNewParent = jest.fn().mockResolvedValue(encryptedCrypto);
|
|
254
266
|
const newNode = await management.copyNode('anonymousNodeUid', 'newParentNodeUid');
|
|
255
|
-
expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.anonymousNodeUid, expect.objectContaining({
|
|
267
|
+
expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.anonymousNodeUid.name, expect.objectContaining({
|
|
256
268
|
key: 'anonymousNodeUid-key',
|
|
257
269
|
passphrase: 'anonymousNodeUid-passphrase',
|
|
258
270
|
passphraseSessionKey: 'anonymousNodeUid-passphraseSessionKey',
|
|
259
271
|
contentKeyPacketSessionKey: 'anonymousNodeUid-contentKeyPacketSessionKey',
|
|
260
272
|
nameSessionKey: 'anonymousNodeUid-nameSessionKey',
|
|
261
|
-
}), expect.objectContaining({ key: 'newParentNodeUid-key', hashKey: 'newParentNodeUid-hashKey' }), { email: 'root-email',
|
|
273
|
+
}), expect.objectContaining({ key: 'newParentNodeUid-key', hashKey: 'newParentNodeUid-hashKey' }), { type: 'userAddress', email: 'root-email', addressId: 'root-addressId', key: 'root-key' });
|
|
262
274
|
expect(newNode).toEqual({
|
|
263
275
|
...nodes.anonymousNodeUid,
|
|
264
276
|
uid: 'newCopiedNodeUid',
|
|
@@ -273,6 +285,40 @@ describe('NodesManagement', () => {
|
|
|
273
285
|
...encryptedCrypto,
|
|
274
286
|
});
|
|
275
287
|
});
|
|
288
|
+
it('copyNode manages copy of node with new name', async () => {
|
|
289
|
+
const encryptedCrypto = {
|
|
290
|
+
encryptedName: 'copiedArmoredNodeName',
|
|
291
|
+
hash: 'copiedHash',
|
|
292
|
+
armoredNodePassphrase: 'copiedArmoredNodePassphrase',
|
|
293
|
+
armoredNodePassphraseSignature: 'copiedArmoredNodePassphraseSignature',
|
|
294
|
+
signatureEmail: 'copiedSignatureEmail',
|
|
295
|
+
nameSignatureEmail: 'copiedNameSignatureEmail',
|
|
296
|
+
};
|
|
297
|
+
cryptoService.encryptNodeWithNewParent = jest.fn().mockResolvedValue(encryptedCrypto);
|
|
298
|
+
const newName = 'new name';
|
|
299
|
+
const newNode = await management.copyNode('nodeUid', 'newParentNodeUid', newName);
|
|
300
|
+
expect(newNode).toEqual({
|
|
301
|
+
...nodes.nodeUid,
|
|
302
|
+
name: { ok: true, value: newName },
|
|
303
|
+
uid: 'newCopiedNodeUid',
|
|
304
|
+
parentUid: 'newParentNodeUid',
|
|
305
|
+
encryptedName: 'copiedArmoredNodeName',
|
|
306
|
+
hash: 'copiedHash',
|
|
307
|
+
keyAuthor: { ok: true, value: 'copiedSignatureEmail' },
|
|
308
|
+
nameAuthor: { ok: true, value: 'copiedNameSignatureEmail' },
|
|
309
|
+
});
|
|
310
|
+
expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith({ ok: true, value: newName }, expect.objectContaining({
|
|
311
|
+
key: 'nodeUid-key',
|
|
312
|
+
passphrase: 'nodeUid-passphrase',
|
|
313
|
+
passphraseSessionKey: 'nodeUid-passphraseSessionKey',
|
|
314
|
+
contentKeyPacketSessionKey: 'nodeUid-contentKeyPacketSessionKey',
|
|
315
|
+
nameSessionKey: 'nodeUid-nameSessionKey',
|
|
316
|
+
}), expect.objectContaining({ key: 'newParentNodeUid-key', hashKey: 'newParentNodeUid-hashKey' }), { type: 'userAddress', email: 'root-email', addressId: 'root-addressId', key: 'root-key' });
|
|
317
|
+
});
|
|
318
|
+
it('copyNode throws error if name is invalid', async () => {
|
|
319
|
+
const promise = management.copyNode('nodeUid', 'newParentNodeUid', 'invalid/name');
|
|
320
|
+
await expect(promise).rejects.toThrow(errors_2.ValidationError);
|
|
321
|
+
});
|
|
276
322
|
it('trashes node and updates cache', async () => {
|
|
277
323
|
const uids = ['v1~n1', 'v1~n2'];
|
|
278
324
|
const trashed = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodesManagement.test.js","sourceRoot":"","sources":["../../../src/internal/nodes/nodesManagement.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nodesManagement.test.js","sourceRoot":"","sources":["../../../src/internal/nodes/nodesManagement.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Logger } from '../../interface';
|
|
2
|
-
import {
|
|
2
|
+
import { NodeAPIServiceBase } from './apiService';
|
|
3
3
|
import { NodesCryptoService } from './cryptoService';
|
|
4
4
|
import { NodesAccess } from './nodesAccess';
|
|
5
5
|
import { DecryptedRevision } from './interface';
|
|
@@ -11,7 +11,7 @@ export declare class NodesRevisons {
|
|
|
11
11
|
private apiService;
|
|
12
12
|
private cryptoService;
|
|
13
13
|
private nodesAccess;
|
|
14
|
-
constructor(logger: Logger, apiService:
|
|
14
|
+
constructor(logger: Logger, apiService: NodeAPIServiceBase, cryptoService: NodesCryptoService, nodesAccess: Pick<NodesAccess, 'getNodeKeys'>);
|
|
15
15
|
getRevision(nodeRevisionUid: string): Promise<DecryptedRevision>;
|
|
16
16
|
iterateRevisions(nodeUid: string, signal?: AbortSignal): AsyncGenerator<DecryptedRevision>;
|
|
17
17
|
restoreRevision(nodeRevisionUid: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodesRevisions.js","sourceRoot":"","sources":["../../../src/internal/nodes/nodesRevisions.ts"],"names":[],"mappings":";;;AACA,kCAAqD;AAIrD,6DAAmE;AAGnE;;GAEG;AACH,MAAa,aAAa;IAEV;IACA;IACA;IACA;IAJZ,YACY,MAAc,EACd,
|
|
1
|
+
{"version":3,"file":"nodesRevisions.js","sourceRoot":"","sources":["../../../src/internal/nodes/nodesRevisions.ts"],"names":[],"mappings":";;;AACA,kCAAqD;AAIrD,6DAAmE;AAGnE;;GAEG;AACH,MAAa,aAAa;IAEV;IACA;IACA;IACA;IAJZ,YACY,MAAc,EACd,UAA8B,EAC9B,aAAiC,EACjC,WAA6C;QAH7C,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAoB;QAC9B,kBAAa,GAAb,aAAa,CAAoB;QACjC,gBAAW,GAAX,WAAW,CAAkC;QAErD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,eAAuB;QACrC,MAAM,OAAO,GAAG,IAAA,iCAA0B,EAAC,eAAe,CAAC,CAAC;QAC5D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAC3F,MAAM,kBAAkB,GAAG,IAAA,gDAA2B,EAClD,IAAI,CAAC,MAAM,EACX,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,kBAAkB,CAC9B,CAAC;QACF,OAAO;YACH,GAAG,QAAQ;YACX,GAAG,kBAAkB;SACxB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,CAAC,gBAAgB,CAAC,OAAe,EAAE,MAAoB;QACzD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/E,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;YAC3F,MAAM,kBAAkB,GAAG,IAAA,gDAA2B,EAClD,IAAI,CAAC,MAAM,EACX,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,kBAAkB,CAC9B,CAAC;YACF,MAAM;gBACF,GAAG,QAAQ;gBACX,GAAG,kBAAkB;aACxB,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,eAAuB;QACzC,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,eAAuB;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC;CACJ;AAvDD,sCAuDC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DecryptedNode } from '../nodes';
|
|
2
2
|
import { PhotosAPIService } from './apiService';
|
|
3
|
-
import {
|
|
3
|
+
import { PhotosNodesAccess } from './nodes';
|
|
4
4
|
import { PhotoSharesManager } from './shares';
|
|
5
5
|
/**
|
|
6
6
|
* Provides access and high-level actions for managing albums.
|
|
@@ -9,7 +9,7 @@ export declare class Albums {
|
|
|
9
9
|
private apiService;
|
|
10
10
|
private photoShares;
|
|
11
11
|
private nodesService;
|
|
12
|
-
constructor(apiService: PhotosAPIService, photoShares: PhotoSharesManager, nodesService:
|
|
12
|
+
constructor(apiService: PhotosAPIService, photoShares: PhotoSharesManager, nodesService: PhotosNodesAccess);
|
|
13
13
|
iterateAlbums(signal?: AbortSignal): AsyncGenerator<DecryptedNode>;
|
|
14
14
|
private iterateNodesAndIgnoreMissingOnes;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"albums.js","sourceRoot":"","sources":["../../../src/internal/photos/albums.ts"],"names":[],"mappings":";;;AAAA,kDAA+C;AAM/C,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B;;GAEG;AACH,MAAa,MAAM;IAEH;IACA;IACA;IAHZ,YACY,UAA4B,EAC5B,WAA+B,EAC/B,
|
|
1
|
+
{"version":3,"file":"albums.js","sourceRoot":"","sources":["../../../src/internal/photos/albums.ts"],"names":[],"mappings":";;;AAAA,kDAA+C;AAM/C,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B;;GAEG;AACH,MAAa,MAAM;IAEH;IACA;IACA;IAHZ,YACY,UAA4B,EAC5B,WAA+B,EAC/B,YAA+B;QAF/B,eAAU,GAAV,UAAU,CAAkB;QAC5B,gBAAW,GAAX,WAAW,CAAoB;QAC/B,iBAAY,GAAZ,YAAY,CAAmB;QAEvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,CAAC,aAAa,CAAC,MAAoB;QACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAEzD,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAwB;YACzD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,QAAQ,EAAE,MAAM,CAAC;YACnF,SAAS,EAAE,kBAAkB;SAChC,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YACxE,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,CAAC,gCAAgC,CAC3C,QAAkB,EAClB,MAAoB;QAEpB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACrC,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBACvB,SAAS;YACb,CAAC;YACD,MAAM,IAAI,CAAC;QACf,CAAC;IACL,CAAC;CACJ;AApCD,wBAoCC"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { DriveAPIService } from '../apiService';
|
|
2
2
|
import { DriveCrypto } from '../../crypto';
|
|
3
3
|
import { ProtonDriveAccount, ProtonDriveCryptoCache, ProtonDriveEntitiesCache, ProtonDriveTelemetry } from '../../interface';
|
|
4
|
+
import { ShareTargetType } from '../shares';
|
|
4
5
|
import { NodesService as UploadNodesService } from '../upload/interface';
|
|
5
6
|
import { Albums } from './albums';
|
|
6
|
-
import {
|
|
7
|
+
import { SharesService } from './interface';
|
|
8
|
+
import { PhotosNodesAccess, PhotosNodesManagement } from './nodes';
|
|
7
9
|
import { PhotoSharesManager } from './shares';
|
|
8
10
|
import { PhotosTimeline } from './timeline';
|
|
9
11
|
import { PhotoFileUploader, PhotoUploadMetadata } from './upload';
|
|
10
|
-
import {
|
|
12
|
+
import { NodesRevisons } from '../nodes/nodesRevisions';
|
|
13
|
+
import { NodesEventsHandler } from '../nodes/events';
|
|
14
|
+
export type { DecryptedPhotoNode } from './interface';
|
|
11
15
|
export declare const PHOTOS_SHARE_TARGET_TYPES: ShareTargetType[];
|
|
12
16
|
/**
|
|
13
17
|
* Provides facade for the whole photos module.
|
|
@@ -15,7 +19,7 @@ export declare const PHOTOS_SHARE_TARGET_TYPES: ShareTargetType[];
|
|
|
15
19
|
* The photos module is responsible for handling photos and albums metadata,
|
|
16
20
|
* including API communication, crypto, caching, and event handling.
|
|
17
21
|
*/
|
|
18
|
-
export declare function initPhotosModule(telemetry: ProtonDriveTelemetry, apiService: DriveAPIService, driveCrypto: DriveCrypto, photoShares: PhotoSharesManager, nodesService:
|
|
22
|
+
export declare function initPhotosModule(telemetry: ProtonDriveTelemetry, apiService: DriveAPIService, driveCrypto: DriveCrypto, photoShares: PhotoSharesManager, nodesService: PhotosNodesAccess): {
|
|
19
23
|
timeline: PhotosTimeline;
|
|
20
24
|
albums: Albums;
|
|
21
25
|
};
|
|
@@ -27,6 +31,18 @@ export declare function initPhotosModule(telemetry: ProtonDriveTelemetry, apiSer
|
|
|
27
31
|
* way in various modules that use shares.
|
|
28
32
|
*/
|
|
29
33
|
export declare function initPhotoSharesModule(telemetry: ProtonDriveTelemetry, apiService: DriveAPIService, driveEntitiesCache: ProtonDriveEntitiesCache, driveCryptoCache: ProtonDriveCryptoCache, account: ProtonDriveAccount, crypto: DriveCrypto, sharesService: SharesService): PhotoSharesManager;
|
|
34
|
+
/**
|
|
35
|
+
* Provides facade for the photo nodes module.
|
|
36
|
+
*
|
|
37
|
+
* The photo nodes module wraps the core nodes module and adds photo specific
|
|
38
|
+
* metadata. It provides the same interface so it can be used in the same way.
|
|
39
|
+
*/
|
|
40
|
+
export declare function initPhotosNodesModule(telemetry: ProtonDriveTelemetry, apiService: DriveAPIService, driveEntitiesCache: ProtonDriveEntitiesCache, driveCryptoCache: ProtonDriveCryptoCache, account: ProtonDriveAccount, driveCrypto: DriveCrypto, sharesService: PhotoSharesManager, clientUid: string | undefined): {
|
|
41
|
+
access: PhotosNodesAccess;
|
|
42
|
+
management: PhotosNodesManagement;
|
|
43
|
+
revisions: NodesRevisons;
|
|
44
|
+
eventHandler: NodesEventsHandler;
|
|
45
|
+
};
|
|
30
46
|
/**
|
|
31
47
|
* Provides facade for the photo upload module.
|
|
32
48
|
*
|
|
@@ -3,20 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PHOTOS_SHARE_TARGET_TYPES = void 0;
|
|
4
4
|
exports.initPhotosModule = initPhotosModule;
|
|
5
5
|
exports.initPhotoSharesModule = initPhotoSharesModule;
|
|
6
|
+
exports.initPhotosNodesModule = initPhotosNodesModule;
|
|
6
7
|
exports.initPhotoUploadModule = initPhotoUploadModule;
|
|
8
|
+
const cryptoService_1 = require("../nodes/cryptoService");
|
|
9
|
+
const cryptoReporter_1 = require("../nodes/cryptoReporter");
|
|
10
|
+
const cryptoCache_1 = require("../nodes/cryptoCache");
|
|
11
|
+
const shares_1 = require("../shares");
|
|
7
12
|
const cache_1 = require("../shares/cache");
|
|
8
|
-
const
|
|
9
|
-
const
|
|
13
|
+
const cryptoCache_2 = require("../shares/cryptoCache");
|
|
14
|
+
const cryptoService_2 = require("../shares/cryptoService");
|
|
10
15
|
const telemetry_1 = require("../upload/telemetry");
|
|
11
16
|
const queue_1 = require("../upload/queue");
|
|
12
17
|
const albums_1 = require("./albums");
|
|
13
18
|
const apiService_1 = require("./apiService");
|
|
14
|
-
const
|
|
19
|
+
const nodes_1 = require("./nodes");
|
|
20
|
+
const shares_2 = require("./shares");
|
|
15
21
|
const timeline_1 = require("./timeline");
|
|
16
22
|
const upload_1 = require("./upload");
|
|
17
|
-
const
|
|
23
|
+
const nodesRevisions_1 = require("../nodes/nodesRevisions");
|
|
24
|
+
const events_1 = require("../nodes/events");
|
|
18
25
|
// Only photos and albums can be shared in photos volume.
|
|
19
|
-
exports.PHOTOS_SHARE_TARGET_TYPES = [
|
|
26
|
+
exports.PHOTOS_SHARE_TARGET_TYPES = [shares_1.ShareTargetType.Photo, shares_1.ShareTargetType.Album];
|
|
20
27
|
/**
|
|
21
28
|
* Provides facade for the whole photos module.
|
|
22
29
|
*
|
|
@@ -42,9 +49,32 @@ function initPhotosModule(telemetry, apiService, driveCrypto, photoShares, nodes
|
|
|
42
49
|
function initPhotoSharesModule(telemetry, apiService, driveEntitiesCache, driveCryptoCache, account, crypto, sharesService) {
|
|
43
50
|
const api = new apiService_1.PhotosAPIService(apiService);
|
|
44
51
|
const cache = new cache_1.SharesCache(telemetry.getLogger('shares-cache'), driveEntitiesCache);
|
|
45
|
-
const cryptoCache = new
|
|
46
|
-
const cryptoService = new
|
|
47
|
-
return new
|
|
52
|
+
const cryptoCache = new cryptoCache_2.SharesCryptoCache(telemetry.getLogger('shares-cache'), driveCryptoCache);
|
|
53
|
+
const cryptoService = new cryptoService_2.SharesCryptoService(telemetry, crypto, account);
|
|
54
|
+
return new shares_2.PhotoSharesManager(telemetry.getLogger('photos-shares'), api, cache, cryptoCache, cryptoService, sharesService);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Provides facade for the photo nodes module.
|
|
58
|
+
*
|
|
59
|
+
* The photo nodes module wraps the core nodes module and adds photo specific
|
|
60
|
+
* metadata. It provides the same interface so it can be used in the same way.
|
|
61
|
+
*/
|
|
62
|
+
function initPhotosNodesModule(telemetry, apiService, driveEntitiesCache, driveCryptoCache, account, driveCrypto, sharesService, clientUid) {
|
|
63
|
+
const api = new nodes_1.PhotosNodesAPIService(telemetry.getLogger('nodes-api'), apiService, clientUid);
|
|
64
|
+
const cache = new nodes_1.PhotosNodesCache(telemetry.getLogger('nodes-cache'), driveEntitiesCache);
|
|
65
|
+
const cryptoCache = new cryptoCache_1.NodesCryptoCache(telemetry.getLogger('nodes-cache'), driveCryptoCache);
|
|
66
|
+
const cryptoReporter = new cryptoReporter_1.NodesCryptoReporter(telemetry, sharesService);
|
|
67
|
+
const cryptoService = new cryptoService_1.NodesCryptoService(telemetry, driveCrypto, account, cryptoReporter);
|
|
68
|
+
const nodesAccess = new nodes_1.PhotosNodesAccess(telemetry, api, cache, cryptoCache, cryptoService, sharesService);
|
|
69
|
+
const nodesEventHandler = new events_1.NodesEventsHandler(telemetry.getLogger('nodes-events'), cache);
|
|
70
|
+
const nodesManagement = new nodes_1.PhotosNodesManagement(api, cryptoCache, cryptoService, nodesAccess);
|
|
71
|
+
const nodesRevisions = new nodesRevisions_1.NodesRevisons(telemetry.getLogger('nodes'), api, cryptoService, nodesAccess);
|
|
72
|
+
return {
|
|
73
|
+
access: nodesAccess,
|
|
74
|
+
management: nodesManagement,
|
|
75
|
+
revisions: nodesRevisions,
|
|
76
|
+
eventHandler: nodesEventHandler,
|
|
77
|
+
};
|
|
48
78
|
}
|
|
49
79
|
/**
|
|
50
80
|
* Provides facade for the photo upload module.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/photos/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/photos/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PrivateKey } from '../../crypto';
|
|
2
|
-
import {
|
|
3
|
-
import { DecryptedNode } from '../nodes';
|
|
2
|
+
import { MetricVolumeType, PhotoAttributes } from '../../interface';
|
|
3
|
+
import { DecryptedNode, EncryptedNode, DecryptedUnparsedNode } from '../nodes/interface';
|
|
4
4
|
import { EncryptedShare } from '../shares';
|
|
5
5
|
export interface SharesService {
|
|
6
6
|
getRootIDs(): Promise<{
|
|
@@ -24,10 +24,19 @@ export interface SharesService {
|
|
|
24
24
|
isOwnVolume(volumeId: string): Promise<boolean>;
|
|
25
25
|
getVolumeMetricContext(volumeId: string): Promise<MetricVolumeType>;
|
|
26
26
|
}
|
|
27
|
-
export
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
export type EncryptedPhotoNode = EncryptedNode & {
|
|
28
|
+
photo?: EcnryptedPhotoAttributes;
|
|
29
|
+
};
|
|
30
|
+
export type DecryptedUnparsedPhotoNode = DecryptedUnparsedNode & {
|
|
31
|
+
photo?: PhotoAttributes;
|
|
32
|
+
};
|
|
33
|
+
export type DecryptedPhotoNode = DecryptedNode & {
|
|
34
|
+
photo?: PhotoAttributes;
|
|
35
|
+
};
|
|
36
|
+
export type EcnryptedPhotoAttributes = Omit<PhotoAttributes, 'albums'> & {
|
|
37
|
+
contentHash?: string;
|
|
38
|
+
albums: (PhotoAttributes['albums'][0] & {
|
|
39
|
+
nameHash?: string;
|
|
40
|
+
contentHash?: string;
|
|
41
|
+
})[];
|
|
42
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { PrivateKey } from '../../crypto';
|
|
2
|
+
import { DecryptionError } from '../../errors';
|
|
3
|
+
import { drivePaths } from '../apiService';
|
|
4
|
+
import { NodeAPIServiceBase } from '../nodes/apiService';
|
|
5
|
+
import { NodesCacheBase } from '../nodes/cache';
|
|
6
|
+
import { NodesCryptoService } from '../nodes/cryptoService';
|
|
7
|
+
import { DecryptedNodeKeys } from '../nodes/interface';
|
|
8
|
+
import { NodesAccessBase } from '../nodes/nodesAccess';
|
|
9
|
+
import { NodesManagementBase } from '../nodes/nodesManagement';
|
|
10
|
+
import { EncryptedPhotoNode, DecryptedPhotoNode, DecryptedUnparsedPhotoNode } from './interface';
|
|
11
|
+
type PostLoadLinksMetadataResponse = drivePaths['/drive/photos/volumes/{volumeID}/links']['post']['responses']['200']['content']['application/json'];
|
|
12
|
+
export declare class PhotosNodesAPIService extends NodeAPIServiceBase<EncryptedPhotoNode, PostLoadLinksMetadataResponse['Links'][0]> {
|
|
13
|
+
protected fetchNodeMetadata(volumeId: string, linkIds: string[], signal?: AbortSignal): Promise<({
|
|
14
|
+
Link: import("../apiService/driveTypes").components["schemas"]["LinkDto"];
|
|
15
|
+
Photo: import("../apiService/driveTypes").components["schemas"]["PhotoFileDto"];
|
|
16
|
+
Sharing: import("../apiService/driveTypes").components["schemas"]["SharingDto"] | null;
|
|
17
|
+
Membership: import("../apiService/driveTypes").components["schemas"]["MembershipDto"] | null;
|
|
18
|
+
Album: null | null;
|
|
19
|
+
} | {
|
|
20
|
+
Link: import("../apiService/driveTypes").components["schemas"]["LinkDto"];
|
|
21
|
+
Album: import("../apiService/driveTypes").components["schemas"]["AlbumDto"];
|
|
22
|
+
Sharing: import("../apiService/driveTypes").components["schemas"]["SharingDto"] | null;
|
|
23
|
+
Membership: import("../apiService/driveTypes").components["schemas"]["MembershipDto"] | null;
|
|
24
|
+
Photo: null | null;
|
|
25
|
+
} | {
|
|
26
|
+
Link: import("../apiService/driveTypes").components["schemas"]["LinkDto"];
|
|
27
|
+
Folder: import("../apiService/driveTypes").components["schemas"]["FolderDto"];
|
|
28
|
+
Sharing: import("../apiService/driveTypes").components["schemas"]["SharingDto"] | null;
|
|
29
|
+
Membership: import("../apiService/driveTypes").components["schemas"]["MembershipDto"] | null;
|
|
30
|
+
Photo: null | null;
|
|
31
|
+
Album: null | null;
|
|
32
|
+
})[]>;
|
|
33
|
+
protected linkToEncryptedNode(volumeId: string, link: PostLoadLinksMetadataResponse['Links'][0], isOwnVolumeId: boolean): EncryptedPhotoNode;
|
|
34
|
+
}
|
|
35
|
+
export declare class PhotosNodesCache extends NodesCacheBase<DecryptedPhotoNode> {
|
|
36
|
+
serialiseNode(node: DecryptedPhotoNode): string;
|
|
37
|
+
deserialiseNode(nodeData: string): DecryptedPhotoNode;
|
|
38
|
+
}
|
|
39
|
+
export declare class PhotosNodesAccess extends NodesAccessBase<EncryptedPhotoNode, DecryptedPhotoNode, PhotosNodesCryptoService> {
|
|
40
|
+
getParentKeys(node: Pick<EncryptedPhotoNode, 'uid' | 'parentUid' | 'shareId' | 'photo'>): Promise<Pick<DecryptedNodeKeys, 'key' | 'hashKey'>>;
|
|
41
|
+
protected getDegradedUndecryptableNode(encryptedNode: EncryptedPhotoNode, error: DecryptionError): DecryptedPhotoNode;
|
|
42
|
+
protected parseNode(unparsedNode: DecryptedUnparsedPhotoNode): DecryptedPhotoNode;
|
|
43
|
+
}
|
|
44
|
+
export declare class PhotosNodesCryptoService extends NodesCryptoService {
|
|
45
|
+
decryptNode(encryptedNode: EncryptedPhotoNode, parentKey: PrivateKey): Promise<{
|
|
46
|
+
node: DecryptedUnparsedPhotoNode;
|
|
47
|
+
keys?: DecryptedNodeKeys;
|
|
48
|
+
}>;
|
|
49
|
+
}
|
|
50
|
+
export declare class PhotosNodesManagement extends NodesManagementBase<EncryptedPhotoNode, DecryptedPhotoNode, PhotosNodesCryptoService> {
|
|
51
|
+
protected generateNodeFolder(nodeUid: string, parentNodeUid: string, name: string, encryptedCrypto: {
|
|
52
|
+
hash: string;
|
|
53
|
+
encryptedName: string;
|
|
54
|
+
signatureEmail: string | null;
|
|
55
|
+
}): DecryptedPhotoNode;
|
|
56
|
+
}
|
|
57
|
+
export {};
|