@protontech/drive-sdk 0.14.10 → 0.15.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/README.md +5 -0
- package/dist/cache/index.d.ts +1 -1
- package/dist/cache/memoryCache.d.ts +1 -1
- package/dist/cache/nullCache.d.ts +1 -1
- package/dist/crypto/driveCrypto.d.ts +7 -11
- package/dist/crypto/driveCrypto.js +35 -38
- package/dist/crypto/driveCrypto.js.map +1 -1
- package/dist/crypto/driveCrypto.test.js +1 -21
- package/dist/crypto/driveCrypto.test.js.map +1 -1
- package/dist/crypto/index.d.ts +2 -4
- package/dist/crypto/index.js +3 -6
- package/dist/crypto/index.js.map +1 -1
- package/dist/crypto/interface.d.ts +3 -35
- package/dist/crypto/interface.js +0 -7
- package/dist/crypto/interface.js.map +1 -1
- package/dist/crypto/openPGPCrypto.d.ts +10 -106
- package/dist/crypto/openPGPCrypto.js +2 -4
- package/dist/crypto/openPGPCrypto.js.map +1 -1
- package/dist/diagnostic/index.d.ts +1 -1
- package/dist/diagnostic/index.js +1 -1
- package/dist/diagnostic/index.js.map +1 -1
- package/dist/diagnostic/integrityVerificationStream.js +1 -2
- package/dist/diagnostic/integrityVerificationStream.js.map +1 -1
- package/dist/diagnostic/interface.d.ts +1 -1
- package/dist/diagnostic/nodeUtils.d.ts +1 -1
- package/dist/diagnostic/sdkDiagnosticBase.d.ts +2 -2
- package/dist/diagnostic/sdkDiagnosticBase.js.map +1 -1
- package/dist/diagnostic/sdkDiagnosticMain.js +1 -1
- package/dist/diagnostic/sdkDiagnosticMain.js.map +1 -1
- package/dist/diagnostic/sdkDiagnosticPhotos.js +1 -1
- package/dist/diagnostic/sdkDiagnosticPhotos.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/interface/account.d.ts +1 -1
- package/dist/interface/devices.d.ts +1 -1
- package/dist/interface/index.d.ts +15 -15
- package/dist/interface/index.js +7 -7
- package/dist/interface/index.js.map +1 -1
- package/dist/interface/nodes.d.ts +1 -1
- package/dist/interface/photos.d.ts +1 -1
- package/dist/interface/sharing.d.ts +2 -2
- package/dist/internal/apiService/apiService.js +1 -1
- package/dist/internal/apiService/apiService.js.map +1 -1
- package/dist/internal/apiService/coreTypes.d.ts +8552 -7249
- package/dist/internal/apiService/driveTypes.d.ts +47 -92
- package/dist/internal/apiService/errors.test.js +1 -1
- package/dist/internal/apiService/errors.test.js.map +1 -1
- package/dist/internal/apiService/index.d.ts +4 -4
- package/dist/internal/apiService/index.js +5 -5
- package/dist/internal/apiService/index.js.map +1 -1
- package/dist/internal/apiService/transformers.d.ts +1 -1
- package/dist/internal/devices/index.d.ts +1 -1
- package/dist/internal/devices/manager.test.js +1 -1
- package/dist/internal/devices/manager.test.js.map +1 -1
- package/dist/internal/download/cryptoService.js +3 -2
- package/dist/internal/download/cryptoService.js.map +1 -1
- package/dist/internal/download/fileDownloader.js +8 -7
- package/dist/internal/download/fileDownloader.js.map +1 -1
- package/dist/internal/download/fileDownloader.test.js +1 -1
- package/dist/internal/download/fileDownloader.test.js.map +1 -1
- package/dist/internal/download/index.d.ts +2 -2
- package/dist/internal/download/index.js +1 -1
- package/dist/internal/download/index.js.map +1 -1
- package/dist/internal/download/interface.d.ts +1 -1
- package/dist/internal/download/telemetry.js +2 -3
- package/dist/internal/download/telemetry.js.map +1 -1
- package/dist/internal/download/telemetry.test.js +5 -0
- package/dist/internal/download/telemetry.test.js.map +1 -1
- package/dist/internal/download/thumbnailDownloader.d.ts +1 -1
- package/dist/internal/download/thumbnailDownloader.js +1 -1
- package/dist/internal/download/thumbnailDownloader.js.map +1 -1
- package/dist/internal/download/thumbnailDownloader.test.js.map +1 -1
- package/dist/internal/errors.d.ts +1 -0
- package/dist/internal/errors.js +11 -0
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/events/coreEventManager.test.js +1 -1
- package/dist/internal/events/coreEventManager.test.js.map +1 -1
- package/dist/internal/events/eventManager.d.ts +1 -1
- package/dist/internal/events/eventManager.js +1 -0
- package/dist/internal/events/eventManager.js.map +1 -1
- package/dist/internal/events/index.js +1 -1
- package/dist/internal/events/index.js.map +1 -1
- package/dist/internal/events/interface.d.ts +8 -0
- package/dist/internal/events/interface.js.map +1 -1
- package/dist/internal/events/volumeEventManager.js +1 -1
- package/dist/internal/events/volumeEventManager.js.map +1 -1
- package/dist/internal/events/volumeEventManager.test.js +1 -1
- package/dist/internal/events/volumeEventManager.test.js.map +1 -1
- package/dist/internal/nodes/apiService.d.ts +10 -4
- package/dist/internal/nodes/apiService.js +6 -2
- package/dist/internal/nodes/apiService.js.map +1 -1
- package/dist/internal/nodes/apiService.test.js +6 -2
- package/dist/internal/nodes/apiService.test.js.map +1 -1
- package/dist/internal/nodes/cache.d.ts +1 -1
- package/dist/internal/nodes/cryptoCache.d.ts +1 -1
- package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
- package/dist/internal/nodes/cryptoReporter.d.ts +1 -1
- package/dist/internal/nodes/cryptoService.d.ts +2 -2
- package/dist/internal/nodes/cryptoService.js +2 -2
- package/dist/internal/nodes/cryptoService.js.map +1 -1
- package/dist/internal/nodes/cryptoService.test.js +1 -1
- package/dist/internal/nodes/cryptoService.test.js.map +1 -1
- package/dist/internal/nodes/events.test.js.map +1 -1
- package/dist/internal/nodes/index.d.ts +4 -4
- package/dist/internal/nodes/index.js +2 -2
- package/dist/internal/nodes/index.js.map +1 -1
- package/dist/internal/nodes/index.test.js +3 -3
- package/dist/internal/nodes/index.test.js.map +1 -1
- package/dist/internal/nodes/interface.d.ts +1 -1
- package/dist/internal/nodes/nodesAccess.d.ts +2 -2
- package/dist/internal/nodes/nodesAccess.js +3 -3
- package/dist/internal/nodes/nodesAccess.js.map +1 -1
- package/dist/internal/nodes/nodesAccess.test.js +2 -2
- package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.d.ts +1 -1
- package/dist/internal/nodes/nodesManagement.js +2 -2
- package/dist/internal/nodes/nodesManagement.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.test.js +6 -6
- package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
- package/dist/internal/nodes/nodesRevisions.d.ts +1 -1
- package/dist/internal/nodes/nodesRevisions.js.map +1 -1
- package/dist/internal/photos/addToAlbum.d.ts +1 -1
- package/dist/internal/photos/addToAlbum.js.map +1 -1
- package/dist/internal/photos/albumsCrypto.js.map +1 -1
- package/dist/internal/photos/albumsManager.test.js +1 -1
- package/dist/internal/photos/albumsManager.test.js.map +1 -1
- package/dist/internal/photos/apiService.js +1 -1
- package/dist/internal/photos/index.d.ts +2 -2
- package/dist/internal/photos/index.js +5 -5
- package/dist/internal/photos/index.js.map +1 -1
- package/dist/internal/photos/interface.d.ts +2 -2
- package/dist/internal/photos/nodes.d.ts +2 -2
- package/dist/internal/photos/nodes.js +11 -1
- package/dist/internal/photos/nodes.js.map +1 -1
- package/dist/internal/photos/nodes.test.js +17 -3
- package/dist/internal/photos/nodes.test.js.map +1 -1
- package/dist/internal/photos/photosManager.d.ts +1 -1
- package/dist/internal/photos/photosManager.js +1 -1
- package/dist/internal/photos/photosManager.js.map +1 -1
- package/dist/internal/photos/photosManager.test.js +1 -1
- package/dist/internal/photos/photosManager.test.js.map +1 -1
- package/dist/internal/photos/photosTransferPayloadBuilder.test.js.map +1 -1
- package/dist/internal/photos/timeline.test.js.map +1 -1
- package/dist/internal/photos/upload.d.ts +1 -1
- package/dist/internal/shares/apiService.d.ts +1 -1
- package/dist/internal/shares/cache.d.ts +1 -1
- package/dist/internal/shares/cryptoCache.test.js.map +1 -1
- package/dist/internal/shares/cryptoService.d.ts +2 -2
- package/dist/internal/shares/cryptoService.js +1 -1
- package/dist/internal/shares/cryptoService.js.map +1 -1
- package/dist/internal/shares/cryptoService.test.js +1 -1
- package/dist/internal/shares/cryptoService.test.js.map +1 -1
- package/dist/internal/shares/index.d.ts +2 -2
- package/dist/internal/shares/index.js +1 -1
- package/dist/internal/shares/index.js.map +1 -1
- package/dist/internal/shares/manager.d.ts +2 -2
- package/dist/internal/shares/manager.js.map +1 -1
- package/dist/internal/sharing/apiService.d.ts +2 -2
- package/dist/internal/sharing/cryptoService.d.ts +2 -3
- package/dist/internal/sharing/cryptoService.js +10 -31
- package/dist/internal/sharing/cryptoService.js.map +1 -1
- package/dist/internal/sharing/cryptoService.test.js.map +1 -1
- package/dist/internal/sharing/index.d.ts +3 -3
- package/dist/internal/sharing/index.js +1 -1
- package/dist/internal/sharing/index.js.map +1 -1
- package/dist/internal/sharing/interface.d.ts +2 -2
- package/dist/internal/sharing/sharingAccess.d.ts +1 -1
- package/dist/internal/sharing/sharingAccess.js +1 -1
- package/dist/internal/sharing/sharingAccess.js.map +1 -1
- package/dist/internal/sharing/sharingAccess.test.js +1 -1
- package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
- package/dist/internal/sharing/sharingManagement.d.ts +3 -3
- package/dist/internal/sharing/sharingManagement.js +1 -1
- package/dist/internal/sharing/sharingManagement.js.map +1 -1
- package/dist/internal/sharing/sharingManagement.test.js +2 -2
- package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
- package/dist/internal/sharingPublic/cryptoReporter.d.ts +1 -1
- package/dist/internal/sharingPublic/cryptoReporter.js +1 -1
- package/dist/internal/sharingPublic/cryptoReporter.js.map +1 -1
- package/dist/internal/sharingPublic/index.d.ts +2 -2
- package/dist/internal/sharingPublic/index.js +3 -3
- package/dist/internal/sharingPublic/index.js.map +1 -1
- package/dist/internal/sharingPublic/nodes.d.ts +4 -4
- package/dist/internal/sharingPublic/nodes.js +4 -1
- package/dist/internal/sharingPublic/nodes.js.map +1 -1
- package/dist/internal/sharingPublic/session/apiService.d.ts +1 -1
- package/dist/internal/sharingPublic/session/manager.d.ts +1 -1
- package/dist/internal/upload/apiService.d.ts +1 -1
- package/dist/internal/upload/apiService.js +13 -6
- package/dist/internal/upload/apiService.js.map +1 -1
- package/dist/internal/upload/cryptoService.d.ts +1 -1
- package/dist/internal/upload/cryptoService.js +5 -4
- 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/index.d.ts +2 -2
- package/dist/internal/upload/index.js.map +1 -1
- package/dist/internal/upload/interface.d.ts +1 -1
- package/dist/internal/upload/manager.d.ts +1 -1
- package/dist/internal/upload/manager.js +1 -1
- package/dist/internal/upload/manager.js.map +1 -1
- package/dist/internal/upload/smallFileUploader.test.js +1 -1
- package/dist/internal/upload/smallFileUploader.test.js.map +1 -1
- package/dist/internal/upload/streamUploader.d.ts +3 -3
- package/dist/internal/upload/streamUploader.js +1 -1
- package/dist/internal/upload/streamUploader.js.map +1 -1
- package/dist/internal/upload/streamUploader.test.js +2 -2
- package/dist/internal/upload/streamUploader.test.js.map +1 -1
- package/dist/internal/upload/telemetry.d.ts +1 -1
- package/dist/internal/upload/telemetry.js +2 -3
- package/dist/internal/upload/telemetry.js.map +1 -1
- package/dist/internal/upload/telemetry.test.js +5 -0
- package/dist/internal/upload/telemetry.test.js.map +1 -1
- package/dist/polyfill.d.ts +1 -0
- package/dist/polyfill.js +4 -0
- package/dist/polyfill.js.map +1 -0
- package/dist/protonDriveClient.d.ts +1 -1
- package/dist/protonDriveClient.js +3 -3
- package/dist/protonDriveClient.js.map +1 -1
- package/dist/protonDrivePhotosClient.d.ts +7 -1
- package/dist/protonDrivePhotosClient.js +13 -4
- package/dist/protonDrivePhotosClient.js.map +1 -1
- package/dist/protonDrivePublicLinkClient.d.ts +3 -3
- package/dist/protonDrivePublicLinkClient.js +3 -3
- package/dist/protonDrivePublicLinkClient.js.map +1 -1
- package/dist/transformers.d.ts +1 -1
- package/package.json +8 -4
- package/src/cache/index.ts +1 -1
- package/src/cache/memoryCache.ts +1 -1
- package/src/cache/nullCache.ts +1 -1
- package/src/crypto/driveCrypto.test.ts +1 -24
- package/src/crypto/driveCrypto.ts +37 -35
- package/src/crypto/index.ts +2 -4
- package/src/crypto/interface.ts +3 -49
- package/src/crypto/openPGPCrypto.ts +4 -88
- package/src/diagnostic/index.ts +3 -3
- package/src/diagnostic/integrityVerificationStream.ts +1 -2
- package/src/diagnostic/interface.ts +1 -1
- package/src/diagnostic/nodeUtils.ts +1 -1
- package/src/diagnostic/sdkDiagnosticBase.ts +6 -6
- package/src/diagnostic/sdkDiagnosticMain.ts +2 -2
- package/src/diagnostic/sdkDiagnosticPhotos.ts +2 -2
- package/src/diagnostic/telemetry.ts +1 -1
- package/src/index.ts +4 -3
- package/src/interface/account.ts +1 -1
- package/src/interface/devices.ts +1 -1
- package/src/interface/index.ts +40 -40
- package/src/interface/nodes.ts +1 -1
- package/src/interface/photos.ts +1 -1
- package/src/interface/sharing.ts +2 -2
- package/src/internal/apiService/apiService.test.ts +2 -2
- package/src/internal/apiService/apiService.ts +3 -3
- package/src/internal/apiService/coreTypes.ts +8641 -7349
- package/src/internal/apiService/driveTypes.ts +47 -92
- package/src/internal/apiService/errors.test.ts +2 -2
- package/src/internal/apiService/index.ts +4 -4
- package/src/internal/apiService/transformers.ts +1 -1
- package/src/internal/devices/index.ts +1 -1
- package/src/internal/devices/manager.test.ts +2 -2
- package/src/internal/download/cryptoService.ts +6 -11
- package/src/internal/download/fileDownloader.test.ts +3 -3
- package/src/internal/download/fileDownloader.ts +8 -6
- package/src/internal/download/index.ts +3 -3
- package/src/internal/download/interface.ts +1 -1
- package/src/internal/download/seekableStream.test.ts +1 -1
- package/src/internal/download/telemetry.test.ts +7 -1
- package/src/internal/download/telemetry.ts +4 -7
- package/src/internal/download/thumbnailDownloader.test.ts +1 -1
- package/src/internal/download/thumbnailDownloader.ts +2 -2
- package/src/internal/errors.ts +15 -0
- package/src/internal/events/apiService.ts +2 -2
- package/src/internal/events/coreEventManager.test.ts +1 -1
- package/src/internal/events/eventManager.ts +2 -1
- package/src/internal/events/index.ts +2 -2
- package/src/internal/events/interface.ts +8 -0
- package/src/internal/events/volumeEventManager.test.ts +1 -1
- package/src/internal/events/volumeEventManager.ts +1 -1
- package/src/internal/nodes/apiService.test.ts +8 -3
- package/src/internal/nodes/apiService.ts +22 -7
- package/src/internal/nodes/cache.test.ts +1 -1
- package/src/internal/nodes/cache.ts +1 -1
- package/src/internal/nodes/cryptoCache.test.ts +1 -1
- package/src/internal/nodes/cryptoCache.ts +1 -1
- package/src/internal/nodes/cryptoReporter.ts +4 -4
- package/src/internal/nodes/cryptoService.test.ts +2 -2
- package/src/internal/nodes/cryptoService.ts +14 -15
- package/src/internal/nodes/events.test.ts +1 -1
- package/src/internal/nodes/extendedAttributes.test.ts +3 -3
- package/src/internal/nodes/index.test.ts +8 -8
- package/src/internal/nodes/index.ts +6 -6
- package/src/internal/nodes/interface.ts +6 -6
- package/src/internal/nodes/nodeName.test.ts +1 -1
- package/src/internal/nodes/nodesAccess.test.ts +3 -3
- package/src/internal/nodes/nodesAccess.ts +6 -6
- package/src/internal/nodes/nodesManagement.test.ts +4 -4
- package/src/internal/nodes/nodesManagement.ts +6 -6
- package/src/internal/nodes/nodesRevisions.ts +1 -1
- package/src/internal/photos/addToAlbum.ts +1 -1
- package/src/internal/photos/albumsCrypto.ts +1 -0
- package/src/internal/photos/albumsManager.test.ts +2 -2
- package/src/internal/photos/apiService.ts +1 -1
- package/src/internal/photos/index.ts +7 -7
- package/src/internal/photos/interface.ts +2 -2
- package/src/internal/photos/nodes.test.ts +22 -6
- package/src/internal/photos/nodes.ts +16 -9
- package/src/internal/photos/photosManager.test.ts +5 -5
- package/src/internal/photos/photosManager.ts +4 -4
- package/src/internal/photos/photosTransferPayloadBuilder.test.ts +1 -1
- package/src/internal/photos/timeline.test.ts +1 -1
- package/src/internal/photos/upload.ts +3 -3
- package/src/internal/sdkEvents.ts +1 -1
- package/src/internal/shares/apiService.ts +1 -1
- package/src/internal/shares/cache.ts +1 -1
- package/src/internal/shares/cryptoCache.test.ts +1 -1
- package/src/internal/shares/cryptoService.test.ts +1 -1
- package/src/internal/shares/cryptoService.ts +8 -8
- package/src/internal/shares/index.ts +5 -5
- package/src/internal/shares/manager.ts +2 -2
- package/src/internal/sharing/apiService.ts +10 -10
- package/src/internal/sharing/cryptoService.test.ts +1 -1
- package/src/internal/sharing/cryptoService.ts +12 -37
- package/src/internal/sharing/events.test.ts +2 -2
- package/src/internal/sharing/index.ts +3 -3
- package/src/internal/sharing/interface.ts +2 -2
- package/src/internal/sharing/sharingAccess.test.ts +4 -4
- package/src/internal/sharing/sharingAccess.ts +3 -3
- package/src/internal/sharing/sharingManagement.test.ts +4 -4
- package/src/internal/sharing/sharingManagement.ts +9 -9
- package/src/internal/sharingPublic/cryptoReporter.ts +7 -7
- package/src/internal/sharingPublic/index.ts +6 -6
- package/src/internal/sharingPublic/nodes.ts +7 -4
- package/src/internal/sharingPublic/session/apiService.ts +1 -1
- package/src/internal/sharingPublic/session/manager.ts +1 -1
- package/src/internal/upload/apiService.ts +17 -8
- package/src/internal/upload/cryptoService.ts +8 -6
- package/src/internal/upload/fileUploader.test.ts +4 -4
- package/src/internal/upload/index.ts +3 -3
- package/src/internal/upload/interface.ts +1 -2
- package/src/internal/upload/manager.ts +4 -4
- package/src/internal/upload/smallFileUploader.test.ts +4 -4
- package/src/internal/upload/streamUploader.test.ts +5 -5
- package/src/internal/upload/streamUploader.ts +4 -4
- package/src/internal/upload/telemetry.test.ts +7 -1
- package/src/internal/upload/telemetry.ts +5 -8
- package/src/polyfill.ts +1 -0
- package/src/protonDriveClient.ts +32 -32
- package/src/protonDrivePhotosClient.ts +42 -32
- package/src/protonDrivePublicLinkClient.ts +25 -25
- package/src/transformers.ts +9 -9
- package/dist/crypto/hmac.d.ts +0 -22
- package/dist/crypto/hmac.js +0 -44
- package/dist/crypto/hmac.js.map +0 -1
- package/dist/crypto/utils.d.ts +0 -2
- package/dist/crypto/utils.js +0 -35
- package/dist/crypto/utils.js.map +0 -1
- package/src/crypto/hmac.ts +0 -46
- package/src/crypto/utils.ts +0 -40
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import { MemoryCache } from './cache';
|
|
2
2
|
import { getConfig } from './config';
|
|
3
|
-
import { DriveCrypto, OpenPGPCrypto, PrivateKey,
|
|
3
|
+
import { DriveCrypto, OpenPGPCrypto, PrivateKey, SessionKey, SRPModule } from './crypto';
|
|
4
|
+
import { NullFeatureFlagProvider } from './featureFlags';
|
|
4
5
|
import {
|
|
5
|
-
ProtonDriveHTTPClient,
|
|
6
|
-
ProtonDriveTelemetry,
|
|
7
|
-
ProtonDriveConfig,
|
|
8
|
-
Logger,
|
|
9
|
-
NodeOrUid,
|
|
10
|
-
ProtonDriveAccount,
|
|
11
|
-
MaybeNode,
|
|
12
|
-
NodeType,
|
|
13
6
|
CachedCryptoMaterial,
|
|
14
|
-
|
|
7
|
+
FeatureFlagProvider,
|
|
15
8
|
FileDownloader,
|
|
16
|
-
ThumbnailType,
|
|
17
|
-
ThumbnailResult,
|
|
18
|
-
UploadMetadata,
|
|
19
9
|
FileUploader,
|
|
10
|
+
Logger,
|
|
11
|
+
MaybeMissingNode,
|
|
12
|
+
MaybeNode,
|
|
13
|
+
MemberRole,
|
|
14
|
+
NodeOrUid,
|
|
20
15
|
NodeResult,
|
|
16
|
+
NodeType,
|
|
17
|
+
ProtonDriveAccount,
|
|
18
|
+
ProtonDriveConfig,
|
|
19
|
+
ProtonDriveHTTPClient,
|
|
20
|
+
ProtonDriveTelemetry,
|
|
21
21
|
SDKEvent,
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
ThumbnailResult,
|
|
23
|
+
ThumbnailType,
|
|
24
|
+
UploadMetadata,
|
|
24
25
|
} from './interface';
|
|
25
|
-
import { Telemetry } from './telemetry';
|
|
26
|
-
import {
|
|
27
|
-
getUid,
|
|
28
|
-
convertInternalNodePromise,
|
|
29
|
-
convertInternalNodeIterator,
|
|
30
|
-
convertInternalMissingNodeIterator,
|
|
31
|
-
getUids,
|
|
32
|
-
} from './transformers';
|
|
33
26
|
import { initDownloadModule } from './internal/download';
|
|
34
27
|
import { SDKEvents } from './internal/sdkEvents';
|
|
35
28
|
import { initSharingPublicModule, UnauthDriveAPIService } from './internal/sharingPublic';
|
|
29
|
+
import { NodesSecurityScanResult } from './internal/sharingPublic/nodesSecurity';
|
|
36
30
|
import { SharingPublicLinkSession } from './internal/sharingPublic/session';
|
|
37
31
|
import { initUploadModule } from './internal/upload';
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
32
|
+
import { Telemetry } from './telemetry';
|
|
33
|
+
import {
|
|
34
|
+
convertInternalMissingNodeIterator,
|
|
35
|
+
convertInternalNodeIterator,
|
|
36
|
+
convertInternalNodePromise,
|
|
37
|
+
getUid,
|
|
38
|
+
getUids,
|
|
39
|
+
} from './transformers';
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* ProtonDrivePublicLinkClient is the interface for the public link client.
|
package/src/transformers.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
|
-
MaybeNode as PublicMaybeNode,
|
|
3
|
-
MaybeMissingNode as PublicMaybeMissingNode,
|
|
4
2
|
DegradedNode as PublicDegradedNode,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
resultOk,
|
|
8
|
-
resultError,
|
|
9
|
-
MissingNode,
|
|
10
|
-
MaybePhotoNode as PublicMaybePhotoNode,
|
|
3
|
+
DegradedPhotoNode as PublicDegradedPhotoNode,
|
|
4
|
+
MaybeMissingNode as PublicMaybeMissingNode,
|
|
11
5
|
MaybeMissingPhotoNode as PublicMaybeMissingPhotoNode,
|
|
6
|
+
MaybeNode as PublicMaybeNode,
|
|
7
|
+
MaybePhotoNode as PublicMaybePhotoNode,
|
|
8
|
+
MissingNode,
|
|
12
9
|
PhotoNode as PublicPhotoNode,
|
|
13
|
-
|
|
10
|
+
Result,
|
|
11
|
+
resultError,
|
|
12
|
+
resultOk,
|
|
13
|
+
Revision as PublicRevision,
|
|
14
14
|
} from './interface';
|
|
15
15
|
import { DecryptedNode as InternalNode, DecryptedRevision as InternalRevision } from './internal/nodes';
|
|
16
16
|
import { DecryptedPhotoNode as InternalPartialPhotoNode } from './internal/photos';
|
package/dist/crypto/hmac.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export type HmacCryptoKey = CryptoKey;
|
|
2
|
-
type HmacKeyUsage = 'sign' | 'verify';
|
|
3
|
-
/**
|
|
4
|
-
* Import an HMAC-SHA256 key in order to use it with `signData` and `verifyData`.
|
|
5
|
-
*/
|
|
6
|
-
export declare const importHmacKey: (key: Uint8Array<ArrayBuffer>, keyUsage?: HmacKeyUsage[]) => Promise<HmacCryptoKey>;
|
|
7
|
-
/**
|
|
8
|
-
* Sign data using HMAC-SHA256
|
|
9
|
-
* @param key - WebCrypto secret key for signing
|
|
10
|
-
* @param data - data to sign
|
|
11
|
-
* @param additionalData - additional data to authenticate
|
|
12
|
-
*/
|
|
13
|
-
export declare const computeHmacSignature: (key: HmacCryptoKey, data: Uint8Array<ArrayBuffer>) => Promise<Uint8Array<ArrayBuffer>>;
|
|
14
|
-
/**
|
|
15
|
-
* Verify data using HMAC-SHA256
|
|
16
|
-
* @param key - WebCrypto secret key for verification
|
|
17
|
-
* @param signature - signature over data
|
|
18
|
-
* @param data - data to verify
|
|
19
|
-
* @param additionalData - additional data to authenticate
|
|
20
|
-
*/
|
|
21
|
-
export declare const verifyData: (key: HmacCryptoKey, signature: Uint8Array<ArrayBuffer>, data: Uint8Array<ArrayBuffer>) => Promise<boolean>;
|
|
22
|
-
export {};
|
package/dist/crypto/hmac.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.verifyData = exports.computeHmacSignature = exports.importHmacKey = void 0;
|
|
4
|
-
const HASH_ALGORITHM = 'SHA-256';
|
|
5
|
-
const KEY_LENGTH_BYTES = 32;
|
|
6
|
-
/**
|
|
7
|
-
* Import an HMAC-SHA256 key in order to use it with `signData` and `verifyData`.
|
|
8
|
-
*/
|
|
9
|
-
const importHmacKey = async (key, keyUsage = ['sign', 'verify']) => {
|
|
10
|
-
// From https://datatracker.ietf.org/doc/html/rfc2104:
|
|
11
|
-
// The key for HMAC can be of any length (keys longer than B bytes are first hashed using H).
|
|
12
|
-
// However, less than L bytes (L = 32 bytes for SHA-256) is strongly discouraged as it would
|
|
13
|
-
// decrease the security strength of the function. Keys longer than L bytes are acceptable
|
|
14
|
-
// but the extra length would not significantly increase the function strength.
|
|
15
|
-
// (A longer key may be advisable if the randomness of the key is considered weak.)
|
|
16
|
-
if (key.length < KEY_LENGTH_BYTES) {
|
|
17
|
-
throw new Error('Unexpected HMAC key size: key is too short');
|
|
18
|
-
}
|
|
19
|
-
return crypto.subtle.importKey('raw', key, { name: 'HMAC', hash: HASH_ALGORITHM }, false, keyUsage);
|
|
20
|
-
};
|
|
21
|
-
exports.importHmacKey = importHmacKey;
|
|
22
|
-
/**
|
|
23
|
-
* Sign data using HMAC-SHA256
|
|
24
|
-
* @param key - WebCrypto secret key for signing
|
|
25
|
-
* @param data - data to sign
|
|
26
|
-
* @param additionalData - additional data to authenticate
|
|
27
|
-
*/
|
|
28
|
-
const computeHmacSignature = async (key, data) => {
|
|
29
|
-
const signatureBuffer = await crypto.subtle.sign({ name: 'HMAC', hash: HASH_ALGORITHM }, key, data);
|
|
30
|
-
return new Uint8Array(signatureBuffer);
|
|
31
|
-
};
|
|
32
|
-
exports.computeHmacSignature = computeHmacSignature;
|
|
33
|
-
/**
|
|
34
|
-
* Verify data using HMAC-SHA256
|
|
35
|
-
* @param key - WebCrypto secret key for verification
|
|
36
|
-
* @param signature - signature over data
|
|
37
|
-
* @param data - data to verify
|
|
38
|
-
* @param additionalData - additional data to authenticate
|
|
39
|
-
*/
|
|
40
|
-
const verifyData = async (key, signature, data) => {
|
|
41
|
-
return crypto.subtle.verify({ name: 'HMAC', hash: HASH_ALGORITHM }, key, signature, data);
|
|
42
|
-
};
|
|
43
|
-
exports.verifyData = verifyData;
|
|
44
|
-
//# sourceMappingURL=hmac.js.map
|
package/dist/crypto/hmac.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hmac.js","sourceRoot":"","sources":["../../src/crypto/hmac.ts"],"names":[],"mappings":";;;AAAA,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAK5B;;GAEG;AACI,MAAM,aAAa,GAAG,KAAK,EAC9B,GAA4B,EAC5B,WAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,EACvB,EAAE;IACxB,sDAAsD;IACtD,6FAA6F;IAC7F,4FAA4F;IAC5F,2FAA2F;IAC3F,+EAA+E;IAC/E,mFAAmF;IACnF,IAAI,GAAG,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxG,CAAC,CAAC;AAdW,QAAA,aAAa,iBAcxB;AAEF;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,KAAK,EAAE,GAAkB,EAAE,IAA6B,EAAE,EAAE;IAC5F,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpG,OAAO,IAAI,UAAU,CAAc,eAAe,CAAC,CAAC;AACxD,CAAC,CAAC;AAHW,QAAA,oBAAoB,wBAG/B;AAEF;;;;;;GAMG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,GAAkB,EAAE,SAAkC,EAAE,IAA6B,EAAE,EAAE;IACtH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC9F,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB"}
|
package/dist/crypto/utils.d.ts
DELETED
package/dist/crypto/utils.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// This file has copy-pasted utilities from CryptoProxy located in Proton web clients monorepo.
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.uint8ArrayToBase64String = uint8ArrayToBase64String;
|
|
5
|
-
exports.base64StringToUint8Array = base64StringToUint8Array;
|
|
6
|
-
function uint8ArrayToBase64String(array) {
|
|
7
|
-
return encodeBase64(arrayToBinaryString(array));
|
|
8
|
-
}
|
|
9
|
-
function base64StringToUint8Array(string) {
|
|
10
|
-
return binaryStringToArray(decodeBase64(string) || '');
|
|
11
|
-
}
|
|
12
|
-
const ifDefined = (cb) => (input) => {
|
|
13
|
-
return (input !== undefined ? cb(input) : undefined);
|
|
14
|
-
};
|
|
15
|
-
const encodeBase64 = ifDefined((input) => btoa(input).trim());
|
|
16
|
-
const decodeBase64 = ifDefined((input) => atob(input.trim()));
|
|
17
|
-
const arrayToBinaryString = (bytes) => {
|
|
18
|
-
const result = [];
|
|
19
|
-
const bs = 1 << 14;
|
|
20
|
-
const j = bytes.length;
|
|
21
|
-
for (let i = 0; i < j; i += bs) {
|
|
22
|
-
// @ts-expect-error Uint8Array treated as number[]
|
|
23
|
-
// eslint-disable-next-line prefer-spread
|
|
24
|
-
result.push(String.fromCharCode.apply(String, bytes.subarray(i, i + bs < j ? i + bs : j)));
|
|
25
|
-
}
|
|
26
|
-
return result.join('');
|
|
27
|
-
};
|
|
28
|
-
const binaryStringToArray = (str) => {
|
|
29
|
-
const result = new Uint8Array(str.length);
|
|
30
|
-
for (let i = 0; i < str.length; i++) {
|
|
31
|
-
result[i] = str.charCodeAt(i);
|
|
32
|
-
}
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/crypto/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/crypto/utils.ts"],"names":[],"mappings":";AAAA,+FAA+F;;AAE/F,4DAEC;AAED,4DAEC;AAND,SAAgB,wBAAwB,CAAC,KAAiB;IACtD,OAAO,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAc;IACnD,OAAO,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,SAAS,GACX,CAAO,EAAmB,EAAE,EAAE,CAC9B,CAA0B,KAAQ,EAAE,EAAE;IAClC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAgC,CAAC;AAC7F,CAAC,CAAC;AAEN,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAEtE,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAEtE,MAAM,mBAAmB,GAAG,CAAC,KAAiB,EAAE,EAAE;IAC9C,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACnB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7B,kDAAkD;QAClD,yCAAyC;QACzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
|
package/src/crypto/hmac.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
const HASH_ALGORITHM = 'SHA-256';
|
|
2
|
-
const KEY_LENGTH_BYTES = 32;
|
|
3
|
-
export type HmacCryptoKey = CryptoKey;
|
|
4
|
-
|
|
5
|
-
type HmacKeyUsage = 'sign' | 'verify';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Import an HMAC-SHA256 key in order to use it with `signData` and `verifyData`.
|
|
9
|
-
*/
|
|
10
|
-
export const importHmacKey = async (
|
|
11
|
-
key: Uint8Array<ArrayBuffer>,
|
|
12
|
-
keyUsage: HmacKeyUsage[] = ['sign', 'verify'],
|
|
13
|
-
): Promise<HmacCryptoKey> => {
|
|
14
|
-
// From https://datatracker.ietf.org/doc/html/rfc2104:
|
|
15
|
-
// The key for HMAC can be of any length (keys longer than B bytes are first hashed using H).
|
|
16
|
-
// However, less than L bytes (L = 32 bytes for SHA-256) is strongly discouraged as it would
|
|
17
|
-
// decrease the security strength of the function. Keys longer than L bytes are acceptable
|
|
18
|
-
// but the extra length would not significantly increase the function strength.
|
|
19
|
-
// (A longer key may be advisable if the randomness of the key is considered weak.)
|
|
20
|
-
if (key.length < KEY_LENGTH_BYTES) {
|
|
21
|
-
throw new Error('Unexpected HMAC key size: key is too short');
|
|
22
|
-
}
|
|
23
|
-
return crypto.subtle.importKey('raw', key, { name: 'HMAC', hash: HASH_ALGORITHM }, false, keyUsage);
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Sign data using HMAC-SHA256
|
|
28
|
-
* @param key - WebCrypto secret key for signing
|
|
29
|
-
* @param data - data to sign
|
|
30
|
-
* @param additionalData - additional data to authenticate
|
|
31
|
-
*/
|
|
32
|
-
export const computeHmacSignature = async (key: HmacCryptoKey, data: Uint8Array<ArrayBuffer>) => {
|
|
33
|
-
const signatureBuffer = await crypto.subtle.sign({ name: 'HMAC', hash: HASH_ALGORITHM }, key, data);
|
|
34
|
-
return new Uint8Array<ArrayBuffer>(signatureBuffer);
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Verify data using HMAC-SHA256
|
|
39
|
-
* @param key - WebCrypto secret key for verification
|
|
40
|
-
* @param signature - signature over data
|
|
41
|
-
* @param data - data to verify
|
|
42
|
-
* @param additionalData - additional data to authenticate
|
|
43
|
-
*/
|
|
44
|
-
export const verifyData = async (key: HmacCryptoKey, signature: Uint8Array<ArrayBuffer>, data: Uint8Array<ArrayBuffer>) => {
|
|
45
|
-
return crypto.subtle.verify({ name: 'HMAC', hash: HASH_ALGORITHM }, key, signature, data);
|
|
46
|
-
};
|
package/src/crypto/utils.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
// This file has copy-pasted utilities from CryptoProxy located in Proton web clients monorepo.
|
|
2
|
-
|
|
3
|
-
export function uint8ArrayToBase64String(array: Uint8Array) {
|
|
4
|
-
return encodeBase64(arrayToBinaryString(array));
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export function base64StringToUint8Array(string: string) {
|
|
8
|
-
return binaryStringToArray(decodeBase64(string) || '');
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const ifDefined =
|
|
12
|
-
<T, R>(cb: (input: T) => R) =>
|
|
13
|
-
<U extends T | undefined>(input: U) => {
|
|
14
|
-
return (input !== undefined ? cb(input as T) : undefined) as U extends T ? R : undefined;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const encodeBase64 = ifDefined((input: string) => btoa(input).trim());
|
|
18
|
-
|
|
19
|
-
const decodeBase64 = ifDefined((input: string) => atob(input.trim()));
|
|
20
|
-
|
|
21
|
-
const arrayToBinaryString = (bytes: Uint8Array) => {
|
|
22
|
-
const result = [];
|
|
23
|
-
const bs = 1 << 14;
|
|
24
|
-
const j = bytes.length;
|
|
25
|
-
|
|
26
|
-
for (let i = 0; i < j; i += bs) {
|
|
27
|
-
// @ts-expect-error Uint8Array treated as number[]
|
|
28
|
-
// eslint-disable-next-line prefer-spread
|
|
29
|
-
result.push(String.fromCharCode.apply(String, bytes.subarray(i, i + bs < j ? i + bs : j)));
|
|
30
|
-
}
|
|
31
|
-
return result.join('');
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const binaryStringToArray = (str: string) => {
|
|
35
|
-
const result = new Uint8Array(str.length);
|
|
36
|
-
for (let i = 0; i < str.length; i++) {
|
|
37
|
-
result[i] = str.charCodeAt(i);
|
|
38
|
-
}
|
|
39
|
-
return result;
|
|
40
|
-
};
|