@protontech/drive-sdk 0.10.0 → 0.11.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/crypto/driveCrypto.d.ts +4 -1
- package/dist/crypto/driveCrypto.js +23 -1
- package/dist/crypto/driveCrypto.js.map +1 -1
- package/dist/crypto/driveCrypto.test.js +2 -1
- package/dist/crypto/driveCrypto.test.js.map +1 -1
- package/dist/diagnostic/telemetry.js +3 -0
- package/dist/diagnostic/telemetry.js.map +1 -1
- package/dist/interface/index.d.ts +1 -0
- package/dist/interface/index.js +3 -1
- package/dist/interface/index.js.map +1 -1
- package/dist/interface/photos.d.ts +13 -1
- package/dist/interface/photos.js +14 -0
- package/dist/interface/photos.js.map +1 -1
- package/dist/interface/telemetry.d.ts +12 -1
- package/dist/interface/telemetry.js.map +1 -1
- package/dist/internal/apiService/apiService.d.ts +1 -1
- package/dist/internal/apiService/apiService.js +2 -2
- package/dist/internal/apiService/apiService.js.map +1 -1
- package/dist/internal/nodes/apiService.js.map +1 -1
- package/dist/internal/nodes/nodesAccess.js +1 -1
- package/dist/internal/nodes/nodesAccess.js.map +1 -1
- package/dist/internal/photos/addToAlbum.d.ts +1 -5
- package/dist/internal/photos/addToAlbum.js +8 -87
- package/dist/internal/photos/addToAlbum.js.map +1 -1
- package/dist/internal/photos/{albums.d.ts → albumsManager.d.ts} +1 -1
- package/dist/internal/photos/{albums.js → albumsManager.js} +4 -4
- package/dist/internal/photos/albumsManager.js.map +1 -0
- package/dist/internal/photos/{albums.test.js → albumsManager.test.js} +3 -3
- package/dist/internal/photos/albumsManager.test.js.map +1 -0
- package/dist/internal/photos/apiService.d.ts +8 -4
- package/dist/internal/photos/apiService.js +38 -6
- package/dist/internal/photos/apiService.js.map +1 -1
- package/dist/internal/photos/index.d.ts +5 -3
- package/dist/internal/photos/index.js +5 -2
- package/dist/internal/photos/index.js.map +1 -1
- package/dist/internal/photos/interface.d.ts +3 -26
- package/dist/internal/photos/interface.js +0 -14
- package/dist/internal/photos/interface.js.map +1 -1
- package/dist/internal/photos/nodes.js +1 -1
- package/dist/internal/photos/nodes.js.map +1 -1
- package/dist/internal/photos/photosManager.d.ts +22 -0
- package/dist/internal/photos/photosManager.js +101 -0
- package/dist/internal/photos/photosManager.js.map +1 -0
- package/dist/internal/photos/photosManager.test.d.ts +1 -0
- package/dist/internal/photos/photosManager.test.js +222 -0
- package/dist/internal/photos/photosManager.test.js.map +1 -0
- package/dist/internal/photos/photosTransferPayloadBuilder.d.ts +57 -0
- package/dist/internal/photos/photosTransferPayloadBuilder.js +113 -0
- package/dist/internal/photos/photosTransferPayloadBuilder.js.map +1 -0
- package/dist/internal/photos/photosTransferPayloadBuilder.test.d.ts +1 -0
- package/dist/internal/photos/photosTransferPayloadBuilder.test.js +289 -0
- package/dist/internal/photos/photosTransferPayloadBuilder.test.js.map +1 -0
- package/dist/internal/photos/upload.js +1 -1
- package/dist/internal/photos/upload.js.map +1 -1
- package/dist/internal/upload/apiService.d.ts +0 -4
- package/dist/internal/upload/apiService.js +0 -4
- package/dist/internal/upload/apiService.js.map +1 -1
- package/dist/internal/upload/cryptoService.js +4 -4
- package/dist/internal/upload/cryptoService.js.map +1 -1
- package/dist/internal/upload/interface.d.ts +1 -1
- package/dist/internal/upload/streamUploader.d.ts +1 -1
- package/dist/internal/upload/streamUploader.js +12 -13
- package/dist/internal/upload/streamUploader.js.map +1 -1
- package/dist/internal/upload/streamUploader.test.js +28 -4
- package/dist/internal/upload/streamUploader.test.js.map +1 -1
- package/dist/protonDriveClient.js +1 -1
- package/dist/protonDriveClient.js.map +1 -1
- package/dist/protonDrivePhotosClient.d.ts +19 -2
- package/dist/protonDrivePhotosClient.js +21 -1
- package/dist/protonDrivePhotosClient.js.map +1 -1
- package/dist/protonDrivePublicLinkClient.js +1 -1
- package/dist/protonDrivePublicLinkClient.js.map +1 -1
- package/package.json +1 -1
- package/src/crypto/driveCrypto.test.ts +2 -1
- package/src/crypto/driveCrypto.ts +36 -2
- package/src/diagnostic/telemetry.ts +3 -0
- package/src/interface/index.ts +1 -0
- package/src/interface/photos.ts +14 -1
- package/src/interface/telemetry.ts +14 -1
- package/src/internal/apiService/apiService.ts +6 -2
- package/src/internal/nodes/apiService.ts +2 -2
- package/src/internal/nodes/nodesAccess.ts +1 -1
- package/src/internal/photos/addToAlbum.ts +29 -136
- package/src/internal/photos/{albums.test.ts → albumsManager.test.ts} +3 -3
- package/src/internal/photos/{albums.ts → albumsManager.ts} +1 -1
- package/src/internal/photos/apiService.ts +73 -16
- package/src/internal/photos/index.ts +6 -3
- package/src/internal/photos/interface.ts +3 -28
- package/src/internal/photos/nodes.ts +1 -1
- package/src/internal/photos/photosManager.test.ts +266 -0
- package/src/internal/photos/photosManager.ts +144 -0
- package/src/internal/photos/photosTransferPayloadBuilder.test.ts +380 -0
- package/src/internal/photos/photosTransferPayloadBuilder.ts +203 -0
- package/src/internal/photos/upload.ts +6 -1
- package/src/internal/upload/apiService.ts +7 -9
- package/src/internal/upload/cryptoService.ts +4 -5
- package/src/internal/upload/interface.ts +1 -1
- package/src/internal/upload/streamUploader.test.ts +33 -4
- package/src/internal/upload/streamUploader.ts +13 -13
- package/src/protonDriveClient.ts +1 -1
- package/src/protonDrivePhotosClient.ts +34 -2
- package/src/protonDrivePublicLinkClient.ts +1 -1
- package/dist/internal/photos/albums.js.map +0 -1
- package/dist/internal/photos/albums.test.js.map +0 -1
- /package/dist/internal/photos/{albums.test.d.ts → albumsManager.test.d.ts} +0 -0
|
@@ -27,7 +27,7 @@ async function mockEncryptBlock(
|
|
|
27
27
|
verificationToken: 'verificationToken',
|
|
28
28
|
originalSize: block.length,
|
|
29
29
|
encryptedSize: block.length + BLOCK_ENCRYPTION_OVERHEAD,
|
|
30
|
-
|
|
30
|
+
hashPromise: Promise.resolve('blockHash'),
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -90,7 +90,7 @@ describe('StreamUploader', () => {
|
|
|
90
90
|
encryptedData: thumbnail.thumbnail,
|
|
91
91
|
originalSize: thumbnail.thumbnail.length,
|
|
92
92
|
encryptedSize: thumbnail.thumbnail + 1000,
|
|
93
|
-
|
|
93
|
+
hashPromise: Promise.resolve('thumbnailHash'),
|
|
94
94
|
})),
|
|
95
95
|
encryptBlock: jest.fn().mockImplementation(mockEncryptBlock),
|
|
96
96
|
};
|
|
@@ -428,6 +428,37 @@ describe('StreamUploader', () => {
|
|
|
428
428
|
expect((uploader as any).maxUploadingBlocks).toEqual(1);
|
|
429
429
|
});
|
|
430
430
|
|
|
431
|
+
it('should not call onProgress after upload has failed', async () => {
|
|
432
|
+
let firstBlockPromise;
|
|
433
|
+
|
|
434
|
+
// Block 1 delays before reporting progress; block 2 fails immediately.
|
|
435
|
+
// This simulates block 1's progress callback firing after we've already
|
|
436
|
+
// entered the catch block.
|
|
437
|
+
apiService.uploadBlock = jest.fn().mockImplementation(async function (bareUrl, token, block, onProgress) {
|
|
438
|
+
if (token === 'token/block:1') {
|
|
439
|
+
firstBlockPromise = new Promise((resolve) => setTimeout(resolve, 100));
|
|
440
|
+
await firstBlockPromise;
|
|
441
|
+
return mockUploadBlock(bareUrl, token, block, onProgress);
|
|
442
|
+
}
|
|
443
|
+
if (token === 'token/block:2') {
|
|
444
|
+
throw new Error('Failed to upload block');
|
|
445
|
+
}
|
|
446
|
+
return mockUploadBlock(bareUrl, token, block, onProgress);
|
|
447
|
+
});
|
|
448
|
+
|
|
449
|
+
const startPromise = uploader.start(stream, thumbnails, onProgress);
|
|
450
|
+
await expect(startPromise).rejects.toThrow('Failed to upload block');
|
|
451
|
+
|
|
452
|
+
expect(firstBlockPromise).toBeDefined();
|
|
453
|
+
await firstBlockPromise!;
|
|
454
|
+
|
|
455
|
+
// Mocked file has 3 blocks - 2x 4 MB blocks and 1x 2 MB block
|
|
456
|
+
// First block is delayed - should not be reported.
|
|
457
|
+
// Second block is failed - should not be reported.
|
|
458
|
+
// Third block is successfull before second block is failed - should be reported.
|
|
459
|
+
await verifyOnProgress([thumbnailSize, 2 * 1024 * 1024]);
|
|
460
|
+
});
|
|
461
|
+
|
|
431
462
|
it('limitUploadCapacity should wait for the previous blocks to finish', async () => {
|
|
432
463
|
const error = new Error('TimeoutError');
|
|
433
464
|
error.name = 'TimeoutError';
|
|
@@ -496,8 +527,6 @@ describe('StreamUploader', () => {
|
|
|
496
527
|
contentBlocks: [
|
|
497
528
|
{
|
|
498
529
|
index: 2,
|
|
499
|
-
encryptedSize: 4 * 1024 * 1024 + 10000,
|
|
500
|
-
hash: 'blockHash',
|
|
501
530
|
armoredSignature: 'signature',
|
|
502
531
|
verificationToken: 'verificationToken',
|
|
503
532
|
},
|
|
@@ -121,7 +121,9 @@ export class StreamUploader {
|
|
|
121
121
|
this.logger.info(`Starting upload`);
|
|
122
122
|
await this.encryptAndUploadBlocks(stream, thumbnails, (uploadedBytes) => {
|
|
123
123
|
fileProgress += uploadedBytes;
|
|
124
|
-
|
|
124
|
+
if (!failure) {
|
|
125
|
+
onProgress?.(fileProgress);
|
|
126
|
+
}
|
|
125
127
|
});
|
|
126
128
|
|
|
127
129
|
this.logger.debug(`All blocks uploaded, committing`);
|
|
@@ -230,7 +232,7 @@ export class StreamUploader {
|
|
|
230
232
|
};
|
|
231
233
|
await this.uploadManager.commitDraft(
|
|
232
234
|
this.revisionDraft,
|
|
233
|
-
this.
|
|
235
|
+
await this.getManifest(),
|
|
234
236
|
extendedAttributes,
|
|
235
237
|
this.metadata.additionalMetadata,
|
|
236
238
|
);
|
|
@@ -328,8 +330,6 @@ export class StreamUploader {
|
|
|
328
330
|
contentBlocks: Array.from(
|
|
329
331
|
this.encryptedBlocks.values().map((block) => ({
|
|
330
332
|
index: block.index,
|
|
331
|
-
encryptedSize: block.encryptedSize,
|
|
332
|
-
hash: block.hash,
|
|
333
333
|
armoredSignature: block.armoredSignature,
|
|
334
334
|
verificationToken: block.verificationToken,
|
|
335
335
|
})),
|
|
@@ -337,8 +337,6 @@ export class StreamUploader {
|
|
|
337
337
|
thumbnails: Array.from(
|
|
338
338
|
this.encryptedThumbnails.values().map((block) => ({
|
|
339
339
|
type: block.type,
|
|
340
|
-
encryptedSize: block.encryptedSize,
|
|
341
|
-
hash: block.hash,
|
|
342
340
|
})),
|
|
343
341
|
),
|
|
344
342
|
},
|
|
@@ -422,7 +420,7 @@ export class StreamUploader {
|
|
|
422
420
|
);
|
|
423
421
|
this.uploadedThumbnails.push({
|
|
424
422
|
type: encryptedThumbnail.type,
|
|
425
|
-
|
|
423
|
+
hashPromise: encryptedThumbnail.hashPromise,
|
|
426
424
|
encryptedSize: encryptedThumbnail.encryptedSize,
|
|
427
425
|
originalSize: encryptedThumbnail.originalSize,
|
|
428
426
|
});
|
|
@@ -474,6 +472,10 @@ export class StreamUploader {
|
|
|
474
472
|
let attempt = 0;
|
|
475
473
|
|
|
476
474
|
while (true) {
|
|
475
|
+
if (this.isUploadAborted) {
|
|
476
|
+
throw this.error || new AbortError();
|
|
477
|
+
}
|
|
478
|
+
|
|
477
479
|
attempt++;
|
|
478
480
|
try {
|
|
479
481
|
logger.debug(`Uploading`);
|
|
@@ -489,7 +491,7 @@ export class StreamUploader {
|
|
|
489
491
|
);
|
|
490
492
|
this.uploadedBlocks.push({
|
|
491
493
|
index: encryptedBlock.index,
|
|
492
|
-
|
|
494
|
+
hashPromise: encryptedBlock.hashPromise,
|
|
493
495
|
encryptedSize: encryptedBlock.encryptedSize,
|
|
494
496
|
originalSize: encryptedBlock.originalSize,
|
|
495
497
|
});
|
|
@@ -524,8 +526,6 @@ export class StreamUploader {
|
|
|
524
526
|
contentBlocks: [
|
|
525
527
|
{
|
|
526
528
|
index: encryptedBlock.index,
|
|
527
|
-
encryptedSize: encryptedBlock.encryptedSize,
|
|
528
|
-
hash: encryptedBlock.hash,
|
|
529
529
|
armoredSignature: encryptedBlock.armoredSignature,
|
|
530
530
|
verificationToken: encryptedBlock.verificationToken,
|
|
531
531
|
},
|
|
@@ -655,12 +655,12 @@ export class StreamUploader {
|
|
|
655
655
|
return uploadedBlocks.map((block) => block.originalSize);
|
|
656
656
|
}
|
|
657
657
|
|
|
658
|
-
protected
|
|
658
|
+
protected async getManifest(): Promise<Uint8Array<ArrayBuffer>> {
|
|
659
659
|
this.uploadedThumbnails.sort((a, b) => a.type - b.type);
|
|
660
660
|
this.uploadedBlocks.sort((a, b) => a.index - b.index);
|
|
661
661
|
const hashes = [
|
|
662
|
-
...this.uploadedThumbnails.map(({
|
|
663
|
-
...this.uploadedBlocks.map(({
|
|
662
|
+
...(await Promise.all(this.uploadedThumbnails.map(({ hashPromise }) => hashPromise))),
|
|
663
|
+
...(await Promise.all(this.uploadedBlocks.map(({ hashPromise }) => hashPromise))),
|
|
664
664
|
];
|
|
665
665
|
return mergeUint8Arrays(hashes);
|
|
666
666
|
}
|
package/src/protonDriveClient.ts
CHANGED
|
@@ -135,7 +135,7 @@ export class ProtonDriveClient {
|
|
|
135
135
|
|
|
136
136
|
const fullConfig = getConfig(config);
|
|
137
137
|
this.sdkEvents = new SDKEvents(telemetry);
|
|
138
|
-
const cryptoModule = new DriveCrypto(openPGPCryptoModule, srpModule);
|
|
138
|
+
const cryptoModule = new DriveCrypto(telemetry, openPGPCryptoModule, srpModule);
|
|
139
139
|
const apiService = new DriveAPIService(
|
|
140
140
|
telemetry,
|
|
141
141
|
this.sdkEvents,
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
ProtonInvitationWithNode,
|
|
19
19
|
NodeResult,
|
|
20
20
|
NodeResultWithError,
|
|
21
|
+
PhotoTag,
|
|
21
22
|
} from './interface';
|
|
22
23
|
import { getConfig } from './config';
|
|
23
24
|
import { DriveCrypto } from './crypto';
|
|
@@ -41,7 +42,6 @@ import {
|
|
|
41
42
|
initPhotosNodesModule,
|
|
42
43
|
AlbumItem,
|
|
43
44
|
TimelineItem,
|
|
44
|
-
PhotoTag,
|
|
45
45
|
} from './internal/photos';
|
|
46
46
|
import { SDKEvents } from './internal/sdkEvents';
|
|
47
47
|
import { initSharesModule } from './internal/shares';
|
|
@@ -93,7 +93,7 @@ export class ProtonDrivePhotosClient {
|
|
|
93
93
|
|
|
94
94
|
const fullConfig = getConfig(config);
|
|
95
95
|
this.sdkEvents = new SDKEvents(telemetry);
|
|
96
|
-
const cryptoModule = new DriveCrypto(openPGPCryptoModule, srpModule);
|
|
96
|
+
const cryptoModule = new DriveCrypto(telemetry, openPGPCryptoModule, srpModule);
|
|
97
97
|
const apiService = new DriveAPIService(
|
|
98
98
|
telemetry,
|
|
99
99
|
this.sdkEvents,
|
|
@@ -636,4 +636,36 @@ export class ProtonDrivePhotosClient {
|
|
|
636
636
|
this.logger.info(`Removing ${photoNodeUids.length} photos from album ${getUid(albumNodeUid)}`);
|
|
637
637
|
yield* this.photos.albums.removePhotos(getUid(albumNodeUid), getUids(photoNodeUids), signal);
|
|
638
638
|
}
|
|
639
|
+
|
|
640
|
+
/**
|
|
641
|
+
* Updates photos with the given settings: add or remove tags.
|
|
642
|
+
*
|
|
643
|
+
* Assigning a favorite tag to a photo that is not in the timeline will
|
|
644
|
+
* result in a move operation to the timeline. The photo will stay in
|
|
645
|
+
* the album.
|
|
646
|
+
*
|
|
647
|
+
* @param nodeUids - The UIDs of the photos to update.
|
|
648
|
+
* @param settings - addTags: tags to add, removeTags: tags to remove.
|
|
649
|
+
* @param signal - An optional abort signal to cancel the operation.
|
|
650
|
+
* @returns An async generator of per-photo results.
|
|
651
|
+
*/
|
|
652
|
+
async *updatePhotos(
|
|
653
|
+
photos: {
|
|
654
|
+
nodeUid: NodeOrUid;
|
|
655
|
+
tagsToAdd?: PhotoTag[];
|
|
656
|
+
tagsToRemove?: PhotoTag[];
|
|
657
|
+
}[],
|
|
658
|
+
signal?: AbortSignal,
|
|
659
|
+
): AsyncGenerator<NodeResultWithError> {
|
|
660
|
+
this.logger.info(`Updating ${photos.length} photos`);
|
|
661
|
+
yield *
|
|
662
|
+
this.photos.photos.updatePhotos(
|
|
663
|
+
photos.map((p) => ({
|
|
664
|
+
nodeUid: getUid(p.nodeUid),
|
|
665
|
+
tagsToAdd: p.tagsToAdd || [],
|
|
666
|
+
tagsToRemove: p.tagsToRemove || [],
|
|
667
|
+
})),
|
|
668
|
+
signal,
|
|
669
|
+
);
|
|
670
|
+
}
|
|
639
671
|
}
|
|
@@ -132,7 +132,7 @@ export class ProtonDrivePublicLinkClient {
|
|
|
132
132
|
fullConfig.baseUrl,
|
|
133
133
|
fullConfig.language,
|
|
134
134
|
);
|
|
135
|
-
const cryptoModule = new DriveCrypto(openPGPCryptoModule, srpModule);
|
|
135
|
+
const cryptoModule = new DriveCrypto(telemetry, openPGPCryptoModule, srpModule);
|
|
136
136
|
this.sharingPublic = initSharingPublicModule(
|
|
137
137
|
telemetry,
|
|
138
138
|
apiService,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"albums.js","sourceRoot":"","sources":["../../../src/internal/photos/albums.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"albums.test.js","sourceRoot":"","sources":["../../../src/internal/photos/albums.test.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|