@sudoplatform/sudo-common 7.1.2 → 8.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/configurationManager/defaultConfigurationManager.js +122 -0
- package/cjs/configurationManager/defaultConfigurationManager.js.map +1 -0
- package/cjs/errors/error.js +442 -0
- package/cjs/errors/error.js.map +1 -0
- package/cjs/index.js +13 -0
- package/cjs/index.js.map +1 -0
- package/cjs/logging/bunyanLogger.js +36 -0
- package/cjs/logging/bunyanLogger.js.map +1 -0
- package/cjs/logging/logger.js +77 -0
- package/cjs/logging/logger.js.map +1 -0
- package/cjs/sudoKeyArchive/index.js +8 -0
- package/cjs/sudoKeyArchive/index.js.map +1 -0
- package/cjs/sudoKeyArchive/keyArchive.js +84 -0
- package/cjs/sudoKeyArchive/keyArchive.js.map +1 -0
- package/cjs/sudoKeyArchive/keyInfo.js +17 -0
- package/cjs/sudoKeyArchive/keyInfo.js.map +1 -0
- package/cjs/sudoKeyArchive/keyType.js +39 -0
- package/cjs/sudoKeyArchive/keyType.js.map +1 -0
- package/cjs/sudoKeyArchive/sudoKeyArchive.js +373 -0
- package/cjs/sudoKeyArchive/sudoKeyArchive.js.map +1 -0
- package/cjs/sudoKeyManager/index.js +8 -0
- package/cjs/sudoKeyManager/index.js.map +1 -0
- package/cjs/sudoKeyManager/keyData.js +46 -0
- package/cjs/sudoKeyManager/keyData.js.map +1 -0
- package/cjs/sudoKeyManager/publicKey.js +9 -0
- package/cjs/sudoKeyManager/publicKey.js.map +1 -0
- package/cjs/sudoKeyManager/sudoCryptoProvider.js +12 -0
- package/cjs/sudoKeyManager/sudoCryptoProvider.js.map +1 -0
- package/cjs/sudoKeyManager/sudoKeyManager.js +140 -0
- package/cjs/sudoKeyManager/sudoKeyManager.js.map +1 -0
- package/cjs/types/types.js +45 -0
- package/cjs/types/types.js.map +1 -0
- package/cjs/utils/base64.js +71 -0
- package/cjs/utils/base64.js.map +1 -0
- package/cjs/utils/buffer.js +37 -0
- package/cjs/utils/buffer.js.map +1 -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.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.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.js +63 -93
- 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.js +63 -0
- package/lib/utils/stream.js.map +1 -0
- package/package.json +44 -28
- package/{lib → types}/configurationManager/defaultConfigurationManager.d.ts +0 -0
- package/{lib → types}/errors/error.d.ts +0 -0
- package/{lib → types}/index.d.ts +1 -0
- package/{lib → types}/logging/bunyanLogger.d.ts +0 -0
- package/{lib → types}/logging/logger.d.ts +0 -0
- package/{lib → types}/sudoKeyArchive/index.d.ts +0 -0
- package/{lib → types}/sudoKeyArchive/keyArchive.d.ts +8 -8
- package/{lib → types}/sudoKeyArchive/keyInfo.d.ts +0 -0
- package/{lib → types}/sudoKeyArchive/keyType.d.ts +0 -0
- package/{lib → types}/sudoKeyArchive/sudoKeyArchive.d.ts +0 -0
- package/{lib → types}/sudoKeyManager/index.d.ts +0 -0
- package/{lib → types}/sudoKeyManager/keyData.d.ts +0 -0
- package/{lib → types}/sudoKeyManager/publicKey.d.ts +0 -0
- package/{lib → types}/sudoKeyManager/sudoCryptoProvider.d.ts +0 -0
- package/{lib → types}/sudoKeyManager/sudoKeyManager.d.ts +0 -0
- package/{lib → types}/types/types.d.ts +0 -0
- package/{lib → types}/utils/base64.d.ts +0 -0
- package/{lib → types}/utils/buffer.d.ts +0 -0
- package/types/utils/stream.d.ts +6 -0
- 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 -245
- 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 -245
- 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 -75
- 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 -45
- 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 -75
- 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 -45
- 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
package/src/types/types.ts
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generic type for paginated results from list queries
|
|
3
|
-
*/
|
|
4
|
-
export interface ListOutput<T> {
|
|
5
|
-
items: T[]
|
|
6
|
-
nextToken?: string
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Cache policy that determines how data is accessed when performing a query method
|
|
11
|
-
* from the Email Service.
|
|
12
|
-
*/
|
|
13
|
-
export enum CachePolicy {
|
|
14
|
-
// Use the device cached data.
|
|
15
|
-
CacheOnly = 'cache-only',
|
|
16
|
-
// Query and use the data on the server.
|
|
17
|
-
RemoteOnly = 'network-only',
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface Owner {
|
|
21
|
-
id: string
|
|
22
|
-
issuer: string
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* A filter to use on string fields when listing items in a repository
|
|
27
|
-
*/
|
|
28
|
-
export interface StringFilter {
|
|
29
|
-
ne?: string
|
|
30
|
-
eq?: string
|
|
31
|
-
beginsWith?: string
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* A filter to use on string fields when listing items in a repository
|
|
36
|
-
*/
|
|
37
|
-
export interface BooleanFilter {
|
|
38
|
-
eq?: boolean
|
|
39
|
-
ne?: boolean
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Encryption algorithm names that are
|
|
44
|
-
* supported by the Sudo Platform and can be used
|
|
45
|
-
* between devices.
|
|
46
|
-
*/
|
|
47
|
-
export enum EncryptionAlgorithm {
|
|
48
|
-
AesCbcPkcs7Padding = 'AES/CBC/PKCS7Padding',
|
|
49
|
-
AesGcmNoPadding = 'AES/GCM/NoPadding',
|
|
50
|
-
RsaOaepSha1 = 'RSA/OAEPWithSHA-1',
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export type Subset<T, S> = Pick<S, Extract<keyof T, keyof S>> &
|
|
54
|
-
Partial<Record<Exclude<keyof T, keyof S>, never>>
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Status of the list operation result.
|
|
58
|
-
*/
|
|
59
|
-
export enum ListOperationResultStatus {
|
|
60
|
-
/**
|
|
61
|
-
* The operation completed successfully.
|
|
62
|
-
*/
|
|
63
|
-
Success = 'Success',
|
|
64
|
-
/**
|
|
65
|
-
* The operation completed but some items had errors during
|
|
66
|
-
* processing.
|
|
67
|
-
*/
|
|
68
|
-
Partial = 'Partial',
|
|
69
|
-
/**
|
|
70
|
-
* The operation failed and no list item could be returned.
|
|
71
|
-
*/
|
|
72
|
-
Failure = 'Failure',
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export interface ListOperationSuccessResult<T> {
|
|
76
|
-
/**
|
|
77
|
-
* Operation status.
|
|
78
|
-
*/
|
|
79
|
-
status: ListOperationResultStatus.Success
|
|
80
|
-
/**
|
|
81
|
-
* List of items that were successfully processed.
|
|
82
|
-
*/
|
|
83
|
-
items: T[]
|
|
84
|
-
/**
|
|
85
|
-
* Pagination token.
|
|
86
|
-
*/
|
|
87
|
-
nextToken?: string
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export interface ListOperationFailureResult {
|
|
91
|
-
/**
|
|
92
|
-
* Operation status.
|
|
93
|
-
*/
|
|
94
|
-
status: ListOperationResultStatus.Failure
|
|
95
|
-
/**
|
|
96
|
-
* The error that caused the failure.
|
|
97
|
-
*/
|
|
98
|
-
cause: Error
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export interface ListOperationPartialResult<T, S extends Subset<S, T>> {
|
|
102
|
-
/**
|
|
103
|
-
* Operation status.
|
|
104
|
-
*/
|
|
105
|
-
status: ListOperationResultStatus.Partial
|
|
106
|
-
/**
|
|
107
|
-
* List of items that were successfully processed.
|
|
108
|
-
*/
|
|
109
|
-
items: T[]
|
|
110
|
-
/**
|
|
111
|
-
* List of items that failed to be processed and the error
|
|
112
|
-
* that caused the failure.
|
|
113
|
-
*/
|
|
114
|
-
failed: { item: Omit<T, keyof S>; cause: Error }[]
|
|
115
|
-
/**
|
|
116
|
-
* Pagination token.
|
|
117
|
-
*/
|
|
118
|
-
nextToken?: string
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Result of a list operation. T is the expected item type and
|
|
123
|
-
* S is a subset of T's properties that won't be present if the
|
|
124
|
-
* additional processing after the item has been fetched fails.
|
|
125
|
-
*/
|
|
126
|
-
export type ListOperationResult<T, S extends Subset<S, T> = T> =
|
|
127
|
-
| ListOperationSuccessResult<T>
|
|
128
|
-
| ListOperationFailureResult
|
|
129
|
-
| ListOperationPartialResult<T, S>
|
package/src/utils/base64.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Buffer as BufferUtil } from './buffer'
|
|
2
|
-
/**
|
|
3
|
-
* Utility class for Base64 encoding and decoding.
|
|
4
|
-
*/
|
|
5
|
-
export class Base64 {
|
|
6
|
-
private static URLSafeEncodeTransform(input: string): string {
|
|
7
|
-
return input
|
|
8
|
-
.replace(/\+/g, '-') // Convert '+' to '-'
|
|
9
|
-
.replace(/\//g, '_') // Convert '/' to '_'
|
|
10
|
-
.replace(/=+$/, '') // Remove ending '='
|
|
11
|
-
}
|
|
12
|
-
private static URLSafeDecodeTransform(input: string): string {
|
|
13
|
-
return input
|
|
14
|
-
.replace(/\-/g, '+') // Convert '-' to '+'
|
|
15
|
-
.replace(/\_/g, '/') // Convert '_' to '/'
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
static decode(encoded: string): ArrayBuffer {
|
|
19
|
-
return BufferUtil.fromString(atob(encoded))
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
static encode(buffer: ArrayBuffer): string {
|
|
23
|
-
return btoa(BufferUtil.toString(buffer))
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
static decodeString(encoded: string): string {
|
|
27
|
-
return atob(encoded)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
static encodeString(string: string): string {
|
|
31
|
-
return btoa(string)
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Encode a URL safe ArrayBuffer
|
|
36
|
-
* @param {ArrayBuffer} input buffer to be encoded
|
|
37
|
-
* @returns {string} encoded string
|
|
38
|
-
*/
|
|
39
|
-
static urlSafeEncode({ input }: { input: ArrayBuffer }): string {
|
|
40
|
-
return this.URLSafeEncodeTransform(this.encode(input))
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Decode into a URL safe ArrayBuffer
|
|
45
|
-
* @param {string} input string to be decoded
|
|
46
|
-
* @returns {ArrayBuffer} decoded ArrayBuffer
|
|
47
|
-
*/
|
|
48
|
-
static urlSafeDecode({ encoded }: { encoded: string }): ArrayBuffer {
|
|
49
|
-
encoded = this.URLSafeDecodeTransform(encoded)
|
|
50
|
-
return this.decode(encoded)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Encode a URL safe string
|
|
55
|
-
* @param {string} input string to be encoded
|
|
56
|
-
* @returns {string} encoded string
|
|
57
|
-
*/
|
|
58
|
-
static urlSafeEncodeString({ input }: { input: string }): string {
|
|
59
|
-
return this.URLSafeEncodeTransform(this.encodeString(input))
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Decode a URL safe string
|
|
64
|
-
* @param {string} input string to be decoded
|
|
65
|
-
* @returns {string} decoded string
|
|
66
|
-
*/
|
|
67
|
-
static urlSafeDecodeString({ encoded }: { encoded: string }): string {
|
|
68
|
-
encoded = this.URLSafeDecodeTransform(encoded)
|
|
69
|
-
return Buffer.from(this.decode(encoded)).toString('utf8')
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
static UrlSafeValidate(encoded: string): boolean {
|
|
73
|
-
return /^[A-Za-z0-9\-_]+$/.test(encoded)
|
|
74
|
-
}
|
|
75
|
-
}
|
package/src/utils/buffer.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility class for operating on ArrayBuffer.
|
|
3
|
-
*/
|
|
4
|
-
export class Buffer {
|
|
5
|
-
static concat(lhs: ArrayBuffer, rhs: ArrayBuffer): ArrayBuffer {
|
|
6
|
-
const combined = new Uint8Array(lhs.byteLength + rhs.byteLength)
|
|
7
|
-
combined.set(new Uint8Array(lhs), 0)
|
|
8
|
-
combined.set(new Uint8Array(rhs), lhs.byteLength)
|
|
9
|
-
return combined.buffer
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
static split(
|
|
13
|
-
buffer: ArrayBuffer,
|
|
14
|
-
lhsLength: number,
|
|
15
|
-
): { lhs: ArrayBuffer; rhs: ArrayBuffer } {
|
|
16
|
-
const array = new Uint8Array(buffer)
|
|
17
|
-
const lhs = array.slice(0, lhsLength)
|
|
18
|
-
const rhs = array.slice(lhsLength, array.length)
|
|
19
|
-
return { lhs, rhs }
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
static toString(buffer: ArrayBuffer): string {
|
|
23
|
-
let s = ''
|
|
24
|
-
const bytes = new Uint8Array(buffer)
|
|
25
|
-
const len = bytes.byteLength
|
|
26
|
-
for (let i = 0; i < len; i++) {
|
|
27
|
-
s += String.fromCharCode(bytes[i])
|
|
28
|
-
}
|
|
29
|
-
return s
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
static fromString(s: string): Uint8Array {
|
|
33
|
-
return Uint8Array.from(s, (c) => c.charCodeAt(0))
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
static isArrayBuffer(u: unknown): u is ArrayBuffer {
|
|
37
|
-
return ArrayBuffer.isView(u)
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { DefaultConfigurationManager } from '../../src/configurationManager/defaultConfigurationManager'
|
|
2
|
-
import { readFileSync, existsSync } from 'fs'
|
|
3
|
-
import { TextEncoder, TextDecoder } from 'util'
|
|
4
|
-
|
|
5
|
-
global.TextEncoder = TextEncoder
|
|
6
|
-
global.TextDecoder = TextDecoder
|
|
7
|
-
|
|
8
|
-
describe('configuration manager', () => {
|
|
9
|
-
const configFilePath = 'config/sudoplatformconfig.json'
|
|
10
|
-
if (existsSync(configFilePath)) {
|
|
11
|
-
const config = readFileSync(configFilePath, 'utf-8')
|
|
12
|
-
const json = JSON.parse(config)
|
|
13
|
-
|
|
14
|
-
describe('validateConfig', () => {
|
|
15
|
-
it('should return deprecated service info if equal to deprecated version', async () => {
|
|
16
|
-
const config = {
|
|
17
|
-
identityService: {
|
|
18
|
-
region: json.identityService.region,
|
|
19
|
-
serviceInfoBucket: json.identityService.serviceInfoBucket,
|
|
20
|
-
},
|
|
21
|
-
vcService: {
|
|
22
|
-
version: 3,
|
|
23
|
-
},
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const manager = DefaultConfigurationManager.getInstance().setConfig(
|
|
27
|
-
JSON.stringify(config),
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
await expect(manager.validateConfig()).resolves.toEqual({
|
|
31
|
-
deprecated: [
|
|
32
|
-
{
|
|
33
|
-
configVersion: 3,
|
|
34
|
-
minSupportedVersion: 2,
|
|
35
|
-
deprecatedVersion: 3,
|
|
36
|
-
name: 'vcService',
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
incompatible: [],
|
|
40
|
-
})
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
it('should return incompatible service info if less than min version', async () => {
|
|
44
|
-
const config = {
|
|
45
|
-
identityService: {
|
|
46
|
-
region: json.identityService.region,
|
|
47
|
-
serviceInfoBucket: json.identityService.serviceInfoBucket,
|
|
48
|
-
},
|
|
49
|
-
vcService: {
|
|
50
|
-
version: 1,
|
|
51
|
-
},
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const manager = DefaultConfigurationManager.getInstance().setConfig(
|
|
55
|
-
JSON.stringify(config),
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
await expect(manager.validateConfig()).resolves.toEqual({
|
|
59
|
-
deprecated: [
|
|
60
|
-
{
|
|
61
|
-
configVersion: 1,
|
|
62
|
-
minSupportedVersion: 2,
|
|
63
|
-
deprecatedVersion: 3,
|
|
64
|
-
name: 'vcService',
|
|
65
|
-
},
|
|
66
|
-
],
|
|
67
|
-
incompatible: [
|
|
68
|
-
{
|
|
69
|
-
configVersion: 1,
|
|
70
|
-
minSupportedVersion: 2,
|
|
71
|
-
deprecatedVersion: 3,
|
|
72
|
-
name: 'vcService',
|
|
73
|
-
},
|
|
74
|
-
],
|
|
75
|
-
})
|
|
76
|
-
})
|
|
77
|
-
})
|
|
78
|
-
} else {
|
|
79
|
-
it('Skip all tests.', () => {
|
|
80
|
-
console.log(
|
|
81
|
-
'No sudoplatformconfig.json, test key and test key ID file found. Skipping all integration tests.',
|
|
82
|
-
)
|
|
83
|
-
})
|
|
84
|
-
}
|
|
85
|
-
})
|
package/test/matchers.ts
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
export {}
|
|
2
|
-
|
|
3
|
-
function match(
|
|
4
|
-
context: jest.MatcherContext,
|
|
5
|
-
caught: Error,
|
|
6
|
-
error: {
|
|
7
|
-
name: string | RegExp | undefined
|
|
8
|
-
message?: string | RegExp | undefined | null
|
|
9
|
-
},
|
|
10
|
-
): { pass: boolean; message: () => string } {
|
|
11
|
-
const failures: string[] = []
|
|
12
|
-
if (caught) {
|
|
13
|
-
if (error.name instanceof RegExp) {
|
|
14
|
-
let pass: boolean
|
|
15
|
-
if (
|
|
16
|
-
caught.name !== undefined &&
|
|
17
|
-
caught.name !== null &&
|
|
18
|
-
typeof caught.name === 'string'
|
|
19
|
-
) {
|
|
20
|
-
pass = error.name.exec(caught.name) != null
|
|
21
|
-
} else {
|
|
22
|
-
pass = false
|
|
23
|
-
}
|
|
24
|
-
if (!pass) {
|
|
25
|
-
failures.push(
|
|
26
|
-
`name '${caught.name}' does not match regexp ${error.name.source}`,
|
|
27
|
-
)
|
|
28
|
-
}
|
|
29
|
-
} else if (error.name !== undefined) {
|
|
30
|
-
if (caught.name !== error.name) {
|
|
31
|
-
failures.push(`name '${caught.name}' does not match '${error.name}'`)
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
if (error.message instanceof RegExp) {
|
|
36
|
-
let pass: boolean
|
|
37
|
-
if (
|
|
38
|
-
caught.message !== undefined &&
|
|
39
|
-
caught.message !== null &&
|
|
40
|
-
typeof caught.message === 'string'
|
|
41
|
-
) {
|
|
42
|
-
pass = error.message.exec(caught.message) != null
|
|
43
|
-
} else {
|
|
44
|
-
pass = false
|
|
45
|
-
}
|
|
46
|
-
if (!pass) {
|
|
47
|
-
failures.push(
|
|
48
|
-
`message '${caught.message}' does not match regexp ${error.message.source}`,
|
|
49
|
-
)
|
|
50
|
-
}
|
|
51
|
-
} else if (error.message !== undefined) {
|
|
52
|
-
if (caught.message !== error.message) {
|
|
53
|
-
failures.push(
|
|
54
|
-
`message '${caught.message} does not match '${error.message}'`,
|
|
55
|
-
)
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
} else {
|
|
59
|
-
failures.push(`no error thrown`)
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (failures.length === 0 || context.isNot) {
|
|
63
|
-
return {
|
|
64
|
-
pass: true,
|
|
65
|
-
message: () => 'matched',
|
|
66
|
-
}
|
|
67
|
-
} else {
|
|
68
|
-
if (context.isNot) {
|
|
69
|
-
failures.push(`expected ${caught} not to match ${error} but does`)
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return {
|
|
73
|
-
pass: false,
|
|
74
|
-
message: () => {
|
|
75
|
-
return `Failures: ${JSON.stringify(failures, undefined, 2)}`
|
|
76
|
-
},
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
declare global {
|
|
82
|
-
namespace jest {
|
|
83
|
-
interface Matchers<R> {
|
|
84
|
-
toThrowErrorMatching(error: {
|
|
85
|
-
name: string | RegExp | undefined | null
|
|
86
|
-
message?: string | RegExp | undefined | null
|
|
87
|
-
}): R
|
|
88
|
-
toMatchError(error: {
|
|
89
|
-
name: string | RegExp | undefined | null
|
|
90
|
-
message?: string | RegExp | undefined | null
|
|
91
|
-
}): R
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
expect.extend({
|
|
97
|
-
toThrowErrorMatching(
|
|
98
|
-
operation: () => unknown,
|
|
99
|
-
error: {
|
|
100
|
-
name: string | RegExp | undefined
|
|
101
|
-
message?: string | RegExp | undefined | null
|
|
102
|
-
},
|
|
103
|
-
) {
|
|
104
|
-
let caught: Error | undefined
|
|
105
|
-
try {
|
|
106
|
-
operation()
|
|
107
|
-
} catch (err) {
|
|
108
|
-
caught = err
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
return match(this, caught, error)
|
|
112
|
-
},
|
|
113
|
-
toMatchError(
|
|
114
|
-
caught: Error,
|
|
115
|
-
error: {
|
|
116
|
-
name: string | RegExp | undefined
|
|
117
|
-
message?: string | RegExp | undefined | null
|
|
118
|
-
},
|
|
119
|
-
) {
|
|
120
|
-
return match(this, caught, error)
|
|
121
|
-
},
|
|
122
|
-
})
|