@protontech/drive-sdk 0.1.0 → 0.1.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/cache/memoryCache.js +0 -1
- package/dist/cache/memoryCache.js.map +1 -1
- package/dist/cache/memoryCache.test.js +2 -4
- package/dist/cache/memoryCache.test.js.map +1 -1
- package/dist/cache/nullCache.js +0 -1
- package/dist/cache/nullCache.js.map +1 -1
- package/dist/crypto/driveCrypto.d.ts +2 -5
- package/dist/crypto/driveCrypto.js +7 -12
- package/dist/crypto/driveCrypto.js.map +1 -1
- package/dist/crypto/driveCrypto.test.js +14 -14
- package/dist/crypto/openPGPCrypto.js +3 -3
- package/dist/crypto/openPGPCrypto.js.map +1 -1
- package/dist/diagnostic/eventsGenerator.js +1 -1
- package/dist/diagnostic/eventsGenerator.js.map +1 -1
- package/dist/diagnostic/httpClient.d.ts +1 -1
- package/dist/diagnostic/httpClient.js.map +1 -1
- package/dist/diagnostic/index.d.ts +3 -3
- package/dist/diagnostic/index.js.map +1 -1
- package/dist/diagnostic/integrityVerificationStream.js +1 -1
- package/dist/diagnostic/integrityVerificationStream.js.map +1 -1
- package/dist/diagnostic/interface.d.ts +2 -2
- package/dist/diagnostic/sdkDiagnostic.d.ts +3 -3
- package/dist/diagnostic/sdkDiagnostic.js +8 -2
- package/dist/diagnostic/sdkDiagnostic.js.map +1 -1
- package/dist/diagnostic/sdkDiagnosticFull.d.ts +4 -4
- package/dist/diagnostic/sdkDiagnosticFull.js.map +1 -1
- package/dist/diagnostic/telemetry.js.map +1 -1
- package/dist/diagnostic/zipGenerators.js +2 -2
- package/dist/diagnostic/zipGenerators.js.map +1 -1
- package/dist/diagnostic/zipGenerators.test.js +1 -1
- package/dist/diagnostic/zipGenerators.test.js.map +1 -1
- package/dist/interface/events.d.ts +2 -4
- package/dist/interface/events.js.map +1 -1
- package/dist/interface/index.d.ts +5 -5
- package/dist/interface/index.js +0 -1
- package/dist/interface/index.js.map +1 -1
- package/dist/interface/result.js.map +1 -1
- package/dist/interface/sharing.d.ts +1 -0
- package/dist/interface/sharing.js.map +1 -1
- package/dist/interface/telemetry.js +0 -8
- package/dist/interface/telemetry.js.map +1 -1
- package/dist/interface/thumbnail.js.map +1 -1
- package/dist/interface/upload.d.ts +1 -1
- package/dist/internal/apiService/apiService.d.ts +1 -1
- package/dist/internal/apiService/apiService.js +7 -11
- package/dist/internal/apiService/apiService.js.map +1 -1
- package/dist/internal/apiService/apiService.test.js +55 -48
- package/dist/internal/apiService/apiService.test.js.map +1 -1
- package/dist/internal/apiService/coreTypes.d.ts +2356 -2356
- package/dist/internal/apiService/driveTypes.d.ts +1680 -1680
- package/dist/internal/apiService/errors.js +14 -8
- package/dist/internal/apiService/errors.js.map +1 -1
- package/dist/internal/apiService/errors.test.js +17 -12
- package/dist/internal/apiService/errors.test.js.map +1 -1
- package/dist/internal/apiService/transformers.d.ts +1 -1
- package/dist/internal/apiService/transformers.js +1 -1
- package/dist/internal/asyncIteratorMap.test.js +2 -2
- package/dist/internal/asyncIteratorMap.test.js.map +1 -1
- package/dist/internal/asyncIteratorRace.d.ts +13 -0
- package/dist/internal/asyncIteratorRace.js +59 -0
- package/dist/internal/asyncIteratorRace.js.map +1 -0
- package/dist/internal/asyncIteratorRace.test.d.ts +1 -0
- package/dist/internal/asyncIteratorRace.test.js +119 -0
- package/dist/internal/asyncIteratorRace.test.js.map +1 -0
- package/dist/internal/batch.d.ts +1 -0
- package/dist/internal/batch.js +12 -0
- package/dist/internal/batch.js.map +1 -0
- package/dist/internal/batch.test.d.ts +1 -0
- package/dist/internal/batch.test.js +41 -0
- package/dist/internal/batch.test.js.map +1 -0
- package/dist/internal/batchLoading.js.map +1 -1
- package/dist/internal/batchLoading.test.js +13 -13
- package/dist/internal/batchLoading.test.js.map +1 -1
- package/dist/internal/devices/apiService.d.ts +3 -3
- package/dist/internal/devices/apiService.js +2 -2
- package/dist/internal/devices/apiService.js.map +1 -1
- package/dist/internal/devices/cryptoService.js +1 -2
- package/dist/internal/devices/cryptoService.js.map +1 -1
- package/dist/internal/devices/index.d.ts +5 -5
- package/dist/internal/devices/index.js.map +1 -1
- package/dist/internal/devices/interface.d.ts +3 -3
- package/dist/internal/devices/manager.js +2 -2
- package/dist/internal/devices/manager.js.map +1 -1
- package/dist/internal/devices/manager.test.js +38 -7
- package/dist/internal/devices/manager.test.js.map +1 -1
- package/dist/internal/download/apiService.d.ts +4 -4
- package/dist/internal/download/apiService.js +0 -1
- package/dist/internal/download/apiService.js.map +1 -1
- package/dist/internal/download/cryptoService.d.ts +4 -4
- package/dist/internal/download/cryptoService.js +6 -5
- package/dist/internal/download/cryptoService.js.map +1 -1
- package/dist/internal/download/fileDownloader.d.ts +4 -4
- package/dist/internal/download/fileDownloader.js +3 -2
- 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 +5 -5
- package/dist/internal/download/index.js +5 -5
- package/dist/internal/download/index.js.map +1 -1
- package/dist/internal/download/interface.d.ts +3 -4
- package/dist/internal/download/telemetry.d.ts +3 -3
- package/dist/internal/download/telemetry.js +4 -2
- package/dist/internal/download/telemetry.js.map +1 -1
- package/dist/internal/download/telemetry.test.js +8 -8
- package/dist/internal/download/telemetry.test.js.map +1 -1
- package/dist/internal/download/thumbnailDownloader.d.ts +4 -4
- package/dist/internal/download/thumbnailDownloader.js +6 -6
- 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 -1
- package/dist/internal/errors.js +1 -3
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/events/apiService.d.ts +2 -2
- package/dist/internal/events/apiService.js +9 -5
- package/dist/internal/events/apiService.js.map +1 -1
- package/dist/internal/events/coreEventManager.d.ts +3 -3
- package/dist/internal/events/coreEventManager.js.map +1 -1
- package/dist/internal/events/coreEventManager.test.js +14 -14
- package/dist/internal/events/eventManager.d.ts +1 -1
- package/dist/internal/events/eventManager.js +0 -1
- package/dist/internal/events/eventManager.js.map +1 -1
- package/dist/internal/events/eventManager.test.js +34 -25
- package/dist/internal/events/eventManager.test.js.map +1 -1
- package/dist/internal/events/index.d.ts +6 -6
- package/dist/internal/events/index.js.map +1 -1
- package/dist/internal/events/interface.d.ts +1 -1
- package/dist/internal/events/interface.js +0 -1
- package/dist/internal/events/interface.js.map +1 -1
- package/dist/internal/events/volumeEventManager.d.ts +3 -3
- package/dist/internal/events/volumeEventManager.js.map +1 -1
- package/dist/internal/events/volumeEventManager.test.js +55 -55
- package/dist/internal/events/volumeEventManager.test.js.map +1 -1
- package/dist/internal/nodes/apiService.d.ts +4 -3
- package/dist/internal/nodes/apiService.js +36 -15
- package/dist/internal/nodes/apiService.js.map +1 -1
- package/dist/internal/nodes/apiService.test.js +60 -41
- package/dist/internal/nodes/apiService.test.js.map +1 -1
- package/dist/internal/nodes/cache.d.ts +5 -5
- package/dist/internal/nodes/cache.js +14 -7
- package/dist/internal/nodes/cache.js.map +1 -1
- package/dist/internal/nodes/cache.test.js +31 -9
- package/dist/internal/nodes/cache.test.js.map +1 -1
- package/dist/internal/nodes/cryptoCache.d.ts +2 -2
- package/dist/internal/nodes/cryptoCache.js.map +1 -1
- package/dist/internal/nodes/cryptoCache.test.js +24 -4
- package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
- package/dist/internal/nodes/cryptoService.d.ts +3 -3
- package/dist/internal/nodes/cryptoService.js +11 -17
- package/dist/internal/nodes/cryptoService.js.map +1 -1
- package/dist/internal/nodes/cryptoService.test.js +320 -241
- package/dist/internal/nodes/cryptoService.test.js.map +1 -1
- package/dist/internal/nodes/events.d.ts +3 -3
- package/dist/internal/nodes/events.js.map +1 -1
- package/dist/internal/nodes/events.test.js +27 -21
- package/dist/internal/nodes/events.test.js.map +1 -1
- package/dist/internal/nodes/extendedAttributes.d.ts +1 -1
- package/dist/internal/nodes/extendedAttributes.js +3 -1
- package/dist/internal/nodes/extendedAttributes.js.map +1 -1
- package/dist/internal/nodes/extendedAttributes.test.js +7 -10
- package/dist/internal/nodes/extendedAttributes.test.js.map +1 -1
- package/dist/internal/nodes/index.d.ts +10 -10
- package/dist/internal/nodes/index.js.map +1 -1
- package/dist/internal/nodes/index.test.d.ts +1 -0
- package/dist/internal/nodes/index.test.js +106 -0
- package/dist/internal/nodes/index.test.js.map +1 -0
- package/dist/internal/nodes/interface.d.ts +2 -2
- package/dist/internal/nodes/nodesAccess.d.ts +7 -7
- package/dist/internal/nodes/nodesAccess.js +28 -16
- package/dist/internal/nodes/nodesAccess.js.map +1 -1
- package/dist/internal/nodes/nodesAccess.test.js +39 -13
- package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.d.ts +6 -6
- package/dist/internal/nodes/nodesManagement.js +9 -7
- package/dist/internal/nodes/nodesManagement.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.test.js +9 -9
- package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
- package/dist/internal/nodes/nodesRevisions.d.ts +4 -4
- package/dist/internal/nodes/nodesRevisions.js.map +1 -1
- package/dist/internal/photos/albums.d.ts +3 -3
- package/dist/internal/photos/albums.js.map +1 -1
- package/dist/internal/photos/apiService.d.ts +1 -1
- package/dist/internal/photos/apiService.js +3 -6
- package/dist/internal/photos/apiService.js.map +1 -1
- package/dist/internal/photos/cache.d.ts +1 -1
- package/dist/internal/photos/index.d.ts +5 -5
- package/dist/internal/photos/index.js.map +1 -1
- package/dist/internal/photos/interface.d.ts +2 -2
- package/dist/internal/photos/photosTimeline.d.ts +3 -3
- package/dist/internal/photos/photosTimeline.js +1 -2
- package/dist/internal/photos/photosTimeline.js.map +1 -1
- package/dist/internal/sdkEvents.d.ts +1 -1
- package/dist/internal/sdkEvents.js +2 -7
- package/dist/internal/sdkEvents.js.map +1 -1
- package/dist/internal/sdkEvents.test.js +8 -8
- package/dist/internal/shares/apiService.d.ts +2 -2
- package/dist/internal/shares/apiService.js +5 -3
- package/dist/internal/shares/apiService.js.map +1 -1
- package/dist/internal/shares/cache.d.ts +2 -2
- package/dist/internal/shares/cache.js +12 -6
- package/dist/internal/shares/cache.js.map +1 -1
- package/dist/internal/shares/cache.test.js.map +1 -1
- package/dist/internal/shares/cryptoCache.d.ts +2 -2
- package/dist/internal/shares/cryptoCache.test.js +8 -2
- package/dist/internal/shares/cryptoCache.test.js.map +1 -1
- package/dist/internal/shares/cryptoService.d.ts +3 -3
- package/dist/internal/shares/cryptoService.js.map +1 -1
- package/dist/internal/shares/cryptoService.test.js +42 -42
- package/dist/internal/shares/cryptoService.test.js.map +1 -1
- package/dist/internal/shares/index.d.ts +4 -4
- package/dist/internal/shares/index.js.map +1 -1
- package/dist/internal/shares/interface.d.ts +2 -2
- package/dist/internal/shares/manager.d.ts +7 -7
- package/dist/internal/shares/manager.js.map +1 -1
- package/dist/internal/shares/manager.test.js +71 -63
- package/dist/internal/shares/manager.test.js.map +1 -1
- package/dist/internal/sharing/apiService.d.ts +4 -4
- package/dist/internal/sharing/apiService.js +4 -3
- package/dist/internal/sharing/apiService.js.map +1 -1
- package/dist/internal/sharing/cache.d.ts +1 -1
- package/dist/internal/sharing/cache.test.js +33 -33
- package/dist/internal/sharing/cryptoService.d.ts +3 -3
- package/dist/internal/sharing/cryptoService.js +3 -5
- package/dist/internal/sharing/cryptoService.js.map +1 -1
- package/dist/internal/sharing/cryptoService.test.js +39 -39
- package/dist/internal/sharing/cryptoService.test.js.map +1 -1
- package/dist/internal/sharing/events.d.ts +4 -4
- package/dist/internal/sharing/events.js +0 -1
- package/dist/internal/sharing/events.js.map +1 -1
- package/dist/internal/sharing/events.test.js +39 -40
- package/dist/internal/sharing/events.test.js.map +1 -1
- package/dist/internal/sharing/index.d.ts +6 -6
- package/dist/internal/sharing/index.js.map +1 -1
- package/dist/internal/sharing/interface.d.ts +5 -4
- package/dist/internal/sharing/sharingAccess.d.ts +6 -6
- package/dist/internal/sharing/sharingAccess.js +8 -4
- package/dist/internal/sharing/sharingAccess.js.map +1 -1
- package/dist/internal/sharing/sharingAccess.test.js +45 -39
- package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
- package/dist/internal/sharing/sharingManagement.d.ts +4 -4
- package/dist/internal/sharing/sharingManagement.js +5 -7
- package/dist/internal/sharing/sharingManagement.js.map +1 -1
- package/dist/internal/sharing/sharingManagement.test.js +297 -248
- package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
- package/dist/internal/uids.js.map +1 -1
- package/dist/internal/upload/apiService.d.ts +3 -3
- package/dist/internal/upload/apiService.js +1 -1
- package/dist/internal/upload/apiService.js.map +1 -1
- package/dist/internal/upload/blockVerifier.d.ts +3 -3
- package/dist/internal/upload/blockVerifier.js +1 -1
- package/dist/internal/upload/blockVerifier.js.map +1 -1
- package/dist/internal/upload/chunkStreamReader.test.js +6 -6
- package/dist/internal/upload/cryptoService.d.ts +4 -4
- package/dist/internal/upload/cryptoService.js +4 -4
- package/dist/internal/upload/cryptoService.js.map +1 -1
- package/dist/internal/upload/digests.js.map +1 -1
- package/dist/internal/upload/fileUploader.d.ts +6 -6
- package/dist/internal/upload/fileUploader.js.map +1 -1
- package/dist/internal/upload/fileUploader.test.js.map +1 -1
- package/dist/internal/upload/index.d.ts +5 -5
- package/dist/internal/upload/index.js.map +1 -1
- package/dist/internal/upload/interface.d.ts +3 -3
- package/dist/internal/upload/manager.d.ts +4 -4
- package/dist/internal/upload/manager.js +7 -5
- package/dist/internal/upload/manager.js.map +1 -1
- package/dist/internal/upload/manager.test.js +137 -123
- package/dist/internal/upload/manager.test.js.map +1 -1
- package/dist/internal/upload/streamUploader.d.ts +6 -6
- package/dist/internal/upload/streamUploader.js +8 -6
- package/dist/internal/upload/streamUploader.js.map +1 -1
- package/dist/internal/upload/streamUploader.test.js +16 -11
- package/dist/internal/upload/streamUploader.test.js.map +1 -1
- package/dist/internal/upload/telemetry.d.ts +3 -3
- package/dist/internal/upload/telemetry.js +5 -3
- package/dist/internal/upload/telemetry.js.map +1 -1
- package/dist/internal/upload/telemetry.test.js +8 -8
- package/dist/internal/upload/telemetry.test.js.map +1 -1
- package/dist/protonDriveClient.d.ts +8 -8
- package/dist/protonDriveClient.js +12 -9
- package/dist/protonDriveClient.js.map +1 -1
- package/dist/protonDrivePhotosClient.js.map +1 -1
- package/dist/telemetry.js +18 -15
- package/dist/telemetry.js.map +1 -1
- package/dist/tests/logger.js.map +1 -1
- package/dist/tests/telemetry.d.ts +1 -1
- package/dist/transformers.js +4 -2
- package/dist/transformers.js.map +1 -1
- package/package.json +1 -1
- package/src/cache/interface.ts +22 -22
- package/src/cache/memoryCache.test.ts +7 -7
- package/src/cache/memoryCache.ts +4 -4
- package/src/cache/nullCache.ts +1 -1
- package/src/config.ts +5 -5
- package/src/crypto/driveCrypto.test.ts +15 -15
- package/src/crypto/driveCrypto.ts +120 -156
- package/src/crypto/hmac.ts +1 -1
- package/src/crypto/interface.ts +63 -72
- package/src/crypto/openPGPCrypto.ts +74 -94
- package/src/crypto/utils.ts +1 -1
- package/src/diagnostic/eventsGenerator.ts +2 -2
- package/src/diagnostic/httpClient.ts +6 -2
- package/src/diagnostic/index.ts +12 -10
- package/src/diagnostic/integrityVerificationStream.ts +3 -4
- package/src/diagnostic/interface.ts +81 -81
- package/src/diagnostic/sdkDiagnostic.ts +35 -24
- package/src/diagnostic/sdkDiagnosticFull.ts +16 -19
- package/src/diagnostic/telemetry.ts +4 -1
- package/src/diagnostic/zipGenerators.test.ts +1 -1
- package/src/diagnostic/zipGenerators.ts +3 -3
- package/src/errors.ts +21 -21
- package/src/index.ts +3 -3
- package/src/interface/account.ts +10 -10
- package/src/interface/author.ts +6 -6
- package/src/interface/config.ts +4 -4
- package/src/interface/devices.ts +6 -6
- package/src/interface/download.ts +12 -9
- package/src/interface/events.ts +45 -39
- package/src/interface/httpClient.ts +11 -11
- package/src/interface/index.ts +76 -19
- package/src/interface/nodes.ts +47 -49
- package/src/interface/result.ts +1 -3
- package/src/interface/sharing.ts +60 -57
- package/src/interface/telemetry.ts +74 -74
- package/src/interface/thumbnail.ts +5 -6
- package/src/interface/upload.ts +20 -12
- package/src/internal/apiService/apiService.test.ts +109 -76
- package/src/internal/apiService/apiService.ts +40 -26
- package/src/internal/apiService/coreTypes.ts +2474 -2463
- package/src/internal/apiService/driveTypes.ts +1868 -1822
- package/src/internal/apiService/errorCodes.ts +4 -4
- package/src/internal/apiService/errors.test.ts +25 -23
- package/src/internal/apiService/errors.ts +15 -9
- package/src/internal/apiService/index.ts +1 -1
- package/src/internal/apiService/transformers.ts +2 -2
- package/src/internal/asyncIteratorMap.test.ts +4 -4
- package/src/internal/asyncIteratorMap.ts +1 -1
- package/src/internal/asyncIteratorRace.test.ts +149 -0
- package/src/internal/asyncIteratorRace.ts +79 -0
- package/src/internal/batch.test.ts +50 -0
- package/src/internal/batch.ts +9 -0
- package/src/internal/batchLoading.test.ts +13 -14
- package/src/internal/batchLoading.ts +8 -8
- package/src/internal/devices/apiService.ts +58 -51
- package/src/internal/devices/cryptoService.ts +22 -17
- package/src/internal/devices/index.ts +17 -10
- package/src/internal/devices/interface.ts +21 -12
- package/src/internal/devices/manager.test.ts +40 -9
- package/src/internal/devices/manager.ts +3 -3
- package/src/internal/download/apiService.ts +66 -49
- package/src/internal/download/cryptoService.ts +34 -18
- package/src/internal/download/fileDownloader.test.ts +25 -9
- package/src/internal/download/fileDownloader.ts +36 -18
- package/src/internal/download/index.ts +19 -19
- package/src/internal/download/interface.ts +19 -20
- package/src/internal/download/queue.ts +3 -3
- package/src/internal/download/telemetry.test.ts +11 -11
- package/src/internal/download/telemetry.ts +24 -14
- package/src/internal/download/thumbnailDownloader.test.ts +11 -6
- package/src/internal/download/thumbnailDownloader.ts +43 -32
- package/src/internal/errors.ts +7 -5
- package/src/internal/events/apiService.ts +30 -17
- package/src/internal/events/coreEventManager.test.ts +18 -18
- package/src/internal/events/coreEventManager.ts +9 -6
- package/src/internal/events/eventManager.test.ts +51 -46
- package/src/internal/events/eventManager.ts +6 -5
- package/src/internal/events/index.ts +24 -14
- package/src/internal/events/interface.ts +47 -39
- package/src/internal/events/volumeEventManager.test.ts +61 -65
- package/src/internal/events/volumeEventManager.ts +18 -9
- package/src/internal/nodes/apiService.test.ts +197 -147
- package/src/internal/nodes/apiService.ts +288 -174
- package/src/internal/nodes/cache.test.ts +48 -20
- package/src/internal/nodes/cache.ts +60 -44
- package/src/internal/nodes/cryptoCache.test.ts +34 -14
- package/src/internal/nodes/cryptoCache.ts +10 -5
- package/src/internal/nodes/cryptoService.test.ts +492 -351
- package/src/internal/nodes/cryptoService.ts +170 -88
- package/src/internal/nodes/events.test.ts +38 -28
- package/src/internal/nodes/events.ts +7 -5
- package/src/internal/nodes/extendedAttributes.test.ts +28 -24
- package/src/internal/nodes/extendedAttributes.ts +20 -15
- package/src/internal/nodes/index.test.ts +133 -0
- package/src/internal/nodes/index.ts +27 -15
- package/src/internal/nodes/interface.ts +42 -29
- package/src/internal/nodes/nodesAccess.test.ts +124 -58
- package/src/internal/nodes/nodesAccess.ts +73 -49
- package/src/internal/nodes/nodesManagement.test.ts +32 -31
- package/src/internal/nodes/nodesManagement.ts +39 -32
- package/src/internal/nodes/nodesRevisions.ts +7 -7
- package/src/internal/nodes/validations.ts +2 -2
- package/src/internal/photos/albums.ts +5 -5
- package/src/internal/photos/apiService.ts +4 -7
- package/src/internal/photos/cache.ts +1 -1
- package/src/internal/photos/index.ts +8 -8
- package/src/internal/photos/interface.ts +2 -2
- package/src/internal/photos/photosTimeline.ts +4 -5
- package/src/internal/sdkEvents.test.ts +10 -10
- package/src/internal/sdkEvents.ts +5 -13
- package/src/internal/shares/apiService.ts +44 -33
- package/src/internal/shares/cache.test.ts +6 -4
- package/src/internal/shares/cache.ts +21 -12
- package/src/internal/shares/cryptoCache.test.ts +17 -11
- package/src/internal/shares/cryptoCache.ts +4 -4
- package/src/internal/shares/cryptoService.test.ts +72 -74
- package/src/internal/shares/cryptoService.ts +48 -23
- package/src/internal/shares/index.ts +23 -11
- package/src/internal/shares/interface.ts +8 -8
- package/src/internal/shares/manager.test.ts +88 -80
- package/src/internal/shares/manager.ts +19 -19
- package/src/internal/sharing/apiService.ts +282 -175
- package/src/internal/sharing/cache.test.ts +35 -35
- package/src/internal/sharing/cache.ts +2 -2
- package/src/internal/sharing/cryptoService.test.ts +58 -46
- package/src/internal/sharing/cryptoService.ts +121 -84
- package/src/internal/sharing/events.test.ts +45 -49
- package/src/internal/sharing/events.ts +9 -6
- package/src/internal/sharing/index.ts +22 -11
- package/src/internal/sharing/interface.ts +40 -40
- package/src/internal/sharing/sharingAccess.test.ts +71 -65
- package/src/internal/sharing/sharingAccess.ts +39 -21
- package/src/internal/sharing/sharingManagement.test.ts +398 -298
- package/src/internal/sharing/sharingManagement.ts +138 -65
- package/src/internal/uids.ts +1 -1
- package/src/internal/upload/apiService.ts +167 -117
- package/src/internal/upload/blockVerifier.ts +8 -6
- package/src/internal/upload/chunkStreamReader.test.ts +7 -7
- package/src/internal/upload/cryptoService.ts +42 -36
- package/src/internal/upload/digests.ts +2 -2
- package/src/internal/upload/fileUploader.test.ts +15 -3
- package/src/internal/upload/fileUploader.ts +39 -17
- package/src/internal/upload/index.ts +13 -14
- package/src/internal/upload/interface.ts +78 -78
- package/src/internal/upload/manager.test.ts +170 -153
- package/src/internal/upload/manager.ts +59 -35
- package/src/internal/upload/queue.ts +3 -3
- package/src/internal/upload/streamUploader.test.ts +40 -26
- package/src/internal/upload/streamUploader.ts +87 -69
- package/src/internal/upload/telemetry.test.ts +11 -11
- package/src/internal/upload/telemetry.ts +25 -15
- package/src/internal/wait.test.ts +1 -1
- package/src/internal/wait.ts +3 -3
- package/src/protonDriveClient.ts +121 -39
- package/src/protonDrivePhotosClient.ts +16 -10
- package/src/telemetry.ts +60 -52
- package/src/tests/logger.ts +1 -1
- package/src/tests/telemetry.ts +2 -2
- package/src/transformers.ts +27 -21
- package/src/version.ts +0 -1
package/src/interface/account.ts
CHANGED
|
@@ -6,17 +6,17 @@ export interface ProtonDriveAccount {
|
|
|
6
6
|
*
|
|
7
7
|
* @throws Error If there is no primary address.
|
|
8
8
|
*/
|
|
9
|
-
getOwnPrimaryAddress(): Promise<ProtonDriveAccountAddress
|
|
9
|
+
getOwnPrimaryAddress(): Promise<ProtonDriveAccountAddress>;
|
|
10
10
|
/**
|
|
11
11
|
* Get own address by email or addressId.
|
|
12
12
|
*
|
|
13
13
|
* @throws Error If there is no address with given email or addressId.
|
|
14
14
|
*/
|
|
15
|
-
getOwnAddress(emailOrAddressId: string): Promise<ProtonDriveAccountAddress
|
|
15
|
+
getOwnAddress(emailOrAddressId: string): Promise<ProtonDriveAccountAddress>;
|
|
16
16
|
/**
|
|
17
17
|
* Returns whether given email can be used to share files with Proton Drive.
|
|
18
18
|
*/
|
|
19
|
-
hasProtonAccount(email: string): Promise<boolean
|
|
19
|
+
hasProtonAccount(email: string): Promise<boolean>;
|
|
20
20
|
/**
|
|
21
21
|
* Get public keys for given email.
|
|
22
22
|
*
|
|
@@ -24,15 +24,15 @@ export interface ProtonDriveAccount {
|
|
|
24
24
|
*
|
|
25
25
|
* @throws Error Only if there is an error while fetching keys.
|
|
26
26
|
*/
|
|
27
|
-
getPublicKeys(email: string): Promise<PublicKey[]
|
|
27
|
+
getPublicKeys(email: string): Promise<PublicKey[]>;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
export interface ProtonDriveAccountAddress {
|
|
31
|
-
email: string
|
|
32
|
-
addressId: string
|
|
33
|
-
primaryKeyIndex: number
|
|
31
|
+
email: string;
|
|
32
|
+
addressId: string;
|
|
33
|
+
primaryKeyIndex: number;
|
|
34
34
|
keys: {
|
|
35
|
-
id: string
|
|
36
|
-
key: PrivateKey
|
|
37
|
-
}[]
|
|
35
|
+
id: string;
|
|
36
|
+
key: PrivateKey;
|
|
37
|
+
}[];
|
|
38
38
|
}
|
package/src/interface/author.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { Result } from './result';
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Author with verification status.
|
|
5
|
-
*
|
|
5
|
+
*
|
|
6
6
|
* It can be either a string (email) or an anonymous user.
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
8
|
* If author cannot be verified, the result is failure with an error.
|
|
9
9
|
* The client can still get claimed author from the error object, but
|
|
10
10
|
* it must be used with caution.
|
|
@@ -19,11 +19,11 @@ export type AnonymousUser = null;
|
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Unverified author.
|
|
22
|
-
*
|
|
22
|
+
*
|
|
23
23
|
* If author cannot be verified, the result is this object containing
|
|
24
24
|
* the claimed author and the verification error.
|
|
25
25
|
*/
|
|
26
26
|
export type UnverifiedAuthorError = {
|
|
27
|
-
claimedAuthor?: string
|
|
28
|
-
error: string
|
|
29
|
-
}
|
|
27
|
+
claimedAuthor?: string;
|
|
28
|
+
error: string;
|
|
29
|
+
};
|
package/src/interface/config.ts
CHANGED
|
@@ -4,14 +4,14 @@ export type ProtonDriveConfig = {
|
|
|
4
4
|
*
|
|
5
5
|
* If not provided, defaults to 'drive-api.proton.me'.
|
|
6
6
|
*/
|
|
7
|
-
baseUrl?: string
|
|
7
|
+
baseUrl?: string;
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* The language to use for error messages.
|
|
11
11
|
*
|
|
12
12
|
* If not provided, defaults to 'en'.
|
|
13
13
|
*/
|
|
14
|
-
language?: string
|
|
14
|
+
language?: string;
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Client UID is used to identify the client for the upload.
|
|
@@ -24,5 +24,5 @@ export type ProtonDriveConfig = {
|
|
|
24
24
|
* You can force the upload by setting up
|
|
25
25
|
* `overrideExistingDraftByOtherClient` to true.
|
|
26
26
|
*/
|
|
27
|
-
clientUid?: string
|
|
28
|
-
}
|
|
27
|
+
clientUid?: string;
|
|
28
|
+
};
|
package/src/interface/devices.ts
CHANGED
|
@@ -2,15 +2,15 @@ import { Result } from './result';
|
|
|
2
2
|
import { InvalidNameError } from './nodes';
|
|
3
3
|
|
|
4
4
|
export type Device = {
|
|
5
|
-
uid: string
|
|
6
|
-
type: DeviceType
|
|
7
|
-
name: Result<string, Error | InvalidNameError
|
|
8
|
-
rootFolderUid: string
|
|
9
|
-
creationTime: Date
|
|
5
|
+
uid: string;
|
|
6
|
+
type: DeviceType;
|
|
7
|
+
name: Result<string, Error | InvalidNameError>;
|
|
8
|
+
rootFolderUid: string;
|
|
9
|
+
creationTime: Date;
|
|
10
10
|
lastSyncDate?: Date;
|
|
11
11
|
/** @deprecated to be removed once Volume-based navigation is implemented in web */
|
|
12
12
|
shareId: string;
|
|
13
|
-
}
|
|
13
|
+
};
|
|
14
14
|
|
|
15
15
|
export enum DeviceType {
|
|
16
16
|
Windows = 'Windows',
|
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
export interface FileDownloader {
|
|
2
2
|
/**
|
|
3
3
|
* Get the claimed size of the file in bytes.
|
|
4
|
-
*
|
|
4
|
+
*
|
|
5
5
|
* This provides total clear-text size of the file. This is encrypted
|
|
6
6
|
* information that is not known to the Proton Drive and thus it is
|
|
7
7
|
* explicitely stated as claimed only and must be treated that way.
|
|
8
8
|
* It can be wrong or missing completely.
|
|
9
9
|
*/
|
|
10
|
-
getClaimedSizeInBytes(): number | undefined
|
|
10
|
+
getClaimedSizeInBytes(): number | undefined;
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Download, decrypt and verify the content from the server and write
|
|
14
14
|
* to the provided stream.
|
|
15
|
-
*
|
|
15
|
+
*
|
|
16
16
|
* @param onProgress - Callback that is called with the number of downloaded bytes
|
|
17
17
|
*/
|
|
18
|
-
writeToStream(streamFactory: WritableStream, onProgress?: (downloadedBytes: number) => void): DownloadController
|
|
18
|
+
writeToStream(streamFactory: WritableStream, onProgress?: (downloadedBytes: number) => void): DownloadController;
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Same as `writeToStream` but without verification checks.
|
|
22
|
-
*
|
|
22
|
+
*
|
|
23
23
|
* Use this only for debugging purposes.
|
|
24
24
|
*/
|
|
25
|
-
unsafeWriteToStream(
|
|
25
|
+
unsafeWriteToStream(
|
|
26
|
+
streamFactory: WritableStream,
|
|
27
|
+
onProgress?: (downloadedBytes: number) => void,
|
|
28
|
+
): DownloadController;
|
|
26
29
|
}
|
|
27
30
|
|
|
28
31
|
export interface DownloadController {
|
|
29
|
-
pause(): void
|
|
30
|
-
resume(): void
|
|
31
|
-
completion(): Promise<void
|
|
32
|
+
pause(): void;
|
|
33
|
+
resume(): void;
|
|
34
|
+
completion(): Promise<void>;
|
|
32
35
|
}
|
package/src/interface/events.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export enum SDKEvent {
|
|
2
|
-
TransfersPaused =
|
|
3
|
-
TransfersResumed =
|
|
4
|
-
RequestsThrottled =
|
|
5
|
-
RequestsUnthrottled =
|
|
2
|
+
TransfersPaused = 'transfersPaused',
|
|
3
|
+
TransfersResumed = 'transfersResumed',
|
|
4
|
+
RequestsThrottled = 'requestsThrottled',
|
|
5
|
+
RequestsUnthrottled = 'requestsUnthrottled',
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
export interface LatestEventIdProvider {
|
|
@@ -20,49 +20,55 @@ export interface LatestEventIdProvider {
|
|
|
20
20
|
*/
|
|
21
21
|
export type DriveListener = (event: DriveEvent) => Promise<void>;
|
|
22
22
|
|
|
23
|
-
type
|
|
23
|
+
export type DriveEvent =
|
|
24
|
+
| NodeEvent
|
|
25
|
+
| FastForwardEvent
|
|
26
|
+
| TreeRefreshEvent
|
|
27
|
+
| TreeRemovalEvent
|
|
28
|
+
| FastForwardEvent
|
|
29
|
+
| SharedWithMeUpdated;
|
|
24
30
|
|
|
25
|
-
export type NodeEvent =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
export type NodeEvent =
|
|
32
|
+
| {
|
|
33
|
+
type: DriveEventType.NodeCreated | DriveEventType.NodeUpdated;
|
|
34
|
+
nodeUid: string;
|
|
35
|
+
parentNodeUid?: string;
|
|
36
|
+
isTrashed: boolean;
|
|
37
|
+
isShared: boolean;
|
|
38
|
+
treeEventScopeId: string;
|
|
39
|
+
eventId: string;
|
|
40
|
+
}
|
|
41
|
+
| {
|
|
42
|
+
type: DriveEventType.NodeDeleted;
|
|
43
|
+
nodeUid: string;
|
|
44
|
+
parentNodeUid?: string;
|
|
45
|
+
treeEventScopeId: string;
|
|
46
|
+
eventId: string;
|
|
47
|
+
};
|
|
40
48
|
|
|
41
49
|
export type FastForwardEvent = {
|
|
42
|
-
type: DriveEventType.FastForward
|
|
43
|
-
treeEventScopeId: string
|
|
44
|
-
eventId: string
|
|
45
|
-
}
|
|
50
|
+
type: DriveEventType.FastForward;
|
|
51
|
+
treeEventScopeId: string;
|
|
52
|
+
eventId: string;
|
|
53
|
+
};
|
|
46
54
|
|
|
47
55
|
export type TreeRefreshEvent = {
|
|
48
|
-
type: DriveEventType.TreeRefresh
|
|
49
|
-
treeEventScopeId: string
|
|
50
|
-
eventId: string
|
|
51
|
-
}
|
|
56
|
+
type: DriveEventType.TreeRefresh;
|
|
57
|
+
treeEventScopeId: string;
|
|
58
|
+
eventId: string;
|
|
59
|
+
};
|
|
52
60
|
|
|
53
61
|
export type TreeRemovalEvent = {
|
|
54
|
-
type: DriveEventType.TreeRemove
|
|
55
|
-
treeEventScopeId: string
|
|
56
|
-
eventId: 'none'
|
|
57
|
-
}
|
|
62
|
+
type: DriveEventType.TreeRemove;
|
|
63
|
+
treeEventScopeId: string;
|
|
64
|
+
eventId: 'none';
|
|
65
|
+
};
|
|
58
66
|
|
|
59
67
|
export type SharedWithMeUpdated = {
|
|
60
|
-
type: DriveEventType.SharedWithMeUpdated
|
|
61
|
-
eventId: string
|
|
62
|
-
treeEventScopeId: 'core'
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export type DriveEvent = NodeEvent | FastForwardEvent | TreeRefreshEvent | TreeRemovalEvent | FastForwardEvent | SharedWithMeUpdated;
|
|
68
|
+
type: DriveEventType.SharedWithMeUpdated;
|
|
69
|
+
eventId: string;
|
|
70
|
+
treeEventScopeId: 'core';
|
|
71
|
+
};
|
|
66
72
|
|
|
67
73
|
export enum DriveEventType {
|
|
68
74
|
NodeCreated = 'node_created',
|
|
@@ -71,5 +77,5 @@ export enum DriveEventType {
|
|
|
71
77
|
SharedWithMeUpdated = 'shared_with_me_updated',
|
|
72
78
|
TreeRefresh = 'tree_refresh',
|
|
73
79
|
TreeRemove = 'tree_remove',
|
|
74
|
-
FastForward = 'fast_forward'
|
|
80
|
+
FastForward = 'fast_forward',
|
|
75
81
|
}
|
|
@@ -4,23 +4,23 @@ export interface ProtonDriveHTTPClient {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
export type ProtonDriveHTTPClientJsonOptions = ProtonDriveHTTPClientBaseOptions & {
|
|
7
|
-
json?: object
|
|
8
|
-
}
|
|
7
|
+
json?: object;
|
|
8
|
+
};
|
|
9
9
|
|
|
10
10
|
export type ProtonDriveHTTPClientBlobOptions = ProtonDriveHTTPClientBaseOptions & {
|
|
11
|
-
body?: XMLHttpRequestBodyInit
|
|
12
|
-
onProgress?: (progress: number) => void
|
|
13
|
-
}
|
|
11
|
+
body?: XMLHttpRequestBodyInit;
|
|
12
|
+
onProgress?: (progress: number) => void;
|
|
13
|
+
};
|
|
14
14
|
|
|
15
15
|
type ProtonDriveHTTPClientBaseOptions = {
|
|
16
|
-
url: string
|
|
17
|
-
method: string
|
|
18
|
-
headers: Headers
|
|
16
|
+
url: string;
|
|
17
|
+
method: string;
|
|
18
|
+
headers: Headers;
|
|
19
19
|
/**
|
|
20
20
|
* The timeout in milliseconds.
|
|
21
21
|
*
|
|
22
22
|
* When timeout is reached, the request will be aborted with TimeoutError.
|
|
23
23
|
*/
|
|
24
|
-
timeoutMs: number
|
|
25
|
-
signal?: AbortSignal
|
|
26
|
-
}
|
|
24
|
+
timeoutMs: number;
|
|
25
|
+
signal?: AbortSignal;
|
|
26
|
+
};
|
package/src/interface/index.ts
CHANGED
|
@@ -14,14 +14,71 @@ export type { ProtonDriveConfig } from './config';
|
|
|
14
14
|
export type { Device, DeviceOrUid } from './devices';
|
|
15
15
|
export { DeviceType } from './devices';
|
|
16
16
|
export type { FileDownloader, DownloadController } from './download';
|
|
17
|
-
export type {
|
|
17
|
+
export type {
|
|
18
|
+
DriveListener,
|
|
19
|
+
LatestEventIdProvider,
|
|
20
|
+
DriveEvent,
|
|
21
|
+
NodeEvent,
|
|
22
|
+
FastForwardEvent,
|
|
23
|
+
TreeRefreshEvent,
|
|
24
|
+
TreeRemovalEvent,
|
|
25
|
+
SharedWithMeUpdated,
|
|
26
|
+
} from './events';
|
|
18
27
|
export { DriveEventType, SDKEvent } from './events';
|
|
19
|
-
export type {
|
|
20
|
-
|
|
28
|
+
export type {
|
|
29
|
+
ProtonDriveHTTPClient,
|
|
30
|
+
ProtonDriveHTTPClientJsonOptions,
|
|
31
|
+
ProtonDriveHTTPClientBlobOptions,
|
|
32
|
+
} from './httpClient';
|
|
33
|
+
export type {
|
|
34
|
+
MaybeNode,
|
|
35
|
+
NodeEntity,
|
|
36
|
+
DegradedNode,
|
|
37
|
+
MaybeMissingNode,
|
|
38
|
+
MissingNode,
|
|
39
|
+
InvalidNameError,
|
|
40
|
+
Revision,
|
|
41
|
+
NodeOrUid,
|
|
42
|
+
RevisionOrUid,
|
|
43
|
+
NodeResult,
|
|
44
|
+
} from './nodes';
|
|
21
45
|
export { NodeType, MemberRole, RevisionState } from './nodes';
|
|
22
|
-
export type {
|
|
46
|
+
export type {
|
|
47
|
+
ProtonInvitation,
|
|
48
|
+
ProtonInvitationWithNode,
|
|
49
|
+
NonProtonInvitation,
|
|
50
|
+
Member,
|
|
51
|
+
PublicLink,
|
|
52
|
+
MaybeBookmark,
|
|
53
|
+
Bookmark,
|
|
54
|
+
DegradedBookmark,
|
|
55
|
+
ProtonInvitationOrUid,
|
|
56
|
+
NonProtonInvitationOrUid,
|
|
57
|
+
BookmarkOrUid,
|
|
58
|
+
ShareNodeSettings,
|
|
59
|
+
UnshareNodeSettings,
|
|
60
|
+
ShareMembersSettings,
|
|
61
|
+
SharePublicLinkSettings,
|
|
62
|
+
SharePublicLinkSettingsObject,
|
|
63
|
+
ShareResult,
|
|
64
|
+
} from './sharing';
|
|
23
65
|
export { NonProtonInvitationState } from './sharing';
|
|
24
|
-
export type {
|
|
66
|
+
export type {
|
|
67
|
+
Telemetry,
|
|
68
|
+
Logger,
|
|
69
|
+
MetricAPIRetrySucceededEvent,
|
|
70
|
+
MetricUploadEvent,
|
|
71
|
+
MetricsUploadErrorType,
|
|
72
|
+
MetricDownloadEvent,
|
|
73
|
+
MetricsDownloadErrorType,
|
|
74
|
+
MetricDecryptionErrorEvent,
|
|
75
|
+
MetricsDecryptionErrorField,
|
|
76
|
+
MetricVerificationErrorEvent,
|
|
77
|
+
MetricVerificationErrorField,
|
|
78
|
+
MetricBlockVerificationErrorEvent,
|
|
79
|
+
MetricVolumeEventsSubscriptionsChangedEvent,
|
|
80
|
+
MetricEvent,
|
|
81
|
+
} from './telemetry';
|
|
25
82
|
export { MetricVolumeType } from './telemetry';
|
|
26
83
|
export type { FileUploader, FileRevisionUploader, UploadController, UploadMetadata } from './upload';
|
|
27
84
|
export type { Thumbnail, ThumbnailResult } from './thumbnail';
|
|
@@ -31,20 +88,20 @@ export type ProtonDriveTelemetry = Telemetry<MetricEvent>;
|
|
|
31
88
|
export type ProtonDriveEntitiesCache = ProtonDriveCache<string>;
|
|
32
89
|
export type ProtonDriveCryptoCache = ProtonDriveCache<CachedCryptoMaterial>;
|
|
33
90
|
export type CachedCryptoMaterial = {
|
|
34
|
-
passphrase?: string
|
|
35
|
-
key: PrivateKey
|
|
36
|
-
passphraseSessionKey: SessionKey
|
|
37
|
-
hashKey?: Uint8Array
|
|
91
|
+
passphrase?: string;
|
|
92
|
+
key: PrivateKey;
|
|
93
|
+
passphraseSessionKey: SessionKey;
|
|
94
|
+
hashKey?: Uint8Array;
|
|
38
95
|
};
|
|
39
96
|
|
|
40
97
|
export interface ProtonDriveClientContructorParameters {
|
|
41
|
-
httpClient: ProtonDriveHTTPClient
|
|
42
|
-
entitiesCache: ProtonDriveEntitiesCache
|
|
43
|
-
cryptoCache: ProtonDriveCryptoCache
|
|
44
|
-
account: ProtonDriveAccount
|
|
45
|
-
openPGPCryptoModule: OpenPGPCrypto
|
|
46
|
-
srpModule: SRPModule
|
|
47
|
-
config?: ProtonDriveConfig
|
|
48
|
-
telemetry?: ProtonDriveTelemetry
|
|
49
|
-
latestEventIdProvider?: LatestEventIdProvider
|
|
50
|
-
}
|
|
98
|
+
httpClient: ProtonDriveHTTPClient;
|
|
99
|
+
entitiesCache: ProtonDriveEntitiesCache;
|
|
100
|
+
cryptoCache: ProtonDriveCryptoCache;
|
|
101
|
+
account: ProtonDriveAccount;
|
|
102
|
+
openPGPCryptoModule: OpenPGPCrypto;
|
|
103
|
+
srpModule: SRPModule;
|
|
104
|
+
config?: ProtonDriveConfig;
|
|
105
|
+
telemetry?: ProtonDriveTelemetry;
|
|
106
|
+
latestEventIdProvider?: LatestEventIdProvider;
|
|
107
|
+
}
|
package/src/interface/nodes.ts
CHANGED
|
@@ -22,7 +22,7 @@ export type MaybeNode = Result<NodeEntity, DegradedNode>;
|
|
|
22
22
|
export type MaybeMissingNode = Result<NodeEntity, DegradedNode | MissingNode>;
|
|
23
23
|
|
|
24
24
|
export type MissingNode = {
|
|
25
|
-
missingUid: string
|
|
25
|
+
missingUid: string;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
/**
|
|
@@ -38,9 +38,9 @@ export type MissingNode = {
|
|
|
38
38
|
* entity is called.
|
|
39
39
|
*/
|
|
40
40
|
export type NodeEntity = {
|
|
41
|
-
uid: string
|
|
42
|
-
parentUid?: string
|
|
43
|
-
name: string
|
|
41
|
+
uid: string;
|
|
42
|
+
parentUid?: string;
|
|
43
|
+
name: string;
|
|
44
44
|
/**
|
|
45
45
|
* Author of the node key.
|
|
46
46
|
*
|
|
@@ -49,22 +49,22 @@ export type NodeEntity = {
|
|
|
49
49
|
* author is user B, while key author stays to user A who has forever
|
|
50
50
|
* option to decrypt latest versions.
|
|
51
51
|
*/
|
|
52
|
-
keyAuthor: Author
|
|
52
|
+
keyAuthor: Author;
|
|
53
53
|
/**
|
|
54
54
|
* Author of the name.
|
|
55
55
|
*
|
|
56
56
|
* Person who named the file. If user A uploads the file and user B renames
|
|
57
57
|
* the file, key and content author is user A, while name author is user B.
|
|
58
58
|
*/
|
|
59
|
-
nameAuthor: Author
|
|
60
|
-
directMemberRole: MemberRole
|
|
61
|
-
type: NodeType
|
|
62
|
-
mediaType?: string
|
|
59
|
+
nameAuthor: Author;
|
|
60
|
+
directMemberRole: MemberRole;
|
|
61
|
+
type: NodeType;
|
|
62
|
+
mediaType?: string;
|
|
63
63
|
/**
|
|
64
64
|
* Whether the node is shared. If true, the node is shared with at least
|
|
65
65
|
* one user, or via public link.
|
|
66
66
|
*/
|
|
67
|
-
isShared: boolean
|
|
67
|
+
isShared: boolean;
|
|
68
68
|
/**
|
|
69
69
|
* Provides the ID of the share that the node is shared with.
|
|
70
70
|
*
|
|
@@ -73,20 +73,20 @@ export type NodeEntity = {
|
|
|
73
73
|
*
|
|
74
74
|
* @deprecated This field is not part of the public API.
|
|
75
75
|
*/
|
|
76
|
-
deprecatedShareId?: string
|
|
76
|
+
deprecatedShareId?: string;
|
|
77
77
|
/**
|
|
78
78
|
* Created on server date.
|
|
79
79
|
*/
|
|
80
|
-
creationTime: Date
|
|
81
|
-
trashTime?: Date
|
|
80
|
+
creationTime: Date;
|
|
81
|
+
trashTime?: Date;
|
|
82
82
|
/**
|
|
83
83
|
* Total size of all revisions, encrypted size on the server.
|
|
84
84
|
*/
|
|
85
|
-
totalStorageSize?: number
|
|
86
|
-
activeRevision?: Revision
|
|
85
|
+
totalStorageSize?: number;
|
|
86
|
+
activeRevision?: Revision;
|
|
87
87
|
folder?: {
|
|
88
|
-
claimedModificationTime?: Date
|
|
89
|
-
}
|
|
88
|
+
claimedModificationTime?: Date;
|
|
89
|
+
};
|
|
90
90
|
/**
|
|
91
91
|
* Provides an ID for the event scope.
|
|
92
92
|
*
|
|
@@ -95,8 +95,8 @@ export type NodeEntity = {
|
|
|
95
95
|
* comprise one or more folder trees and will be shared by all
|
|
96
96
|
* nodes in the tree. Nodes cannot change scopes.
|
|
97
97
|
*/
|
|
98
|
-
treeEventScopeId: string
|
|
99
|
-
}
|
|
98
|
+
treeEventScopeId: string;
|
|
99
|
+
};
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
102
|
* Degraded node representing a file or folder in the system.
|
|
@@ -115,8 +115,8 @@ export type NodeEntity = {
|
|
|
115
115
|
* possible, but download and upload new revision will still work.
|
|
116
116
|
*/
|
|
117
117
|
export type DegradedNode = Omit<NodeEntity, 'name' | 'activeRevision'> & {
|
|
118
|
-
name: Result<string, Error | InvalidNameError
|
|
119
|
-
activeRevision?: Result<Revision, Error
|
|
118
|
+
name: Result<string, Error | InvalidNameError>;
|
|
119
|
+
activeRevision?: Result<Revision, Error>;
|
|
120
120
|
/**
|
|
121
121
|
* If the error is not related to any specific field, it is set here.
|
|
122
122
|
*
|
|
@@ -127,8 +127,8 @@ export type DegradedNode = Omit<NodeEntity, 'name' | 'activeRevision'> & {
|
|
|
127
127
|
* the name is still working, this will include the node key error, while
|
|
128
128
|
* the name will be set to the decrypted value.
|
|
129
129
|
*/
|
|
130
|
-
errors?: unknown[]
|
|
131
|
-
}
|
|
130
|
+
errors?: unknown[];
|
|
131
|
+
};
|
|
132
132
|
|
|
133
133
|
/**
|
|
134
134
|
* Invalid name error represents node name that includes invalid characters.
|
|
@@ -137,13 +137,13 @@ export type InvalidNameError = {
|
|
|
137
137
|
/**
|
|
138
138
|
* Placeholder instead of node name that client can use to display.
|
|
139
139
|
*/
|
|
140
|
-
name: string
|
|
141
|
-
error: string
|
|
142
|
-
}
|
|
140
|
+
name: string;
|
|
141
|
+
error: string;
|
|
142
|
+
};
|
|
143
143
|
|
|
144
144
|
export enum NodeType {
|
|
145
|
-
File =
|
|
146
|
-
Folder =
|
|
145
|
+
File = 'file',
|
|
146
|
+
Folder = 'folder',
|
|
147
147
|
/**
|
|
148
148
|
* Album is a special type available only in Photos section.
|
|
149
149
|
*
|
|
@@ -154,44 +154,42 @@ export enum NodeType {
|
|
|
154
154
|
*
|
|
155
155
|
* @deprecated This type is not part of the public API.
|
|
156
156
|
*/
|
|
157
|
-
Album =
|
|
157
|
+
Album = 'album',
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
export enum MemberRole {
|
|
161
|
-
Viewer =
|
|
162
|
-
Editor =
|
|
163
|
-
Admin =
|
|
164
|
-
Inherited =
|
|
161
|
+
Viewer = 'viewer',
|
|
162
|
+
Editor = 'editor',
|
|
163
|
+
Admin = 'admin',
|
|
164
|
+
Inherited = 'inherited',
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
export type Revision = {
|
|
168
|
-
uid: string
|
|
169
|
-
state: RevisionState
|
|
170
|
-
creationTime: Date
|
|
171
|
-
contentAuthor: Author
|
|
168
|
+
uid: string;
|
|
169
|
+
state: RevisionState;
|
|
170
|
+
creationTime: Date; // created on server date
|
|
171
|
+
contentAuthor: Author;
|
|
172
172
|
/**
|
|
173
173
|
* Encrypted size of the revision, as stored on the server.
|
|
174
174
|
*/
|
|
175
|
-
storageSize: number
|
|
175
|
+
storageSize: number;
|
|
176
176
|
/**
|
|
177
177
|
* Raw size of the revision, as stored in extended attributes.
|
|
178
178
|
*/
|
|
179
|
-
claimedSize?: number
|
|
180
|
-
claimedModificationTime?: Date
|
|
179
|
+
claimedSize?: number;
|
|
180
|
+
claimedModificationTime?: Date;
|
|
181
181
|
claimedDigests?: {
|
|
182
|
-
sha1?: string
|
|
183
|
-
}
|
|
184
|
-
claimedAdditionalMetadata?: object
|
|
185
|
-
}
|
|
182
|
+
sha1?: string;
|
|
183
|
+
};
|
|
184
|
+
claimedAdditionalMetadata?: object;
|
|
185
|
+
};
|
|
186
186
|
|
|
187
187
|
export enum RevisionState {
|
|
188
|
-
Active =
|
|
189
|
-
Superseded =
|
|
188
|
+
Active = 'active',
|
|
189
|
+
Superseded = 'superseded',
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
export type NodeOrUid = MaybeNode | NodeEntity | DegradedNode | string;
|
|
193
193
|
export type RevisionOrUid = Revision | string;
|
|
194
194
|
|
|
195
|
-
export type NodeResult =
|
|
196
|
-
{uid: string, ok: true} |
|
|
197
|
-
{uid: string, ok: false, error: string};
|
|
195
|
+
export type NodeResult = { uid: string; ok: true } | { uid: string; ok: false; error: string };
|
package/src/interface/result.ts
CHANGED