@super-protocol/sdk-js 2.1.4-beta.8 → 2.1.4-beta.9
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/cjs → build}/TIIGenerator.d.ts +4 -2
- package/build/TIIGenerator.js +261 -0
- package/{dist/mjs → build}/analytics/Analytics.d.ts +1 -1
- package/build/analytics/Analytics.js +74 -0
- package/{dist/cjs → build}/analytics/AnalyticsError.js +1 -1
- package/{dist/cjs → build}/analytics/eventProviders/BrowserEventProvider.d.ts +1 -1
- package/{dist/cjs → build}/analytics/eventProviders/BrowserEventProvider.js +3 -3
- package/build/analytics/eventProviders/EventProvider.js +14 -0
- package/{dist/cjs → build}/analytics/eventProviders/NodeEventProvider.d.ts +1 -1
- package/build/analytics/eventProviders/NodeEventProvider.js +48 -0
- package/{dist/mjs → build}/analytics/transports/AxiosTransport.d.ts +1 -1
- package/{dist/cjs → build}/analytics/transports/AxiosTransport.js +4 -4
- package/{dist/cjs → build}/analytics/transports/FetchTransport.d.ts +1 -1
- package/build/analytics/transports/FetchTransport.js +42 -0
- package/{dist/mjs → build}/analytics/types.d.ts +1 -1
- package/{dist/cjs → build}/analytics/types.js +1 -1
- package/{dist/cjs → build}/config.js +1 -1
- package/{dist/cjs → build}/connectors/BaseConnector.d.ts +1 -1
- package/{dist/cjs → build}/connectors/BaseConnector.js +3 -3
- package/{dist/mjs → build}/connectors/BlockchainConnector.d.ts +3 -3
- package/build/connectors/BlockchainConnector.js +358 -0
- package/{dist/mjs → build}/connectors/BlockchainEventsListener.d.ts +1 -1
- package/{dist/cjs → build}/connectors/BlockchainEventsListener.js +15 -15
- package/{dist/cjs → build}/connectors/index.d.ts +2 -2
- package/{dist/cjs → build}/connectors/index.js +5 -5
- package/{dist/cjs → build}/constants.js +1 -1
- package/{dist/cjs → build}/contracts/abi.d.ts +11 -11
- package/{dist/cjs → build}/contracts/abi.js +12 -12
- package/build/crypto/Crypto.js +119 -0
- package/build/crypto/index.d.ts +2 -0
- package/{dist/cjs → build}/crypto/index.js +3 -3
- package/{dist/cjs → build}/crypto/nodejs/AES.js +6 -6
- package/{dist/cjs → build}/crypto/nodejs/ARIA.js +6 -6
- package/{dist/cjs → build}/crypto/nodejs/ECIES.js +1 -1
- package/{dist/mjs → build}/crypto/nodejs/NativeCrypto.d.ts +3 -3
- package/build/crypto/nodejs/NativeCrypto.js +183 -0
- package/build/crypto/nodejs/RSA-Hybrid.js +95 -0
- package/build/index.d.ts +79 -0
- package/build/index.js +142 -0
- package/{dist/cjs → build}/logger.js +1 -1
- package/{dist/cjs → build}/models/EtlModel.d.ts +1 -1
- package/{dist/cjs → build}/models/EtlModel.js +8 -8
- package/{dist/mjs → build}/models/Offer.d.ts +1 -1
- package/build/models/Offer.js +407 -0
- package/{dist/mjs → build}/models/Order.d.ts +1 -1
- package/build/models/Order.js +577 -0
- package/{dist/mjs → build}/models/Provider.d.ts +1 -1
- package/build/models/Provider.js +137 -0
- package/{dist/cjs → build}/models/TCB.d.ts +1 -1
- package/build/models/TCB.js +135 -0
- package/{dist/mjs → build}/models/TeeOffer.d.ts +2 -2
- package/build/models/TeeOffer.js +600 -0
- package/build/models/index.d.ts +5 -0
- package/build/models/index.js +17 -0
- package/build/polyfills.js +7 -0
- package/{dist/cjs → build}/proto/Compression.d.ts +1 -1
- package/build/proto/Compression.js +132 -0
- package/{dist/mjs → build}/proto/TRI.d.ts +1 -1
- package/build/proto/TRI.js +293 -0
- package/{dist/mjs → build}/proto/TeeProperties.d.ts +1 -1
- package/build/proto/TeeProperties.js +401 -0
- package/{dist/cjs → build}/providers/storage/ChunksDownloadDecorator.d.ts +2 -2
- package/{dist/cjs → build}/providers/storage/ChunksDownloadDecorator.js +1 -1
- package/{dist/cjs → build}/providers/storage/IStorageProvider.d.ts +1 -1
- package/{dist/cjs → build}/providers/storage/IStorageProvider.js +1 -1
- package/{dist/mjs → build}/providers/storage/S3StorageProvider.d.ts +2 -2
- package/{dist/cjs → build}/providers/storage/S3StorageProvider.js +3 -3
- package/{dist/cjs → build}/providers/storage/StorageAdapter.d.ts +2 -2
- package/build/providers/storage/StorageAdapter.js +323 -0
- package/{dist/mjs → build}/providers/storage/StorageContentWriter.d.ts +2 -2
- package/{dist/cjs → build}/providers/storage/StorageContentWriter.js +3 -3
- package/{dist/cjs → build}/providers/storage/StorageKeyValueAdapter.d.ts +2 -2
- package/{dist/cjs → build}/providers/storage/StorageKeyValueAdapter.js +8 -8
- package/{dist/cjs → build}/providers/storage/StorageMetadataReader.d.ts +3 -3
- package/{dist/cjs → build}/providers/storage/StorageMetadataReader.js +3 -3
- package/{dist/mjs → build}/providers/storage/StorjAdapter.d.ts +2 -2
- package/{dist/cjs → build}/providers/storage/StorjAdapter.js +5 -5
- package/{dist/mjs → build}/providers/storage/StorjStorageProvider.d.ts +2 -2
- package/{dist/cjs → build}/providers/storage/StorjStorageProvider.js +6 -6
- package/build/providers/storage/getStorageProvider.d.ts +4 -0
- package/build/providers/storage/getStorageProvider.js +20 -0
- package/{dist/cjs → build}/providers/storage/types.js +1 -1
- package/{dist/mjs → build}/staticModels/ActiveOffers.d.ts +1 -1
- package/{dist/cjs → build}/staticModels/ActiveOffers.js +7 -7
- package/{dist/mjs → build}/staticModels/ActiveOrders.d.ts +1 -1
- package/{dist/cjs → build}/staticModels/ActiveOrders.js +12 -12
- package/{dist/cjs → build}/staticModels/Consensus.d.ts +1 -1
- package/build/staticModels/Consensus.js +247 -0
- package/{dist/mjs → build}/staticModels/Deposits.d.ts +1 -1
- package/build/staticModels/Deposits.js +214 -0
- package/{dist/cjs → build}/staticModels/Marks.d.ts +1 -1
- package/build/staticModels/Marks.js +43 -0
- package/{dist/cjs → build}/staticModels/ModelPackager.js +6 -6
- package/{dist/mjs → build}/staticModels/Offers.d.ts +2 -2
- package/build/staticModels/Offers.js +207 -0
- package/{dist/mjs → build}/staticModels/Orders.d.ts +2 -2
- package/build/staticModels/Orders.js +502 -0
- package/{dist/mjs → build}/staticModels/ProviderRegistry.d.ts +1 -1
- package/{dist/cjs → build}/staticModels/ProviderRegistry.js +28 -28
- package/{dist/cjs → build}/staticModels/StaticModel.d.ts +2 -2
- package/build/staticModels/StaticModel.js +46 -0
- package/{dist/cjs → build}/staticModels/Superpro.d.ts +2 -2
- package/build/staticModels/Superpro.js +24 -0
- package/{dist/cjs → build}/staticModels/SuperproToken.d.ts +1 -1
- package/build/staticModels/SuperproToken.js +154 -0
- package/{dist/cjs → build}/staticModels/TeeOffers.d.ts +1 -1
- package/build/staticModels/TeeOffers.js +344 -0
- package/build/store.js +17 -0
- package/{dist/cjs → build}/tee/QuoteParser.d.ts +1 -1
- package/build/tee/QuoteParser.js +189 -0
- package/{dist/cjs → build}/tee/QuoteValidator.d.ts +1 -1
- package/build/tee/QuoteValidator.js +414 -0
- package/{dist/cjs → build}/tee/errors.js +1 -1
- package/build/tee/helpers.js +119 -0
- package/{dist/cjs → build}/tee/interface.d.ts +1 -1
- package/{dist/cjs → build}/tee/interface.js +1 -1
- package/{dist/cjs → build}/tee/statuses.js +1 -1
- package/{dist/cjs → build}/tee/types.js +1 -1
- package/{dist/cjs → build}/types/Compressor.js +1 -1
- package/{dist/cjs → build}/types/Consensus.d.ts +1 -1
- package/{dist/cjs → build}/types/Consensus.js +1 -1
- package/{dist/mjs → build}/types/DepositInfo.d.ts +1 -1
- package/{dist/cjs → build}/types/DepositInfo.js +1 -1
- package/{dist/cjs → build}/types/EtlModel.js +1 -1
- package/{dist/mjs → build}/types/Events.d.ts +2 -2
- package/{dist/cjs → build}/types/Events.js +1 -1
- package/build/types/HardwareInfo.d.ts +6 -0
- package/{dist/cjs → build}/types/HardwareInfo.js +1 -1
- package/{dist/cjs → build}/types/Marks.js +1 -1
- package/{dist/mjs → build}/types/Offer.d.ts +1 -1
- package/{dist/cjs → build}/types/Offer.js +1 -1
- package/{dist/cjs → build}/types/OptionInfo.js +1 -1
- package/{dist/mjs → build}/types/Order.d.ts +6 -4
- package/build/types/Order.js +60 -0
- package/{dist/mjs → build}/types/OrderUsage.d.ts +4 -4
- package/{dist/cjs → build}/types/OrderUsage.js +1 -1
- package/{dist/cjs → build}/types/Origins.js +1 -1
- package/{dist/cjs → build}/types/Provider.js +1 -1
- package/{dist/mjs → build}/types/ResourceLoader.d.ts +1 -1
- package/{dist/cjs → build}/types/ResourceLoader.js +1 -1
- package/{dist/cjs → build}/types/SlotInfo.js +1 -1
- package/{dist/cjs → build}/types/SlotUsage.d.ts +1 -1
- package/{dist/cjs → build}/types/SlotUsage.js +1 -1
- package/{dist/cjs → build}/types/Superpro.js +1 -1
- package/{dist/cjs → build}/types/TeeOfferInfo.d.ts +1 -1
- package/{dist/cjs → build}/types/TeeOfferInfo.js +1 -1
- package/{dist/cjs → build}/types/TeeOfferOption.d.ts +3 -3
- package/{dist/cjs → build}/types/TeeOfferOption.js +1 -1
- package/build/types/TeeOfferSlot.d.ts +8 -0
- package/{dist/cjs → build}/types/TeeOfferSlot.js +1 -1
- package/{dist/cjs → build}/types/ValueOfferSlot.d.ts +4 -4
- package/{dist/cjs → build}/types/ValueOfferSlot.js +1 -1
- package/{dist/cjs → build}/types/Web3.js +1 -1
- package/{dist/cjs → build}/types/blockchainConnector/StorageAccess.d.ts +1 -1
- package/{dist/cjs → build}/types/blockchainConnector/StorageAccess.js +1 -1
- package/build/types/index.d.ts +22 -0
- package/build/types/index.js +39 -0
- package/{dist/cjs → build}/types/storage/StorageAccess.js +1 -1
- package/{dist/mjs → build}/types/storage/StorageFileAccess.d.ts +1 -1
- package/{dist/cjs → build}/types/storage/StorageFileAccess.js +1 -1
- package/{dist/cjs → build}/types/storage/StorageObject.js +1 -1
- package/build/utils/Monitoring.js +48 -0
- package/{dist/cjs → build}/utils/NonceTracker.js +3 -3
- package/build/utils/PubSub.js +37 -0
- package/{dist/mjs → build}/utils/TxManager.d.ts +1 -1
- package/build/utils/TxManager.js +179 -0
- package/{dist/mjs → build}/utils/compressors/GzipCompressor.d.ts +2 -2
- package/{dist/cjs → build}/utils/compressors/GzipCompressor.js +6 -10
- package/{dist/cjs → build}/utils/compressors/UncompressedCompressor.d.ts +2 -2
- package/build/utils/compressors/UncompressedCompressor.js +17 -0
- package/build/utils/compressors/index.d.ts +2 -0
- package/{dist/cjs → build}/utils/compressors/index.js +3 -3
- package/{dist/mjs → build}/utils/helper.d.ts +3 -3
- package/build/utils/helper.js +286 -0
- package/{dist/cjs → build}/utils/helpers/getStreamChunks.js +1 -1
- package/build/utils/helpers/index.d.ts +1 -0
- package/{dist/cjs → build}/utils/helpers/index.js +2 -2
- package/{dist/cjs → build}/utils/helpers/tryWithInterval.js +1 -1
- package/{dist/cjs → build}/utils/resourceLoaders/BaseResourceLoader.d.ts +1 -1
- package/{dist/cjs → build}/utils/resourceLoaders/BaseResourceLoader.js +1 -1
- package/{dist/mjs → build}/utils/resourceLoaders/StorageProviderLoader.d.ts +2 -2
- package/{dist/cjs → build}/utils/resourceLoaders/StorageProviderLoader.js +8 -8
- package/{dist/cjs → build}/utils/resourceLoaders/UrlResourceLoader.d.ts +1 -1
- package/{dist/cjs → build}/utils/resourceLoaders/UrlResourceLoader.js +3 -3
- package/{dist/cjs → build}/utils/resourceLoaders/getResourceLoader.d.ts +1 -1
- package/build/utils/resourceLoaders/getResourceLoader.js +15 -0
- package/build/utils/resourceLoaders/index.d.ts +1 -0
- package/{dist/cjs → build}/utils/resourceLoaders/index.js +2 -2
- package/package.json +5 -13
- package/dist/cjs/TIIGenerator.js +0 -247
- package/dist/cjs/analytics/Analytics.d.ts +0 -15
- package/dist/cjs/analytics/Analytics.js +0 -74
- package/dist/cjs/analytics/eventProviders/EventProvider.js +0 -14
- package/dist/cjs/analytics/eventProviders/NodeEventProvider.js +0 -48
- package/dist/cjs/analytics/transports/AxiosTransport.d.ts +0 -4
- package/dist/cjs/analytics/transports/FetchTransport.js +0 -42
- package/dist/cjs/analytics/types.d.ts +0 -22
- package/dist/cjs/connectors/BlockchainConnector.d.ts +0 -81
- package/dist/cjs/connectors/BlockchainConnector.js +0 -358
- package/dist/cjs/connectors/BlockchainEventsListener.d.ts +0 -15
- package/dist/cjs/crypto/Crypto.js +0 -119
- package/dist/cjs/crypto/index.d.ts +0 -2
- package/dist/cjs/crypto/nodejs/NativeCrypto.d.ts +0 -58
- package/dist/cjs/crypto/nodejs/NativeCrypto.js +0 -178
- package/dist/cjs/crypto/nodejs/RSA-Hybrid.js +0 -95
- package/dist/cjs/index.d.ts +0 -79
- package/dist/cjs/index.js +0 -142
- package/dist/cjs/models/Offer.d.ts +0 -130
- package/dist/cjs/models/Offer.js +0 -407
- package/dist/cjs/models/Order.d.ts +0 -148
- package/dist/cjs/models/Order.js +0 -577
- package/dist/cjs/models/Provider.d.ts +0 -51
- package/dist/cjs/models/Provider.js +0 -137
- package/dist/cjs/models/TCB.js +0 -135
- package/dist/cjs/models/TeeOffer.d.ts +0 -204
- package/dist/cjs/models/TeeOffer.js +0 -600
- package/dist/cjs/models/index.d.ts +0 -5
- package/dist/cjs/models/index.js +0 -17
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/polyfills.js +0 -7
- package/dist/cjs/proto/Compression.js +0 -132
- package/dist/cjs/proto/TRI.d.ts +0 -124
- package/dist/cjs/proto/TRI.js +0 -293
- package/dist/cjs/proto/TeeProperties.d.ts +0 -263
- package/dist/cjs/proto/TeeProperties.js +0 -401
- package/dist/cjs/providers/storage/S3StorageProvider.d.ts +0 -25
- package/dist/cjs/providers/storage/StorageAdapter.js +0 -323
- package/dist/cjs/providers/storage/StorageContentWriter.d.ts +0 -46
- package/dist/cjs/providers/storage/StorjAdapter.d.ts +0 -19
- package/dist/cjs/providers/storage/StorjStorageProvider.d.ts +0 -25
- package/dist/cjs/providers/storage/getStorageProvider.d.ts +0 -4
- package/dist/cjs/providers/storage/getStorageProvider.js +0 -20
- package/dist/cjs/staticModels/ActiveOffers.d.ts +0 -15
- package/dist/cjs/staticModels/ActiveOrders.d.ts +0 -20
- package/dist/cjs/staticModels/Consensus.js +0 -247
- package/dist/cjs/staticModels/Deposits.d.ts +0 -70
- package/dist/cjs/staticModels/Deposits.js +0 -214
- package/dist/cjs/staticModels/Marks.js +0 -43
- package/dist/cjs/staticModels/Offers.d.ts +0 -65
- package/dist/cjs/staticModels/Offers.js +0 -207
- package/dist/cjs/staticModels/Orders.d.ts +0 -155
- package/dist/cjs/staticModels/Orders.js +0 -502
- package/dist/cjs/staticModels/ProviderRegistry.d.ts +0 -74
- package/dist/cjs/staticModels/StaticModel.js +0 -46
- package/dist/cjs/staticModels/Superpro.js +0 -24
- package/dist/cjs/staticModels/SuperproToken.js +0 -154
- package/dist/cjs/staticModels/TeeOffers.js +0 -344
- package/dist/cjs/store.js +0 -17
- package/dist/cjs/tee/QuoteParser.js +0 -189
- package/dist/cjs/tee/QuoteValidator.js +0 -416
- package/dist/cjs/tee/helpers.js +0 -119
- package/dist/cjs/types/DepositInfo.d.ts +0 -6
- package/dist/cjs/types/Events.d.ts +0 -34
- package/dist/cjs/types/HardwareInfo.d.ts +0 -6
- package/dist/cjs/types/Offer.d.ts +0 -33
- package/dist/cjs/types/Order.d.ts +0 -56
- package/dist/cjs/types/Order.js +0 -58
- package/dist/cjs/types/OrderUsage.d.ts +0 -26
- package/dist/cjs/types/ResourceLoader.d.ts +0 -28
- package/dist/cjs/types/TeeOfferSlot.d.ts +0 -8
- package/dist/cjs/types/index.d.ts +0 -22
- package/dist/cjs/types/index.js +0 -39
- package/dist/cjs/types/storage/StorageFileAccess.d.ts +0 -5
- package/dist/cjs/utils/Monitoring.js +0 -48
- package/dist/cjs/utils/PubSub.js +0 -37
- package/dist/cjs/utils/TxManager.d.ts +0 -25
- package/dist/cjs/utils/TxManager.js +0 -179
- package/dist/cjs/utils/compressors/GzipCompressor.d.ts +0 -8
- package/dist/cjs/utils/compressors/UncompressedCompressor.js +0 -17
- package/dist/cjs/utils/compressors/index.d.ts +0 -2
- package/dist/cjs/utils/helper.d.ts +0 -44
- package/dist/cjs/utils/helper.js +0 -286
- package/dist/cjs/utils/helpers/index.d.ts +0 -1
- package/dist/cjs/utils/resourceLoaders/StorageProviderLoader.d.ts +0 -18
- package/dist/cjs/utils/resourceLoaders/getResourceLoader.js +0 -15
- package/dist/cjs/utils/resourceLoaders/index.d.ts +0 -1
- package/dist/mjs/TIIGenerator.d.ts +0 -22
- package/dist/mjs/TIIGenerator.js +0 -225
- package/dist/mjs/analytics/Analytics.js +0 -61
- package/dist/mjs/analytics/AnalyticsError.d.ts +0 -7
- package/dist/mjs/analytics/AnalyticsError.js +0 -8
- package/dist/mjs/analytics/eventProviders/BrowserEventProvider.d.ts +0 -18
- package/dist/mjs/analytics/eventProviders/BrowserEventProvider.js +0 -32
- package/dist/mjs/analytics/eventProviders/EventProvider.d.ts +0 -24
- package/dist/mjs/analytics/eventProviders/EventProvider.js +0 -22
- package/dist/mjs/analytics/eventProviders/NodeEventProvider.d.ts +0 -22
- package/dist/mjs/analytics/eventProviders/NodeEventProvider.js +0 -50
- package/dist/mjs/analytics/transports/AxiosTransport.js +0 -31
- package/dist/mjs/analytics/transports/FetchTransport.d.ts +0 -4
- package/dist/mjs/analytics/transports/FetchTransport.js +0 -28
- package/dist/mjs/analytics/types.js +0 -2
- package/dist/mjs/config.d.ts +0 -4
- package/dist/mjs/config.js +0 -5
- package/dist/mjs/connectors/BaseConnector.d.ts +0 -36
- package/dist/mjs/connectors/BaseConnector.js +0 -34
- package/dist/mjs/connectors/BlockchainConnector.js +0 -313
- package/dist/mjs/connectors/BlockchainEventsListener.js +0 -75
- package/dist/mjs/connectors/index.d.ts +0 -2
- package/dist/mjs/connectors/index.js +0 -3
- package/dist/mjs/constants.d.ts +0 -13
- package/dist/mjs/constants.js +0 -14
- package/dist/mjs/contracts/abi.d.ts +0 -9916
- package/dist/mjs/contracts/abi.js +0 -12941
- package/dist/mjs/crypto/Crypto.d.ts +0 -54
- package/dist/mjs/crypto/Crypto.js +0 -95
- package/dist/mjs/crypto/index.d.ts +0 -2
- package/dist/mjs/crypto/index.js +0 -3
- package/dist/mjs/crypto/nodejs/AES.d.ts +0 -24
- package/dist/mjs/crypto/nodejs/AES.js +0 -74
- package/dist/mjs/crypto/nodejs/ARIA.d.ts +0 -24
- package/dist/mjs/crypto/nodejs/ARIA.js +0 -73
- package/dist/mjs/crypto/nodejs/ECIES.d.ts +0 -6
- package/dist/mjs/crypto/nodejs/ECIES.js +0 -51
- package/dist/mjs/crypto/nodejs/NativeCrypto.js +0 -163
- package/dist/mjs/crypto/nodejs/RSA-Hybrid.d.ts +0 -15
- package/dist/mjs/crypto/nodejs/RSA-Hybrid.js +0 -89
- package/dist/mjs/index.d.ts +0 -79
- package/dist/mjs/index.js +0 -75
- package/dist/mjs/logger.d.ts +0 -7
- package/dist/mjs/logger.js +0 -7
- package/dist/mjs/models/EtlModel.d.ts +0 -34
- package/dist/mjs/models/EtlModel.js +0 -96
- package/dist/mjs/models/Offer.js +0 -356
- package/dist/mjs/models/Order.js +0 -520
- package/dist/mjs/models/Provider.js +0 -114
- package/dist/mjs/models/TCB.d.ts +0 -58
- package/dist/mjs/models/TCB.js +0 -107
- package/dist/mjs/models/TeeOffer.js +0 -533
- package/dist/mjs/models/index.d.ts +0 -5
- package/dist/mjs/models/index.js +0 -6
- package/dist/mjs/package.json +0 -1
- package/dist/mjs/polyfills.d.ts +0 -0
- package/dist/mjs/polyfills.js +0 -7
- package/dist/mjs/proto/Compression.d.ts +0 -36
- package/dist/mjs/proto/Compression.js +0 -123
- package/dist/mjs/proto/TRI.js +0 -284
- package/dist/mjs/proto/TeeProperties.js +0 -391
- package/dist/mjs/providers/storage/ChunksDownloadDecorator.d.ts +0 -36
- package/dist/mjs/providers/storage/ChunksDownloadDecorator.js +0 -139
- package/dist/mjs/providers/storage/IStorageProvider.d.ts +0 -15
- package/dist/mjs/providers/storage/IStorageProvider.js +0 -2
- package/dist/mjs/providers/storage/S3StorageProvider.js +0 -167
- package/dist/mjs/providers/storage/StorageAdapter.d.ts +0 -60
- package/dist/mjs/providers/storage/StorageAdapter.js +0 -271
- package/dist/mjs/providers/storage/StorageContentWriter.js +0 -161
- package/dist/mjs/providers/storage/StorageKeyValueAdapter.d.ts +0 -23
- package/dist/mjs/providers/storage/StorageKeyValueAdapter.js +0 -119
- package/dist/mjs/providers/storage/StorageMetadataReader.d.ts +0 -20
- package/dist/mjs/providers/storage/StorageMetadataReader.js +0 -51
- package/dist/mjs/providers/storage/StorjAdapter.js +0 -48
- package/dist/mjs/providers/storage/StorjStorageProvider.js +0 -141
- package/dist/mjs/providers/storage/getStorageProvider.d.ts +0 -4
- package/dist/mjs/providers/storage/getStorageProvider.js +0 -15
- package/dist/mjs/providers/storage/types.d.ts +0 -7
- package/dist/mjs/providers/storage/types.js +0 -2
- package/dist/mjs/staticModels/ActiveOffers.js +0 -32
- package/dist/mjs/staticModels/ActiveOrders.js +0 -71
- package/dist/mjs/staticModels/Consensus.d.ts +0 -42
- package/dist/mjs/staticModels/Consensus.js +0 -220
- package/dist/mjs/staticModels/Deposits.js +0 -190
- package/dist/mjs/staticModels/Marks.d.ts +0 -8
- package/dist/mjs/staticModels/Marks.js +0 -25
- package/dist/mjs/staticModels/ModelPackager.d.ts +0 -18
- package/dist/mjs/staticModels/ModelPackager.js +0 -45
- package/dist/mjs/staticModels/Offers.js +0 -184
- package/dist/mjs/staticModels/Orders.js +0 -472
- package/dist/mjs/staticModels/ProviderRegistry.js +0 -169
- package/dist/mjs/staticModels/StaticModel.d.ts +0 -8
- package/dist/mjs/staticModels/StaticModel.js +0 -30
- package/dist/mjs/staticModels/Superpro.d.ts +0 -16
- package/dist/mjs/staticModels/Superpro.js +0 -23
- package/dist/mjs/staticModels/SuperproToken.d.ts +0 -48
- package/dist/mjs/staticModels/SuperproToken.js +0 -136
- package/dist/mjs/staticModels/TeeOffers.d.ts +0 -115
- package/dist/mjs/staticModels/TeeOffers.js +0 -309
- package/dist/mjs/store.d.ts +0 -15
- package/dist/mjs/store.js +0 -15
- package/dist/mjs/tee/QuoteParser.d.ts +0 -27
- package/dist/mjs/tee/QuoteParser.js +0 -162
- package/dist/mjs/tee/QuoteValidator.d.ts +0 -38
- package/dist/mjs/tee/QuoteValidator.js +0 -384
- package/dist/mjs/tee/errors.d.ts +0 -6
- package/dist/mjs/tee/errors.js +0 -7
- package/dist/mjs/tee/helpers.d.ts +0 -14
- package/dist/mjs/tee/helpers.js +0 -115
- package/dist/mjs/tee/interface.d.ts +0 -63
- package/dist/mjs/tee/interface.js +0 -2
- package/dist/mjs/tee/statuses.d.ts +0 -21
- package/dist/mjs/tee/statuses.js +0 -25
- package/dist/mjs/tee/types.d.ts +0 -75
- package/dist/mjs/tee/types.js +0 -2
- package/dist/mjs/types/Compressor.d.ts +0 -5
- package/dist/mjs/types/Compressor.js +0 -2
- package/dist/mjs/types/Consensus.d.ts +0 -60
- package/dist/mjs/types/Consensus.js +0 -16
- package/dist/mjs/types/DepositInfo.js +0 -2
- package/dist/mjs/types/EtlModel.d.ts +0 -2
- package/dist/mjs/types/EtlModel.js +0 -2
- package/dist/mjs/types/Events.js +0 -2
- package/dist/mjs/types/HardwareInfo.d.ts +0 -6
- package/dist/mjs/types/HardwareInfo.js +0 -2
- package/dist/mjs/types/Marks.d.ts +0 -9
- package/dist/mjs/types/Marks.js +0 -7
- package/dist/mjs/types/Offer.js +0 -14
- package/dist/mjs/types/OptionInfo.d.ts +0 -8
- package/dist/mjs/types/OptionInfo.js +0 -2
- package/dist/mjs/types/Order.js +0 -51
- package/dist/mjs/types/OrderUsage.js +0 -2
- package/dist/mjs/types/Origins.d.ts +0 -6
- package/dist/mjs/types/Origins.js +0 -2
- package/dist/mjs/types/Provider.d.ts +0 -7
- package/dist/mjs/types/Provider.js +0 -2
- package/dist/mjs/types/ResourceLoader.js +0 -2
- package/dist/mjs/types/SlotInfo.d.ts +0 -6
- package/dist/mjs/types/SlotInfo.js +0 -2
- package/dist/mjs/types/SlotUsage.d.ts +0 -11
- package/dist/mjs/types/SlotUsage.js +0 -6
- package/dist/mjs/types/Superpro.d.ts +0 -9
- package/dist/mjs/types/Superpro.js +0 -11
- package/dist/mjs/types/TeeOfferInfo.d.ts +0 -10
- package/dist/mjs/types/TeeOfferInfo.js +0 -2
- package/dist/mjs/types/TeeOfferOption.d.ts +0 -13
- package/dist/mjs/types/TeeOfferOption.js +0 -2
- package/dist/mjs/types/TeeOfferSlot.d.ts +0 -8
- package/dist/mjs/types/TeeOfferSlot.js +0 -2
- package/dist/mjs/types/ValueOfferSlot.d.ts +0 -16
- package/dist/mjs/types/ValueOfferSlot.js +0 -2
- package/dist/mjs/types/Web3.d.ts +0 -62
- package/dist/mjs/types/Web3.js +0 -2
- package/dist/mjs/types/blockchainConnector/StorageAccess.d.ts +0 -8
- package/dist/mjs/types/blockchainConnector/StorageAccess.js +0 -2
- package/dist/mjs/types/index.d.ts +0 -22
- package/dist/mjs/types/index.js +0 -23
- package/dist/mjs/types/storage/StorageAccess.d.ts +0 -7
- package/dist/mjs/types/storage/StorageAccess.js +0 -2
- package/dist/mjs/types/storage/StorageFileAccess.js +0 -2
- package/dist/mjs/types/storage/StorageObject.d.ts +0 -8
- package/dist/mjs/types/storage/StorageObject.js +0 -2
- package/dist/mjs/utils/Monitoring.d.ts +0 -11
- package/dist/mjs/utils/Monitoring.js +0 -42
- package/dist/mjs/utils/NonceTracker.d.ts +0 -19
- package/dist/mjs/utils/NonceTracker.js +0 -73
- package/dist/mjs/utils/PubSub.d.ts +0 -9
- package/dist/mjs/utils/PubSub.js +0 -32
- package/dist/mjs/utils/TxManager.js +0 -162
- package/dist/mjs/utils/compressors/GzipCompressor.js +0 -15
- package/dist/mjs/utils/compressors/UncompressedCompressor.d.ts +0 -8
- package/dist/mjs/utils/compressors/UncompressedCompressor.js +0 -13
- package/dist/mjs/utils/compressors/index.d.ts +0 -2
- package/dist/mjs/utils/compressors/index.js +0 -3
- package/dist/mjs/utils/helper.js +0 -258
- package/dist/mjs/utils/helpers/getStreamChunks.d.ts +0 -9
- package/dist/mjs/utils/helpers/getStreamChunks.js +0 -31
- package/dist/mjs/utils/helpers/index.d.ts +0 -1
- package/dist/mjs/utils/helpers/index.js +0 -2
- package/dist/mjs/utils/helpers/tryWithInterval.d.ts +0 -13
- package/dist/mjs/utils/helpers/tryWithInterval.js +0 -35
- package/dist/mjs/utils/resourceLoaders/BaseResourceLoader.d.ts +0 -10
- package/dist/mjs/utils/resourceLoaders/BaseResourceLoader.js +0 -10
- package/dist/mjs/utils/resourceLoaders/StorageProviderLoader.js +0 -53
- package/dist/mjs/utils/resourceLoaders/UrlResourceLoader.d.ts +0 -9
- package/dist/mjs/utils/resourceLoaders/UrlResourceLoader.js +0 -44
- package/dist/mjs/utils/resourceLoaders/getResourceLoader.d.ts +0 -5
- package/dist/mjs/utils/resourceLoaders/getResourceLoader.js +0 -11
- package/dist/mjs/utils/resourceLoaders/index.d.ts +0 -1
- package/dist/mjs/utils/resourceLoaders/index.js +0 -2
- /package/{dist/cjs → build}/analytics/AnalyticsError.d.ts +0 -0
- /package/{dist/cjs → build}/analytics/eventProviders/EventProvider.d.ts +0 -0
- /package/{dist/cjs → build}/config.d.ts +0 -0
- /package/{dist/cjs → build}/constants.d.ts +0 -0
- /package/{dist/cjs → build}/crypto/Crypto.d.ts +0 -0
- /package/{dist/cjs → build}/crypto/nodejs/AES.d.ts +0 -0
- /package/{dist/cjs → build}/crypto/nodejs/ARIA.d.ts +0 -0
- /package/{dist/cjs → build}/crypto/nodejs/ECIES.d.ts +0 -0
- /package/{dist/cjs → build}/crypto/nodejs/RSA-Hybrid.d.ts +0 -0
- /package/{dist/cjs → build}/logger.d.ts +0 -0
- /package/{dist/cjs → build}/polyfills.d.ts +0 -0
- /package/{dist/cjs → build}/providers/storage/types.d.ts +0 -0
- /package/{dist/cjs → build}/staticModels/ModelPackager.d.ts +0 -0
- /package/{dist/cjs → build}/store.d.ts +0 -0
- /package/{dist/cjs → build}/tee/errors.d.ts +0 -0
- /package/{dist/cjs → build}/tee/helpers.d.ts +0 -0
- /package/{dist/cjs → build}/tee/statuses.d.ts +0 -0
- /package/{dist/cjs → build}/tee/types.d.ts +0 -0
- /package/{dist/cjs → build}/types/Compressor.d.ts +0 -0
- /package/{dist/cjs → build}/types/EtlModel.d.ts +0 -0
- /package/{dist/cjs → build}/types/Marks.d.ts +0 -0
- /package/{dist/cjs → build}/types/OptionInfo.d.ts +0 -0
- /package/{dist/cjs → build}/types/Origins.d.ts +0 -0
- /package/{dist/cjs → build}/types/Provider.d.ts +0 -0
- /package/{dist/cjs → build}/types/SlotInfo.d.ts +0 -0
- /package/{dist/cjs → build}/types/Superpro.d.ts +0 -0
- /package/{dist/cjs → build}/types/Web3.d.ts +0 -0
- /package/{dist/cjs → build}/types/storage/StorageAccess.d.ts +0 -0
- /package/{dist/cjs → build}/types/storage/StorageObject.d.ts +0 -0
- /package/{dist/cjs → build}/utils/Monitoring.d.ts +0 -0
- /package/{dist/cjs → build}/utils/NonceTracker.d.ts +0 -0
- /package/{dist/cjs → build}/utils/PubSub.d.ts +0 -0
- /package/{dist/cjs → build}/utils/helpers/getStreamChunks.d.ts +0 -0
- /package/{dist/cjs → build}/utils/helpers/tryWithInterval.d.ts +0 -0
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import Queue from 'p-queue';
|
|
2
|
-
import logger from '../../logger.js';
|
|
3
|
-
export var ContentWriterType;
|
|
4
|
-
(function (ContentWriterType) {
|
|
5
|
-
ContentWriterType["NEEDS_UPLOAD"] = "NEEDS_UPLOAD";
|
|
6
|
-
ContentWriterType["NEEDS_DELETE"] = "NEEDS_DELETE";
|
|
7
|
-
})(ContentWriterType || (ContentWriterType = {}));
|
|
8
|
-
const DEFAULT_WRITE_CONTENT_CONCURRENCY = 16;
|
|
9
|
-
const DEFAULT_CACHE_EXPIRATION_TS = 5 * 60 * 1000;
|
|
10
|
-
export default class StorageContentWriter {
|
|
11
|
-
timeout = null;
|
|
12
|
-
INTERVAL;
|
|
13
|
-
storageKeyValueAdapter;
|
|
14
|
-
logger;
|
|
15
|
-
instanceId;
|
|
16
|
-
cacheExpirationTs;
|
|
17
|
-
objectDeletedFlag;
|
|
18
|
-
queueWriteContent;
|
|
19
|
-
performance;
|
|
20
|
-
storageWrites = new Map();
|
|
21
|
-
constructor(config) {
|
|
22
|
-
const { writeContentConcurrency, interval, storageKeyValueAdapter, instanceId, objectDeletedFlag, cacheExpirationTs, performance, showLogs = true, } = config || {};
|
|
23
|
-
this.logger = showLogs ? logger.child({ class: StorageContentWriter.name }) : null;
|
|
24
|
-
this.performance = performance;
|
|
25
|
-
this.INTERVAL = interval;
|
|
26
|
-
this.cacheExpirationTs = cacheExpirationTs || DEFAULT_CACHE_EXPIRATION_TS;
|
|
27
|
-
this.storageKeyValueAdapter = storageKeyValueAdapter;
|
|
28
|
-
this.instanceId = instanceId;
|
|
29
|
-
this.objectDeletedFlag = objectDeletedFlag;
|
|
30
|
-
this.queueWriteContent = new Queue({
|
|
31
|
-
concurrency: writeContentConcurrency || DEFAULT_WRITE_CONTENT_CONCURRENCY,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
async actualizeCacheDelete(key, encryptionKey) {
|
|
35
|
-
const objects = await this.storageKeyValueAdapter.listFiles(key);
|
|
36
|
-
const objectsToDelete = objects.filter((object) => !object.name.endsWith(this.objectDeletedFlag));
|
|
37
|
-
await Promise.all(objectsToDelete.map((object) => this.storageKeyValueAdapter.delete(object.name)));
|
|
38
|
-
if (objectsToDelete.length === objects.length) {
|
|
39
|
-
await this.storageKeyValueAdapter.set(`${key}/${this.objectDeletedFlag}`, null, encryptionKey);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async actualizeCacheUpload(key, encryptionKey, cache) {
|
|
43
|
-
const instances = cache.get(key);
|
|
44
|
-
const instance = instances?.get(this.instanceId);
|
|
45
|
-
if (!instances || !instance) {
|
|
46
|
-
this.logger?.error({
|
|
47
|
-
key,
|
|
48
|
-
instancesSize: instances?.size,
|
|
49
|
-
value: instance,
|
|
50
|
-
}, 'Attempted to upload non-existing value');
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
if (instance.value) {
|
|
54
|
-
const startUpload = this.performance?.now();
|
|
55
|
-
await this.storageKeyValueAdapter.set(`${key}/${this.instanceId}`, instance.value, encryptionKey);
|
|
56
|
-
if (this.performance && startUpload !== undefined) {
|
|
57
|
-
const finishUpload = this.performance.now();
|
|
58
|
-
this.logger?.info(`Uploading took ${(finishUpload - startUpload).toFixed(1)} ms`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
await this.deleteOutdatedInstances(key, instances);
|
|
62
|
-
}
|
|
63
|
-
async actualizeCache(cache) {
|
|
64
|
-
const logger = this.logger?.child({ method: this.actualizeCache.name });
|
|
65
|
-
if (this.storageWrites.size) {
|
|
66
|
-
Array.from(this.storageWrites.entries()).forEach(([key, { type, index, encryptionKey }]) => {
|
|
67
|
-
this.queueWriteContent.add(async () => {
|
|
68
|
-
try {
|
|
69
|
-
switch (type) {
|
|
70
|
-
case ContentWriterType.NEEDS_DELETE:
|
|
71
|
-
await this.actualizeCacheDelete(key, encryptionKey);
|
|
72
|
-
break;
|
|
73
|
-
case ContentWriterType.NEEDS_UPLOAD:
|
|
74
|
-
await this.actualizeCacheUpload(key, encryptionKey, cache);
|
|
75
|
-
break;
|
|
76
|
-
default:
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
// delete only if the current index is up to date
|
|
80
|
-
if (index === this.storageWrites.get(key)?.index) {
|
|
81
|
-
this.storageWrites.delete(key);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
catch (err) {
|
|
85
|
-
logger?.error({
|
|
86
|
-
err,
|
|
87
|
-
size: this.storageWrites.size,
|
|
88
|
-
}, `Error storage writing ${key}`);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
await this.queueWriteContent.onIdle();
|
|
93
|
-
logger?.info({ size: this.storageWrites.size }, 'Success storage writing');
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
async deleteOutdatedInstances(key, instances) {
|
|
97
|
-
const expiredTs = Date.now() - this.cacheExpirationTs;
|
|
98
|
-
const instancesToDelete = [];
|
|
99
|
-
instances?.forEach((instance, instanceId) => {
|
|
100
|
-
const isOutdated = instance.modifiedTs < expiredTs;
|
|
101
|
-
const isNotNull = Boolean(instance.value);
|
|
102
|
-
if (instanceId !== this.instanceId && isNotNull && isOutdated) {
|
|
103
|
-
instancesToDelete.push([instanceId, instance]);
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
// For safety, always preserve one additional copy in storage
|
|
107
|
-
if (instancesToDelete.length <= 1) {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
// Finding the most up-to-date instance to preserve
|
|
111
|
-
instancesToDelete
|
|
112
|
-
.sort((a, b) => {
|
|
113
|
-
const diff = a[1].modifiedTs - b[1].modifiedTs;
|
|
114
|
-
if (diff === 0) {
|
|
115
|
-
return a[0] >= b[0] ? 1 : -1;
|
|
116
|
-
}
|
|
117
|
-
return diff;
|
|
118
|
-
})
|
|
119
|
-
.pop();
|
|
120
|
-
await Promise.allSettled(instancesToDelete.map(([instanceId]) => this.storageKeyValueAdapter
|
|
121
|
-
.delete(`${key}/${instanceId}`)
|
|
122
|
-
.then(() => {
|
|
123
|
-
instances.delete(instanceId);
|
|
124
|
-
})
|
|
125
|
-
.catch((err) => this.logger?.error({ err }, 'Error deleting outdated instance'))));
|
|
126
|
-
}
|
|
127
|
-
startActualizeCacheTimer(cache) {
|
|
128
|
-
if (this.INTERVAL) {
|
|
129
|
-
if (this.timeout)
|
|
130
|
-
clearTimeout(this.timeout);
|
|
131
|
-
this.timeout = setTimeout(async () => {
|
|
132
|
-
await this.actualizeCache(cache);
|
|
133
|
-
this.startActualizeCacheTimer(cache);
|
|
134
|
-
}, this.INTERVAL);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
stop() {
|
|
138
|
-
if (this.timeout)
|
|
139
|
-
clearTimeout(this.timeout);
|
|
140
|
-
this.timeout = null;
|
|
141
|
-
}
|
|
142
|
-
set(key, type, encryptionKey) {
|
|
143
|
-
const oldValue = this.storageWrites.get(key);
|
|
144
|
-
this.storageWrites.set(key, {
|
|
145
|
-
type,
|
|
146
|
-
index: oldValue?.index ? oldValue.index + 1 : 1,
|
|
147
|
-
encryptionKey,
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
get(key) {
|
|
151
|
-
return this.storageWrites.get(key)?.type || null;
|
|
152
|
-
}
|
|
153
|
-
clear() {
|
|
154
|
-
this.storageWrites.clear();
|
|
155
|
-
}
|
|
156
|
-
async shutdown(cache) {
|
|
157
|
-
this.stop();
|
|
158
|
-
await this.actualizeCache(cache);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZUNvbnRlbnRXcml0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvU3RvcmFnZUNvbnRlbnRXcml0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQzVCLE9BQU8sTUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQWVqRCxNQUFNLENBQU4sSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLGtEQUE2QixDQUFBO0lBQzdCLGtEQUE2QixDQUFBO0FBQy9CLENBQUMsRUFIVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBRzVCO0FBRUQsTUFBTSxpQ0FBaUMsR0FBRyxFQUFFLENBQUM7QUFDN0MsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQVFsRCxNQUFNLENBQUMsT0FBTyxPQUFPLG9CQUFvQjtJQUMvQixPQUFPLEdBQXlDLElBQUksQ0FBQztJQUM1QyxRQUFRLENBQVM7SUFDakIsc0JBQXNCLENBQTRCO0lBQ2xELE1BQU0sQ0FBaUI7SUFDdkIsVUFBVSxDQUFTO0lBQ25CLGlCQUFpQixDQUFTO0lBQzFCLGlCQUFpQixDQUFTO0lBQzFCLGlCQUFpQixDQUFRO0lBQ3pCLFdBQVcsQ0FBZTtJQUMzQixhQUFhLEdBQStCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFdEUsWUFBWSxNQUFxQztRQUMvQyxNQUFNLEVBQ0osdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLFFBQVEsR0FBRyxJQUFJLEdBQ2hCLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUss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
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Encryption } from '@super-protocol/dto-js';
|
|
2
|
-
import StorageAccess from '../../types/storage/StorageAccess.js';
|
|
3
|
-
import StorageObject from '../../types/storage/StorageObject.js';
|
|
4
|
-
export interface StorageKeyValueAdapterConfig {
|
|
5
|
-
showLogs?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export default class StorageKeyValueAdapter<V extends object> {
|
|
8
|
-
private readonly storageProvider;
|
|
9
|
-
private readonly logger?;
|
|
10
|
-
constructor(storageAccess: StorageAccess, config?: StorageKeyValueAdapterConfig);
|
|
11
|
-
decrypt(encryption: Encryption, key: string): Promise<V | null>;
|
|
12
|
-
encrypt(data: V | null, key: string): Promise<Encryption>;
|
|
13
|
-
private downloadFromStorage;
|
|
14
|
-
private streamToString;
|
|
15
|
-
private storageUpload;
|
|
16
|
-
private storageDelete;
|
|
17
|
-
private storageDownload;
|
|
18
|
-
private storageListFiles;
|
|
19
|
-
set(key: string, value: V | null, privateKey: string): Promise<void>;
|
|
20
|
-
delete(key: string): Promise<void>;
|
|
21
|
-
get(key: string, privateKey: string): Promise<V | null>;
|
|
22
|
-
listFiles(key: string): Promise<StorageObject[]>;
|
|
23
|
-
}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { Readable } from 'stream';
|
|
2
|
-
import { CryptoAlgorithm, Encoding, Cipher } from '@super-protocol/dto-js';
|
|
3
|
-
import getStorageProvider from './getStorageProvider.js';
|
|
4
|
-
import logger from '../../logger.js';
|
|
5
|
-
import Crypto from '../../crypto/Crypto.js';
|
|
6
|
-
export default class StorageKeyValueAdapter {
|
|
7
|
-
storageProvider;
|
|
8
|
-
logger;
|
|
9
|
-
constructor(storageAccess, config) {
|
|
10
|
-
if (!storageAccess?.credentials)
|
|
11
|
-
throw new Error('Credentials is empty');
|
|
12
|
-
const { showLogs = true } = config || {};
|
|
13
|
-
this.logger = showLogs ? logger.child({ class: StorageKeyValueAdapter.name }) : null;
|
|
14
|
-
this.storageProvider = getStorageProvider(storageAccess);
|
|
15
|
-
}
|
|
16
|
-
async decrypt(encryption, key) {
|
|
17
|
-
if (!encryption)
|
|
18
|
-
return null;
|
|
19
|
-
if (!key)
|
|
20
|
-
throw new Error('Key cannot be empty!');
|
|
21
|
-
encryption.key = key;
|
|
22
|
-
return JSON.parse(await Crypto.decrypt(encryption));
|
|
23
|
-
}
|
|
24
|
-
async encrypt(data, key) {
|
|
25
|
-
if (data === undefined)
|
|
26
|
-
throw new Error('Data cannot be empty!');
|
|
27
|
-
if (!key)
|
|
28
|
-
throw new Error('Private cannot be empty!');
|
|
29
|
-
return Crypto.encrypt(JSON.stringify(data), {
|
|
30
|
-
algo: CryptoAlgorithm.AES,
|
|
31
|
-
encoding: Encoding.base64,
|
|
32
|
-
key,
|
|
33
|
-
cipher: Cipher.AES_256_GCM,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
async downloadFromStorage(filepath) {
|
|
37
|
-
const downloadStream = await this.storageProvider.downloadFile(filepath, {});
|
|
38
|
-
return this.streamToString(downloadStream);
|
|
39
|
-
}
|
|
40
|
-
streamToString(stream) {
|
|
41
|
-
const chunks = [];
|
|
42
|
-
return new Promise((resolve, reject) => {
|
|
43
|
-
stream.on('data', (chunk) => {
|
|
44
|
-
chunks.push(Buffer.from(chunk));
|
|
45
|
-
});
|
|
46
|
-
stream.on('error', (err) => reject(err));
|
|
47
|
-
stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
async storageUpload(key, value, privateKey) {
|
|
51
|
-
try {
|
|
52
|
-
const encryptedValue = await this.encrypt(value, privateKey);
|
|
53
|
-
const buffer = Buffer.from(JSON.stringify(encryptedValue));
|
|
54
|
-
await this.storageProvider.uploadFile(Readable.from(buffer), key, buffer.byteLength);
|
|
55
|
-
this.logger?.info({ data: key }, 'Success uploading to storage');
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
this.logger?.error({ err }, 'Error uploading to storage');
|
|
59
|
-
throw err;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
async storageDelete(key) {
|
|
63
|
-
try {
|
|
64
|
-
await this.storageProvider.deleteObject(key);
|
|
65
|
-
this.logger?.info({ data: key }, 'Success deleting from storage');
|
|
66
|
-
}
|
|
67
|
-
catch (err) {
|
|
68
|
-
this.logger?.info({ err }, 'Error deleting from storage');
|
|
69
|
-
throw err;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
async storageDownload(key, privateKey) {
|
|
73
|
-
try {
|
|
74
|
-
const downloaded = await this.downloadFromStorage(key);
|
|
75
|
-
this.logger?.info({ key }, 'Success download data from storage');
|
|
76
|
-
if (!downloaded)
|
|
77
|
-
return null;
|
|
78
|
-
const decryptedValue = await this.decrypt(JSON.parse(downloaded), privateKey);
|
|
79
|
-
return decryptedValue;
|
|
80
|
-
}
|
|
81
|
-
catch (err) {
|
|
82
|
-
this.logger?.info({
|
|
83
|
-
err,
|
|
84
|
-
key,
|
|
85
|
-
}, 'Error download data from storage');
|
|
86
|
-
throw err;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
async storageListFiles(key) {
|
|
90
|
-
try {
|
|
91
|
-
const listObjects = await this.storageProvider.listObjects(key);
|
|
92
|
-
this.logger?.trace({
|
|
93
|
-
data: listObjects,
|
|
94
|
-
key,
|
|
95
|
-
}, 'Success list objects from storage');
|
|
96
|
-
return listObjects.filter((obj) => !obj.isFolder);
|
|
97
|
-
}
|
|
98
|
-
catch (err) {
|
|
99
|
-
this.logger?.info({
|
|
100
|
-
err,
|
|
101
|
-
key,
|
|
102
|
-
}, 'Error list objects from storage');
|
|
103
|
-
throw err;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
async set(key, value, privateKey) {
|
|
107
|
-
return this.storageUpload(key, value, privateKey);
|
|
108
|
-
}
|
|
109
|
-
async delete(key) {
|
|
110
|
-
return this.storageDelete(key);
|
|
111
|
-
}
|
|
112
|
-
async get(key, privateKey) {
|
|
113
|
-
return this.storageDownload(key, privateKey);
|
|
114
|
-
}
|
|
115
|
-
async listFiles(key) {
|
|
116
|
-
return this.storageListFiles(key);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZUtleVZhbHVlQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc3RvcmFnZS9TdG9yYWdlS2V5VmFsdWVBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFjLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdkYsT0FBTyxrQkFBa0IsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLE1BQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxNQUFNLE1BQU0sd0JBQXdCLENBQUM7QUFNNUMsTUFBTSxDQUFDLE9BQU8sT0FBTyxzQkFBc0I7SUFDeEIsZUFBZSxDQUFtQjtJQUNsQyxNQUFNLENBQWlCO0lBRXhDLFlBQVksYUFBNEIsRUFBRSxNQUFxQztRQUM3RSxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDekUsTUFBTSxFQUFFLFFBQVEsR0FBRyxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyRixJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQXNCLEVBQUUsR0FBVztRQUN0RCxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxHQUFHO1lBQUUs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
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import StorageObject from '../../types/storage/StorageObject.js';
|
|
2
|
-
import { CacheRecord } from './types.js';
|
|
3
|
-
import StorageKeyValueAdapter from './StorageKeyValueAdapter.js';
|
|
4
|
-
export interface InstancesUpdates {
|
|
5
|
-
updated: Map<string, StorageObject>;
|
|
6
|
-
deleted: Set<string>;
|
|
7
|
-
}
|
|
8
|
-
export interface StorageMetadataReaderConfig<V extends object> {
|
|
9
|
-
storageKeyValueAdapter: StorageKeyValueAdapter<V>;
|
|
10
|
-
objectDeletedFlag: string;
|
|
11
|
-
showLogs?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export default class StorageMetadataReader<K extends string, V extends object> {
|
|
14
|
-
private readonly logger?;
|
|
15
|
-
private readonly storageKeyValueAdapter;
|
|
16
|
-
private readonly objectDeletedFlag;
|
|
17
|
-
constructor(config: StorageMetadataReaderConfig<V>);
|
|
18
|
-
private listInstances;
|
|
19
|
-
fetchInstancesUpdates(key: K, currentInstances: Map<string, CacheRecord<V>>): Promise<InstancesUpdates>;
|
|
20
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import logger from '../../logger.js';
|
|
2
|
-
export default class StorageMetadataReader {
|
|
3
|
-
logger;
|
|
4
|
-
storageKeyValueAdapter;
|
|
5
|
-
objectDeletedFlag;
|
|
6
|
-
constructor(config) {
|
|
7
|
-
const { showLogs = true, objectDeletedFlag, storageKeyValueAdapter } = config;
|
|
8
|
-
this.logger = showLogs ? logger.child({ class: StorageMetadataReader.name }) : null;
|
|
9
|
-
this.storageKeyValueAdapter = storageKeyValueAdapter;
|
|
10
|
-
this.objectDeletedFlag = objectDeletedFlag;
|
|
11
|
-
}
|
|
12
|
-
async listInstances(key) {
|
|
13
|
-
return this.storageKeyValueAdapter
|
|
14
|
-
.listFiles(`${key}/`)
|
|
15
|
-
.then((objects) => new Map(objects.map((obj) => [obj.name.split('/')?.pop() || obj.name, obj])));
|
|
16
|
-
}
|
|
17
|
-
async fetchInstancesUpdates(key, currentInstances) {
|
|
18
|
-
const result = {
|
|
19
|
-
updated: new Map(),
|
|
20
|
-
deleted: new Set(),
|
|
21
|
-
};
|
|
22
|
-
try {
|
|
23
|
-
const directoryInstances = await this.listInstances(key);
|
|
24
|
-
if (directoryInstances.has(this.objectDeletedFlag)) {
|
|
25
|
-
result.deleted.add(key);
|
|
26
|
-
return result;
|
|
27
|
-
}
|
|
28
|
-
directoryInstances.forEach((instance, instanceId) => {
|
|
29
|
-
const currentInstance = currentInstances.get(instanceId);
|
|
30
|
-
if (!currentInstance || currentInstance.modifiedTs < instance.createdAt.getTime()) {
|
|
31
|
-
result.updated.set(instanceId, instance);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
currentInstances.forEach((_, instanceId) => {
|
|
35
|
-
if (!directoryInstances.has(instanceId)) {
|
|
36
|
-
result.deleted.add(instanceId);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
this.logger?.trace({
|
|
40
|
-
updated: result.updated.size,
|
|
41
|
-
deleted: result.deleted.size,
|
|
42
|
-
}, 'Check result');
|
|
43
|
-
return result;
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
this.logger?.error({ error }, 'Error fetching remote copy');
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZU1ldGFkYXRhUmVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9zdG9yYWdlL1N0b3JhZ2VNZXRhZGF0YVJlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLE1BQWtCLE1BQU0saUJBQWlCLENBQUM7QUFlakQsTUFBTSxDQUFDLE9BQU8sT0FBTyxxQkFBcUI7SUFDdkIsTUFBTSxDQUFpQjtJQUN2QixzQkFBc0IsQ0FBNEI7SUFDbEQsaUJBQWlCLENBQVM7SUFFM0MsWUFBWSxNQUFzQztRQUNoRCxNQUFNLEVBQUUsUUFBUSxHQUFHLElBQUksRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUM5RSxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQ3JELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFNO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQjthQUMvQixTQUFTLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQzthQUNwQixJQUFJLENBQ0gsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQzFGLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUN6QixHQUFNLEVBQ04sZ0JBQTZDO1FBRTdDLE1BQU0sTUFBTSxHQUFxQjtZQUMvQixPQUFPLEVBQUUsSUFBSSxHQUFHLEVBQUU7WUFDbEIsT0FBTyxFQUFFLElBQUksR0FBRyxFQUFFO1NBQ25CLENBQUM7UUFFRixJQUFJO1lBQ0YsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFekQsSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7Z0JBQ2xELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUV4QixPQUFPLE1BQU0sQ0FBQzthQUNmO1lBRUQsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUNsRCxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxlQUFlLElBQUksZUFBZSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNqRixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7aUJBQzFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7b0JBQ3ZDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNoQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQ2hCO2dCQUNFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQzVCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUk7YUFDN0IsRUFDRCxjQUFjLENBQ2YsQ0FBQztZQUVGLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztZQUU1RCxPQUFPLE1BQU0sQ0FBQztTQUNmO0lBQ0gsQ0FBQztDQUNGIn0=
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import logger from '../../logger.js';
|
|
2
|
-
import StorageAdapter from './StorageAdapter.js';
|
|
3
|
-
export default class StorjAdapter {
|
|
4
|
-
storageAdapter;
|
|
5
|
-
logger;
|
|
6
|
-
constructor(storageAccess, config) {
|
|
7
|
-
const { showLogs = true } = config || {};
|
|
8
|
-
this.logger = showLogs ? logger.child({ class: StorjAdapter.name }) : null;
|
|
9
|
-
this.storageAdapter = new StorageAdapter(storageAccess, config);
|
|
10
|
-
this.storageAdapter.run();
|
|
11
|
-
}
|
|
12
|
-
subscribe(cb) {
|
|
13
|
-
return this.storageAdapter?.subscribe(cb);
|
|
14
|
-
}
|
|
15
|
-
async get(key, encryptionKey) {
|
|
16
|
-
return this.storageAdapter.get(key, encryptionKey).catch((err) => {
|
|
17
|
-
const message = err.message?.toLowerCase() || '';
|
|
18
|
-
if (message.includes('object not found') || message.includes('object has been deleted')) {
|
|
19
|
-
this.logger?.info({ key }, 'Object not found');
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
throw err;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
async has(key) {
|
|
26
|
-
return this.storageAdapter.has(key);
|
|
27
|
-
}
|
|
28
|
-
async set(key, value, encryptionKey) {
|
|
29
|
-
return this.storageAdapter.set(key, value, encryptionKey).catch((err) => {
|
|
30
|
-
const message = err.message?.toLowerCase() || '';
|
|
31
|
-
if (message.includes('object has been deleted')) {
|
|
32
|
-
this.logger?.info({ key }, 'Object has been deleted');
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
throw err;
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
async del(key) {
|
|
39
|
-
return this.storageAdapter.delete(key);
|
|
40
|
-
}
|
|
41
|
-
stop() {
|
|
42
|
-
this.storageAdapter.stop();
|
|
43
|
-
}
|
|
44
|
-
async shutdown() {
|
|
45
|
-
await this.storageAdapter.shutdown();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmpBZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9zdG9yYWdlL1N0b3JqQWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLE1BQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxjQUFxRCxNQUFNLHFCQUFxQixDQUFDO0FBSXhGLE1BQU0sQ0FBQyxPQUFPLE9BQU8sWUFBWTtJQUN2QixjQUFjLENBQW9CO0lBQ3pCLE1BQU0sQ0FBaUI7SUFDeEMsWUFBWSxhQUE0QixFQUFFLE1BQW1CO1FBQzNELE1BQU0sRUFBRSxRQUFRLEdBQUcsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzNFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUNNLFNBQVMsQ0FBQyxFQUE0RDtRQUMzRSxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxhQUFxQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFVLEVBQUUsRUFBRTtZQUN0RSxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNqRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUU7Z0JBQ3ZGLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFFL0MsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ00sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVEsRUFBRSxhQUFxQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBVSxFQUFFLEVBQUU7WUFDN0UsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDakQsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUseUJBQXlCLENBQUMsQ0FBQztnQkFFdEQsT0FBTzthQUNSO1lBQ0QsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVc7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ00sSUFBSTtRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUNNLEtBQUssQ0FBQyxRQUFRO1FBQ25CLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0NBQ0YifQ==
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { Buffer } from 'buffer';
|
|
2
|
-
import { isNodeJS } from '../../utils/helper.js';
|
|
3
|
-
import stream from 'stream';
|
|
4
|
-
import logger from '../../logger.js';
|
|
5
|
-
export default class StorJStorageProvider {
|
|
6
|
-
static DOWNLOAD_BUFFER_SIZE = 4194304; // 4mb
|
|
7
|
-
logger = logger.child({ className: 'StorJStorageProvider' });
|
|
8
|
-
bucket;
|
|
9
|
-
prefix;
|
|
10
|
-
accessToken;
|
|
11
|
-
_access;
|
|
12
|
-
_project;
|
|
13
|
-
_storj;
|
|
14
|
-
maximumConcurrent;
|
|
15
|
-
constructor(credentials, maximumConcurrent) {
|
|
16
|
-
if (!isNodeJS()) {
|
|
17
|
-
throw Error('StorageProvider: StorJ is supported only in the node.js execution environment');
|
|
18
|
-
}
|
|
19
|
-
this.bucket = '';
|
|
20
|
-
this.prefix = '';
|
|
21
|
-
if (credentials.bucket) {
|
|
22
|
-
this.bucket = credentials.bucket;
|
|
23
|
-
this.prefix = credentials.prefix;
|
|
24
|
-
}
|
|
25
|
-
else if (credentials.storageId) {
|
|
26
|
-
// back compatibility
|
|
27
|
-
this.bucket = credentials.storageId;
|
|
28
|
-
}
|
|
29
|
-
this.accessToken = credentials.token;
|
|
30
|
-
this.maximumConcurrent = maximumConcurrent;
|
|
31
|
-
}
|
|
32
|
-
async uploadFile(inputStream, remotePath, contentLength, progressListener) {
|
|
33
|
-
const storj = await this.lazyStorj();
|
|
34
|
-
const options = new storj.UploadOptions();
|
|
35
|
-
const project = await this.lazyProject();
|
|
36
|
-
const uploader = await project.uploadObject(this.bucket, this.prefix + remotePath, options);
|
|
37
|
-
let totalWritten = 0;
|
|
38
|
-
try {
|
|
39
|
-
for await (const buffer of inputStream) {
|
|
40
|
-
await uploader.write(buffer, buffer.length);
|
|
41
|
-
totalWritten += buffer.length;
|
|
42
|
-
if (!!progressListener) {
|
|
43
|
-
progressListener(contentLength, totalWritten);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
await uploader.commit();
|
|
47
|
-
}
|
|
48
|
-
catch (uploadingError) {
|
|
49
|
-
try {
|
|
50
|
-
await uploader.abort();
|
|
51
|
-
}
|
|
52
|
-
catch (abortingError) {
|
|
53
|
-
logger.error({ err: abortingError }, 'Failed to abort file uploading');
|
|
54
|
-
}
|
|
55
|
-
throw uploadingError;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
async downloadFile(remotePath, config, progressListener) {
|
|
59
|
-
const storj = await this.lazyStorj();
|
|
60
|
-
const project = await this.lazyProject();
|
|
61
|
-
const length = config.length || (await this.getObjectSize(remotePath));
|
|
62
|
-
const options = new storj.DownloadOptions(config.offset || 0, length);
|
|
63
|
-
const downloader = await project.downloadObject(this.bucket, this.prefix + remotePath, options);
|
|
64
|
-
const loader = async function* () {
|
|
65
|
-
const readBuffer = Buffer.alloc(StorJStorageProvider.DOWNLOAD_BUFFER_SIZE);
|
|
66
|
-
let current = 0;
|
|
67
|
-
while (current < length) {
|
|
68
|
-
// We have to cast result to any, because of the wrong type declartion in uplink-nodejs.
|
|
69
|
-
const downloadResult = await downloader.read(readBuffer, readBuffer.length);
|
|
70
|
-
const bytesRead = downloadResult.bytes_read;
|
|
71
|
-
current += bytesRead;
|
|
72
|
-
yield Buffer.from(readBuffer.subarray(0, bytesRead));
|
|
73
|
-
if (!!progressListener) {
|
|
74
|
-
progressListener(length, current);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
return stream.Readable.from(loader()).on('close', async () => {
|
|
79
|
-
await downloader.close();
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
async deleteObject(remotePath) {
|
|
83
|
-
const project = await this.lazyProject();
|
|
84
|
-
await project.deleteObject(this.bucket, this.prefix + remotePath);
|
|
85
|
-
}
|
|
86
|
-
async listObjects(remotePath) {
|
|
87
|
-
const storj = await this.lazyStorj();
|
|
88
|
-
const project = await this.lazyProject();
|
|
89
|
-
const objects = await project.listObjects(this.bucket, {
|
|
90
|
-
recursive: true,
|
|
91
|
-
cursor: '',
|
|
92
|
-
prefix: this.prefix + remotePath,
|
|
93
|
-
system: true,
|
|
94
|
-
custom: true,
|
|
95
|
-
});
|
|
96
|
-
const result = [];
|
|
97
|
-
for (const key in Object.keys(objects)) {
|
|
98
|
-
const value = objects[key];
|
|
99
|
-
result.push({
|
|
100
|
-
name: value.key,
|
|
101
|
-
size: value.system.content_length,
|
|
102
|
-
isFolder: value.is_prefix == 1,
|
|
103
|
-
childrenCount: value.custom.count,
|
|
104
|
-
createdAt: new Date(value.system.created * 1000), // TODO: check timezone
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
return result;
|
|
108
|
-
}
|
|
109
|
-
async getObjectSize(remotePath) {
|
|
110
|
-
const project = await this.lazyProject();
|
|
111
|
-
const objectInfo = await project.statObject(this.bucket, this.prefix + remotePath);
|
|
112
|
-
return objectInfo.system.content_length;
|
|
113
|
-
}
|
|
114
|
-
async getLastModified(remotePath) {
|
|
115
|
-
const project = await this.lazyProject();
|
|
116
|
-
const objectInfo = await project.statObject(this.bucket, this.prefix + remotePath);
|
|
117
|
-
return new Date(objectInfo.system.created * 1000);
|
|
118
|
-
}
|
|
119
|
-
async lazyStorj() {
|
|
120
|
-
if (!this._storj) {
|
|
121
|
-
this._storj = await require('@super-protocol/uplink-nodejs');
|
|
122
|
-
}
|
|
123
|
-
return this._storj;
|
|
124
|
-
}
|
|
125
|
-
async lazyAccess() {
|
|
126
|
-
if (!this._access) {
|
|
127
|
-
const storj = await this.lazyStorj();
|
|
128
|
-
const uplink = new storj.Uplink();
|
|
129
|
-
this._access = await uplink.parseAccess(this.accessToken);
|
|
130
|
-
}
|
|
131
|
-
return this._access;
|
|
132
|
-
}
|
|
133
|
-
async lazyProject() {
|
|
134
|
-
if (!this._project) {
|
|
135
|
-
const access = await this.lazyAccess();
|
|
136
|
-
this._project = await access.openProject(this.maximumConcurrent);
|
|
137
|
-
}
|
|
138
|
-
return this._project;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmpTdG9yYWdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvU3RvcmpTdG9yYWdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQW9CO0lBQ3ZDLE1BQU0sQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxNQUFNO0lBRXJDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztJQUM3RCxNQUFNLENBQVM7SUFDZixNQUFNLENBQVM7SUFDZixXQUFXLENBQVM7SUFDcEIsT0FBTyxDQUFVO0lBQ2pCLFFBQVEsQ0FBVztJQUNuQixNQUFNLENBQU87SUFDYixpQkFBaUIsQ0FBVTtJQUVuQyxZQUFZLFdBQWdCLEVBQUUsaUJBQTBCO1FBQ3RELElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNmLE1BQU0sS0FBSyxDQUFDLCtFQUErRSxDQUFDLENBQUM7U0FDOUY7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUVqQixJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztTQUNsQzthQUFNLElBQUksV0FBVyxDQUFDLFNBQVMsRUFBRTtZQUNoQyxxQkFBcUI7WUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO1NBQ3JDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FDZCxXQUE0QixFQUM1QixVQUFrQixFQUNsQixhQUFxQixFQUNyQixnQkFBMkQ7UUFFM0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFNUYsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRXJCLElBQUk7WUFDRixJQUFJLEtBQUssRUFBRSxNQUFNLE1BQU0sSUFBSSxXQUFXLEVBQUU7Z0JBQ3RDLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1QyxZQUFZLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDOUIsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLEVBQUU7b0JBQ3RCLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztpQkFDL0M7YUFDRjtZQUVELE1BQU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3pCO1FBQUMsT0FBTyxjQUFjLEVBQUU7WUFDdkIsSUFBSTtnQkFDRixNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUN4QjtZQUFDLE9BQU8sYUFBYSxFQUFFO2dCQUN0QixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFFLGdDQUFnQyxDQUFDLENBQUM7YUFDeEU7WUFFRCxNQUFNLGNBQWMsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUNoQixVQUFrQixFQUNsQixNQUFzQixFQUN0QixnQkFBMkQ7UUFFM0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RSxNQUFNLFVBQVUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVoRyxNQUFNLE1BQU0sR0FBRyxLQUFLLFNBQVMsQ0FBQztZQUM1QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDM0UsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLE9BQU8sT0FBTyxHQUFHLE1BQU0sRUFBRTtnQkFDdkIsd0ZBQXdGO2dCQUN4RixNQUFNLGNBQWMsR0FBUSxNQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDakYsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQztnQkFDNUMsT0FBTyxJQUFJLFNBQVMsQ0FBQztnQkFFckIsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBRXJELElBQUksQ0FBQyxDQUFDLGdCQUFnQixFQUFFO29CQUN0QixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7aUJBQ25DO2FBQ0Y7UUFDSCxDQUFDLENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtZQUMzRCxNQUFNLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQWtCO1FBQ25DLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBa0I7UUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDckQsU0FBUyxFQUFFLElBQUk7WUFDZixNQUFNLEVBQUUsRUFBRTtZQUNWLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVU7WUFDaEMsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNmLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWM7Z0JBQ2pDLFFBQVEsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUM7Z0JBQzlCLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7Z0JBQ2pDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSx1QkFBdUI7YUFDMUUsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFrQjtRQUNwQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxNQUFNLFVBQVUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBRW5GLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsVUFBa0I7UUFDdEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekMsTUFBTSxVQUFVLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQztRQUVuRixPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUztRQUtyQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7U0FDOUQ7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVPLEtBQUssQ0FBQyxVQUFVO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMzRDtRQUVELE9BQU8sSUFBSSxDQUFDLE9BQVEsQ0FBQztJQUN2QixDQUFDO0lBRU8sS0FBSyxDQUFDLFdBQVc7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDbEU7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQyJ9
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { StorageType } from '@super-protocol/dto-js';
|
|
2
|
-
import StorjStorageProvider from './StorjStorageProvider.js';
|
|
3
|
-
import { S3StorageProvider } from './S3StorageProvider.js';
|
|
4
|
-
export default (storageAccess) => {
|
|
5
|
-
const key = storageAccess.storageType;
|
|
6
|
-
switch (key) {
|
|
7
|
-
case StorageType.StorJ:
|
|
8
|
-
return new StorjStorageProvider(storageAccess.credentials, storageAccess.maximumConcurrent);
|
|
9
|
-
case StorageType.S3:
|
|
10
|
-
return new S3StorageProvider(storageAccess.credentials);
|
|
11
|
-
default:
|
|
12
|
-
throw Error(`Unsupported storageType ${key}`);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U3RvcmFnZVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9zdG9yYWdlL2dldFN0b3JhZ2VQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHckQsT0FBTyxvQkFBb0IsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxlQUFlLENBQUMsYUFBNEIsRUFBb0IsRUFBRTtJQUNoRSxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsV0FBMEIsQ0FBQztJQUNyRCxRQUFRLEdBQUcsRUFBRTtRQUNYLEtBQUssV0FBVyxDQUFDLEtBQUs7WUFDcEIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUYsS0FBSyxXQUFXLENBQUMsRUFBRTtZQUNqQixPQUFPLElBQUksaUJBQWlCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFEO1lBQ0UsTUFBTSxLQUFLLENBQUMsMkJBQTJCLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDakQ7QUFDSCxDQUFDLENBQUMifQ==
|