@velocitycareerlabs/vcl-react-native 1.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/LICENSE +21 -0
- package/README.md +126 -0
- package/android/.gradle/7.4.2/checksums/checksums.lock +0 -0
- package/android/.gradle/7.4.2/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.4.2/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.4.2/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.4.2/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.4.2/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.4.2/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/build.gradle +134 -0
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/android/gradle.properties +4 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/io/velocitycareerlabs/reactnative/VclReactNativeModule.kt +320 -0
- package/android/src/main/java/io/velocitycareerlabs/reactnative/VclReactNativePackage.kt +19 -0
- package/android/src/main/java/io/velocitycareerlabs/reactnative/extensions/ArrayExtensions.kt +88 -0
- package/android/src/main/java/io/velocitycareerlabs/reactnative/extensions/JSONExtensions.kt +66 -0
- package/android/src/main/java/io/velocitycareerlabs/reactnative/extensions/MapExtensions.kt +89 -0
- package/android/src/main/java/io/velocitycareerlabs/reactnative/extensions/RNCollectionExtensions.kt +62 -0
- package/android/src/main/java/io/velocitycareerlabs/reactnative/utlis/Converter.kt +514 -0
- package/ios/Extensions/StringExtensions.swift +21 -0
- package/ios/Utils/Converter.swift +507 -0
- package/ios/VclReactNative-Bridging-Header.h +2 -0
- package/ios/VclReactNative.m +70 -0
- package/ios/VclReactNative.swift +249 -0
- package/ios/VclReactNative.xcodeproj/project.pbxproj +303 -0
- package/lib/commonjs/api/Dictionary.js +2 -0
- package/lib/commonjs/api/Dictionary.js.map +1 -0
- package/lib/commonjs/api/VCLApi.js +6 -0
- package/lib/commonjs/api/VCLApi.js.map +1 -0
- package/lib/commonjs/api/VCLEnvironment.js +15 -0
- package/lib/commonjs/api/VCLEnvironment.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCountries.js +263 -0
- package/lib/commonjs/api/entities/VCLCountries.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCountry.js +6 -0
- package/lib/commonjs/api/entities/VCLCountry.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialManifest.js +6 -0
- package/lib/commonjs/api/entities/VCLCredentialManifest.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialManifestDescriptor.js +6 -0
- package/lib/commonjs/api/entities/VCLCredentialManifestDescriptor.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialManifestDescriptorByDeepLink.js +6 -0
- package/lib/commonjs/api/entities/VCLCredentialManifestDescriptorByDeepLink.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialManifestDescriptorByService.js +6 -0
- package/lib/commonjs/api/entities/VCLCredentialManifestDescriptorByService.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialManifestDescriptorRefresh.js +6 -0
- package/lib/commonjs/api/entities/VCLCredentialManifestDescriptorRefresh.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialType.js +6 -0
- package/lib/commonjs/api/entities/VCLCredentialType.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialTypeSchema.js +6 -0
- package/lib/commonjs/api/entities/VCLCredentialTypeSchema.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialTypeSchemas.js +6 -0
- package/lib/commonjs/api/entities/VCLCredentialTypeSchemas.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialTypes.js +6 -0
- package/lib/commonjs/api/entities/VCLCredentialTypes.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialTypesUIFormSchema.js +6 -0
- package/lib/commonjs/api/entities/VCLCredentialTypesUIFormSchema.js.map +1 -0
- package/lib/commonjs/api/entities/VCLCredentialTypesUIFormSchemaDescriptor.js +2 -0
- package/lib/commonjs/api/entities/VCLCredentialTypesUIFormSchemaDescriptor.js.map +1 -0
- package/lib/commonjs/api/entities/VCLDeepLink.js +2 -0
- package/lib/commonjs/api/entities/VCLDeepLink.js.map +1 -0
- package/lib/commonjs/api/entities/VCLError.js +2 -0
- package/lib/commonjs/api/entities/VCLError.js.map +1 -0
- package/lib/commonjs/api/entities/VCLExchange.js +2 -0
- package/lib/commonjs/api/entities/VCLExchange.js.map +1 -0
- package/lib/commonjs/api/entities/VCLExchangeDescriptor.js +6 -0
- package/lib/commonjs/api/entities/VCLExchangeDescriptor.js.map +1 -0
- package/lib/commonjs/api/entities/VCLFilter.js +6 -0
- package/lib/commonjs/api/entities/VCLFilter.js.map +1 -0
- package/lib/commonjs/api/entities/VCLFinalizeOffersDescriptor.js +6 -0
- package/lib/commonjs/api/entities/VCLFinalizeOffersDescriptor.js.map +1 -0
- package/lib/commonjs/api/entities/VCLGenerateOffersDescriptor.js +6 -0
- package/lib/commonjs/api/entities/VCLGenerateOffersDescriptor.js.map +1 -0
- package/lib/commonjs/api/entities/VCLJWT.js +2 -0
- package/lib/commonjs/api/entities/VCLJWT.js.map +1 -0
- package/lib/commonjs/api/entities/VCLJwtVerifiableCredentials.js +6 -0
- package/lib/commonjs/api/entities/VCLJwtVerifiableCredentials.js.map +1 -0
- package/lib/commonjs/api/entities/VCLOffers.js +6 -0
- package/lib/commonjs/api/entities/VCLOffers.js.map +1 -0
- package/lib/commonjs/api/entities/VCLOrganization.js +6 -0
- package/lib/commonjs/api/entities/VCLOrganization.js.map +1 -0
- package/lib/commonjs/api/entities/VCLOrganizations.js +6 -0
- package/lib/commonjs/api/entities/VCLOrganizations.js.map +1 -0
- package/lib/commonjs/api/entities/VCLOrganizationsSearchDescriptor.js +6 -0
- package/lib/commonjs/api/entities/VCLOrganizationsSearchDescriptor.js.map +1 -0
- package/lib/commonjs/api/entities/VCLPage.js +2 -0
- package/lib/commonjs/api/entities/VCLPage.js.map +1 -0
- package/lib/commonjs/api/entities/VCLPresentationRequest.js +6 -0
- package/lib/commonjs/api/entities/VCLPresentationRequest.js.map +1 -0
- package/lib/commonjs/api/entities/VCLPresentationSubmission.js +6 -0
- package/lib/commonjs/api/entities/VCLPresentationSubmission.js.map +1 -0
- package/lib/commonjs/api/entities/VCLPresentationSubmissionResult.js +6 -0
- package/lib/commonjs/api/entities/VCLPresentationSubmissionResult.js.map +1 -0
- package/lib/commonjs/api/entities/VCLPublicKey.js +2 -0
- package/lib/commonjs/api/entities/VCLPublicKey.js.map +1 -0
- package/lib/commonjs/api/entities/VCLPushDelegate.js +2 -0
- package/lib/commonjs/api/entities/VCLPushDelegate.js.map +1 -0
- package/lib/commonjs/api/entities/VCLRegion.js +6 -0
- package/lib/commonjs/api/entities/VCLRegion.js.map +1 -0
- package/lib/commonjs/api/entities/VCLRegions.js +6 -0
- package/lib/commonjs/api/entities/VCLRegions.js.map +1 -0
- package/lib/commonjs/api/entities/VCLService.js +6 -0
- package/lib/commonjs/api/entities/VCLService.js.map +1 -0
- package/lib/commonjs/api/entities/VCLServiceCredentialAgentIssuer.js +6 -0
- package/lib/commonjs/api/entities/VCLServiceCredentialAgentIssuer.js.map +1 -0
- package/lib/commonjs/api/entities/VCLServiceType.js +20 -0
- package/lib/commonjs/api/entities/VCLServiceType.js.map +1 -0
- package/lib/commonjs/api/entities/VCLSubmissionResult.js +6 -0
- package/lib/commonjs/api/entities/VCLSubmissionResult.js.map +1 -0
- package/lib/commonjs/api/entities/VCLToken.js +2 -0
- package/lib/commonjs/api/entities/VCLToken.js.map +1 -0
- package/lib/commonjs/api/entities/VCLVerifiableCredential.js +2 -0
- package/lib/commonjs/api/entities/VCLVerifiableCredential.js.map +1 -0
- package/lib/commonjs/api/entities/VCLVerifiedProfile.js +6 -0
- package/lib/commonjs/api/entities/VCLVerifiedProfile.js.map +1 -0
- package/lib/commonjs/api/entities/VCLVerifiedProfileDescriptor.js +2 -0
- package/lib/commonjs/api/entities/VCLVerifiedProfileDescriptor.js.map +1 -0
- package/lib/commonjs/index.js +39 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/module/api/Dictionary.js +2 -0
- package/lib/module/api/Dictionary.js.map +1 -0
- package/lib/module/api/VCLApi.js +2 -0
- package/lib/module/api/VCLApi.js.map +1 -0
- package/lib/module/api/VCLEnvironment.js +8 -0
- package/lib/module/api/VCLEnvironment.js.map +1 -0
- package/lib/module/api/entities/VCLCountries.js +256 -0
- package/lib/module/api/entities/VCLCountries.js.map +1 -0
- package/lib/module/api/entities/VCLCountry.js +2 -0
- package/lib/module/api/entities/VCLCountry.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialManifest.js +2 -0
- package/lib/module/api/entities/VCLCredentialManifest.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialManifestDescriptor.js +2 -0
- package/lib/module/api/entities/VCLCredentialManifestDescriptor.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialManifestDescriptorByDeepLink.js +2 -0
- package/lib/module/api/entities/VCLCredentialManifestDescriptorByDeepLink.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialManifestDescriptorByService.js +2 -0
- package/lib/module/api/entities/VCLCredentialManifestDescriptorByService.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialManifestDescriptorRefresh.js +2 -0
- package/lib/module/api/entities/VCLCredentialManifestDescriptorRefresh.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialType.js +2 -0
- package/lib/module/api/entities/VCLCredentialType.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialTypeSchema.js +2 -0
- package/lib/module/api/entities/VCLCredentialTypeSchema.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialTypeSchemas.js +2 -0
- package/lib/module/api/entities/VCLCredentialTypeSchemas.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialTypes.js +2 -0
- package/lib/module/api/entities/VCLCredentialTypes.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialTypesUIFormSchema.js +2 -0
- package/lib/module/api/entities/VCLCredentialTypesUIFormSchema.js.map +1 -0
- package/lib/module/api/entities/VCLCredentialTypesUIFormSchemaDescriptor.js +2 -0
- package/lib/module/api/entities/VCLCredentialTypesUIFormSchemaDescriptor.js.map +1 -0
- package/lib/module/api/entities/VCLDeepLink.js +2 -0
- package/lib/module/api/entities/VCLDeepLink.js.map +1 -0
- package/lib/module/api/entities/VCLError.js +2 -0
- package/lib/module/api/entities/VCLError.js.map +1 -0
- package/lib/module/api/entities/VCLExchange.js +2 -0
- package/lib/module/api/entities/VCLExchange.js.map +1 -0
- package/lib/module/api/entities/VCLExchangeDescriptor.js +2 -0
- package/lib/module/api/entities/VCLExchangeDescriptor.js.map +1 -0
- package/lib/module/api/entities/VCLFilter.js +2 -0
- package/lib/module/api/entities/VCLFilter.js.map +1 -0
- package/lib/module/api/entities/VCLFinalizeOffersDescriptor.js +2 -0
- package/lib/module/api/entities/VCLFinalizeOffersDescriptor.js.map +1 -0
- package/lib/module/api/entities/VCLGenerateOffersDescriptor.js +2 -0
- package/lib/module/api/entities/VCLGenerateOffersDescriptor.js.map +1 -0
- package/lib/module/api/entities/VCLJWT.js +2 -0
- package/lib/module/api/entities/VCLJWT.js.map +1 -0
- package/lib/module/api/entities/VCLJwtVerifiableCredentials.js +2 -0
- package/lib/module/api/entities/VCLJwtVerifiableCredentials.js.map +1 -0
- package/lib/module/api/entities/VCLOffers.js +2 -0
- package/lib/module/api/entities/VCLOffers.js.map +1 -0
- package/lib/module/api/entities/VCLOrganization.js +2 -0
- package/lib/module/api/entities/VCLOrganization.js.map +1 -0
- package/lib/module/api/entities/VCLOrganizations.js +2 -0
- package/lib/module/api/entities/VCLOrganizations.js.map +1 -0
- package/lib/module/api/entities/VCLOrganizationsSearchDescriptor.js +2 -0
- package/lib/module/api/entities/VCLOrganizationsSearchDescriptor.js.map +1 -0
- package/lib/module/api/entities/VCLPage.js +2 -0
- package/lib/module/api/entities/VCLPage.js.map +1 -0
- package/lib/module/api/entities/VCLPresentationRequest.js +2 -0
- package/lib/module/api/entities/VCLPresentationRequest.js.map +1 -0
- package/lib/module/api/entities/VCLPresentationSubmission.js +2 -0
- package/lib/module/api/entities/VCLPresentationSubmission.js.map +1 -0
- package/lib/module/api/entities/VCLPresentationSubmissionResult.js +2 -0
- package/lib/module/api/entities/VCLPresentationSubmissionResult.js.map +1 -0
- package/lib/module/api/entities/VCLPublicKey.js +2 -0
- package/lib/module/api/entities/VCLPublicKey.js.map +1 -0
- package/lib/module/api/entities/VCLPushDelegate.js +2 -0
- package/lib/module/api/entities/VCLPushDelegate.js.map +1 -0
- package/lib/module/api/entities/VCLRegion.js +2 -0
- package/lib/module/api/entities/VCLRegion.js.map +1 -0
- package/lib/module/api/entities/VCLRegions.js +2 -0
- package/lib/module/api/entities/VCLRegions.js.map +1 -0
- package/lib/module/api/entities/VCLService.js +2 -0
- package/lib/module/api/entities/VCLService.js.map +1 -0
- package/lib/module/api/entities/VCLServiceCredentialAgentIssuer.js +2 -0
- package/lib/module/api/entities/VCLServiceCredentialAgentIssuer.js.map +1 -0
- package/lib/module/api/entities/VCLServiceType.js +13 -0
- package/lib/module/api/entities/VCLServiceType.js.map +1 -0
- package/lib/module/api/entities/VCLSubmissionResult.js +2 -0
- package/lib/module/api/entities/VCLSubmissionResult.js.map +1 -0
- package/lib/module/api/entities/VCLToken.js +2 -0
- package/lib/module/api/entities/VCLToken.js.map +1 -0
- package/lib/module/api/entities/VCLVerifiableCredential.js +2 -0
- package/lib/module/api/entities/VCLVerifiableCredential.js.map +1 -0
- package/lib/module/api/entities/VCLVerifiedProfile.js +2 -0
- package/lib/module/api/entities/VCLVerifiedProfile.js.map +1 -0
- package/lib/module/api/entities/VCLVerifiedProfileDescriptor.js +2 -0
- package/lib/module/api/entities/VCLVerifiedProfileDescriptor.js.map +1 -0
- package/lib/module/index.js +10 -0
- package/lib/module/index.js.map +1 -0
- package/lib/typescript/api/Dictionary.d.ts +3 -0
- package/lib/typescript/api/VCLApi.d.ts +44 -0
- package/lib/typescript/api/VCLEnvironment.d.ts +8 -0
- package/lib/typescript/api/entities/VCLCountries.d.ts +257 -0
- package/lib/typescript/api/entities/VCLCountry.d.ts +8 -0
- package/lib/typescript/api/entities/VCLCredentialManifest.d.ts +8 -0
- package/lib/typescript/api/entities/VCLCredentialManifestDescriptor.d.ts +5 -0
- package/lib/typescript/api/entities/VCLCredentialManifestDescriptorByDeepLink.d.ts +5 -0
- package/lib/typescript/api/entities/VCLCredentialManifestDescriptorByService.d.ts +5 -0
- package/lib/typescript/api/entities/VCLCredentialManifestDescriptorRefresh.d.ts +6 -0
- package/lib/typescript/api/entities/VCLCredentialType.d.ts +10 -0
- package/lib/typescript/api/entities/VCLCredentialTypeSchema.d.ts +4 -0
- package/lib/typescript/api/entities/VCLCredentialTypeSchemas.d.ts +5 -0
- package/lib/typescript/api/entities/VCLCredentialTypes.d.ts +5 -0
- package/lib/typescript/api/entities/VCLCredentialTypesUIFormSchema.d.ts +4 -0
- package/lib/typescript/api/entities/VCLCredentialTypesUIFormSchemaDescriptor.d.ts +4 -0
- package/lib/typescript/api/entities/VCLDeepLink.d.ts +3 -0
- package/lib/typescript/api/entities/VCLError.d.ts +4 -0
- package/lib/typescript/api/entities/VCLExchange.d.ts +6 -0
- package/lib/typescript/api/entities/VCLExchangeDescriptor.d.ts +6 -0
- package/lib/typescript/api/entities/VCLFilter.d.ts +6 -0
- package/lib/typescript/api/entities/VCLFinalizeOffersDescriptor.d.ts +6 -0
- package/lib/typescript/api/entities/VCLGenerateOffersDescriptor.d.ts +8 -0
- package/lib/typescript/api/entities/VCLJWT.d.ts +3 -0
- package/lib/typescript/api/entities/VCLJwtVerifiableCredentials.d.ts +4 -0
- package/lib/typescript/api/entities/VCLOffers.d.ts +7 -0
- package/lib/typescript/api/entities/VCLOrganization.d.ts +6 -0
- package/lib/typescript/api/entities/VCLOrganizations.d.ts +4 -0
- package/lib/typescript/api/entities/VCLOrganizationsSearchDescriptor.d.ts +8 -0
- package/lib/typescript/api/entities/VCLPage.d.ts +4 -0
- package/lib/typescript/api/entities/VCLPresentationRequest.d.ts +10 -0
- package/lib/typescript/api/entities/VCLPresentationSubmission.d.ts +6 -0
- package/lib/typescript/api/entities/VCLPresentationSubmissionResult.d.ts +6 -0
- package/lib/typescript/api/entities/VCLPublicKey.d.ts +3 -0
- package/lib/typescript/api/entities/VCLPushDelegate.d.ts +4 -0
- package/lib/typescript/api/entities/VCLRegion.d.ts +6 -0
- package/lib/typescript/api/entities/VCLRegions.d.ts +5 -0
- package/lib/typescript/api/entities/VCLService.d.ts +4 -0
- package/lib/typescript/api/entities/VCLServiceCredentialAgentIssuer.d.ts +3 -0
- package/lib/typescript/api/entities/VCLServiceType.d.ts +10 -0
- package/lib/typescript/api/entities/VCLSubmissionResult.d.ts +6 -0
- package/lib/typescript/api/entities/VCLToken.d.ts +3 -0
- package/lib/typescript/api/entities/VCLVerifiableCredential.d.ts +4 -0
- package/lib/typescript/api/entities/VCLVerifiedProfile.d.ts +8 -0
- package/lib/typescript/api/entities/VCLVerifiedProfileDescriptor.d.ts +3 -0
- package/lib/typescript/index.d.ts +49 -0
- package/package.json +154 -0
- package/src/api/Dictionary.tsx +3 -0
- package/src/api/VCLApi.tsx +80 -0
- package/src/api/VCLEnvironment.tsx +9 -0
- package/src/api/entities/VCLCountries.tsx +259 -0
- package/src/api/entities/VCLCountry.tsx +9 -0
- package/src/api/entities/VCLCredentialManifest.tsx +9 -0
- package/src/api/entities/VCLCredentialManifestDescriptor.tsx +6 -0
- package/src/api/entities/VCLCredentialManifestDescriptorByDeepLink.tsx +7 -0
- package/src/api/entities/VCLCredentialManifestDescriptorByService.tsx +7 -0
- package/src/api/entities/VCLCredentialManifestDescriptorRefresh.tsx +8 -0
- package/src/api/entities/VCLCredentialType.tsx +11 -0
- package/src/api/entities/VCLCredentialTypeSchema.tsx +5 -0
- package/src/api/entities/VCLCredentialTypeSchemas.tsx +6 -0
- package/src/api/entities/VCLCredentialTypes.tsx +6 -0
- package/src/api/entities/VCLCredentialTypesUIFormSchema.tsx +5 -0
- package/src/api/entities/VCLCredentialTypesUIFormSchemaDescriptor.tsx +4 -0
- package/src/api/entities/VCLDeepLink.tsx +3 -0
- package/src/api/entities/VCLError.tsx +4 -0
- package/src/api/entities/VCLExchange.tsx +6 -0
- package/src/api/entities/VCLExchangeDescriptor.tsx +7 -0
- package/src/api/entities/VCLFilter.tsx +7 -0
- package/src/api/entities/VCLFinalizeOffersDescriptor.tsx +7 -0
- package/src/api/entities/VCLGenerateOffersDescriptor.tsx +9 -0
- package/src/api/entities/VCLJWT.tsx +3 -0
- package/src/api/entities/VCLJwtVerifiableCredentials.tsx +5 -0
- package/src/api/entities/VCLOffers.tsx +8 -0
- package/src/api/entities/VCLOrganization.tsx +7 -0
- package/src/api/entities/VCLOrganizations.tsx +5 -0
- package/src/api/entities/VCLOrganizationsSearchDescriptor.tsx +9 -0
- package/src/api/entities/VCLPage.tsx +4 -0
- package/src/api/entities/VCLPresentationRequest.tsx +11 -0
- package/src/api/entities/VCLPresentationSubmission.tsx +7 -0
- package/src/api/entities/VCLPresentationSubmissionResult.tsx +7 -0
- package/src/api/entities/VCLPublicKey.tsx +3 -0
- package/src/api/entities/VCLPushDelegate.tsx +4 -0
- package/src/api/entities/VCLRegion.tsx +7 -0
- package/src/api/entities/VCLRegions.tsx +6 -0
- package/src/api/entities/VCLService.tsx +5 -0
- package/src/api/entities/VCLServiceCredentialAgentIssuer.tsx +3 -0
- package/src/api/entities/VCLServiceType.tsx +10 -0
- package/src/api/entities/VCLSubmissionResult.tsx +7 -0
- package/src/api/entities/VCLToken.tsx +3 -0
- package/src/api/entities/VCLVerifiableCredential.tsx +4 -0
- package/src/api/entities/VCLVerifiedProfile.tsx +9 -0
- package/src/api/entities/VCLVerifiedProfileDescriptor.tsx +3 -0
- package/src/index.tsx +98 -0
- package/vcl-react-native.podspec +22 -0
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
package io.velocitycareerlabs.reactnative.utlis
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.ReadableArray
|
|
5
|
+
import com.facebook.react.bridge.ReadableMap
|
|
6
|
+
import com.facebook.react.bridge.WritableArray
|
|
7
|
+
import io.velocitycareerlabs.api.*
|
|
8
|
+
import io.velocitycareerlabs.api.entities.*
|
|
9
|
+
import io.velocitycareerlabs.reactnative.extensions.*
|
|
10
|
+
import org.json.JSONObject
|
|
11
|
+
import java.lang.Exception
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Created by Michael Avoyan on 04/07/2021.
|
|
15
|
+
*/
|
|
16
|
+
object Converter {
|
|
17
|
+
|
|
18
|
+
fun mapToEnvironment(environmentMap: ReadableMap) =
|
|
19
|
+
when(environmentMap.getStringOpt("value")) {
|
|
20
|
+
VCLEnvironment.DEV.value -> VCLEnvironment.DEV
|
|
21
|
+
VCLEnvironment.STAGING.value -> VCLEnvironment.STAGING
|
|
22
|
+
VCLEnvironment.PROD.value -> VCLEnvironment.PROD
|
|
23
|
+
else -> VCLEnvironment.PROD
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
fun regionToMap(
|
|
27
|
+
region: VCLRegion
|
|
28
|
+
): ReadableMap {
|
|
29
|
+
val regionMap = Arguments.createMap()
|
|
30
|
+
regionMap.putMap("payload", region.payload.toReadableMap())
|
|
31
|
+
regionMap.putString("code", region.code)
|
|
32
|
+
regionMap.putString("name", region.name)
|
|
33
|
+
return regionMap
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
fun regionsToMap(
|
|
37
|
+
regions: VCLRegions
|
|
38
|
+
): ReadableMap {
|
|
39
|
+
val regionsMap = Arguments.createMap()
|
|
40
|
+
val regionsArr = Arguments.createArray()
|
|
41
|
+
for (i in regions.all.indices) {
|
|
42
|
+
regionsArr.pushMap(regionToMap(regions.all[i]))
|
|
43
|
+
}
|
|
44
|
+
regionsMap.putArray("all", regionsArr)
|
|
45
|
+
return regionsMap
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
fun countryToMap(
|
|
49
|
+
country: VCLCountry
|
|
50
|
+
): ReadableMap {
|
|
51
|
+
val countryMap = Arguments.createMap()
|
|
52
|
+
countryMap.putMap("payload", country.payload.toReadableMap())
|
|
53
|
+
countryMap.putString("code", country.code)
|
|
54
|
+
countryMap.putString("name", country.name)
|
|
55
|
+
country.regions?.let{ countryMap.putMap("regions", regionsToMap(it)) }
|
|
56
|
+
return countryMap
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
fun countriesToMap(
|
|
60
|
+
countries: VCLCountries
|
|
61
|
+
): ReadableMap {
|
|
62
|
+
val countriesMap = Arguments.createMap()
|
|
63
|
+
val countriesArr = Arguments.createArray()
|
|
64
|
+
countries.all?.let { all ->
|
|
65
|
+
for (i in all.indices) {
|
|
66
|
+
countriesArr.pushMap(countryToMap(all[i]))
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
countriesMap.putArray("all", countriesArr)
|
|
70
|
+
return countriesMap
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
fun credentialTypeSchemasToMap(
|
|
74
|
+
credentialTypeSchemas: VCLCredentialTypeSchemas
|
|
75
|
+
): ReadableMap {
|
|
76
|
+
val credentialTypeSchemasMap = Arguments.createMap()
|
|
77
|
+
for ((key, credentialTypeSchema) in credentialTypeSchemas.all) {
|
|
78
|
+
val credentialTypeSchemaMap = Arguments.createMap()
|
|
79
|
+
credentialTypeSchemaMap.putMap("payload", credentialTypeSchema.payload.toReadableMap());
|
|
80
|
+
credentialTypeSchemasMap.putMap(key, credentialTypeSchemaMap)
|
|
81
|
+
}
|
|
82
|
+
val retVal = Arguments.createMap()
|
|
83
|
+
retVal.putMap("all", credentialTypeSchemasMap)
|
|
84
|
+
return retVal
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
fun credentialTypesToMap(credentialTypes: VCLCredentialTypes): ReadableMap {
|
|
88
|
+
var credentialTypesArray = Arguments.createArray()
|
|
89
|
+
credentialTypes.all?.let {
|
|
90
|
+
credentialTypesArray = parseCredentialTypesArray(it)
|
|
91
|
+
}
|
|
92
|
+
var recommendedCredentialTypesArray = Arguments.createArray()
|
|
93
|
+
credentialTypes.recommendedTypes?.let {
|
|
94
|
+
recommendedCredentialTypesArray = parseCredentialTypesArray(it)
|
|
95
|
+
}
|
|
96
|
+
val retVal = Arguments.createMap()
|
|
97
|
+
retVal.putArray("all", credentialTypesArray)
|
|
98
|
+
retVal.putArray("recommendedTypes", recommendedCredentialTypesArray)
|
|
99
|
+
return retVal
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
private fun parseCredentialTypesArray(credentialTypesArr: List<VCLCredentialType>): WritableArray {
|
|
103
|
+
val credentialTypesArray = Arguments.createArray()
|
|
104
|
+
credentialTypesArr.forEach {
|
|
105
|
+
val credentialType = Arguments.createMap()
|
|
106
|
+
credentialType.putMap("payload", it.payload.toReadableMap())
|
|
107
|
+
credentialType.putString("id", it.id)
|
|
108
|
+
credentialType.putString("schema", it.schema)
|
|
109
|
+
credentialType.putString("createdAt", it.createdAt)
|
|
110
|
+
credentialType.putString("schemaName", it.schemaName)
|
|
111
|
+
credentialType.putString("credentialType", it.credentialType)
|
|
112
|
+
credentialType.putBoolean("recommended", it.recommended)
|
|
113
|
+
credentialTypesArray.pushMap(credentialType)
|
|
114
|
+
}
|
|
115
|
+
return credentialTypesArray
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
fun mapToDeepLink(deepLinkMap: ReadableMap?) =
|
|
119
|
+
VCLDeepLink(deepLinkMap?.getStringOpt("value") ?: "")
|
|
120
|
+
|
|
121
|
+
fun deepLinkToMap(deepLink: VCLDeepLink): ReadableMap {
|
|
122
|
+
val retVal = Arguments.createMap()
|
|
123
|
+
retVal.putString("value", deepLink.value)
|
|
124
|
+
return retVal
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
fun mapToToken(tokenMap: ReadableMap?) =
|
|
128
|
+
VCLToken(tokenMap?.getStringOpt("value") ?: "")
|
|
129
|
+
|
|
130
|
+
fun tokenToMap(token: VCLToken): ReadableMap {
|
|
131
|
+
val retVal = Arguments.createMap()
|
|
132
|
+
retVal.putString("value", token.value)
|
|
133
|
+
return retVal
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
fun mapToPresentationRequest(
|
|
137
|
+
presentationRequestMap: ReadableMap?
|
|
138
|
+
) = VCLPresentationRequest(
|
|
139
|
+
mapToJwt(presentationRequestMap?.getMapOpt("jwt")),
|
|
140
|
+
mapToPublicKey(presentationRequestMap?.getMapOpt("publicKey")),
|
|
141
|
+
mapToDeepLink(presentationRequestMap?.getMapOpt("deepLink"))
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
fun presentationRequestToMap(
|
|
145
|
+
presentationRequest: VCLPresentationRequest
|
|
146
|
+
): ReadableMap {
|
|
147
|
+
val presentationRequestMap = Arguments.createMap()
|
|
148
|
+
val jwtMap = Arguments.createMap()
|
|
149
|
+
jwtMap.putString("encodedJwt", presentationRequest.jwt.signedJwt.serialize())
|
|
150
|
+
presentationRequestMap.putMap("jwt", jwtMap)
|
|
151
|
+
val jwkMap = Arguments.createMap()
|
|
152
|
+
jwkMap.putString("jwkStr", presentationRequest.publicKey.jwkStr)
|
|
153
|
+
presentationRequestMap.putMap("publicKey", jwkMap)
|
|
154
|
+
presentationRequestMap.putString("iss", presentationRequest.iss)
|
|
155
|
+
presentationRequestMap.putString("exchangeId", presentationRequest.exchangeId)
|
|
156
|
+
presentationRequestMap.putString("presentationDefinitionId", presentationRequest.presentationDefinitionId)
|
|
157
|
+
presentationRequestMap.putMap("deepLink", deepLinkToMap(presentationRequest.deepLink))
|
|
158
|
+
return presentationRequestMap
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
fun mapToPresentationSubmission(
|
|
162
|
+
presentationSubmissionMap: ReadableMap?
|
|
163
|
+
): VCLPresentationSubmission {
|
|
164
|
+
val verifiableCredentialsReadableArr =
|
|
165
|
+
presentationSubmissionMap?.getArrayOpt("verifiableCredentials")
|
|
166
|
+
val verifiableCredentialsList = mutableListOf<VCLVerifiableCredential>()
|
|
167
|
+
verifiableCredentialsReadableArr?.let { verifiableCredentials ->
|
|
168
|
+
for (i in 0 until verifiableCredentials.size()) {
|
|
169
|
+
val verifiableCredential = verifiableCredentials.getMapOpt(i)
|
|
170
|
+
verifiableCredentialsList.add(
|
|
171
|
+
VCLVerifiableCredential(
|
|
172
|
+
inputDescriptor = verifiableCredential?.getStringOpt("inputDescriptor") ?: "",
|
|
173
|
+
jwtVc = verifiableCredential?.getStringOpt("jwtVc") ?: ""
|
|
174
|
+
)
|
|
175
|
+
)
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return VCLPresentationSubmission(
|
|
179
|
+
presentationRequest = mapToPresentationRequest(presentationSubmissionMap?.getMapOpt("presentationRequest")),
|
|
180
|
+
verifiableCredentials = verifiableCredentialsList
|
|
181
|
+
)
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
fun presentationSubmissionResultToMap(
|
|
185
|
+
presentationSubmissionResult: VCLIdentificationSubmissionResult
|
|
186
|
+
): ReadableMap {
|
|
187
|
+
val presentationSubmissionResultMap = Arguments.createMap()
|
|
188
|
+
presentationSubmissionResultMap.putMap("token", tokenToMap(presentationSubmissionResult.token))
|
|
189
|
+
presentationSubmissionResultMap.putMap(
|
|
190
|
+
"exchange",
|
|
191
|
+
exchangeToMap(presentationSubmissionResult.exchange)
|
|
192
|
+
)
|
|
193
|
+
return presentationSubmissionResultMap
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
fun exchangeToMap(
|
|
197
|
+
exchange: VCLExchange
|
|
198
|
+
): ReadableMap {
|
|
199
|
+
val exchangeMap = Arguments.createMap()
|
|
200
|
+
exchangeMap.putString("id", exchange.id)
|
|
201
|
+
exchangeMap.putString("type", exchange.type)
|
|
202
|
+
exchangeMap.putBoolean("disclosureComplete", exchange.disclosureComplete)
|
|
203
|
+
exchangeMap.putBoolean("exchangeComplete", exchange.exchangeComplete)
|
|
204
|
+
return exchangeMap
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
fun mapToSubmissionResult(
|
|
208
|
+
submissionResultMap: ReadableMap?
|
|
209
|
+
) = VCLSubmissionResult(
|
|
210
|
+
token = mapToToken(submissionResultMap?.getMapOpt("token")),
|
|
211
|
+
exchange = mapToExchange(submissionResultMap?.getMapOpt("exchange"))
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
fun mapToExchange(
|
|
215
|
+
exchangeMap: ReadableMap?
|
|
216
|
+
) = VCLExchange(
|
|
217
|
+
id = exchangeMap?.getStringOpt("id") ?: "",
|
|
218
|
+
type = exchangeMap?.getStringOpt("type") ?: "",
|
|
219
|
+
disclosureComplete = exchangeMap?.getBooleanOpt("disclosureComplete") ?: false,
|
|
220
|
+
exchangeComplete = exchangeMap?.getBooleanOpt("exchangeComplete") ?: false
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
fun mapToExchangeDescriptor(exchangeDescriptorMap: ReadableMap) =
|
|
224
|
+
VCLExchangeDescriptor(
|
|
225
|
+
mapToPresentationSubmission(exchangeDescriptorMap.getMapOpt("presentationSubmission")),
|
|
226
|
+
mapToSubmissionResult(exchangeDescriptorMap.getMapOpt("submissionResult"))
|
|
227
|
+
)
|
|
228
|
+
|
|
229
|
+
fun stringToServiceType(
|
|
230
|
+
serviceType: String?
|
|
231
|
+
): VCLServiceType? =
|
|
232
|
+
when (serviceType) {
|
|
233
|
+
"Issuer" -> VCLServiceType.Issuer
|
|
234
|
+
"Inspector" -> VCLServiceType.Inspector
|
|
235
|
+
"CredentialAgentOperator" -> VCLServiceType.CredentialAgentOperator
|
|
236
|
+
"NodeOperator" -> VCLServiceType.NodeOperator
|
|
237
|
+
"TrustRoot" -> VCLServiceType.TrustRoot
|
|
238
|
+
"NotaryIssuer" -> VCLServiceType.NotaryIssuer
|
|
239
|
+
"IdentityIssuer" -> VCLServiceType.IdentityIssuer
|
|
240
|
+
"HolderAppProvider" -> VCLServiceType.HolderAppProvider
|
|
241
|
+
else -> null
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
fun mapToOrganizationsSearchDescriptor(
|
|
245
|
+
organizationsDescriptorMap: ReadableMap
|
|
246
|
+
) = VCLOrganizationsSearchDescriptor(
|
|
247
|
+
filter = mapToFilter(organizationsDescriptorMap.getMapOpt("filter")),
|
|
248
|
+
page = mapToPage(organizationsDescriptorMap.getMapOpt("page")),
|
|
249
|
+
sort = readableArrayToList(organizationsDescriptorMap.getArrayOpt("sort")),
|
|
250
|
+
query = organizationsDescriptorMap.getStringOpt("query") ?: ""
|
|
251
|
+
)
|
|
252
|
+
|
|
253
|
+
fun mapToFilter(
|
|
254
|
+
filterMap: ReadableMap?
|
|
255
|
+
): VCLFilter {
|
|
256
|
+
val did = filterMap?.getStringOpt("did")
|
|
257
|
+
val serviceTypesArr = filterMap?.getArrayOpt("serviceTypes")
|
|
258
|
+
var serviceTypesList: MutableList<VCLServiceType>? = null
|
|
259
|
+
serviceTypesArr?.let {
|
|
260
|
+
serviceTypesList = mutableListOf()
|
|
261
|
+
for (i in 0 until it.size()) {
|
|
262
|
+
val serviceType = stringToServiceType(it.getStringOpt(i))
|
|
263
|
+
serviceType?.let { st -> serviceTypesList?.add(st) }
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
val credentialTypesArr = filterMap?.getArrayOpt("credentialTypes")
|
|
267
|
+
var credentialTypesList: MutableList<String>? = null
|
|
268
|
+
credentialTypesArr?.let {
|
|
269
|
+
credentialTypesList = mutableListOf()
|
|
270
|
+
for (i in 0 until it.size()) {
|
|
271
|
+
val credentialType = it.getStringOpt(i)
|
|
272
|
+
credentialType?.let { ct -> credentialTypesList?.add(ct) }
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
return VCLFilter(
|
|
276
|
+
did = did,
|
|
277
|
+
serviceTypes = serviceTypesList,
|
|
278
|
+
credentialTypes = credentialTypesList
|
|
279
|
+
)
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
fun mapToPage(pageMap: ReadableMap?) = VCLPage(
|
|
283
|
+
size = pageMap?.getStringOpt("size"),
|
|
284
|
+
skip = pageMap?.getStringOpt("skip")
|
|
285
|
+
)
|
|
286
|
+
|
|
287
|
+
fun readableArrayToList(
|
|
288
|
+
sortReadableArr: ReadableArray?
|
|
289
|
+
): List<List<String>>? {
|
|
290
|
+
var sortList: MutableList<List<String>>? = null
|
|
291
|
+
sortReadableArr?.let {
|
|
292
|
+
sortList = mutableListOf()
|
|
293
|
+
for (i in 0 until it.size()) {
|
|
294
|
+
val arr = it.getArrayOpt(i)
|
|
295
|
+
val subList = mutableListOf<String>()
|
|
296
|
+
for (j in 0 until (arr?.size() ?: 0)) {
|
|
297
|
+
arr?.getStringOpt(j)?.let { str -> subList.add(str) }
|
|
298
|
+
}
|
|
299
|
+
if (subList.isNotEmpty()) sortList?.add(subList)
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return sortList
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
fun organizationsToMap(
|
|
306
|
+
organizations: VCLOrganizations
|
|
307
|
+
): ReadableMap {
|
|
308
|
+
val organizationsMap = Arguments.createMap()
|
|
309
|
+
val organizationsWritableArray = Arguments.createArray()
|
|
310
|
+
organizations.all.forEach { organization ->
|
|
311
|
+
val organizationMap = Arguments.createMap()
|
|
312
|
+
organizationMap.putMap("payload", organization.payload.toReadableMap())
|
|
313
|
+
val serviceCredentialAgentIssuersArr = Arguments.createArray()
|
|
314
|
+
organization.serviceCredentialAgentIssuers.forEach { service ->
|
|
315
|
+
val serviceCredentialAgentIssuerMap = Arguments.createMap()
|
|
316
|
+
service.credentialTypes?.let {
|
|
317
|
+
serviceCredentialAgentIssuerMap.putArray("credentialTypes", it.toReadableArray())
|
|
318
|
+
}
|
|
319
|
+
serviceCredentialAgentIssuerMap.putString("id", service.id)
|
|
320
|
+
serviceCredentialAgentIssuerMap.putString("type", service.type)
|
|
321
|
+
serviceCredentialAgentIssuerMap.putString("serviceEndpoint", service.serviceEndpoint)
|
|
322
|
+
serviceCredentialAgentIssuerMap.putMap("payload", service.payload.toReadableMap())
|
|
323
|
+
serviceCredentialAgentIssuersArr.pushMap(serviceCredentialAgentIssuerMap)
|
|
324
|
+
}
|
|
325
|
+
organizationMap.putArray("serviceCredentialAgentIssuers", serviceCredentialAgentIssuersArr)
|
|
326
|
+
organizationMap.putMap("payload", organization.payload.toReadableMap())
|
|
327
|
+
organizationsWritableArray.pushMap(organizationMap)
|
|
328
|
+
}
|
|
329
|
+
organizationsMap.putArray("all", organizationsWritableArray)
|
|
330
|
+
return organizationsMap
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
fun mapToCredentialManifestDescriptor(
|
|
334
|
+
credentialManifestDescriptorMap: ReadableMap
|
|
335
|
+
): VCLCredentialManifestDescriptor? {
|
|
336
|
+
credentialManifestDescriptorMap.getMapOpt("deepLink")?.let {
|
|
337
|
+
return mapToCredentialManifestDescriptorByDeepLink(credentialManifestDescriptorMap)
|
|
338
|
+
} ?: credentialManifestDescriptorMap.getMapOpt("service")?.let {
|
|
339
|
+
credentialManifestDescriptorMap.getArrayOpt("credentialIds")?.let {
|
|
340
|
+
return mapToCredentialManifestDescriptorRefresh(credentialManifestDescriptorMap)
|
|
341
|
+
} ?: return mapToCredentialManifestDescriptorByService(credentialManifestDescriptorMap)
|
|
342
|
+
}
|
|
343
|
+
return null
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
fun mapToCredentialManifestDescriptorByDeepLink(
|
|
347
|
+
credentialManifestDescriptorByDeepLinkMap: ReadableMap
|
|
348
|
+
): VCLCredentialManifestDescriptorByDeepLink {
|
|
349
|
+
return VCLCredentialManifestDescriptorByDeepLink(
|
|
350
|
+
mapToDeepLink(
|
|
351
|
+
credentialManifestDescriptorByDeepLinkMap.getMapOpt("deepLink")
|
|
352
|
+
)
|
|
353
|
+
)
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
fun mapToCredentialManifestDescriptorByService(
|
|
357
|
+
credentialManifestDescriptorByServiceMap: ReadableMap
|
|
358
|
+
): VCLCredentialManifestDescriptorByService {
|
|
359
|
+
val pushDelegateMap = credentialManifestDescriptorByServiceMap.getMapOpt("pushDelegate")
|
|
360
|
+
val pushDelegate = VCLPushDelegate(
|
|
361
|
+
pushUrl = pushDelegateMap?.getStringOpt("pushUrl") ?: "",
|
|
362
|
+
pushToken = pushDelegateMap?.getStringOpt("pushToken") ?: ""
|
|
363
|
+
)
|
|
364
|
+
return VCLCredentialManifestDescriptorByService(
|
|
365
|
+
service = mapToServiceCredentialAgentIssuer(
|
|
366
|
+
credentialManifestDescriptorByServiceMap.getMapOpt("service")
|
|
367
|
+
),
|
|
368
|
+
credentialTypes =
|
|
369
|
+
(credentialManifestDescriptorByServiceMap.getArrayOpt("credentialTypes")?.toArrayList()?.toList() as? List<String>),
|
|
370
|
+
pushDelegate = pushDelegate
|
|
371
|
+
)
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
fun mapToCredentialManifestDescriptorRefresh(
|
|
375
|
+
credentialManifestDescriptorRefreshMap: ReadableMap
|
|
376
|
+
): VCLCredentialManifestDescriptor {
|
|
377
|
+
return VCLCredentialManifestDescriptorRefresh(
|
|
378
|
+
service = mapToServiceCredentialAgentIssuer(
|
|
379
|
+
credentialManifestDescriptorRefreshMap.getMapOpt("service")
|
|
380
|
+
),
|
|
381
|
+
credentialIds = credentialManifestDescriptorRefreshMap.getArrayOpt("credentialIds")?.toArrayList()?.toList() as? List<String> ?: listOf()
|
|
382
|
+
)
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
fun mapToServiceCredentialAgentIssuer(
|
|
386
|
+
serviceMap: ReadableMap?
|
|
387
|
+
): VCLServiceCredentialAgentIssuer {
|
|
388
|
+
var payload = JSONObject("{}")
|
|
389
|
+
try {
|
|
390
|
+
payload = JSONObject(serviceMap?.getMapOpt("payload").toString()).getJSONObject("NativeMap")
|
|
391
|
+
} catch (ex: Exception) {
|
|
392
|
+
ex.printStackTrace()
|
|
393
|
+
}
|
|
394
|
+
return VCLServiceCredentialAgentIssuer(payload = payload)
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
fun credentialManifestToMap(
|
|
398
|
+
credentialManifest: VCLCredentialManifest
|
|
399
|
+
): ReadableMap {
|
|
400
|
+
val credentialManifestMap = Arguments.createMap()
|
|
401
|
+
val jwtMap = Arguments.createMap()
|
|
402
|
+
jwtMap.putString("encodedJwt", credentialManifest.jwt.signedJwt.serialize())
|
|
403
|
+
credentialManifestMap.putMap("jwt", jwtMap)
|
|
404
|
+
credentialManifestMap.putString("did", credentialManifest.did)
|
|
405
|
+
credentialManifestMap.putString("iss", credentialManifest.iss)
|
|
406
|
+
credentialManifestMap.putString("exchangeId", credentialManifest.exchangeId)
|
|
407
|
+
credentialManifestMap.putString("vendorOriginContext", credentialManifest.vendorOriginContext)
|
|
408
|
+
return credentialManifestMap
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
fun mapToCredentialManifest(
|
|
412
|
+
credentialManifestMap: ReadableMap?
|
|
413
|
+
): VCLCredentialManifest {
|
|
414
|
+
val jwt = VCLJWT(encodedJwt = credentialManifestMap?.getMapOpt("jwt")?.getStringOpt("encodedJwt") ?: "")
|
|
415
|
+
val vendorOriginContext: String? = credentialManifestMap?.getStringOpt("vendorOriginContext")
|
|
416
|
+
return VCLCredentialManifest(jwt = jwt, vendorOriginContext = vendorOriginContext)
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
fun mapToGenerateOffersDescriptor(
|
|
420
|
+
generateOffersDescriptorMap: ReadableMap
|
|
421
|
+
): VCLGenerateOffersDescriptor {
|
|
422
|
+
val verifiableCredentialsReadableArr = generateOffersDescriptorMap.getArrayOpt("identificationVerifiableCredentials")
|
|
423
|
+
val verifiableCredentialsList = mutableListOf<VCLVerifiableCredential>()
|
|
424
|
+
verifiableCredentialsReadableArr?.let {
|
|
425
|
+
for (i in 0 until it.size()) {
|
|
426
|
+
val verifiableCredentialMap = it.getMapOpt(i)
|
|
427
|
+
verifiableCredentialsList.add(
|
|
428
|
+
VCLVerifiableCredential(
|
|
429
|
+
inputDescriptor = verifiableCredentialMap?.getStringOpt("inputDescriptor") ?: "",
|
|
430
|
+
jwtVc = verifiableCredentialMap?.getStringOpt("jwtVc") ?: "",
|
|
431
|
+
)
|
|
432
|
+
)
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
return VCLGenerateOffersDescriptor(
|
|
436
|
+
mapToCredentialManifest(generateOffersDescriptorMap.getMapOpt("credentialManifest")),
|
|
437
|
+
types = (generateOffersDescriptorMap.getArrayOpt("types")?.toArrayList()?.toList() as? List<String>),
|
|
438
|
+
offerHashes = (generateOffersDescriptorMap.getArrayOpt("offerHashes")?.toArrayList()?.toList() as? List<String>),
|
|
439
|
+
identificationVerifiableCredentials = verifiableCredentialsList
|
|
440
|
+
)
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
fun generatedOffersToMap(
|
|
444
|
+
offers: VCLOffers
|
|
445
|
+
): ReadableMap {
|
|
446
|
+
val generatedOffersMap = Arguments.createMap()
|
|
447
|
+
generatedOffersMap.putArray("all", offers.all.toReadableArray())
|
|
448
|
+
generatedOffersMap.putInt("responseCode", offers.responseCode)
|
|
449
|
+
generatedOffersMap.putMap("token", tokenToMap(offers.token))
|
|
450
|
+
return generatedOffersMap
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
fun credentialTypesFormSchemaToMap(
|
|
454
|
+
credentialTypesFormSchema: VCLCredentialTypesUIFormSchema
|
|
455
|
+
): ReadableMap {
|
|
456
|
+
val credentialTypesFormSchemaMap = Arguments.createMap()
|
|
457
|
+
credentialTypesFormSchemaMap.putMap("payload", credentialTypesFormSchema.payload.toReadableMap())
|
|
458
|
+
return credentialTypesFormSchemaMap
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
fun mapToJwt(jwtMap: ReadableMap?) =
|
|
462
|
+
VCLJWT(encodedJwt = jwtMap?.getStringOpt("encodedJwt") ?: "")
|
|
463
|
+
|
|
464
|
+
fun mapToPublicKey(publicKeyMap: ReadableMap?) =
|
|
465
|
+
VCLPublicKey(jwkStr = publicKeyMap?.getStringOpt("jwkStr") ?: "")
|
|
466
|
+
|
|
467
|
+
fun mapToFinalizedOffersDescriptor(
|
|
468
|
+
finalizedOffersDescriptorMap: ReadableMap
|
|
469
|
+
) = VCLFinalizeOffersDescriptor(
|
|
470
|
+
credentialManifest = mapToCredentialManifest(finalizedOffersDescriptorMap.getMapOpt("credentialManifest")),
|
|
471
|
+
approvedOfferIds = (finalizedOffersDescriptorMap.getArrayOpt("approvedOfferIds")?.toArrayList()?.toList() as? List<String>) ?: listOf(),
|
|
472
|
+
rejectedOfferIds = (finalizedOffersDescriptorMap.getArrayOpt("rejectedOfferIds")?.toArrayList()?.toList() as? List<String>) ?: listOf()
|
|
473
|
+
)
|
|
474
|
+
|
|
475
|
+
fun jwtVerifiableCredentialsToMap(
|
|
476
|
+
jwtVerifiableCredentials: VCLJwtVerifiableCredentials
|
|
477
|
+
): ReadableMap {
|
|
478
|
+
val jwtVerifiableCredentialsMap = Arguments.createMap()
|
|
479
|
+
val jwtArr = Arguments.createArray()
|
|
480
|
+
jwtVerifiableCredentials.all.forEach {
|
|
481
|
+
jwtArr.pushString(it.signedJwt.serialize())
|
|
482
|
+
}
|
|
483
|
+
jwtVerifiableCredentialsMap.putArray("all", jwtArr)
|
|
484
|
+
return jwtVerifiableCredentialsMap
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
fun jwtToMap(jwt: VCLJWT): ReadableMap {
|
|
488
|
+
val jwtReadableMap = Arguments.createMap()
|
|
489
|
+
jwtReadableMap.putString("encodedJwt", jwt.signedJwt.serialize())
|
|
490
|
+
return jwtReadableMap
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
fun mapToCredentialTypesUIFormSchemaDescriptor(
|
|
494
|
+
credentialTypesUIFormSchemaDescriptorMap: ReadableMap
|
|
495
|
+
) = VCLCredentialTypesUIFormSchemaDescriptor(
|
|
496
|
+
credentialTypesUIFormSchemaDescriptorMap.getStringOpt("credentialType") ?: "",
|
|
497
|
+
credentialTypesUIFormSchemaDescriptorMap.getStringOpt("countryCode") ?: "",
|
|
498
|
+
)
|
|
499
|
+
|
|
500
|
+
fun mapToVerifiedProfileDescriptor(verifiedProfileDescriptor: ReadableMap) =
|
|
501
|
+
VCLVerifiedProfileDescriptor(did = verifiedProfileDescriptor.getStringOpt("did") ?: "")
|
|
502
|
+
|
|
503
|
+
fun verifiedProfileToMap(
|
|
504
|
+
verifiedProfile: VCLVerifiedProfile
|
|
505
|
+
): ReadableMap {
|
|
506
|
+
val verifiedProfileMap = Arguments.createMap()
|
|
507
|
+
verifiedProfileMap.putMap("payload", verifiedProfile.payload.toReadableMap())
|
|
508
|
+
verifiedProfileMap.putString("id", verifiedProfile.id)
|
|
509
|
+
verifiedProfileMap.putString("logo", verifiedProfile.logo)
|
|
510
|
+
verifiedProfileMap.putString("name", verifiedProfile.name)
|
|
511
|
+
return verifiedProfileMap
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//
|
|
2
|
+
// StringExtensions.swift
|
|
3
|
+
// VclReactNative
|
|
4
|
+
//
|
|
5
|
+
// Created by Michael Avoyan on 13/07/2021.
|
|
6
|
+
// Copyright © 2021 Facebook. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
import Foundation
|
|
10
|
+
|
|
11
|
+
extension String {
|
|
12
|
+
func toDictionary() -> [String: Any]? {
|
|
13
|
+
if let data = self.data(using: .utf8) {
|
|
14
|
+
do {
|
|
15
|
+
return try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
|
|
16
|
+
} catch {
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return nil
|
|
20
|
+
}
|
|
21
|
+
}
|