@procivis/one-react-native-components 0.3.132 → 0.3.143
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/lib/commonjs/components/history/history-list-item-icon.js +2 -0
- package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
- package/lib/commonjs/components/proof-request/index.js +1 -12
- package/lib/commonjs/components/proof-request/index.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/commonjs/ui-components/buttons/scan-button.js +122 -27
- package/lib/commonjs/ui-components/buttons/scan-button.js.map +1 -1
- package/lib/commonjs/ui-components/credential/card/credential-details-card.js +37 -18
- package/lib/commonjs/ui-components/credential/card/credential-details-card.js.map +1 -1
- package/lib/commonjs/ui-components/credential/credential-attribute-item.js +13 -4
- package/lib/commonjs/ui-components/credential/credential-attribute-item.js.map +1 -1
- package/lib/commonjs/ui-components/icons/icons.js +36 -2
- package/lib/commonjs/ui-components/icons/icons.js.map +1 -1
- package/lib/commonjs/ui-components/list/wallet/empty-list.js +2 -1
- package/lib/commonjs/ui-components/list/wallet/empty-list.js.map +1 -1
- package/lib/commonjs/ui-components/notice/wallet-notice.js +4 -2
- package/lib/commonjs/ui-components/notice/wallet-notice.js.map +1 -1
- package/lib/commonjs/ui-components/text/expandableTypography.js +64 -0
- package/lib/commonjs/ui-components/text/expandableTypography.js.map +1 -0
- package/lib/commonjs/ui-components/text/index.js +15 -0
- package/lib/commonjs/ui-components/text/index.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/credential-schemas.js +24 -1
- package/lib/commonjs/utils/hooks/core/credential-schemas.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/wallet-unit.js +20 -1
- package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js +34 -7
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential.js +12 -4
- package/lib/commonjs/utils/parsers/credential.js.map +1 -1
- package/lib/commonjs/utils/parsers/index.js +0 -11
- package/lib/commonjs/utils/parsers/index.js.map +1 -1
- package/lib/commonjs/utils/parsers/query.js +1 -1
- package/lib/commonjs/utils/parsers/query.js.map +1 -1
- package/lib/module/components/history/history-list-item-icon.js +2 -0
- package/lib/module/components/history/history-list-item-icon.js.map +1 -1
- package/lib/module/components/proof-request/index.js +0 -1
- package/lib/module/components/proof-request/index.js.map +1 -1
- package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
- package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/module/ui-components/buttons/scan-button.js +124 -29
- package/lib/module/ui-components/buttons/scan-button.js.map +1 -1
- package/lib/module/ui-components/credential/card/credential-details-card.js +37 -18
- package/lib/module/ui-components/credential/card/credential-details-card.js.map +1 -1
- package/lib/module/ui-components/credential/credential-attribute-item.js +13 -4
- package/lib/module/ui-components/credential/credential-attribute-item.js.map +1 -1
- package/lib/module/ui-components/icons/icons.js +32 -0
- package/lib/module/ui-components/icons/icons.js.map +1 -1
- package/lib/module/ui-components/list/wallet/empty-list.js +2 -1
- package/lib/module/ui-components/list/wallet/empty-list.js.map +1 -1
- package/lib/module/ui-components/notice/wallet-notice.js +4 -2
- package/lib/module/ui-components/notice/wallet-notice.js.map +1 -1
- package/lib/module/ui-components/text/expandableTypography.js +55 -0
- package/lib/module/ui-components/text/expandableTypography.js.map +1 -0
- package/lib/module/ui-components/text/index.js +2 -1
- package/lib/module/ui-components/text/index.js.map +1 -1
- package/lib/module/utils/hooks/core/credential-schemas.js +24 -1
- package/lib/module/utils/hooks/core/credential-schemas.js.map +1 -1
- package/lib/module/utils/hooks/core/proofs.js +1 -1
- package/lib/module/utils/hooks/core/proofs.js.map +1 -1
- package/lib/module/utils/hooks/core/wallet-unit.js +18 -0
- package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing-v2.js +32 -6
- package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/module/utils/parsers/credential.js +10 -4
- package/lib/module/utils/parsers/credential.js.map +1 -1
- package/lib/module/utils/parsers/index.js +0 -1
- package/lib/module/utils/parsers/index.js.map +1 -1
- package/lib/module/utils/parsers/query.js +1 -1
- package/lib/module/utils/parsers/query.js.map +1 -1
- package/lib/typescript/components/proof-request/index.d.ts +0 -1
- package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +8 -1
- package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +1 -1
- package/lib/typescript/ui-components/buttons/scan-button.d.ts +9 -3
- package/lib/typescript/ui-components/credential/card/credential-details-card.d.ts +3 -0
- package/lib/typescript/ui-components/credential/credential-attribute-item.d.ts +3 -0
- package/lib/typescript/ui-components/icons/icons.d.ts +2 -0
- package/lib/typescript/ui-components/list/wallet/empty-list.d.ts +2 -2
- package/lib/typescript/ui-components/text/expandableTypography.d.ts +10 -0
- package/lib/typescript/ui-components/text/index.d.ts +2 -1
- package/lib/typescript/ui-components/text/typography.d.ts +14 -14
- package/lib/typescript/utils/hooks/app-state.d.ts +1 -1
- package/lib/typescript/utils/hooks/core/proofs.d.ts +2 -2
- package/lib/typescript/utils/hooks/core/wallet-unit.d.ts +5 -1
- package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +10 -2
- package/lib/typescript/utils/parsers/credential.d.ts +2 -1
- package/lib/typescript/utils/parsers/index.d.ts +0 -1
- package/package.json +5 -4
- package/src/components/history/history-list-item-icon.tsx +2 -0
- package/src/components/proof-request/index.ts +0 -1
- package/src/components/proof-request/v2/share-credential-v2-group.tsx +9 -2
- package/src/components/proof-request/v2/share-credential-v2.tsx +1 -1
- package/src/ui-components/buttons/scan-button.tsx +130 -38
- package/src/ui-components/credential/card/credential-details-card.tsx +46 -19
- package/src/ui-components/credential/credential-attribute-item.tsx +15 -3
- package/src/ui-components/icons/icons.tsx +24 -0
- package/src/ui-components/list/wallet/empty-list.tsx +11 -8
- package/src/ui-components/notice/wallet-notice.tsx +4 -2
- package/src/ui-components/text/expandableTypography.tsx +71 -0
- package/src/ui-components/text/index.ts +2 -1
- package/src/utils/hooks/core/credential-schemas.ts +23 -1
- package/src/utils/hooks/core/proofs.ts +3 -3
- package/src/utils/hooks/core/wallet-unit.ts +21 -0
- package/src/utils/parsers/credential-sharing-v2.tsx +71 -6
- package/src/utils/parsers/credential.ts +14 -3
- package/src/utils/parsers/index.ts +0 -1
- package/src/utils/parsers/query.ts +0 -1
- package/lib/commonjs/components/proof-request/v1/group.js +0 -35
- package/lib/commonjs/components/proof-request/v1/group.js.map +0 -1
- package/lib/commonjs/components/proof-request/v1/index.js +0 -39
- package/lib/commonjs/components/proof-request/v1/index.js.map +0 -1
- package/lib/commonjs/components/proof-request/v1/select-credential.js +0 -53
- package/lib/commonjs/components/proof-request/v1/select-credential.js.map +0 -1
- package/lib/commonjs/components/proof-request/v1/share-credential.js +0 -110
- package/lib/commonjs/components/proof-request/v1/share-credential.js.map +0 -1
- package/lib/commonjs/utils/parsers/credential-sharing.js +0 -263
- package/lib/commonjs/utils/parsers/credential-sharing.js.map +0 -1
- package/lib/module/components/proof-request/v1/group.js +0 -27
- package/lib/module/components/proof-request/v1/group.js.map +0 -1
- package/lib/module/components/proof-request/v1/index.js +0 -4
- package/lib/module/components/proof-request/v1/index.js.map +0 -1
- package/lib/module/components/proof-request/v1/select-credential.js +0 -44
- package/lib/module/components/proof-request/v1/select-credential.js.map +0 -1
- package/lib/module/components/proof-request/v1/share-credential.js +0 -101
- package/lib/module/components/proof-request/v1/share-credential.js.map +0 -1
- package/lib/module/utils/parsers/credential-sharing.js +0 -250
- package/lib/module/utils/parsers/credential-sharing.js.map +0 -1
- package/lib/typescript/components/proof-request/v1/group.d.ts +0 -2
- package/lib/typescript/components/proof-request/v1/index.d.ts +0 -3
- package/lib/typescript/components/proof-request/v1/select-credential.d.ts +0 -15
- package/lib/typescript/components/proof-request/v1/share-credential.d.ts +0 -27
- package/lib/typescript/utils/parsers/credential-sharing.d.ts +0 -20
- package/src/components/proof-request/v1/group.tsx +0 -26
- package/src/components/proof-request/v1/index.ts +0 -3
- package/src/components/proof-request/v1/select-credential.tsx +0 -55
- package/src/components/proof-request/v1/share-credential.tsx +0 -159
- package/src/utils/parsers/credential-sharing.tsx +0 -404
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HistoryAction","HistoryEntityType","OneError","ProofState","useCallback","useEffect","useMemo","useRef","useState","useMutation","useQuery","useQueryClient","getQueryKeyFromProofListQueryParams","reportException","useCoreConfig","useONECore","OneErrorCode","HISTORY_LIST_QUERY_KEY","useIdentifiers","useProofSchemaDetail","PAGE_SIZE","PROOF_DETAIL_QUERY_KEY","PROOF_STATE_QUERY_KEY","PROOF_LIST_QUERY_KEY","PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY","useProofDetail","proofId","core","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","organisationId","state","then","proof","metadata","ERROR","listHistory","page","pageSize","entityIds","entityTypes","PROOF","actions","ERRORED","result","_result$values$","values","value","refetchInterval","useProofUrl","queryClient","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","holderSubmitProof","onError","err","useProofReject","holderRejectProof","catch","e","code","OperationNotSupported","IssuanceProtocol","VerificationProtocol","VerificationEngagement","useProposeProof","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","pageParam","listProofs","useProofCreate","data","createProof","getIdentifierFilterForProofSchema","proofSchema","config","requestedFormats","proofInputSchemas","map","schema","credentialSchema","format","requestedFormatsCapabilities","_config$format$format","capabilities","filter","x","keyAlgorithms","reduce","others","_others$filter","current","verificationKeyAlgorithms","item","includes","keyStorages","_others$filter2","verificationKeyStorages","useProofForSchemaIdWithTransport","proofSchemaId","transport","identifierFilter","identifiers","mutateAsync","deleting","setDeleting","setProofIdState","proofIdRef","proofState","setProofId","id","retract","CREATED","PENDING","length","protocol","OPENID4VP_PROXIMITY_DRAFT00","verifierIdentifierId","useCleanupUnusedProofs","proofs","proofStates","cleaned","setCleaned","forEach","useShareProof","proofUrlProps","sharedProof","setSharedProof","bleAdapterDisabled","error","_error$cause","cause","useRetainProofCheck","runTask","removeQueries","useDeleteProofData","deleteProofClaims","useDeleteAllProofsData","schemaId","proofSchemaIds","ACCEPTED","Promise","all","reverse","useProofRequestTrustInformation","credentialId","getProofTrustInformation"],"sources":["proofs.ts"],"sourcesContent":["import {\n CoreConfig,\n CreateProofRequest,\n HistoryAction,\n HistoryEntityType,\n HistoryErrorMetadata,\n IdentifierListQuery,\n OneError,\n PresentationSubmitCredentialRequest,\n ProofListQuery,\n ProofSchemaDetail,\n ProofState,\n ProposeProofRequest,\n ShareProofRequest,\n} from '@procivis/react-native-one-core';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromProofListQueryParams } from '../../parsers/query';\nimport { reportException } from '../../reporting';\nimport { Transport } from '../connectivity/connectivity';\nimport { useCoreConfig } from './core-config';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { useIdentifiers } from './identifiers';\nimport { useProofSchemaDetail } from './proof-schemas';\n\nconst PAGE_SIZE = 10;\nexport const PROOF_DETAIL_QUERY_KEY = 'proof-detail';\nexport const PROOF_STATE_QUERY_KEY = 'proof-state';\nexport const PROOF_LIST_QUERY_KEY = 'proof-list';\nexport const PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY = 'proof-request-trust-information';\n\nexport const useProofDetail = (proofId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery([PROOF_DETAIL_QUERY_KEY, proofId], () => (proofId ? core.getProof(proofId) : undefined), {\n enabled: Boolean(proofId),\n keepPreviousData: true,\n });\n};\n\nexport const useProofState = (proofId: string | undefined, isPolling: boolean) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [PROOF_STATE_QUERY_KEY, proofId],\n async () => {\n if (!proofId) {\n return undefined;\n }\n\n const state = await core.getProof(proofId).then((proof) => proof.state);\n let metadata: HistoryErrorMetadata | undefined;\n if (state === ProofState.ERROR) {\n metadata = await core\n .listHistory({\n organisationId,\n page: 0,\n pageSize: 1,\n entityIds: [proofId],\n entityTypes: [HistoryEntityType.PROOF],\n actions: [HistoryAction.ERRORED],\n })\n .then((result) => result.values[0]?.metadata?.value as HistoryErrorMetadata);\n }\n return { state, metadata };\n },\n {\n enabled: Boolean(proofId),\n refetchInterval: isPolling ? 1000 : false,\n },\n );\n};\n\ntype ProofUrlHookParams = { proofId: string; request?: ShareProofRequest };\n\nexport const useProofUrl = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ proofId, request }: ProofUrlHookParams) =>\n core.shareProof(proofId, request ?? {}).then((proof) => proof.url),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({\n interactionId,\n credentials,\n }: {\n credentials: Record<string, PresentationSubmitCredentialRequest[]>;\n interactionId: string;\n }) => core.holderSubmitProof(interactionId, credentials),\n {\n onError: async (err) => {\n reportException(err, 'Proof submission failure');\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectProof(interactionId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport enum IssuanceProtocol {\n OPENID4VCI_DRAFT13 = 'OPENID4VCI_DRAFT13',\n}\n\nexport enum VerificationProtocol {\n ISO_MDL = 'ISO_MDL',\n OPENID4VP_DRAFT20 = 'OPENID4VP_DRAFT20',\n OPENID4VP_DRAFT25 = 'OPENID4VP_DRAFT25',\n OPENID4VP_PROXIMITY_DRAFT00 = 'OPENID4VP_PROXIMITY_DRAFT00',\n}\n\nexport enum VerificationEngagement {\n QR_CODE = 'QR_CODE',\n NFC = 'NFC',\n}\n\nexport const useProposeProof = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<ProposeProofRequest, 'organisationId'>) => core.proposeProof({ organisationId, ...request }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (proofId: string) => {\n return core.deleteProof(proofId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofs = (queryParams?: Partial<ProofListQuery>) => {\n const { core, organisationId } = useONECore();\n\n const queryKey = [PROOF_LIST_QUERY_KEY, ...getQueryKeyFromProofListQueryParams(queryParams)];\n\n return useQuery(\n queryKey,\n ({ pageParam = 0 }) =>\n core.listProofs({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n ...queryParams,\n }),\n {\n keepPreviousData: false,\n },\n );\n};\n\nexport const useProofCreate = () => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async (data: CreateProofRequest) => core.createProof(data), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nconst getIdentifierFilterForProofSchema = (\n proofSchema: ProofSchemaDetail,\n config: CoreConfig,\n): Partial<IdentifierListQuery> => {\n const requestedFormats = proofSchema.proofInputSchemas.map((schema) => schema.credentialSchema.format);\n const requestedFormatsCapabilities = requestedFormats\n .map((format) => config.format[format]?.capabilities)\n .filter((x) => x);\n\n // key algorithms must be supported by all requested formats\n const keyAlgorithms = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyAlgorithms;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n // key storages must be supported by all requested formats\n const keyStorages = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyStorages;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n return { keyAlgorithms, keyStorages };\n};\n\nexport const useProofForSchemaIdWithTransport = (\n proofSchemaId: string,\n transport: Transport[] | undefined,\n enabled: boolean,\n) => {\n const { data: proofSchema } = useProofSchemaDetail(proofSchemaId, enabled);\n const { data: config } = useCoreConfig();\n\n const identifierFilter = useMemo(\n () => (proofSchema && config ? getIdentifierFilterForProofSchema(proofSchema, config) : undefined),\n [config, proofSchema],\n );\n\n const { data: identifiers } = useIdentifiers(identifierFilter);\n const { mutateAsync: createProof } = useProofCreate();\n const { mutateAsync: deleteProof } = useProofDelete();\n\n const [deleting, setDeleting] = useState(false);\n const [proofId, setProofIdState] = useState<string | undefined>(undefined);\n const proofIdRef = useRef<string>();\n\n const { data: proofState } = useProofState(deleting ? undefined : proofId, enabled);\n\n const setProofId = useCallback((id: string | undefined) => {\n proofIdRef.current = id;\n setProofIdState(id);\n }, []);\n\n const retract = useCallback(async () => {\n const id = proofIdRef.current;\n if (!id) {\n return;\n }\n setProofId(undefined);\n await deleteProof(id).catch(() => {});\n }, [deleteProof, setProofId]);\n\n useEffect(() => {\n if (!proofIdRef.current) {\n return;\n }\n setDeleting(true);\n deleteProof(proofIdRef.current)\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }, [proofIdRef, deleteProof, proofSchemaId, transport, setProofId]);\n\n useEffect(() => {\n if (enabled) {\n return;\n }\n\n if (proofState?.state !== ProofState.CREATED && proofState?.state !== ProofState.PENDING) {\n setProofId(undefined);\n } else {\n setDeleting(true);\n deleteProof(proofIdRef.current || '')\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }\n }, [deleteProof, enabled, proofId, proofState, setProofId]);\n\n useEffect(() => {\n if (\n deleting ||\n !enabled ||\n proofId ||\n !identifiers ||\n !identifierFilter ||\n !identifiers.values.length ||\n !transport ||\n transport.length === 0\n ) {\n return;\n }\n\n createProof({\n protocol: VerificationProtocol.OPENID4VP_PROXIMITY_DRAFT00,\n proofSchemaId,\n transport,\n verifierIdentifierId: identifiers.values[0].id,\n })\n .then((id) => {\n setProofId(id);\n })\n .catch(() => {});\n }, [proofSchemaId, identifiers, identifierFilter, createProof, enabled, transport, proofId, setProofId, deleting]);\n\n return { proofId: deleting ? undefined : proofId, retract };\n};\n\nexport const useCleanupUnusedProofs = () => {\n const { mutateAsync: deleteProof } = useProofDelete();\n const { data: proofs } = useProofs({\n page: 0,\n pageSize: 100,\n proofStates: [ProofState.CREATED, ProofState.PENDING],\n });\n const [cleaned, setCleaned] = useState(false);\n\n useEffect(() => {\n if (cleaned || !proofs) {\n return;\n }\n setCleaned(true);\n proofs.values.forEach((proof) => deleteProof(proof.id));\n }, [cleaned, deleteProof, proofs]);\n};\n\nexport const useShareProof = (proofUrlProps: ProofUrlHookParams | undefined, enabled: boolean) => {\n const { mutateAsync: shareProof } = useProofUrl();\n const { data: proofState } = useProofState(proofUrlProps?.proofId, enabled);\n\n const [sharedProof, setSharedProof] = useState<{\n bleAdapterDisabled: boolean;\n url?: string;\n error?: unknown;\n }>();\n\n // reset when proofId changes or the proof was retracted\n useEffect(() => {\n if (!proofUrlProps?.proofId || proofState?.state === ProofState.CREATED) {\n setSharedProof(undefined);\n }\n }, [proofUrlProps?.proofId, proofState]);\n\n useEffect(() => {\n if (!proofUrlProps || !enabled || sharedProof) {\n return;\n }\n\n shareProof(proofUrlProps)\n .then((url) => {\n setSharedProof({\n bleAdapterDisabled: false,\n url,\n });\n })\n .catch((error: unknown) => {\n if (error instanceof OneError && error.cause?.includes('BLE adapter not enabled')) {\n setSharedProof({\n bleAdapterDisabled: true,\n });\n } else {\n setSharedProof({ error, bleAdapterDisabled: false });\n }\n });\n }, [enabled, proofUrlProps, shareProof, sharedProof]);\n\n return sharedProof;\n};\n\nexport const useRetainProofCheck = (proofId?: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.runTask('RETAIN_PROOF_CHECK', undefined), {\n onSuccess: async () => {\n if (proofId) {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n }\n },\n });\n};\n\nexport const useDeleteProofData = (proofId: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.deleteProofClaims(proofId), {\n onSuccess: async () => {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useDeleteAllProofsData = (schemaId: string) => {\n const queryClient = useQueryClient();\n\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async () =>\n core\n .listProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofState.ACCEPTED],\n })\n .then((result) => Promise.all(result.values.reverse().map((proof) => core.deleteProofClaims(proof.id)))),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofRequestTrustInformation = (credentialId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY, credentialId],\n () => (credentialId ? core.getProofTrustInformation(credentialId) : undefined),\n {\n enabled: Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HistoryAction","HistoryEntityType","OneError","ProofState","useCallback","useEffect","useMemo","useRef","useState","useMutation","useQuery","useQueryClient","getQueryKeyFromProofListQueryParams","reportException","useCoreConfig","useONECore","OneErrorCode","HISTORY_LIST_QUERY_KEY","useIdentifiers","useProofSchemaDetail","PAGE_SIZE","PROOF_DETAIL_QUERY_KEY","PROOF_STATE_QUERY_KEY","PROOF_LIST_QUERY_KEY","PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY","useProofDetail","proofId","core","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","organisationId","state","then","proof","metadata","ERROR","listHistory","page","pageSize","entityIds","entityTypes","PROOF","actions","ERRORED","result","_result$values$","values","value","refetchInterval","useProofUrl","queryClient","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","holderSubmitProofV2","onError","err","useProofReject","holderRejectProof","catch","e","code","OperationNotSupported","IssuanceProtocol","VerificationProtocol","VerificationEngagement","useProposeProof","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","pageParam","listProofs","useProofCreate","data","createProof","getIdentifierFilterForProofSchema","proofSchema","config","requestedFormats","proofInputSchemas","map","schema","credentialSchema","format","requestedFormatsCapabilities","_config$format$format","capabilities","filter","x","keyAlgorithms","reduce","others","_others$filter","current","verificationKeyAlgorithms","item","includes","keyStorages","_others$filter2","verificationKeyStorages","useProofForSchemaIdWithTransport","proofSchemaId","transport","identifierFilter","identifiers","mutateAsync","deleting","setDeleting","setProofIdState","proofIdRef","proofState","setProofId","id","retract","CREATED","PENDING","length","protocol","OPENID4VP_PROXIMITY_DRAFT00","verifierIdentifierId","useCleanupUnusedProofs","proofs","proofStates","cleaned","setCleaned","forEach","useShareProof","proofUrlProps","sharedProof","setSharedProof","bleAdapterDisabled","error","_error$cause","cause","useRetainProofCheck","runTask","removeQueries","useDeleteProofData","deleteProofClaims","useDeleteAllProofsData","schemaId","proofSchemaIds","ACCEPTED","Promise","all","reverse","useProofRequestTrustInformation","credentialId","getProofTrustInformation"],"sources":["proofs.ts"],"sourcesContent":["import {\n CoreConfig,\n CreateProofRequest,\n HistoryAction,\n HistoryEntityType,\n HistoryErrorMetadata,\n IdentifierListQuery,\n OneError,\n PresentationSubmitV2CredentialRequest,\n ProofListQuery,\n ProofSchemaDetail,\n ProofState,\n ProposeProofRequest,\n ShareProofRequest,\n} from '@procivis/react-native-one-core';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromProofListQueryParams } from '../../parsers/query';\nimport { reportException } from '../../reporting';\nimport { Transport } from '../connectivity/connectivity';\nimport { useCoreConfig } from './core-config';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { useIdentifiers } from './identifiers';\nimport { useProofSchemaDetail } from './proof-schemas';\n\nconst PAGE_SIZE = 10;\nexport const PROOF_DETAIL_QUERY_KEY = 'proof-detail';\nexport const PROOF_STATE_QUERY_KEY = 'proof-state';\nexport const PROOF_LIST_QUERY_KEY = 'proof-list';\nexport const PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY = 'proof-request-trust-information';\n\nexport const useProofDetail = (proofId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery([PROOF_DETAIL_QUERY_KEY, proofId], () => (proofId ? core.getProof(proofId) : undefined), {\n enabled: Boolean(proofId),\n keepPreviousData: true,\n });\n};\n\nexport const useProofState = (proofId: string | undefined, isPolling: boolean) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [PROOF_STATE_QUERY_KEY, proofId],\n async () => {\n if (!proofId) {\n return undefined;\n }\n\n const state = await core.getProof(proofId).then((proof) => proof.state);\n let metadata: HistoryErrorMetadata | undefined;\n if (state === ProofState.ERROR) {\n metadata = await core\n .listHistory({\n organisationId,\n page: 0,\n pageSize: 1,\n entityIds: [proofId],\n entityTypes: [HistoryEntityType.PROOF],\n actions: [HistoryAction.ERRORED],\n })\n .then((result) => result.values[0]?.metadata?.value as HistoryErrorMetadata);\n }\n return { state, metadata };\n },\n {\n enabled: Boolean(proofId),\n refetchInterval: isPolling ? 1000 : false,\n },\n );\n};\n\ntype ProofUrlHookParams = { proofId: string; request?: ShareProofRequest };\n\nexport const useProofUrl = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ proofId, request }: ProofUrlHookParams) =>\n core.shareProof(proofId, request ?? {}).then((proof) => proof.url),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({\n interactionId,\n credentials,\n }: {\n credentials: Record<string, PresentationSubmitV2CredentialRequest[]>;\n interactionId: string;\n }) => core.holderSubmitProofV2(interactionId, credentials),\n {\n onError: async (err) => {\n reportException(err, 'Proof submission failure');\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectProof(interactionId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport enum IssuanceProtocol {\n OPENID4VCI_DRAFT13 = 'OPENID4VCI_DRAFT13',\n}\n\nexport enum VerificationProtocol {\n ISO_MDL = 'ISO_MDL',\n OPENID4VP_DRAFT20 = 'OPENID4VP_DRAFT20',\n OPENID4VP_DRAFT25 = 'OPENID4VP_DRAFT25',\n OPENID4VP_PROXIMITY_DRAFT00 = 'OPENID4VP_PROXIMITY_DRAFT00',\n}\n\nexport enum VerificationEngagement {\n QR_CODE = 'QR_CODE',\n NFC = 'NFC',\n}\n\nexport const useProposeProof = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<ProposeProofRequest, 'organisationId'>) => core.proposeProof({ organisationId, ...request }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (proofId: string) => {\n return core.deleteProof(proofId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofs = (queryParams?: Partial<ProofListQuery>) => {\n const { core, organisationId } = useONECore();\n\n const queryKey = [PROOF_LIST_QUERY_KEY, ...getQueryKeyFromProofListQueryParams(queryParams)];\n\n return useQuery(\n queryKey,\n ({ pageParam = 0 }) =>\n core.listProofs({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n ...queryParams,\n }),\n {\n keepPreviousData: false,\n },\n );\n};\n\nexport const useProofCreate = () => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async (data: CreateProofRequest) => core.createProof(data), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nconst getIdentifierFilterForProofSchema = (\n proofSchema: ProofSchemaDetail,\n config: CoreConfig,\n): Partial<IdentifierListQuery> => {\n const requestedFormats = proofSchema.proofInputSchemas.map((schema) => schema.credentialSchema.format);\n const requestedFormatsCapabilities = requestedFormats\n .map((format) => config.format[format]?.capabilities)\n .filter((x) => x);\n\n // key algorithms must be supported by all requested formats\n const keyAlgorithms = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyAlgorithms;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n // key storages must be supported by all requested formats\n const keyStorages = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyStorages;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n return { keyAlgorithms, keyStorages };\n};\n\nexport const useProofForSchemaIdWithTransport = (\n proofSchemaId: string,\n transport: Transport[] | undefined,\n enabled: boolean,\n) => {\n const { data: proofSchema } = useProofSchemaDetail(proofSchemaId, enabled);\n const { data: config } = useCoreConfig();\n\n const identifierFilter = useMemo(\n () => (proofSchema && config ? getIdentifierFilterForProofSchema(proofSchema, config) : undefined),\n [config, proofSchema],\n );\n\n const { data: identifiers } = useIdentifiers(identifierFilter);\n const { mutateAsync: createProof } = useProofCreate();\n const { mutateAsync: deleteProof } = useProofDelete();\n\n const [deleting, setDeleting] = useState(false);\n const [proofId, setProofIdState] = useState<string | undefined>(undefined);\n const proofIdRef = useRef<string>();\n\n const { data: proofState } = useProofState(deleting ? undefined : proofId, enabled);\n\n const setProofId = useCallback((id: string | undefined) => {\n proofIdRef.current = id;\n setProofIdState(id);\n }, []);\n\n const retract = useCallback(async () => {\n const id = proofIdRef.current;\n if (!id) {\n return;\n }\n setProofId(undefined);\n await deleteProof(id).catch(() => {});\n }, [deleteProof, setProofId]);\n\n useEffect(() => {\n if (!proofIdRef.current) {\n return;\n }\n setDeleting(true);\n deleteProof(proofIdRef.current)\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }, [proofIdRef, deleteProof, proofSchemaId, transport, setProofId]);\n\n useEffect(() => {\n if (enabled) {\n return;\n }\n\n if (proofState?.state !== ProofState.CREATED && proofState?.state !== ProofState.PENDING) {\n setProofId(undefined);\n } else {\n setDeleting(true);\n deleteProof(proofIdRef.current || '')\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }\n }, [deleteProof, enabled, proofId, proofState, setProofId]);\n\n useEffect(() => {\n if (\n deleting ||\n !enabled ||\n proofId ||\n !identifiers ||\n !identifierFilter ||\n !identifiers.values.length ||\n !transport ||\n transport.length === 0\n ) {\n return;\n }\n\n createProof({\n protocol: VerificationProtocol.OPENID4VP_PROXIMITY_DRAFT00,\n proofSchemaId,\n transport,\n verifierIdentifierId: identifiers.values[0].id,\n })\n .then((id) => {\n setProofId(id);\n })\n .catch(() => {});\n }, [proofSchemaId, identifiers, identifierFilter, createProof, enabled, transport, proofId, setProofId, deleting]);\n\n return { proofId: deleting ? undefined : proofId, retract };\n};\n\nexport const useCleanupUnusedProofs = () => {\n const { mutateAsync: deleteProof } = useProofDelete();\n const { data: proofs } = useProofs({\n page: 0,\n pageSize: 100,\n proofStates: [ProofState.CREATED, ProofState.PENDING],\n });\n const [cleaned, setCleaned] = useState(false);\n\n useEffect(() => {\n if (cleaned || !proofs) {\n return;\n }\n setCleaned(true);\n proofs.values.forEach((proof) => deleteProof(proof.id));\n }, [cleaned, deleteProof, proofs]);\n};\n\nexport const useShareProof = (proofUrlProps: ProofUrlHookParams | undefined, enabled: boolean) => {\n const { mutateAsync: shareProof } = useProofUrl();\n const { data: proofState } = useProofState(proofUrlProps?.proofId, enabled);\n\n const [sharedProof, setSharedProof] = useState<{\n bleAdapterDisabled: boolean;\n url?: string;\n error?: unknown;\n }>();\n\n // reset when proofId changes or the proof was retracted\n useEffect(() => {\n if (!proofUrlProps?.proofId || proofState?.state === ProofState.CREATED) {\n setSharedProof(undefined);\n }\n }, [proofUrlProps?.proofId, proofState]);\n\n useEffect(() => {\n if (!proofUrlProps || !enabled || sharedProof) {\n return;\n }\n\n shareProof(proofUrlProps)\n .then((url) => {\n setSharedProof({\n bleAdapterDisabled: false,\n url,\n });\n })\n .catch((error: unknown) => {\n if (error instanceof OneError && error.cause?.includes('BLE adapter not enabled')) {\n setSharedProof({\n bleAdapterDisabled: true,\n });\n } else {\n setSharedProof({ error, bleAdapterDisabled: false });\n }\n });\n }, [enabled, proofUrlProps, shareProof, sharedProof]);\n\n return sharedProof;\n};\n\nexport const useRetainProofCheck = (proofId?: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.runTask('RETAIN_PROOF_CHECK', undefined), {\n onSuccess: async () => {\n if (proofId) {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n }\n },\n });\n};\n\nexport const useDeleteProofData = (proofId: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.deleteProofClaims(proofId), {\n onSuccess: async () => {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useDeleteAllProofsData = (schemaId: string) => {\n const queryClient = useQueryClient();\n\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async () =>\n core\n .listProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofState.ACCEPTED],\n })\n .then((result) => Promise.all(result.values.reverse().map((proof) => core.deleteProofClaims(proof.id)))),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofRequestTrustInformation = (credentialId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [PROOF_REQUEST_TRUST_INFORMATION_QUERY_KEY, credentialId],\n () => (credentialId ? core.getProofTrustInformation(credentialId) : undefined),\n {\n enabled: Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,6 +40,24 @@ export const useRegisterWalletUnit = () => {
|
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
};
|
|
43
|
+
export const useActivateWalletUnit = () => {
|
|
44
|
+
const queryClient = useQueryClient();
|
|
45
|
+
const {
|
|
46
|
+
core
|
|
47
|
+
} = useONECore();
|
|
48
|
+
return useMutation(async ({
|
|
49
|
+
id,
|
|
50
|
+
userIdToken
|
|
51
|
+
}) => core.holderActivateWalletUnit(id, {
|
|
52
|
+
keyType: 'ECDSA',
|
|
53
|
+
userIdToken
|
|
54
|
+
}), {
|
|
55
|
+
onSuccess: async () => {
|
|
56
|
+
await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);
|
|
57
|
+
await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
};
|
|
43
61
|
export const useWalletUnitStatus = () => {
|
|
44
62
|
const queryClient = useQueryClient();
|
|
45
63
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WalletUnitStatus","useEffect","useMutation","useQuery","useQueryClient","reportException","useONECore","WALLET_UNIT_QUERY_KEY","WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY","useWalletUnitDetail","walletUnitId","active","core","holderGetWalletUnit","undefined","enabled","Boolean","keepPreviousData","useWalletUnitTrustCollections","holderGetWalletUnitTrustCollections","useRegisterWalletUnit","queryClient","organisationId","request","holderRegisterWalletUnit","keyType","onSuccess","invalidateQueries","useWalletUnitStatus","holderWalletUnitStatus","onError","err","useWalletUnitUpdate","update","holderWalletUnitUpdate","useWalletUnitCheck","data","walletUnitDetail","isLoading","mutateAsync","refreshWalletUnit","isRefreshing","status","refreshStatus","ACTIVE"],"sources":["wallet-unit.ts"],"sourcesContent":["import {\n HolderRegisterWalletUnitRequest,\n HolderWalletUnit,\n HolderWalletUnitUpdateRequest,\n WalletUnitStatus,\n} from '@procivis/react-native-one-core';\nimport { useEffect } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { reportException } from '../../reporting';\nimport { useONECore } from './core-context';\n\nexport const WALLET_UNIT_QUERY_KEY = 'wallet-unit';\nexport const WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY = 'wallet-unit-trust-collections';\n\nexport const useWalletUnitDetail = (walletUnitId: HolderWalletUnit['id'] | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [WALLET_UNIT_QUERY_KEY, walletUnitId],\n () => (walletUnitId ? core.holderGetWalletUnit(walletUnitId) : undefined),\n {\n enabled: active && Boolean(walletUnitId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useWalletUnitTrustCollections = (walletUnitId: HolderWalletUnit['id'] | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY, walletUnitId],\n () => (walletUnitId ? core.holderGetWalletUnitTrustCollections(walletUnitId) : undefined),\n {\n enabled: active && Boolean(walletUnitId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useRegisterWalletUnit = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<HolderRegisterWalletUnitRequest, 'organisationId' | 'keyType'>) =>\n core.holderRegisterWalletUnit({\n keyType: 'ECDSA',\n organisationId,\n ...request,\n }),\n\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useWalletUnitStatus = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (walletUnitId: HolderWalletUnit['id']) => core.holderWalletUnitStatus(walletUnitId), {\n onError: async (err) => {\n reportException(err, 'Refresh wallet unit failure');\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n },\n onSuccess: () => queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY),\n });\n};\n\nexport const useWalletUnitUpdate = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ walletUnitId, update }: { walletUnitId: HolderWalletUnit['id']; update: HolderWalletUnitUpdateRequest }) =>\n core.holderWalletUnitUpdate(walletUnitId, update),\n {\n onError: async (err) => {\n reportException(err, 'Update wallet unit failure');\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useWalletUnitCheck = (walletUnitId: HolderWalletUnit['id'] | undefined) => {\n const { data: walletUnitDetail, isLoading } = useWalletUnitDetail(walletUnitId);\n const { mutateAsync: refreshWalletUnit, isLoading: isRefreshing, status: refreshStatus } = useWalletUnitStatus();\n\n useEffect(() => {\n if (isLoading || refreshStatus !== 'idle') {\n return;\n }\n if (walletUnitId && walletUnitDetail?.status === WalletUnitStatus.ACTIVE) {\n void refreshWalletUnit(walletUnitId);\n }\n }, [isLoading, refreshStatus, walletUnitDetail, refreshWalletUnit, walletUnitId]);\n\n return {\n isLoading: isLoading || isRefreshing,\n walletUnitDetail: isLoading || isRefreshing ? undefined : walletUnitDetail,\n };\n};\n"],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"names":["WalletUnitStatus","useEffect","useMutation","useQuery","useQueryClient","reportException","useONECore","WALLET_UNIT_QUERY_KEY","WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY","useWalletUnitDetail","walletUnitId","active","core","holderGetWalletUnit","undefined","enabled","Boolean","keepPreviousData","useWalletUnitTrustCollections","holderGetWalletUnitTrustCollections","useRegisterWalletUnit","queryClient","organisationId","request","holderRegisterWalletUnit","keyType","onSuccess","invalidateQueries","useActivateWalletUnit","id","userIdToken","holderActivateWalletUnit","useWalletUnitStatus","holderWalletUnitStatus","onError","err","useWalletUnitUpdate","update","holderWalletUnitUpdate","useWalletUnitCheck","data","walletUnitDetail","isLoading","mutateAsync","refreshWalletUnit","isRefreshing","status","refreshStatus","ACTIVE"],"sources":["wallet-unit.ts"],"sourcesContent":["import {\n HolderActivateWalletUnitRequest,\n HolderRegisterWalletUnitRequest,\n HolderWalletUnit,\n HolderWalletUnitUpdateRequest,\n WalletUnitStatus,\n} from '@procivis/react-native-one-core';\nimport { useEffect } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { reportException } from '../../reporting';\nimport { useONECore } from './core-context';\n\nexport const WALLET_UNIT_QUERY_KEY = 'wallet-unit';\nexport const WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY = 'wallet-unit-trust-collections';\n\nexport const useWalletUnitDetail = (walletUnitId: HolderWalletUnit['id'] | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [WALLET_UNIT_QUERY_KEY, walletUnitId],\n () => (walletUnitId ? core.holderGetWalletUnit(walletUnitId) : undefined),\n {\n enabled: active && Boolean(walletUnitId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useWalletUnitTrustCollections = (walletUnitId: HolderWalletUnit['id'] | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY, walletUnitId],\n () => (walletUnitId ? core.holderGetWalletUnitTrustCollections(walletUnitId) : undefined),\n {\n enabled: active && Boolean(walletUnitId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useRegisterWalletUnit = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<HolderRegisterWalletUnitRequest, 'organisationId' | 'keyType'>) =>\n core.holderRegisterWalletUnit({\n keyType: 'ECDSA',\n organisationId,\n ...request,\n }),\n\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useActivateWalletUnit = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ id, userIdToken }: { id: string; userIdToken: HolderActivateWalletUnitRequest['userIdToken'] }) =>\n core.holderActivateWalletUnit(id, {\n keyType: 'ECDSA',\n userIdToken,\n }),\n\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useWalletUnitStatus = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (walletUnitId: HolderWalletUnit['id']) => core.holderWalletUnitStatus(walletUnitId), {\n onError: async (err) => {\n reportException(err, 'Refresh wallet unit failure');\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n },\n onSuccess: () => queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY),\n });\n};\n\nexport const useWalletUnitUpdate = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ walletUnitId, update }: { walletUnitId: HolderWalletUnit['id']; update: HolderWalletUnitUpdateRequest }) =>\n core.holderWalletUnitUpdate(walletUnitId, update),\n {\n onError: async (err) => {\n reportException(err, 'Update wallet unit failure');\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n await queryClient.invalidateQueries(WALLET_UNIT_TRUST_COLLECTIONS_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useWalletUnitCheck = (walletUnitId: HolderWalletUnit['id'] | undefined) => {\n const { data: walletUnitDetail, isLoading } = useWalletUnitDetail(walletUnitId);\n const { mutateAsync: refreshWalletUnit, isLoading: isRefreshing, status: refreshStatus } = useWalletUnitStatus();\n\n useEffect(() => {\n if (isLoading || refreshStatus !== 'idle') {\n return;\n }\n if (walletUnitId && walletUnitDetail?.status === WalletUnitStatus.ACTIVE) {\n void refreshWalletUnit(walletUnitId);\n }\n }, [isLoading, refreshStatus, walletUnitDetail, refreshWalletUnit, walletUnitId]);\n\n return {\n isLoading: isLoading || isRefreshing,\n walletUnitDetail: isLoading || isRefreshing ? undefined : walletUnitDetail,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,37 @@ import React from 'react';
|
|
|
3
3
|
import { CredentialNoticeWarningIcon, CredentialWarningIcon, PurposeInfoIcon, Selector, SelectorStatus } from '../../ui-components';
|
|
4
4
|
import { concatTestID } from '../testID';
|
|
5
5
|
import { detailsCardAttributeFromClaim, getCredentialCardPropsFromCredential, supportsSelectiveDisclosure } from '.';
|
|
6
|
-
import {
|
|
6
|
+
import { credentialDetailFromPresentationV2Credential } from './credential';
|
|
7
|
+
export const validityCheckedCardFromCredential = (credential, expanded, selectiveDisclosureSupported, multipleCredentialsAvailable, config, notice, testID, labels, language) => {
|
|
8
|
+
let credentialHeaderDetail;
|
|
9
|
+
if (selectiveDisclosureSupported === false) {
|
|
10
|
+
credentialHeaderDetail = {
|
|
11
|
+
credentialDetailPrimary: labels.selectiveDisclosure,
|
|
12
|
+
credentialDetailTestID: concatTestID(testID, 'header.nonSelectiveDisclosure'),
|
|
13
|
+
statusIcon: CredentialWarningIcon
|
|
14
|
+
};
|
|
15
|
+
} else if ('embeddedDisclosurePolicyViolation' in credential) {
|
|
16
|
+
credentialHeaderDetail = {
|
|
17
|
+
credentialDetailPrimary: labels.disclosurePolicyViolation,
|
|
18
|
+
credentialDetailTestID: concatTestID(testID, 'header.dislosurePolicyViolation'),
|
|
19
|
+
statusIcon: CredentialWarningIcon
|
|
20
|
+
};
|
|
21
|
+
} else if (!expanded && multipleCredentialsAvailable) {
|
|
22
|
+
credentialHeaderDetail = {
|
|
23
|
+
credentialDetailPrimary: labels.multipleCredentials,
|
|
24
|
+
credentialDetailTestID: concatTestID(testID, 'header.multiple'),
|
|
25
|
+
statusIcon: CredentialWarningIcon
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const card = getCredentialCardPropsFromCredential(credentialDetailFromPresentationV2Credential(credential), credential.claims, config, notice, testID, labels, language);
|
|
29
|
+
return {
|
|
30
|
+
...card,
|
|
31
|
+
header: {
|
|
32
|
+
...card.header,
|
|
33
|
+
...credentialHeaderDetail
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
};
|
|
7
37
|
const v2ClaimValueToClaimValue = value => {
|
|
8
38
|
if (value.type_ !== 'NESTED') {
|
|
9
39
|
return value;
|
|
@@ -106,11 +136,7 @@ export const shareCredentialCardFromV2PresentationCredential = (credential, fail
|
|
|
106
136
|
text: purpose
|
|
107
137
|
} : undefined;
|
|
108
138
|
const cardTestId = concatTestID(testID, 'card');
|
|
109
|
-
const card = credential ? validityCheckedCardFromCredential(
|
|
110
|
-
...credential,
|
|
111
|
-
claims: [],
|
|
112
|
-
type: CredentialType.SINGLE
|
|
113
|
-
}, expanded, selectiveDisclosureSupported, multipleCredentialsAvailable, config, notice, cardTestId, labels, language) : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);
|
|
139
|
+
const card = credential ? validityCheckedCardFromCredential(credential, expanded, selectiveDisclosureSupported, multipleCredentialsAvailable, config, notice, cardTestId, labels, language) : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);
|
|
114
140
|
return {
|
|
115
141
|
attributes: (_credential$claims$ma = credential === null || credential === void 0 ? void 0 : credential.claims.map(v => shareCredentialCardAttributeFromV2Claim(v, selectedFields !== null && selectedFields !== void 0 ? selectedFields : [], true, false, config, testID, language))) !== null && _credential$claims$ma !== void 0 ? _credential$claims$ma : [],
|
|
116
142
|
card
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CredentialType","React","CredentialNoticeWarningIcon","CredentialWarningIcon","PurposeInfoIcon","Selector","SelectorStatus","concatTestID","detailsCardAttributeFromClaim","getCredentialCardPropsFromCredential","supportsSelectiveDisclosure","validityCheckedCardFromCredential","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","config","testID","language","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","array","attributes","image","values","v","datatype","valueErrorColor","missingCredentialCardFromFailureHint","failureHint","notice","labels","_failureHint$credenti","_failureHint$credenti2","cardImage","color","header","credentialDetailErrorColor","credentialDetailPrimary","missingCredential","credentialDetailTestID","credentialName","credentialSchema","name","statusIcon","shareCredentialCardFromV2PresentationCredential","credential","expanded","multipleCredentialsAvailable","purpose","selectedFields","_credential$issuer","_credential$claims$ma","selectiveDisclosureSupported","issuer","type","SINGLE","noticeIcon","text","cardTestId","card","claims","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","selectiveDisclosure","cardProps","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n Claim,\n ClaimValue,\n CoreConfig,\n CredentialQueryFailureHint,\n CredentialType,\n PresentationDefinitionV2Claim,\n PresentationDefinitionV2ClaimValue,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n PurposeInfoIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { ShareCredentialCardLabels, validityCheckedCardFromCredential } from './credential-sharing';\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValue): ClaimValue => {\n if (value.type_ !== 'NESTED') {\n return value;\n }\n return {\n type_: 'NESTED',\n value: value.value.map((c) => v2PresentationClaimToClaim(c)),\n };\n};\n\nconst v2PresentationClaimToClaim = (claim: PresentationDefinitionV2Claim): Claim => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2Claim,\n selected: boolean,\n force: boolean,\n): SelectorStatus | undefined => {\n if (claim.required && selected) {\n return SelectorStatus.Required;\n }\n if (force) {\n return SelectorStatus.Required;\n }\n if (claim.userSelection) {\n if (selected) {\n return SelectorStatus.SelectedCheckmark;\n } else {\n return SelectorStatus.Empty;\n }\n }\n};\n\nexport const shareCredentialCardAttributeFromV2Claim = (\n claim: PresentationDefinitionV2Claim,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n nested?: boolean,\n listValue?: boolean,\n): CredentialAttribute => {\n const attributeShared =\n Boolean(selection?.some((path) => path.startsWith(claim.path))) || (parentShared && claim.required);\n const userSelected = parentUserSelected || Boolean(selection?.includes(claim.path));\n const selected = !claim.required && attributeShared;\n const status = selection\n ? getAttributeSelectorStatus(claim, attributeShared, parentUserSelected || (attributeShared && !userSelected))\n : undefined;\n const attribute = detailsCardAttributeFromClaim(v2PresentationClaimToClaim(claim), config, testID, language);\n const disabledStatus = [SelectorStatus.Disabled, SelectorStatus.Rejected, SelectorStatus.Required];\n const disabled = attribute.disabled || !status || disabledStatus.includes(status);\n const credentialAttribute: CredentialAttribute = {\n ...attribute,\n disabled,\n id: claim.path,\n listValue,\n nested,\n path: claim.path,\n rightAccessory: status && <Selector status={status} />,\n selected,\n testID,\n };\n if (claim.value.type_ === 'NESTED') {\n if (claim.schema.array) {\n return {\n ...credentialAttribute,\n attributes: undefined,\n image: undefined,\n value: undefined,\n values: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n false,\n ),\n ),\n };\n } else if (claim.schema.datatype === 'OBJECT') {\n return {\n ...credentialAttribute,\n attributes: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n ),\n ),\n image: undefined,\n value: undefined,\n valueErrorColor: undefined,\n values: undefined,\n };\n }\n }\n return credentialAttribute;\n};\n\nexport const missingCredentialCardFromFailureHint = (\n failureHint: CredentialQueryFailureHint | undefined,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: failureHint?.credentialSchema?.name ?? '',\n statusIcon: CredentialWarningIcon,\n },\n testID,\n ...notice,\n };\n};\n\nexport const shareCredentialCardFromV2PresentationCredential = (\n credential: PresentationDefinitionV2Credential | undefined,\n failureHint: CredentialQueryFailureHint | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n purpose: string | undefined,\n selectedFields: string[] | undefined,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined = purpose\n ? {\n noticeIcon: PurposeInfoIcon,\n text: purpose,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n {\n ...credential,\n claims: [],\n type: CredentialType.SINGLE,\n },\n expanded,\n selectiveDisclosureSupported,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n language,\n )\n : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);\n\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selectedFields ?? [], true, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2Credential,\n selected: boolean,\n multiple: boolean,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const selectedStatus = multiple ? SelectorStatus.SelectedCheckmark : SelectorStatus.SelectedRadio;\n const rightAccessory = <Selector status={selected ? selectedStatus : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosure,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n type: CredentialType.SINGLE,\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n language,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, undefined, false, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2Claim): string[] => {\n if (claim.value.type_ !== 'NESTED') {\n return [claim.path];\n }\n return [claim.path, ...claim.value.value.flatMap(getV2CredentialClaimAllSubpaths)];\n};\n\nexport const getV2CredentialAvailablePaths = (credential: PresentationDefinitionV2Credential): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CredentialType","React","CredentialNoticeWarningIcon","CredentialWarningIcon","PurposeInfoIcon","Selector","SelectorStatus","concatTestID","detailsCardAttributeFromClaim","getCredentialCardPropsFromCredential","supportsSelectiveDisclosure","credentialDetailFromPresentationV2Credential","validityCheckedCardFromCredential","credential","expanded","selectiveDisclosureSupported","multipleCredentialsAvailable","config","notice","testID","labels","language","credentialHeaderDetail","credentialDetailPrimary","selectiveDisclosure","credentialDetailTestID","statusIcon","disclosurePolicyViolation","multipleCredentials","card","claims","header","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","array","attributes","image","values","v","datatype","valueErrorColor","missingCredentialCardFromFailureHint","failureHint","_failureHint$credenti","_failureHint$credenti2","cardImage","color","credentialDetailErrorColor","missingCredential","credentialName","credentialSchema","name","shareCredentialCardFromV2PresentationCredential","purpose","selectedFields","_credential$issuer","_credential$claims$ma","issuer","type","SINGLE","noticeIcon","text","cardTestId","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","cardProps","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n Claim,\n ClaimValue,\n CoreConfig,\n CredentialDetail,\n CredentialQueryFailureHint,\n CredentialType,\n PresentationDefinitionV2Claim,\n PresentationDefinitionV2ClaimValue,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialHeaderProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n PurposeInfoIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { CardLabels, credentialDetailFromPresentationV2Credential } from './credential';\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosure: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n disclosurePolicyViolation: string;\n};\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetail | PresentationDefinitionV2Credential,\n expanded: boolean,\n selectiveDisclosureSupported: boolean | undefined,\n multipleCredentialsAvailable: boolean,\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID' | 'width'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n if (selectiveDisclosureSupported === false) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.selectiveDisclosure,\n credentialDetailTestID: concatTestID(testID, 'header.nonSelectiveDisclosure'),\n statusIcon: CredentialWarningIcon,\n };\n } else if ('embeddedDisclosurePolicyViolation' in credential) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.disclosurePolicyViolation,\n credentialDetailTestID: concatTestID(testID, 'header.dislosurePolicyViolation'),\n statusIcon: CredentialWarningIcon,\n };\n } else if (!expanded && multipleCredentialsAvailable) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.multipleCredentials,\n credentialDetailTestID: concatTestID(testID, 'header.multiple'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n const card = getCredentialCardPropsFromCredential(\n credentialDetailFromPresentationV2Credential(credential),\n credential.claims,\n config,\n notice,\n testID,\n labels,\n language,\n );\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValue): ClaimValue => {\n if (value.type_ !== 'NESTED') {\n return value;\n }\n return {\n type_: 'NESTED',\n value: value.value.map((c) => v2PresentationClaimToClaim(c)),\n };\n};\n\nconst v2PresentationClaimToClaim = (claim: PresentationDefinitionV2Claim): Claim => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2Claim,\n selected: boolean,\n force: boolean,\n): SelectorStatus | undefined => {\n if (claim.required && selected) {\n return SelectorStatus.Required;\n }\n if (force) {\n return SelectorStatus.Required;\n }\n if (claim.userSelection) {\n if (selected) {\n return SelectorStatus.SelectedCheckmark;\n } else {\n return SelectorStatus.Empty;\n }\n }\n};\n\nexport const shareCredentialCardAttributeFromV2Claim = (\n claim: PresentationDefinitionV2Claim,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n nested?: boolean,\n listValue?: boolean,\n): CredentialAttribute => {\n const attributeShared =\n Boolean(selection?.some((path) => path.startsWith(claim.path))) || (parentShared && claim.required);\n const userSelected = parentUserSelected || Boolean(selection?.includes(claim.path));\n const selected = !claim.required && attributeShared;\n const status = selection\n ? getAttributeSelectorStatus(claim, attributeShared, parentUserSelected || (attributeShared && !userSelected))\n : undefined;\n const attribute = detailsCardAttributeFromClaim(v2PresentationClaimToClaim(claim), config, testID, language);\n const disabledStatus = [SelectorStatus.Disabled, SelectorStatus.Rejected, SelectorStatus.Required];\n const disabled = attribute.disabled || !status || disabledStatus.includes(status);\n const credentialAttribute: CredentialAttribute = {\n ...attribute,\n disabled,\n id: claim.path,\n listValue,\n nested,\n path: claim.path,\n rightAccessory: status && <Selector status={status} />,\n selected,\n testID,\n };\n if (claim.value.type_ === 'NESTED') {\n if (claim.schema.array) {\n return {\n ...credentialAttribute,\n attributes: undefined,\n image: undefined,\n value: undefined,\n values: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n false,\n ),\n ),\n };\n } else if (claim.schema.datatype === 'OBJECT') {\n return {\n ...credentialAttribute,\n attributes: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n language,\n true,\n ),\n ),\n image: undefined,\n value: undefined,\n valueErrorColor: undefined,\n values: undefined,\n };\n }\n }\n return credentialAttribute;\n};\n\nexport const missingCredentialCardFromFailureHint = (\n failureHint: CredentialQueryFailureHint | undefined,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: failureHint?.credentialSchema?.name ?? '',\n statusIcon: CredentialWarningIcon,\n },\n testID,\n ...notice,\n };\n};\n\nexport const shareCredentialCardFromV2PresentationCredential = (\n credential: PresentationDefinitionV2Credential | undefined,\n failureHint: CredentialQueryFailureHint | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n purpose: string | undefined,\n selectedFields: string[] | undefined,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined = purpose\n ? {\n noticeIcon: PurposeInfoIcon,\n text: purpose,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n expanded,\n selectiveDisclosureSupported,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n language,\n )\n : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);\n\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selectedFields ?? [], true, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2Credential,\n selected: boolean,\n multiple: boolean,\n config: CoreConfig,\n testID: string,\n labels: ShareCredentialCardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id, type: CredentialType.SINGLE } : undefined,\n config,\n );\n const selectedStatus = multiple ? SelectorStatus.SelectedCheckmark : SelectorStatus.SelectedRadio;\n const rightAccessory = <Selector status={selected ? selectedStatus : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosure,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n type: CredentialType.SINGLE,\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n language,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, undefined, false, false, config, testID, language),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2Claim): string[] => {\n if (claim.value.type_ !== 'NESTED') {\n return [claim.path];\n }\n return [claim.path, ...claim.value.value.flatMap(getV2CredentialClaimAllSubpaths)];\n};\n\nexport const getV2CredentialAvailablePaths = (credential: PresentationDefinitionV2Credential): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CredentialState, DataType, FormatFeature } from '@procivis/react-native-one-core';
|
|
1
|
+
import { CredentialState, CredentialType, DataType, FormatFeature } from '@procivis/react-native-one-core';
|
|
2
2
|
import { CredentialErrorIcon, CredentialNoticeInfoIcon, CredentialNoticeWarningIcon, CredentialWarningIcon } from '../../ui-components/icons';
|
|
3
3
|
import { formatDateLocalized, formatDateTimeLocalized } from '../date';
|
|
4
4
|
import { concatTestID } from '../testID';
|
|
@@ -103,7 +103,7 @@ export const cardHeaderFromCredential = (credential, claims = [], config, testID
|
|
|
103
103
|
const {
|
|
104
104
|
layoutProperties
|
|
105
105
|
} = credential.schema;
|
|
106
|
-
const defaultLanguage = config.defaultLanguage;
|
|
106
|
+
const defaultLanguage = config.globalSettings.defaultLanguage;
|
|
107
107
|
return {
|
|
108
108
|
color: layoutProperties === null || layoutProperties === void 0 || (_layoutProperties$log = layoutProperties.logo) === null || _layoutProperties$log === void 0 ? void 0 : _layoutProperties$log.backgroundColor,
|
|
109
109
|
credentialDetailErrorColor,
|
|
@@ -126,7 +126,7 @@ export const getCredentialCardPropsFromCredential = (credential, claims = [], co
|
|
|
126
126
|
const {
|
|
127
127
|
layoutProperties
|
|
128
128
|
} = credential.schema;
|
|
129
|
-
const defaultLanguage = config.defaultLanguage;
|
|
129
|
+
const defaultLanguage = config.globalSettings.defaultLanguage;
|
|
130
130
|
if (hasMsoValidityIssues(credential)) {
|
|
131
131
|
notice = {
|
|
132
132
|
text: labels.validityIssuesNotice,
|
|
@@ -159,7 +159,7 @@ export const getCredentialCardPropsFromCredential = (credential, claims = [], co
|
|
|
159
159
|
export const detailsCardAttributeFromClaim = (claim, config, testID, language) => {
|
|
160
160
|
var _getTranslatedLabel2;
|
|
161
161
|
const value = detailsCardAttributeValueFromClaim(claim, config, testID, language);
|
|
162
|
-
const defaultLanguage = config.defaultLanguage;
|
|
162
|
+
const defaultLanguage = config.globalSettings.defaultLanguage;
|
|
163
163
|
return {
|
|
164
164
|
id: claim.path,
|
|
165
165
|
name: (_getTranslatedLabel2 = getTranslatedLabel(claim.schema.translations.name, language, defaultLanguage)) !== null && _getTranslatedLabel2 !== void 0 ? _getTranslatedLabel2 : claim.path.split('/').pop(),
|
|
@@ -344,4 +344,10 @@ export function getCredentialSchemaWithoutImages(credentialSchema) {
|
|
|
344
344
|
}
|
|
345
345
|
};
|
|
346
346
|
}
|
|
347
|
+
export function credentialDetailFromPresentationV2Credential(presentationCredential) {
|
|
348
|
+
return {
|
|
349
|
+
type: CredentialType.SINGLE,
|
|
350
|
+
...presentationCredential
|
|
351
|
+
};
|
|
352
|
+
}
|
|
347
353
|
//# sourceMappingURL=credential.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CredentialState","DataType","FormatFeature","CredentialErrorIcon","CredentialNoticeInfoIcon","CredentialNoticeWarningIcon","CredentialWarningIcon","formatDateLocalized","formatDateTimeLocalized","concatTestID","getTranslatedLabel","getCarouselImagesFromClaims","ValidityState","getValidityState","credential","state","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","SelectiveDisclosure","undefined","findClaimByPath","path","claims","exactClaim","find","claim","parentClaim","startsWith","value","type_","formatCredentialDetail","testID","language","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","hasMsoValidityIssues","_credential$mdocMsoVa","mdocMsoValidityIssue","mdocMsoValidity","nextUpdate","Date","credentialDetailFromCredential","labels","_formatDateTimeLocali","_credential$issuanceD","layoutProperties","credentialDetailPrimary","suspendEndDate","suspendedUntil","suspended","credentialDetailTestID","statusIcon","revoked","credentialDetailErrorColor","validityIssues","issuanceDate","createdDate","credentialDetailSecondary","primary","primaryAttribute","secondary","secondaryAttribute","cardHeaderFromCredential","_layoutProperties$log","_getTranslatedLabel","_credential$schema$tr","_layoutProperties$log2","_layoutProperties$log3","defaultLanguage","color","logo","backgroundColor","credentialName","translations","name","icon","image","imageSource","uri","iconLabelColor","fontColor","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","_credential$schema$tr2","description","result","cardCarouselImages","cardImage","background","header","detailsCardAttributeFromClaim","_getTranslatedLabel2","id","split","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","Object","attributes","nestedClaim","_formatDateLocalized","String","date","Picture","SwiyuPicture","_typeConfig$params","params","showAs","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","length","push","first","rest","parent","a","insertAttributeInParent","join","nestAttributeInDummyParent","pathParts","listValue","disabled","_parent$attributes","nextParent","_parent$values","_parent$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n CoreConfig,\n CredentialDetail,\n CredentialListItem,\n CredentialSchemaListItem,\n CredentialState,\n DataType,\n FormatFeature,\n} from '@procivis/react-native-one-core';\nimport { FC } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport {\n CredentialErrorIcon,\n CredentialNoticeInfoIcon,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n} from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getTranslatedLabel } from '../translations';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialState.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialState.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (\n credential: CredentialListItem | undefined,\n config: CoreConfig | undefined,\n) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeature.SelectiveDisclosure))\n : undefined;\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[]): Claim | undefined => {\n if (!path) {\n return undefined;\n }\n\n const exactClaim = claims.find((claim) => claim.path === path);\n if (exactClaim) {\n return exactClaim;\n }\n\n const parentClaim = claims.find((claim) => path.startsWith(`${claim.path}/`));\n if (parentClaim && parentClaim.value.type_ === 'NESTED') {\n return findClaimByPath(path, parentClaim.value.value);\n }\n\n return undefined;\n};\n\nconst formatCredentialDetail = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n return attributeValue.value ?? '';\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidityIssue = Boolean(\n credential.mdocMsoValidity?.nextUpdate && new Date(credential.mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nconst credentialDetailFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): {\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailErrorColor?: boolean;\n credentialDetailTestID?: string;\n statusIcon?: FC<SvgProps>;\n} => {\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialState.SUSPENDED:\n return {\n credentialDetailPrimary: credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended,\n credentialDetailTestID: concatTestID(testID, 'suspended'),\n statusIcon: CredentialWarningIcon,\n };\n case CredentialState.REVOKED:\n return {\n credentialDetailPrimary: labels.revoked,\n credentialDetailErrorColor: true,\n credentialDetailTestID: concatTestID(testID, 'revoked'),\n statusIcon: CredentialErrorIcon,\n };\n }\n\n if (hasMsoValidityIssues(credential)) {\n return {\n credentialDetailPrimary: labels.validityIssues,\n credentialDetailTestID: concatTestID(testID, 'validity-issue'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n let credentialDetailPrimary =\n formatDateTimeLocalized(new Date(credential.issuanceDate ?? credential.createdDate)) ?? '';\n let credentialDetailSecondary: string | undefined;\n\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'), language);\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'), language);\n }\n\n return {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID: concatTestID(testID, 'detail'),\n };\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): Omit<CredentialHeaderProps, 'style'> => {\n const {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailErrorColor,\n credentialDetailTestID,\n statusIcon,\n } = credentialDetailFromCredential(credential, claims, config, testID, labels, language);\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.defaultLanguage;\n\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialName:\n getTranslatedLabel(credential.schema.translations?.name, language, defaultLanguage) ?? credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.defaultLanguage;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n } else if (!notice) {\n let description = getTranslatedLabel(credential.schema.translations?.description, language, defaultLanguage);\n if (description) {\n notice = {\n text: description,\n noticeIcon: CredentialNoticeInfoIcon,\n };\n }\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels, language),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n const defaultLanguage = config.defaultLanguage;\n return {\n id: claim.path,\n name: getTranslatedLabel(claim.schema.translations.name, language, defaultLanguage) ?? claim.path.split('/').pop(),\n path: claim.path,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.schema.datatype];\n\n if (claim.schema.array) {\n return {\n values: ((claim.value.value as Claim[]) || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(arrayValue, config, concatTestID(testID, index.toString()), language);\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataType.Object: {\n if (claim.value.type_ !== 'NESTED') {\n return { attributes: [] };\n }\n return {\n attributes: claim.value.value.map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString()), language),\n ),\n };\n }\n case DataType.Date: {\n if (!claim.value.value) {\n // Don't try to parse empty values (which will return \"Invalid Date\")\n return { testID: testID, value: String(claim.value.value) };\n }\n const date = claim.value.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataType.Picture: // fallback\n case DataType.SwiyuPicture: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value.value) };\n }\n }\n};\n\nexport type CredentialDetailsCardPropsWithoutWidth = Omit<CredentialDetailsCardProps, 'expanded' | 'card'> & {\n card: Omit<CredentialCardProps, 'width'>;\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels, language);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString()), language),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n language,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyParent(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyParent = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n if (attribute.listValue) {\n return {\n values: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n } else {\n return {\n attributes: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n }\n};\n\n// Recursively insert an attribute into an parent\n// Will create nested parents if necessary\nconst insertAttributeInParent = (attribute: CredentialAttribute, parent: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = parent.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n if (attribute.listValue) {\n parent.values?.push(nestAttributeInDummyParent(attribute));\n } else {\n parent.attributes?.push(nestAttributeInDummyParent(attribute));\n }\n } else {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages<T extends CredentialSchemaListItem>(credentialSchema: T): T {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CredentialState","CredentialType","DataType","FormatFeature","CredentialErrorIcon","CredentialNoticeInfoIcon","CredentialNoticeWarningIcon","CredentialWarningIcon","formatDateLocalized","formatDateTimeLocalized","concatTestID","getTranslatedLabel","getCarouselImagesFromClaims","ValidityState","getValidityState","credential","state","REVOKED","Revoked","SUSPENDED","Suspended","Valid","supportsSelectiveDisclosure","config","_formatConfig$capabil","formatConfig","format","schema","Boolean","capabilities","features","includes","SelectiveDisclosure","undefined","findClaimByPath","path","claims","exactClaim","find","claim","parentClaim","startsWith","value","type_","formatCredentialDetail","testID","language","_attributeValue$value","attributeValue","detailsCardAttributeValueFromClaim","hasMsoValidityIssues","_credential$mdocMsoVa","mdocMsoValidityIssue","mdocMsoValidity","nextUpdate","Date","credentialDetailFromCredential","labels","_formatDateTimeLocali","_credential$issuanceD","layoutProperties","credentialDetailPrimary","suspendEndDate","suspendedUntil","suspended","credentialDetailTestID","statusIcon","revoked","credentialDetailErrorColor","validityIssues","issuanceDate","createdDate","credentialDetailSecondary","primary","primaryAttribute","secondary","secondaryAttribute","cardHeaderFromCredential","_layoutProperties$log","_getTranslatedLabel","_credential$schema$tr","_layoutProperties$log2","_layoutProperties$log3","defaultLanguage","globalSettings","color","logo","backgroundColor","credentialName","translations","name","icon","image","imageSource","uri","iconLabelColor","fontColor","getCredentialCardPropsFromCredential","notice","_layoutProperties$bac","_layoutProperties$bac2","text","validityIssuesNotice","noticeIcon","_credential$schema$tr2","description","result","cardCarouselImages","cardImage","background","header","detailsCardAttributeFromClaim","_getTranslatedLabel2","id","split","pop","typeConfig","datatype","array","values","map","arrayValue","index","toString","type","Object","attributes","nestedClaim","_formatDateLocalized","String","date","Picture","SwiyuPicture","_typeConfig$params","params","showAs","detailsCardFromCredential","detailsCardFromCredentialWithClaims","card","nestAttributes","attribute","attributePath","length","push","first","rest","parent","a","insertAttributeInParent","join","nestAttributeInDummyParent","pathParts","listValue","disabled","_parent$attributes","nextParent","_parent$values","_parent$attributes2","parseBase64Image","getCredentialSchemaWithoutImages","credentialSchema","_credentialSchema$lay","_credentialSchema$lay2","_credentialSchema$lay3","_credentialSchema$lay4","credentialDetailFromPresentationV2Credential","presentationCredential","SINGLE"],"sources":["credential.ts"],"sourcesContent":["import {\n Claim,\n CoreConfig,\n CredentialDetail,\n CredentialListItem,\n CredentialSchemaListItem,\n CredentialState,\n CredentialType,\n DataType,\n FormatFeature,\n PresentationDefinitionV2Credential,\n} from '@procivis/react-native-one-core';\nimport { FC } from 'react';\nimport { SvgProps } from 'react-native-svg';\n\nimport {\n CredentialAttribute,\n CredentialAttributeValue,\n CredentialCardProps,\n CredentialDetailsCardProps,\n CredentialHeaderProps,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport {\n CredentialErrorIcon,\n CredentialNoticeInfoIcon,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n} from '../../ui-components/icons';\nimport { formatDateLocalized, formatDateTimeLocalized } from '../date';\nimport { concatTestID } from '../testID';\nimport { getTranslatedLabel } from '../translations';\nimport { getCarouselImagesFromClaims } from './credential-images';\n\nexport enum ValidityState {\n Revoked = 'revoked',\n Suspended = 'suspended',\n Valid = 'valid',\n}\n\nexport const getValidityState = (credential: CredentialListItem | undefined) => {\n if (credential?.state === CredentialState.REVOKED) {\n return ValidityState.Revoked;\n }\n if (credential?.state === CredentialState.SUSPENDED) {\n return ValidityState.Suspended;\n }\n return ValidityState.Valid;\n};\n\nexport const supportsSelectiveDisclosure = (\n credential: CredentialListItem | undefined,\n config: CoreConfig | undefined,\n) => {\n const formatConfig = credential && config?.format[credential.schema.format];\n return formatConfig\n ? Boolean(formatConfig.capabilities?.features?.includes(FormatFeature.SelectiveDisclosure))\n : undefined;\n};\n\nexport const findClaimByPath = (path: string | undefined, claims: Claim[]): Claim | undefined => {\n if (!path) {\n return undefined;\n }\n\n const exactClaim = claims.find((claim) => claim.path === path);\n if (exactClaim) {\n return exactClaim;\n }\n\n const parentClaim = claims.find((claim) => path.startsWith(`${claim.path}/`));\n if (parentClaim && parentClaim.value.type_ === 'NESTED') {\n return findClaimByPath(path, parentClaim.value.value);\n }\n\n return undefined;\n};\n\nconst formatCredentialDetail = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): string => {\n const attributeValue = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n return attributeValue.value ?? '';\n};\n\nexport const hasMsoValidityIssues = (credential: CredentialDetail): boolean => {\n const mdocMsoValidityIssue = Boolean(\n credential.mdocMsoValidity?.nextUpdate && new Date(credential.mdocMsoValidity.nextUpdate) < new Date(),\n );\n\n return mdocMsoValidityIssue;\n};\n\nexport type CardHeaderLabels = {\n validityIssues: string;\n revoked: string;\n suspended: string;\n suspendedUntil: (date: string) => string;\n};\n\nconst credentialDetailFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): {\n credentialDetailPrimary?: string;\n credentialDetailSecondary?: string;\n credentialDetailErrorColor?: boolean;\n credentialDetailTestID?: string;\n statusIcon?: FC<SvgProps>;\n} => {\n const { layoutProperties } = credential.schema;\n\n switch (credential.state) {\n case CredentialState.SUSPENDED:\n return {\n credentialDetailPrimary: credential.suspendEndDate\n ? labels.suspendedUntil(formatDateTimeLocalized(new Date(credential.suspendEndDate))!)\n : labels.suspended,\n credentialDetailTestID: concatTestID(testID, 'suspended'),\n statusIcon: CredentialWarningIcon,\n };\n case CredentialState.REVOKED:\n return {\n credentialDetailPrimary: labels.revoked,\n credentialDetailErrorColor: true,\n credentialDetailTestID: concatTestID(testID, 'revoked'),\n statusIcon: CredentialErrorIcon,\n };\n }\n\n if (hasMsoValidityIssues(credential)) {\n return {\n credentialDetailPrimary: labels.validityIssues,\n credentialDetailTestID: concatTestID(testID, 'validity-issue'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n let credentialDetailPrimary =\n formatDateTimeLocalized(new Date(credential.issuanceDate ?? credential.createdDate)) ?? '';\n let credentialDetailSecondary: string | undefined;\n\n const primary = findClaimByPath(layoutProperties?.primaryAttribute, claims);\n\n if (primary) {\n credentialDetailPrimary = formatCredentialDetail(primary, config, concatTestID(testID, 'primary'), language);\n }\n\n const secondary = findClaimByPath(layoutProperties?.secondaryAttribute, claims);\n\n if (secondary) {\n credentialDetailSecondary = formatCredentialDetail(secondary, config, concatTestID(testID, 'secondary'), language);\n }\n\n return {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID: concatTestID(testID, 'detail'),\n };\n};\n\nexport const cardHeaderFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n testID: string,\n labels: CardHeaderLabels,\n language: string | undefined,\n): Omit<CredentialHeaderProps, 'style'> => {\n const {\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailErrorColor,\n credentialDetailTestID,\n statusIcon,\n } = credentialDetailFromCredential(credential, claims, config, testID, labels, language);\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.globalSettings.defaultLanguage;\n\n return {\n color: layoutProperties?.logo?.backgroundColor,\n credentialDetailErrorColor,\n credentialDetailPrimary,\n credentialDetailSecondary,\n credentialDetailTestID,\n credentialName:\n getTranslatedLabel(credential.schema.translations?.name, language, defaultLanguage) ?? credential.schema.name,\n icon: layoutProperties?.logo?.image\n ? {\n imageSource: {\n uri: layoutProperties.logo.image,\n },\n }\n : undefined,\n iconLabelColor: layoutProperties?.logo?.fontColor,\n statusIcon,\n testID,\n };\n};\n\nexport type CardLabels = CardHeaderLabels & {\n validityIssuesNotice: string;\n};\n\nexport const getCredentialCardPropsFromCredential = (\n credential: CredentialDetail,\n claims: Claim[] = [],\n config: CoreConfig,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n const { layoutProperties } = credential.schema;\n const defaultLanguage = config.globalSettings.defaultLanguage;\n\n if (hasMsoValidityIssues(credential)) {\n notice = {\n text: labels.validityIssuesNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n };\n } else if (!notice) {\n let description = getTranslatedLabel(credential.schema.translations?.description, language, defaultLanguage);\n if (description) {\n notice = {\n text: description,\n noticeIcon: CredentialNoticeInfoIcon,\n };\n }\n }\n\n const result: Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> = {\n cardCarouselImages: getCarouselImagesFromClaims(claims, layoutProperties, concatTestID(testID, 'carousel')),\n cardImage: layoutProperties?.background?.image\n ? { imageSource: { uri: layoutProperties.background.image } }\n : undefined,\n color: layoutProperties?.background?.color,\n header: cardHeaderFromCredential(credential, claims, config, concatTestID(testID, 'header'), labels, language),\n testID,\n notice,\n };\n\n return result;\n};\n\nexport const detailsCardAttributeFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttribute => {\n const value = detailsCardAttributeValueFromClaim(claim, config, testID, language);\n const defaultLanguage = config.globalSettings.defaultLanguage;\n return {\n id: claim.path,\n name: getTranslatedLabel(claim.schema.translations.name, language, defaultLanguage) ?? claim.path.split('/').pop(),\n path: claim.path,\n ...value,\n };\n};\n\nconst detailsCardAttributeValueFromClaim = (\n claim: Claim,\n config: CoreConfig,\n testID: string,\n language: string | undefined,\n): CredentialAttributeValue => {\n const typeConfig = config?.datatype[claim.schema.datatype];\n\n if (claim.schema.array) {\n return {\n values: ((claim.value.value as Claim[]) || []).map((arrayValue, index) => {\n return detailsCardAttributeFromClaim(arrayValue, config, concatTestID(testID, index.toString()), language);\n }),\n };\n } else {\n switch (typeConfig?.type) {\n case DataType.Object: {\n if (claim.value.type_ !== 'NESTED') {\n return { attributes: [] };\n }\n return {\n attributes: claim.value.value.map((nestedClaim, index) =>\n detailsCardAttributeFromClaim(nestedClaim, config, concatTestID(testID, index.toString()), language),\n ),\n };\n }\n case DataType.Date: {\n if (!claim.value.value) {\n // Don't try to parse empty values (which will return \"Invalid Date\")\n return { testID: testID, value: String(claim.value.value) };\n }\n const date = claim.value.value as string;\n return {\n testID: testID,\n value: formatDateLocalized(new Date(date)) ?? date,\n };\n }\n case DataType.Picture: // fallback\n case DataType.SwiyuPicture: {\n if (typeConfig.params?.showAs === 'IMAGE') {\n return { image: { uri: claim.value.value as string }, testID: testID };\n } else {\n return { testID: testID, value: claim.value.value as string };\n }\n }\n default:\n return { testID: testID, value: String(claim.value.value) };\n }\n }\n};\n\nexport type CredentialDetailsCardPropsWithoutWidth = Omit<CredentialDetailsCardProps, 'expanded' | 'card'> & {\n card: Omit<CredentialCardProps, 'width'>;\n};\n\nexport const detailsCardFromCredential = (\n credential: CredentialDetail,\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n return detailsCardFromCredentialWithClaims(credential, credential.claims, config, testID, labels, language);\n};\n\nexport const detailsCardFromCredentialWithClaims = (\n credential: CredentialDetail,\n claims: Claim[],\n config: CoreConfig,\n testID: string,\n labels: CardLabels,\n language: string | undefined,\n): CredentialDetailsCardPropsWithoutWidth => {\n const attributes: CredentialAttribute[] = claims.map((claim, index) =>\n detailsCardAttributeFromClaim(claim, config, concatTestID(testID, 'attribute', index.toString()), language),\n );\n\n const card = getCredentialCardPropsFromCredential(\n credential,\n claims,\n config,\n undefined,\n concatTestID(testID, 'card'),\n labels,\n language,\n );\n\n return {\n attributes,\n card,\n };\n};\n\n// Converts a flat list of attributes into a nested structure\n// modifies the names to not include slashes\nexport const nestAttributes = (attributes: CredentialAttribute[]): CredentialAttribute[] => {\n const result: CredentialAttribute[] = [];\n\n for (const attribute of attributes) {\n const attributePath = attribute.path.split('/');\n if (attributePath.length === 0) {\n result.push(attribute);\n } else {\n const [first, ...rest] = attributePath;\n const parent = result.find((a) => a.name === first);\n if (parent) {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, parent);\n } else {\n result.push(nestAttributeInDummyParent(attribute));\n }\n }\n }\n\n return result;\n};\n\n// We nest the leaf node in a (one or more) nested object(s)\n// to make sure the tree structure is correctly rendered in proof request screens.\nconst nestAttributeInDummyParent = (attribute: CredentialAttribute): CredentialAttribute => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n if (!rest.length) {\n return attribute;\n }\n\n // The dummy object is not selectable, and contains a placeholder ID\n // the user can't interact with it.\n if (attribute.listValue) {\n return {\n values: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n } else {\n return {\n attributes: [nestAttributeInDummyParent({ ...attribute, path: rest.join('/') })],\n disabled: true,\n id: `${attribute.id}/${first}`,\n name: first,\n path: first,\n };\n }\n};\n\n// Recursively insert an attribute into an parent\n// Will create nested parents if necessary\nconst insertAttributeInParent = (attribute: CredentialAttribute, parent: CredentialAttribute) => {\n const pathParts = attribute.path.split('/');\n const [first, ...rest] = pathParts;\n\n const nextParent = parent.attributes?.find((a) => a.name === first);\n\n if (!nextParent) {\n if (attribute.listValue) {\n parent.values?.push(nestAttributeInDummyParent(attribute));\n } else {\n parent.attributes?.push(nestAttributeInDummyParent(attribute));\n }\n } else {\n insertAttributeInParent({ ...attribute, path: rest.join('/') }, nextParent);\n }\n};\n\nfunction parseBase64Image(image: string | undefined) {\n return image ? '__BASE64IMAGE__' : '';\n}\n\nexport function getCredentialSchemaWithoutImages<T extends CredentialSchemaListItem>(credentialSchema: T): T {\n return {\n ...credentialSchema,\n layoutProperties: {\n ...credentialSchema.layoutProperties,\n background: {\n ...credentialSchema.layoutProperties?.background,\n image: parseBase64Image(credentialSchema.layoutProperties?.background?.image),\n },\n logo: {\n ...credentialSchema.layoutProperties?.logo,\n image: parseBase64Image(credentialSchema.layoutProperties?.logo?.image),\n },\n },\n };\n}\n\nexport function credentialDetailFromPresentationV2Credential(\n presentationCredential: CredentialDetail | PresentationDefinitionV2Credential,\n): CredentialDetail {\n return {\n type: CredentialType.SINGLE,\n ...presentationCredential,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './credential';\nexport * from './credential-images';\nexport * from './credential-sharing
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './credential';\nexport * from './credential-images';\nexport * from './credential-sharing-v2';\nexport * from './query';\nexport * from './universal-links';\n"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,qBAAqB;AACnC,cAAc,yBAAyB;AACvC,cAAc,SAAS;AACvB,cAAc,mBAAmB","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ export const getQueryKeyFromHistoryListQueryParams = (queryParams = {}) => {
|
|
|
11
11
|
return getQueryKey(queryParams, ['page', 'pageSize', 'sort', 'sortDirection', 'organisationId', 'entityIds', 'actions', 'entityTypes', 'createdDateAfter', 'createdDateBefore', 'identifierId', 'credentialId', 'credentialSchemaId', 'proofId', 'proofSchemaId', 'search', 'users']);
|
|
12
12
|
};
|
|
13
13
|
export const getQueryKeyFromCredentialSchemaListQueryParams = (queryParams = {}) => {
|
|
14
|
-
return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'sort', 'sortDirection', 'exact', 'ids', 'include', '
|
|
14
|
+
return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'sort', 'sortDirection', 'exact', 'ids', 'include', 'schemaIds', 'formats', 'usesBatchIssuance', 'isMultiformatSchema', 'createdDateAfter', 'createdDateBefore', 'lastModifiedAfter', 'lastModifiedBefore']);
|
|
15
15
|
};
|
|
16
16
|
export const getQueryKeyFromProofSchemaListQueryParams = (queryParams = {}) => {
|
|
17
17
|
return getQueryKey(queryParams, ['page', 'pageSize', 'organisationId', 'name', 'sort', 'sortDirection', 'exact', 'ids', 'formats', 'createdDateAfter', 'createdDateBefore', 'lastModifiedAfter', 'lastModifiedBefore']);
|