@sudoplatform/sudo-common 7.0.2 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/configurationManager/defaultConfigurationManager.d.ts +123 -0
- package/cjs/configurationManager/defaultConfigurationManager.js +122 -0
- package/cjs/configurationManager/defaultConfigurationManager.js.map +1 -0
- package/cjs/errors/error.d.ts +263 -0
- package/cjs/errors/error.js +442 -0
- package/cjs/errors/error.js.map +1 -0
- package/cjs/index.d.ts +9 -0
- package/cjs/index.js +13 -0
- package/cjs/index.js.map +1 -0
- package/cjs/logging/bunyanLogger.d.ts +8 -0
- package/cjs/logging/bunyanLogger.js +36 -0
- package/cjs/logging/bunyanLogger.js.map +1 -0
- package/cjs/logging/logger.d.ts +87 -0
- package/cjs/logging/logger.js +77 -0
- package/cjs/logging/logger.js.map +1 -0
- package/cjs/sudoKeyArchive/index.d.ts +4 -0
- package/cjs/sudoKeyArchive/index.js +8 -0
- package/cjs/sudoKeyArchive/index.js.map +1 -0
- package/cjs/sudoKeyArchive/keyArchive.d.ts +137 -0
- package/cjs/sudoKeyArchive/keyArchive.js +84 -0
- package/cjs/sudoKeyArchive/keyArchive.js.map +1 -0
- package/cjs/sudoKeyArchive/keyInfo.d.ts +41 -0
- package/cjs/sudoKeyArchive/keyInfo.js +17 -0
- package/cjs/sudoKeyArchive/keyInfo.js.map +1 -0
- package/cjs/sudoKeyArchive/keyType.d.ts +13 -0
- package/cjs/sudoKeyArchive/keyType.js +39 -0
- package/cjs/sudoKeyArchive/keyType.js.map +1 -0
- package/cjs/sudoKeyArchive/sudoKeyArchive.d.ts +190 -0
- package/cjs/sudoKeyArchive/sudoKeyArchive.js +373 -0
- package/cjs/sudoKeyArchive/sudoKeyArchive.js.map +1 -0
- package/cjs/sudoKeyManager/index.d.ts +4 -0
- package/cjs/sudoKeyManager/index.js +8 -0
- package/cjs/sudoKeyManager/index.js.map +1 -0
- package/cjs/sudoKeyManager/keyData.d.ts +56 -0
- package/cjs/sudoKeyManager/keyData.js +46 -0
- package/cjs/sudoKeyManager/keyData.js.map +1 -0
- package/cjs/sudoKeyManager/publicKey.d.ts +8 -0
- package/cjs/sudoKeyManager/publicKey.js +9 -0
- package/cjs/sudoKeyManager/publicKey.js.map +1 -0
- package/cjs/sudoKeyManager/sudoCryptoProvider.d.ts +324 -0
- package/cjs/sudoKeyManager/sudoCryptoProvider.js +12 -0
- package/cjs/sudoKeyManager/sudoCryptoProvider.js.map +1 -0
- package/cjs/sudoKeyManager/sudoKeyManager.d.ts +344 -0
- package/cjs/sudoKeyManager/sudoKeyManager.js +140 -0
- package/cjs/sudoKeyManager/sudoKeyManager.js.map +1 -0
- package/cjs/types/types.d.ts +115 -0
- package/cjs/types/types.js +45 -0
- package/cjs/types/types.js.map +1 -0
- package/cjs/utils/base64.d.ts +44 -0
- package/cjs/utils/base64.js +71 -0
- package/cjs/utils/base64.js.map +1 -0
- package/cjs/utils/buffer.d.ts +13 -0
- package/cjs/utils/buffer.js +37 -0
- package/cjs/utils/buffer.js.map +1 -0
- package/cjs/utils/stream.d.ts +6 -0
- package/cjs/utils/stream.js +70 -0
- package/cjs/utils/stream.js.map +1 -0
- package/lib/configurationManager/defaultConfigurationManager.js +106 -158
- package/lib/configurationManager/defaultConfigurationManager.js.map +1 -0
- package/lib/errors/error.js +226 -438
- package/lib/errors/error.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +10 -109
- package/lib/index.js.map +1 -0
- package/lib/logging/bunyanLogger.js +29 -41
- package/lib/logging/bunyanLogger.js.map +1 -0
- package/lib/logging/logger.js +66 -92
- package/lib/logging/logger.js.map +1 -0
- package/lib/sudoKeyArchive/index.js +5 -57
- package/lib/sudoKeyArchive/index.js.map +1 -0
- package/lib/sudoKeyArchive/keyArchive.d.ts +8 -8
- package/lib/sudoKeyArchive/keyArchive.js +69 -96
- package/lib/sudoKeyArchive/keyArchive.js.map +1 -0
- package/lib/sudoKeyArchive/keyInfo.js +11 -49
- package/lib/sudoKeyArchive/keyInfo.js.map +1 -0
- package/lib/sudoKeyArchive/keyType.js +27 -37
- package/lib/sudoKeyArchive/keyType.js.map +1 -0
- package/lib/sudoKeyArchive/sudoKeyArchive.js +351 -444
- package/lib/sudoKeyArchive/sudoKeyArchive.js.map +1 -0
- package/lib/sudoKeyManager/index.js +5 -57
- package/lib/sudoKeyManager/index.js.map +1 -0
- package/lib/sudoKeyManager/keyData.js +38 -33
- package/lib/sudoKeyManager/keyData.js.map +1 -0
- package/lib/sudoKeyManager/publicKey.js +5 -12
- package/lib/sudoKeyManager/publicKey.js.map +1 -0
- package/lib/sudoKeyManager/sudoCryptoProvider.js +8 -26
- package/lib/sudoKeyManager/sudoCryptoProvider.js.map +1 -0
- package/lib/sudoKeyManager/sudoKeyManager.js +135 -173
- package/lib/sudoKeyManager/sudoKeyManager.js.map +1 -0
- package/lib/types/types.js +27 -33
- package/lib/types/types.js.map +1 -0
- package/lib/utils/base64.d.ts +35 -0
- package/lib/utils/base64.js +63 -28
- package/lib/utils/base64.js.map +1 -0
- package/lib/utils/buffer.js +28 -46
- package/lib/utils/buffer.js.map +1 -0
- package/lib/utils/stream.d.ts +6 -0
- package/lib/utils/stream.js +63 -0
- package/lib/utils/stream.js.map +1 -0
- package/package.json +36 -29
- package/.babelrc +0 -10
- package/.eslintrc.js +0 -91
- package/.gitignore +0 -14
- package/.gitlab-ci.yml +0 -101
- package/.npmignore +0 -1
- package/.prettierignore +0 -3
- package/.prettierrc.js +0 -7
- package/.publisher.json +0 -7
- package/.vscode/settings.json +0 -5
- package/.yarn/releases/yarn-1.22.19.cjs +0 -147529
- package/.yarnrc +0 -5
- package/dependencies-report.json +0 -640
- package/docs/.nojekyll +0 -1
- package/docs/assets/highlight.css +0 -57
- package/docs/assets/main.js +0 -54
- package/docs/assets/search.js +0 -1
- package/docs/assets/style.css +0 -1224
- package/docs/assets/widgets.png +0 -0
- package/docs/assets/widgets@2x.png +0 -0
- package/docs/classes/AccountLockedError.html +0 -163
- package/docs/classes/AuthenticationError.html +0 -169
- package/docs/classes/Base64.html +0 -134
- package/docs/classes/Buffer.html +0 -158
- package/docs/classes/ConfigurationNotSetError.html +0 -164
- package/docs/classes/ConfigurationSetNotFoundError.html +0 -168
- package/docs/classes/DecodeError.html +0 -168
- package/docs/classes/DefaultConfigurationManager.html +0 -213
- package/docs/classes/DefaultLogger.html +0 -291
- package/docs/classes/DefaultSudoKeyArchive.html +0 -363
- package/docs/classes/DefaultSudoKeyManager.html +0 -814
- package/docs/classes/FatalError.html +0 -169
- package/docs/classes/IllegalArgumentError.html +0 -168
- package/docs/classes/IllegalStateError.html +0 -169
- package/docs/classes/InsufficientEntitlementsError.html +0 -164
- package/docs/classes/InvalidOwnershipProofError.html +0 -163
- package/docs/classes/InvalidTokenError.html +0 -163
- package/docs/classes/KeyArchiveDecodingError.html +0 -168
- package/docs/classes/KeyArchiveIncorrectPasswordError.html +0 -168
- package/docs/classes/KeyArchiveMissingError.html +0 -168
- package/docs/classes/KeyArchiveNoPasswordRequiredError.html +0 -168
- package/docs/classes/KeyArchivePasswordRequiredError.html +0 -168
- package/docs/classes/KeyArchiveTypeError.html +0 -168
- package/docs/classes/KeyArchiveUnknownKeyTypeError.html +0 -168
- package/docs/classes/KeyArchiveVersionError.html +0 -168
- package/docs/classes/KeyNotFoundError.html +0 -168
- package/docs/classes/KeyStoreNotExportableError.html +0 -168
- package/docs/classes/LimitExceededError.html +0 -164
- package/docs/classes/NoEntitlementsError.html +0 -163
- package/docs/classes/NotAuthorizedError.html +0 -169
- package/docs/classes/NotRegisteredError.html +0 -168
- package/docs/classes/NotSignedInError.html +0 -164
- package/docs/classes/OperationNotImplementedError.html +0 -168
- package/docs/classes/RegisterError.html +0 -169
- package/docs/classes/RequestFailedError.html +0 -189
- package/docs/classes/ServiceError.html +0 -170
- package/docs/classes/SignOutError.html +0 -168
- package/docs/classes/SudoCryptoProviderDefaults.html +0 -106
- package/docs/classes/UnknownGraphQLError.html +0 -169
- package/docs/classes/UnrecognizedAlgorithmError.html +0 -168
- package/docs/classes/UserNotConfirmedError.html +0 -164
- package/docs/classes/VersionMismatchError.html +0 -166
- package/docs/enums/CachePolicy.html +0 -72
- package/docs/enums/EncryptionAlgorithm.html +0 -80
- package/docs/enums/KeyArchiveKeyType.html +0 -86
- package/docs/enums/KeyDataKeyFormat.html +0 -92
- package/docs/enums/KeyDataKeyType.html +0 -85
- package/docs/enums/ListOperationResultStatus.html +0 -85
- package/docs/enums/PublicKeyFormat.html +0 -68
- package/docs/functions/isAppSyncNetworkError.html +0 -147
- package/docs/functions/isInsecureKeyArchive.html +0 -147
- package/docs/functions/isSecureKeyArchive.html +0 -147
- package/docs/functions/isUnrecognizedKeyArchive.html +0 -147
- package/docs/functions/keyArchiveInfoFromKeyData.html +0 -147
- package/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +0 -147
- package/docs/functions/mapGraphQLToClientError.html +0 -154
- package/docs/functions/mapNetworkErrorToClientError.html +0 -154
- package/docs/index.html +0 -146
- package/docs/interfaces/AsymmetricEncryptionOptions.html +0 -68
- package/docs/interfaces/BooleanFilter.html +0 -75
- package/docs/interfaces/ConfigurationManager.html +0 -200
- package/docs/interfaces/KeyData.html +0 -106
- package/docs/interfaces/ListOperationFailureResult.html +0 -76
- package/docs/interfaces/ListOperationPartialResult.html +0 -102
- package/docs/interfaces/ListOperationSuccessResult.html +0 -90
- package/docs/interfaces/ListOutput.html +0 -80
- package/docs/interfaces/Logger.html +0 -251
- package/docs/interfaces/Owner.html +0 -72
- package/docs/interfaces/PublicKey.html +0 -72
- package/docs/interfaces/ServiceCompatibilityInfo.html +0 -110
- package/docs/interfaces/StringFilter.html +0 -82
- package/docs/interfaces/SudoCryptoProvider.html +0 -865
- package/docs/interfaces/SudoKeyArchive.html +0 -257
- package/docs/interfaces/SudoKeyManager.html +0 -848
- package/docs/interfaces/SymmetricEncryptionOptions.html +0 -75
- package/docs/interfaces/ValidationResult.html +0 -83
- package/docs/modules.html +0 -248
- package/docs/types/AppSyncError.html +0 -138
- package/docs/types/AppSyncNetworkError.html +0 -138
- package/docs/types/InsecureKeyArchive.html +0 -138
- package/docs/types/KeyArchive.html +0 -138
- package/docs/types/KeyArchiveKeyInfo.html +0 -154
- package/docs/types/KeyArchiveKeyInfoDecoded.html +0 -138
- package/docs/types/ListOperationResult.html +0 -148
- package/docs/types/SecureKeyArchive.html +0 -138
- package/docs/types/Subset.html +0 -144
- package/docs/types/UnrecognizedKeyArchive.html +0 -138
- package/docs/variables/CURRENT_ARCHIVE_VERSION.html +0 -138
- package/docs/variables/InsecureKeyArchiveCodec.html +0 -138
- package/docs/variables/InsecureKeyArchiveType.html +0 -138
- package/docs/variables/KeyArchiveCodec.html +0 -138
- package/docs/variables/KeyArchiveKeyInfoArrayCodec.html +0 -138
- package/docs/variables/KeyArchiveKeyInfoCodec.html +0 -138
- package/docs/variables/KeyArchiveKeyTypeCodec.html +0 -138
- package/docs/variables/SecureKeyArchiveCodec.html +0 -138
- package/docs/variables/SecureKeyArchiveType.html +0 -138
- package/docs/variables/UnrecognizedKeyArchiveCodec.html +0 -138
- package/github/.babelrc +0 -10
- package/github/.eslintrc.js +0 -91
- package/github/.gitignore +0 -14
- package/github/.gitlab-ci.yml +0 -101
- package/github/.npmignore +0 -1
- package/github/.prettierignore +0 -3
- package/github/.prettierrc.js +0 -7
- package/github/.publisher.json +0 -7
- package/github/.vscode/settings.json +0 -5
- package/github/.yarn/releases/yarn-1.22.19.cjs +0 -147529
- package/github/.yarnrc +0 -5
- package/github/CHANGELOG.md +0 -51
- package/github/README.md +0 -8
- package/github/bin/outdated-with-suppression.sh +0 -203
- package/github/bin/suppress-audit.sh +0 -15
- package/github/bin/suppress-outdated.sh +0 -60
- package/github/bin/yarn-audit-with-suppression.sh +0 -19
- package/github/docs/.nojekyll +0 -1
- package/github/docs/assets/highlight.css +0 -57
- package/github/docs/assets/main.js +0 -54
- package/github/docs/assets/search.js +0 -1
- package/github/docs/assets/style.css +0 -1224
- package/github/docs/assets/widgets.png +0 -0
- package/github/docs/assets/widgets@2x.png +0 -0
- package/github/docs/classes/AccountLockedError.html +0 -163
- package/github/docs/classes/AuthenticationError.html +0 -169
- package/github/docs/classes/Base64.html +0 -134
- package/github/docs/classes/Buffer.html +0 -158
- package/github/docs/classes/ConfigurationNotSetError.html +0 -164
- package/github/docs/classes/ConfigurationSetNotFoundError.html +0 -168
- package/github/docs/classes/DecodeError.html +0 -168
- package/github/docs/classes/DefaultConfigurationManager.html +0 -213
- package/github/docs/classes/DefaultLogger.html +0 -291
- package/github/docs/classes/DefaultSudoKeyArchive.html +0 -363
- package/github/docs/classes/DefaultSudoKeyManager.html +0 -814
- package/github/docs/classes/FatalError.html +0 -169
- package/github/docs/classes/IllegalArgumentError.html +0 -168
- package/github/docs/classes/IllegalStateError.html +0 -169
- package/github/docs/classes/InsufficientEntitlementsError.html +0 -164
- package/github/docs/classes/InvalidOwnershipProofError.html +0 -163
- package/github/docs/classes/InvalidTokenError.html +0 -163
- package/github/docs/classes/KeyArchiveDecodingError.html +0 -168
- package/github/docs/classes/KeyArchiveIncorrectPasswordError.html +0 -168
- package/github/docs/classes/KeyArchiveMissingError.html +0 -168
- package/github/docs/classes/KeyArchiveNoPasswordRequiredError.html +0 -168
- package/github/docs/classes/KeyArchivePasswordRequiredError.html +0 -168
- package/github/docs/classes/KeyArchiveTypeError.html +0 -168
- package/github/docs/classes/KeyArchiveUnknownKeyTypeError.html +0 -168
- package/github/docs/classes/KeyArchiveVersionError.html +0 -168
- package/github/docs/classes/KeyNotFoundError.html +0 -168
- package/github/docs/classes/KeyStoreNotExportableError.html +0 -168
- package/github/docs/classes/LimitExceededError.html +0 -164
- package/github/docs/classes/NoEntitlementsError.html +0 -163
- package/github/docs/classes/NotAuthorizedError.html +0 -169
- package/github/docs/classes/NotRegisteredError.html +0 -168
- package/github/docs/classes/NotSignedInError.html +0 -164
- package/github/docs/classes/OperationNotImplementedError.html +0 -168
- package/github/docs/classes/RegisterError.html +0 -169
- package/github/docs/classes/RequestFailedError.html +0 -189
- package/github/docs/classes/ServiceError.html +0 -170
- package/github/docs/classes/SignOutError.html +0 -168
- package/github/docs/classes/SudoCryptoProviderDefaults.html +0 -106
- package/github/docs/classes/UnknownGraphQLError.html +0 -169
- package/github/docs/classes/UnrecognizedAlgorithmError.html +0 -168
- package/github/docs/classes/UserNotConfirmedError.html +0 -164
- package/github/docs/classes/VersionMismatchError.html +0 -166
- package/github/docs/enums/CachePolicy.html +0 -72
- package/github/docs/enums/EncryptionAlgorithm.html +0 -80
- package/github/docs/enums/KeyArchiveKeyType.html +0 -86
- package/github/docs/enums/KeyDataKeyFormat.html +0 -92
- package/github/docs/enums/KeyDataKeyType.html +0 -85
- package/github/docs/enums/ListOperationResultStatus.html +0 -85
- package/github/docs/enums/PublicKeyFormat.html +0 -68
- package/github/docs/functions/isAppSyncNetworkError.html +0 -147
- package/github/docs/functions/isInsecureKeyArchive.html +0 -147
- package/github/docs/functions/isSecureKeyArchive.html +0 -147
- package/github/docs/functions/isUnrecognizedKeyArchive.html +0 -147
- package/github/docs/functions/keyArchiveInfoFromKeyData.html +0 -147
- package/github/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +0 -147
- package/github/docs/functions/mapGraphQLToClientError.html +0 -154
- package/github/docs/functions/mapNetworkErrorToClientError.html +0 -154
- package/github/docs/index.html +0 -146
- package/github/docs/interfaces/AsymmetricEncryptionOptions.html +0 -68
- package/github/docs/interfaces/BooleanFilter.html +0 -75
- package/github/docs/interfaces/ConfigurationManager.html +0 -200
- package/github/docs/interfaces/KeyData.html +0 -106
- package/github/docs/interfaces/ListOperationFailureResult.html +0 -76
- package/github/docs/interfaces/ListOperationPartialResult.html +0 -102
- package/github/docs/interfaces/ListOperationSuccessResult.html +0 -90
- package/github/docs/interfaces/ListOutput.html +0 -80
- package/github/docs/interfaces/Logger.html +0 -251
- package/github/docs/interfaces/Owner.html +0 -72
- package/github/docs/interfaces/PublicKey.html +0 -72
- package/github/docs/interfaces/ServiceCompatibilityInfo.html +0 -110
- package/github/docs/interfaces/StringFilter.html +0 -82
- package/github/docs/interfaces/SudoCryptoProvider.html +0 -865
- package/github/docs/interfaces/SudoKeyArchive.html +0 -257
- package/github/docs/interfaces/SudoKeyManager.html +0 -848
- package/github/docs/interfaces/SymmetricEncryptionOptions.html +0 -75
- package/github/docs/interfaces/ValidationResult.html +0 -83
- package/github/docs/modules.html +0 -248
- package/github/docs/types/AppSyncError.html +0 -138
- package/github/docs/types/AppSyncNetworkError.html +0 -138
- package/github/docs/types/InsecureKeyArchive.html +0 -138
- package/github/docs/types/KeyArchive.html +0 -138
- package/github/docs/types/KeyArchiveKeyInfo.html +0 -154
- package/github/docs/types/KeyArchiveKeyInfoDecoded.html +0 -138
- package/github/docs/types/ListOperationResult.html +0 -148
- package/github/docs/types/SecureKeyArchive.html +0 -138
- package/github/docs/types/Subset.html +0 -144
- package/github/docs/types/UnrecognizedKeyArchive.html +0 -138
- package/github/docs/variables/CURRENT_ARCHIVE_VERSION.html +0 -138
- package/github/docs/variables/InsecureKeyArchiveCodec.html +0 -138
- package/github/docs/variables/InsecureKeyArchiveType.html +0 -138
- package/github/docs/variables/KeyArchiveCodec.html +0 -138
- package/github/docs/variables/KeyArchiveKeyInfoArrayCodec.html +0 -138
- package/github/docs/variables/KeyArchiveKeyInfoCodec.html +0 -138
- package/github/docs/variables/KeyArchiveKeyTypeCodec.html +0 -138
- package/github/docs/variables/SecureKeyArchiveCodec.html +0 -138
- package/github/docs/variables/SecureKeyArchiveType.html +0 -138
- package/github/docs/variables/UnrecognizedKeyArchiveCodec.html +0 -138
- package/github/jest.config.json +0 -14
- package/github/package.json +0 -91
- package/github/src/configurationManager/defaultConfigurationManager.ts +0 -281
- package/github/src/errors/error.ts +0 -469
- package/github/src/index.ts +0 -8
- package/github/src/logging/bunyanLogger.ts +0 -47
- package/github/src/logging/logger.ts +0 -164
- package/github/src/sudoKeyArchive/index.ts +0 -4
- package/github/src/sudoKeyArchive/keyArchive.ts +0 -120
- package/github/src/sudoKeyArchive/keyInfo.ts +0 -47
- package/github/src/sudoKeyArchive/keyType.ts +0 -50
- package/github/src/sudoKeyArchive/sudoKeyArchive.ts +0 -591
- package/github/src/sudoKeyManager/index.ts +0 -4
- package/github/src/sudoKeyManager/keyData.ts +0 -60
- package/github/src/sudoKeyManager/publicKey.ts +0 -9
- package/github/src/sudoKeyManager/sudoCryptoProvider.ts +0 -416
- package/github/src/sudoKeyManager/sudoKeyManager.ts +0 -609
- package/github/src/types/types.ts +0 -129
- package/github/src/utils/base64.ts +0 -21
- package/github/src/utils/buffer.ts +0 -39
- package/github/test/integration/defaultConfigurationManager.spec.ts +0 -85
- package/github/test/matchers.ts +0 -122
- package/github/test/unit/configurationManager/defaultConfigurationManager.spec.ts +0 -506
- package/github/test/unit/errors/error.spec.ts +0 -115
- package/github/test/unit/keyType.spec.ts +0 -54
- package/github/test/unit/logging/logger.spec.ts +0 -182
- package/github/test/unit/sudoKeyArchive.spec.ts +0 -1609
- package/github/test/unit/sudoKeyManager.spec.ts +0 -1045
- package/github/test/unit/utils/base64.spec.ts +0 -30
- package/github/test/unit/utils/buffer.spec.ts +0 -45
- package/github/test/unit/utils/listOperationResult.spec.ts +0 -84
- package/github/tsconfig.json +0 -20
- package/github/tsconfig.test.json +0 -7
- package/github/yarn.lock +0 -5922
- package/jest.config.json +0 -14
- package/src/configurationManager/defaultConfigurationManager.ts +0 -281
- package/src/errors/error.ts +0 -469
- package/src/index.ts +0 -8
- package/src/logging/bunyanLogger.ts +0 -47
- package/src/logging/logger.ts +0 -164
- package/src/sudoKeyArchive/index.ts +0 -4
- package/src/sudoKeyArchive/keyArchive.ts +0 -120
- package/src/sudoKeyArchive/keyInfo.ts +0 -47
- package/src/sudoKeyArchive/keyType.ts +0 -50
- package/src/sudoKeyArchive/sudoKeyArchive.ts +0 -591
- package/src/sudoKeyManager/index.ts +0 -4
- package/src/sudoKeyManager/keyData.ts +0 -60
- package/src/sudoKeyManager/publicKey.ts +0 -9
- package/src/sudoKeyManager/sudoCryptoProvider.ts +0 -416
- package/src/sudoKeyManager/sudoKeyManager.ts +0 -609
- package/src/types/types.ts +0 -129
- package/src/utils/base64.ts +0 -21
- package/src/utils/buffer.ts +0 -39
- package/test/integration/defaultConfigurationManager.spec.ts +0 -85
- package/test/matchers.ts +0 -122
- package/test/unit/configurationManager/defaultConfigurationManager.spec.ts +0 -506
- package/test/unit/errors/error.spec.ts +0 -115
- package/test/unit/keyType.spec.ts +0 -54
- package/test/unit/logging/logger.spec.ts +0 -182
- package/test/unit/sudoKeyArchive.spec.ts +0 -1609
- package/test/unit/sudoKeyManager.spec.ts +0 -1045
- package/test/unit/utils/base64.spec.ts +0 -30
- package/test/unit/utils/buffer.spec.ts +0 -45
- package/test/unit/utils/listOperationResult.spec.ts +0 -84
- package/tsconfig.json +0 -20
- package/tsconfig.test.json +0 -7
- package/yarn.lock +0 -5922
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import * as t from 'io-ts';
|
|
2
|
+
/**
|
|
3
|
+
* Service compatibility information.
|
|
4
|
+
*/
|
|
5
|
+
export interface ServiceCompatibilityInfo {
|
|
6
|
+
/**
|
|
7
|
+
* The name of the service associated with the compatibility info. This matches one of the
|
|
8
|
+
* service name present in sudoplatformconfig.json.
|
|
9
|
+
*/
|
|
10
|
+
name: string;
|
|
11
|
+
/**
|
|
12
|
+
* The version of the service config present in sudoplatformconfig.json. It defaults
|
|
13
|
+
* to 1 if not present.
|
|
14
|
+
*/
|
|
15
|
+
configVersion: number;
|
|
16
|
+
/**
|
|
17
|
+
* The minimum supported service config version currently supported by the backend.
|
|
18
|
+
*/
|
|
19
|
+
minSupportedVersion?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Any service config version less than or equal to this version is considered deprecated
|
|
22
|
+
* and the backend may remove the support for those versions after a grace period.
|
|
23
|
+
*/
|
|
24
|
+
deprecatedVersion?: number;
|
|
25
|
+
/**
|
|
26
|
+
* After this time any deprecated service config versions will no longer be compatible
|
|
27
|
+
* with the backend. It is recommended to warn the user prior to the deprecation grace.
|
|
28
|
+
*/
|
|
29
|
+
deprecationGrace?: Date;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Result returned by `validateConfig` API if an incompatible client config is found when compared
|
|
33
|
+
* to the deployed backend services.
|
|
34
|
+
*/
|
|
35
|
+
export interface ValidationResult {
|
|
36
|
+
/**
|
|
37
|
+
* The list of incompatible services. The client must be upgraded to the latest
|
|
38
|
+
* version in order to use these services.
|
|
39
|
+
*/
|
|
40
|
+
incompatible: ServiceCompatibilityInfo[];
|
|
41
|
+
/**
|
|
42
|
+
* The list of services that will be made incompatible with the current version of the
|
|
43
|
+
* client. The users should be warned that after the specified grace period these services will be
|
|
44
|
+
* made incompatible.
|
|
45
|
+
*/
|
|
46
|
+
deprecated: ServiceCompatibilityInfo[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Interface that encapsulates the APIs common to all configuration manager implementations.
|
|
50
|
+
* A configuration manager should be a singleton that holds reference to a parsed config
|
|
51
|
+
* and returns the configuration set specific to a given namespace.
|
|
52
|
+
*/
|
|
53
|
+
export interface ConfigurationManager {
|
|
54
|
+
/**
|
|
55
|
+
* Set config that will be parsed as JSON
|
|
56
|
+
*
|
|
57
|
+
* @param config A string representation of configuration
|
|
58
|
+
*
|
|
59
|
+
* @returns ConfigurationManager
|
|
60
|
+
*/
|
|
61
|
+
setConfig(config: string): ConfigurationManager;
|
|
62
|
+
/**
|
|
63
|
+
* Get a subset of configuration by namespace
|
|
64
|
+
*
|
|
65
|
+
* @param namespace The key for the nested json object
|
|
66
|
+
*
|
|
67
|
+
* @returns Configuration set specific to a given namespace
|
|
68
|
+
*
|
|
69
|
+
* @throws {@link ConfigurationNotSetError}
|
|
70
|
+
*/
|
|
71
|
+
getConfigSet(namespace?: string): string | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Decode a configuration set to a given type
|
|
74
|
+
*
|
|
75
|
+
* @param configSet Configuration set specific to a given namespace
|
|
76
|
+
* @param codec The codec to bind the configuration set to
|
|
77
|
+
*
|
|
78
|
+
* @returns Configuration as a given type
|
|
79
|
+
*
|
|
80
|
+
* @throws {@link DecodeError}
|
|
81
|
+
*/
|
|
82
|
+
bind<T>(configSet: unknown, codec: t.Mixed): T;
|
|
83
|
+
/**
|
|
84
|
+
* Get a configuration by namespace and decode and validate
|
|
85
|
+
* that configuration set to a given type. If no namespace
|
|
86
|
+
* provided, try and use the whole configuration object
|
|
87
|
+
* to bind to the given type.
|
|
88
|
+
*
|
|
89
|
+
* @param namespace The key for the nested json object or undefined
|
|
90
|
+
* @param codec The codec to bind the configuration set to
|
|
91
|
+
*
|
|
92
|
+
* @returns Configuration as a given type
|
|
93
|
+
*
|
|
94
|
+
* @throws {@link ConfigurationNotSetError}
|
|
95
|
+
* @throws {@link ConfigurationSetNotFoundError}
|
|
96
|
+
* @throws {@link DecodeError}
|
|
97
|
+
*/
|
|
98
|
+
bindConfigSet<T>(codec: t.Mixed, namespace?: string): T;
|
|
99
|
+
/**
|
|
100
|
+
* Validates the client configuration (sudoplatformconfig.json) against the currently deployed set of
|
|
101
|
+
* backend services. If the client configuration is valid, i.e. the client is compatible will all deployed
|
|
102
|
+
* backend services, then the call will complete with `success` result. If any part of the client
|
|
103
|
+
* configuration is incompatible then a detailed information on the incompatible service will be
|
|
104
|
+
* returned in `failure` result. See `SudoConfigManagerError.compatibilityIssueFound` for more details.
|
|
105
|
+
*
|
|
106
|
+
* @return validation result with the details of incompatible or deprecated service configurations.
|
|
107
|
+
*/
|
|
108
|
+
validateConfig(): Promise<ValidationResult>;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Singleton to manage configuration
|
|
112
|
+
*/
|
|
113
|
+
export declare class DefaultConfigurationManager implements ConfigurationManager {
|
|
114
|
+
private static instance;
|
|
115
|
+
private _config;
|
|
116
|
+
private constructor();
|
|
117
|
+
static getInstance(): DefaultConfigurationManager;
|
|
118
|
+
setConfig(config: string): DefaultConfigurationManager;
|
|
119
|
+
getConfigSet(namespace?: string): string;
|
|
120
|
+
bind<T>(configSet: unknown, codec: t.Mixed): T;
|
|
121
|
+
bindConfigSet<T>(codec: t.Mixed, namespace?: string): T;
|
|
122
|
+
validateConfig(): Promise<ValidationResult>;
|
|
123
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultConfigurationManager = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
6
|
+
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
8
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
9
|
+
const Either_1 = require("fp-ts/lib/Either");
|
|
10
|
+
const pipeable_1 = require("fp-ts/lib/pipeable");
|
|
11
|
+
const PathReporter_1 = require("io-ts/lib/PathReporter");
|
|
12
|
+
const error_1 = require("../errors/error");
|
|
13
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
14
|
+
const stream_1 = require("../utils/stream");
|
|
15
|
+
/**
|
|
16
|
+
* Singleton to manage configuration
|
|
17
|
+
*/
|
|
18
|
+
class DefaultConfigurationManager {
|
|
19
|
+
constructor() {
|
|
20
|
+
// Do Nothing.
|
|
21
|
+
}
|
|
22
|
+
static getInstance() {
|
|
23
|
+
if (!DefaultConfigurationManager.instance) {
|
|
24
|
+
DefaultConfigurationManager.instance = new DefaultConfigurationManager();
|
|
25
|
+
}
|
|
26
|
+
return DefaultConfigurationManager.instance;
|
|
27
|
+
}
|
|
28
|
+
setConfig(config) {
|
|
29
|
+
this._config = config;
|
|
30
|
+
return DefaultConfigurationManager.instance;
|
|
31
|
+
}
|
|
32
|
+
getConfigSet(namespace) {
|
|
33
|
+
if (!this._config) {
|
|
34
|
+
throw new error_1.ConfigurationNotSetError();
|
|
35
|
+
}
|
|
36
|
+
const parsed = JSON.parse(this._config);
|
|
37
|
+
const configSet = namespace ? parsed[namespace] : parsed;
|
|
38
|
+
return configSet;
|
|
39
|
+
}
|
|
40
|
+
bind(configSet, codec) {
|
|
41
|
+
// Decode and validate config
|
|
42
|
+
return (0, pipeable_1.pipe)(codec.decode(configSet), (0, Either_1.fold)((errors) => {
|
|
43
|
+
throw new error_1.DecodeError(PathReporter_1.PathReporter.report((0, Either_1.left)(errors)).join('\n'));
|
|
44
|
+
}, (v) => v));
|
|
45
|
+
}
|
|
46
|
+
bindConfigSet(codec, namespace) {
|
|
47
|
+
const configSet = this.getConfigSet(namespace);
|
|
48
|
+
if (!configSet) {
|
|
49
|
+
throw new error_1.ConfigurationSetNotFoundError(namespace);
|
|
50
|
+
}
|
|
51
|
+
return this.bind(configSet, codec);
|
|
52
|
+
}
|
|
53
|
+
async validateConfig() {
|
|
54
|
+
if (!this._config) {
|
|
55
|
+
return { incompatible: [], deprecated: [] };
|
|
56
|
+
}
|
|
57
|
+
const config = JSON.parse(this._config);
|
|
58
|
+
const region = config.identityService?.region;
|
|
59
|
+
const bucket = config.identityService?.serviceInfoBucket;
|
|
60
|
+
if (!(region && bucket)) {
|
|
61
|
+
return { incompatible: [], deprecated: [] };
|
|
62
|
+
}
|
|
63
|
+
const s3Client = new client_s3_1.S3Client({
|
|
64
|
+
region: region,
|
|
65
|
+
// We want these request to be unauthenticated
|
|
66
|
+
// so we provide a no-op signer for the requests
|
|
67
|
+
signer: { sign: (request) => Promise.resolve(request) },
|
|
68
|
+
});
|
|
69
|
+
const incompatible = [];
|
|
70
|
+
const deprecated = [];
|
|
71
|
+
const listObjectsCommand = new client_s3_1.ListObjectsCommand({
|
|
72
|
+
Bucket: bucket,
|
|
73
|
+
});
|
|
74
|
+
const objects = await s3Client.send(listObjectsCommand);
|
|
75
|
+
if (!objects.Contents?.length) {
|
|
76
|
+
return { incompatible: [], deprecated: [] };
|
|
77
|
+
}
|
|
78
|
+
const keys = objects.Contents.map((object) => object.Key);
|
|
79
|
+
// Only fetch the service info docs for the services that are present in client config
|
|
80
|
+
// to minimize the network calls.
|
|
81
|
+
const keysToFetch = keys.filter((key) => key.endsWith('.json') && config[key.replace('.json', '')]);
|
|
82
|
+
for (const key of keysToFetch) {
|
|
83
|
+
const getObject = new client_s3_1.GetObjectCommand({
|
|
84
|
+
Key: key,
|
|
85
|
+
Bucket: bucket,
|
|
86
|
+
});
|
|
87
|
+
const object = await s3Client.send(getObject);
|
|
88
|
+
if (!object.Body) {
|
|
89
|
+
throw new error_1.FatalError('No S3 object body');
|
|
90
|
+
}
|
|
91
|
+
const body = await (0, stream_1.bodyToString)(object.Body);
|
|
92
|
+
const json = JSON.parse(body);
|
|
93
|
+
const serviceName = key.replace('.json', '');
|
|
94
|
+
const serviceInfo = json[serviceName];
|
|
95
|
+
const serviceConfig = config[serviceName];
|
|
96
|
+
if (serviceInfo && serviceConfig) {
|
|
97
|
+
const currentVersion = serviceConfig.version ?? 1;
|
|
98
|
+
const deprecationGrace = serviceInfo.deprecationGrace ?? -1;
|
|
99
|
+
const compatibilityInfo = {
|
|
100
|
+
name: serviceName,
|
|
101
|
+
configVersion: currentVersion,
|
|
102
|
+
minSupportedVersion: serviceInfo.minVersion,
|
|
103
|
+
deprecatedVersion: serviceInfo.deprecated,
|
|
104
|
+
deprecationGrace: deprecationGrace != -1 ? new Date(deprecationGrace) : undefined,
|
|
105
|
+
};
|
|
106
|
+
// If the service config in `sudoplatformconfig.json` is less than the
|
|
107
|
+
// minimum supported version then the client is incompatible.
|
|
108
|
+
if (currentVersion < (compatibilityInfo.minSupportedVersion ?? 0)) {
|
|
109
|
+
incompatible.push(compatibilityInfo);
|
|
110
|
+
}
|
|
111
|
+
// If the service config is less than or equal to the deprecated version
|
|
112
|
+
// then it will be made incompatible after the deprecation grace.
|
|
113
|
+
if (currentVersion <= (compatibilityInfo.deprecatedVersion ?? 0)) {
|
|
114
|
+
deprecated.push(compatibilityInfo);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return { incompatible, deprecated };
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.DefaultConfigurationManager = DefaultConfigurationManager;
|
|
122
|
+
//# sourceMappingURL=defaultConfigurationManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultConfigurationManager.js","sourceRoot":"","sources":["../../src/configurationManager/defaultConfigurationManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { GraphQLError } from 'graphql';
|
|
2
|
+
export declare type AppSyncError = GraphQLError & {
|
|
3
|
+
errorType?: string | null;
|
|
4
|
+
};
|
|
5
|
+
export declare type AppSyncNetworkError = Error & {
|
|
6
|
+
networkError: Error & {
|
|
7
|
+
statusCode?: number;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export declare function isAppSyncNetworkError(u: Error): u is AppSyncNetworkError;
|
|
11
|
+
/**
|
|
12
|
+
* Indicates the GraphQL API returned an error that's not recognized by
|
|
13
|
+
* the client.
|
|
14
|
+
*/
|
|
15
|
+
export declare class UnknownGraphQLError extends Error {
|
|
16
|
+
constructor(cause: unknown);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The configuration set was not found by the given key
|
|
20
|
+
*/
|
|
21
|
+
export declare class ConfigurationSetNotFoundError extends Error {
|
|
22
|
+
constructor(key?: string);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The configuration has not been set on the ConfigurationManager
|
|
26
|
+
* before trying operations that need it
|
|
27
|
+
*/
|
|
28
|
+
export declare class ConfigurationNotSetError extends Error {
|
|
29
|
+
constructor();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A decode error message
|
|
33
|
+
*/
|
|
34
|
+
export declare class DecodeError extends Error {
|
|
35
|
+
constructor(message?: string);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* An error occurred during the authentication process. This may be due to invalid credentials
|
|
39
|
+
* being supplied, or authentication tokens not able to be retrieved from storage.
|
|
40
|
+
*/
|
|
41
|
+
export declare class AuthenticationError extends Error {
|
|
42
|
+
constructor(message: string);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* An error occurred during the sign out process.
|
|
46
|
+
*/
|
|
47
|
+
export declare class SignOutError extends Error {
|
|
48
|
+
constructor(message: string);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* An error occurred during the registration process.
|
|
52
|
+
* This may be due to the client already being registered.
|
|
53
|
+
*/
|
|
54
|
+
export declare class RegisterError extends Error {
|
|
55
|
+
constructor(message: string);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* An error occurred indicating that the user is not registered.
|
|
59
|
+
*/
|
|
60
|
+
export declare class NotRegisteredError extends Error {
|
|
61
|
+
constructor(message?: string);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The user is not authorized to perform the requested operation. This maybe
|
|
65
|
+
* due to specifying the wrong key deriving key or password.
|
|
66
|
+
*/
|
|
67
|
+
export declare class NotAuthorizedError extends Error {
|
|
68
|
+
constructor(message?: string);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Indicates the operation requires the user to be signed in but the user is
|
|
72
|
+
* currently not signed in.
|
|
73
|
+
*/
|
|
74
|
+
export declare class NotSignedInError extends Error {
|
|
75
|
+
constructor();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Indicates that the user was registered but is not confirmed due to not
|
|
79
|
+
* passing all the required validation.
|
|
80
|
+
*/
|
|
81
|
+
export declare class UserNotConfirmedError extends Error {
|
|
82
|
+
constructor();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The version of the vault that's being updated does not match the version
|
|
86
|
+
* stored in the backed. It is likely that another client updated the vault
|
|
87
|
+
* first so the caller should reconcile the changes before attempting to
|
|
88
|
+
* update the vault.
|
|
89
|
+
*/
|
|
90
|
+
export declare class VersionMismatchError extends Error {
|
|
91
|
+
constructor();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Indicates that the ownership proof was invalid.
|
|
95
|
+
*/
|
|
96
|
+
export declare class InvalidOwnershipProofError extends Error {
|
|
97
|
+
constructor();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Indicates that the user does not have sufficient entitlements to perform
|
|
101
|
+
* the requested operation.
|
|
102
|
+
*/
|
|
103
|
+
export declare class InsufficientEntitlementsError extends Error {
|
|
104
|
+
constructor();
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Indicates the requested operation failed because the user account is locked.
|
|
108
|
+
*/
|
|
109
|
+
export declare class AccountLockedError extends Error {
|
|
110
|
+
constructor();
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Indicates that an internal server error caused the operation to fail. The error
|
|
114
|
+
* is possibly transient and retrying at a later time may cause the operation to
|
|
115
|
+
* complete successfully.
|
|
116
|
+
*/
|
|
117
|
+
export declare class ServiceError extends Error {
|
|
118
|
+
constructor(message: string);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Error when expected arguments are missing or invalid
|
|
122
|
+
*/
|
|
123
|
+
export declare class IllegalArgumentError extends Error {
|
|
124
|
+
constructor(message?: string);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Error when the state of the program is expecting a value to
|
|
128
|
+
* be set or available and it is not.
|
|
129
|
+
*/
|
|
130
|
+
export declare class IllegalStateError extends Error {
|
|
131
|
+
constructor(message: string);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Operation failed due to it exceeding some limits imposed for the API. For example,
|
|
135
|
+
* this error can occur if the resource size exceeds the database record size limit.
|
|
136
|
+
*/
|
|
137
|
+
export declare class LimitExceededError extends Error {
|
|
138
|
+
constructor();
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* API request failed due to network error or unexpected server error.
|
|
142
|
+
*/
|
|
143
|
+
export declare class RequestFailedError extends Error {
|
|
144
|
+
/**
|
|
145
|
+
* Underlying error that cause the request to fail.
|
|
146
|
+
*/
|
|
147
|
+
cause?: Error;
|
|
148
|
+
/**
|
|
149
|
+
* HTTP status code if a valid response was received with unexpected
|
|
150
|
+
* status code.
|
|
151
|
+
*/
|
|
152
|
+
statusCode?: number;
|
|
153
|
+
constructor(cause?: Error, statusCode?: number);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* An unexpected error was encountered. This may result from programmatic error
|
|
157
|
+
* and is unlikley to be user recoverable.
|
|
158
|
+
*/
|
|
159
|
+
export declare class FatalError extends Error {
|
|
160
|
+
constructor(message: string);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* No entitlements assigned to user.
|
|
164
|
+
*/
|
|
165
|
+
export declare class NoEntitlementsError extends Error {
|
|
166
|
+
constructor();
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Token presented was not valid for the purpose.
|
|
170
|
+
*/
|
|
171
|
+
export declare class InvalidTokenError extends Error {
|
|
172
|
+
constructor();
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Key not found from store when using cryptoProvider
|
|
176
|
+
*/
|
|
177
|
+
export declare class KeyNotFoundError extends Error {
|
|
178
|
+
constructor(message?: string);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Underlying secure key store does not support key export
|
|
182
|
+
*/
|
|
183
|
+
export declare class KeyStoreNotExportableError extends Error {
|
|
184
|
+
constructor(message?: string);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* No key archive provided prior to unarchiving
|
|
188
|
+
*/
|
|
189
|
+
export declare class KeyArchiveMissingError extends Error {
|
|
190
|
+
constructor(message?: string);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* No password provided to unarchive secure archive
|
|
194
|
+
*/
|
|
195
|
+
export declare class KeyArchivePasswordRequiredError extends Error {
|
|
196
|
+
constructor(message?: string);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* No password required to unarchive insecure archive
|
|
200
|
+
*/
|
|
201
|
+
export declare class KeyArchiveNoPasswordRequiredError extends Error {
|
|
202
|
+
constructor(message?: string);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Key archive data could not be decoded as expected
|
|
206
|
+
*/
|
|
207
|
+
export declare class KeyArchiveDecodingError extends Error {
|
|
208
|
+
constructor(message?: string);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Key archive was unable to be decrypted using the provided password
|
|
212
|
+
*/
|
|
213
|
+
export declare class KeyArchiveIncorrectPasswordError extends Error {
|
|
214
|
+
constructor(message?: string);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Key archive type is not supported
|
|
218
|
+
*/
|
|
219
|
+
export declare class KeyArchiveTypeError extends Error {
|
|
220
|
+
constructor(keyArchiveType: string);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Key archive version is not supported
|
|
224
|
+
*/
|
|
225
|
+
export declare class KeyArchiveVersionError extends Error {
|
|
226
|
+
constructor(version: number);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Key archive key type is not recognized
|
|
230
|
+
*/
|
|
231
|
+
export declare class KeyArchiveUnknownKeyTypeError extends Error {
|
|
232
|
+
constructor(message?: string);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Operation not implemented
|
|
236
|
+
*/
|
|
237
|
+
export declare class OperationNotImplementedError extends Error {
|
|
238
|
+
constructor(message?: string);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Encryption algorithm is not recognized
|
|
242
|
+
*/
|
|
243
|
+
export declare class UnrecognizedAlgorithmError extends Error {
|
|
244
|
+
constructor(message?: string);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Helper method for mapping an App Sync error to common errors.
|
|
248
|
+
*
|
|
249
|
+
* For consumption by other Sudo Platform SDKs
|
|
250
|
+
*
|
|
251
|
+
* @param error The App Sync error to map
|
|
252
|
+
* @returns The mapped error
|
|
253
|
+
*/
|
|
254
|
+
export declare function mapGraphQLToClientError(error: Pick<AppSyncError, 'errorType' | 'message'>): Error;
|
|
255
|
+
/**
|
|
256
|
+
* Call this in error handling when testing with isAppSyncNetworkError on
|
|
257
|
+
* a caught error from an AppSync operation returns true.
|
|
258
|
+
*
|
|
259
|
+
* @param error AppSyncNetworkError to map
|
|
260
|
+
*
|
|
261
|
+
* @returns Mapped error
|
|
262
|
+
*/
|
|
263
|
+
export declare function mapNetworkErrorToClientError(error: AppSyncNetworkError): Error;
|