@procivis/one-react-native-components 0.3.86 → 0.3.91
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/credential/credential.js +2 -8
- package/lib/commonjs/components/credential/credential.js.map +1 -1
- package/lib/commonjs/components/entity/entity-attributes.js +3 -1
- package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
- package/lib/commonjs/components/entity/entity-details-with-buttons.js +2 -1
- package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
- package/lib/commonjs/components/proof-request/v1/select-credential.js +2 -8
- package/lib/commonjs/components/proof-request/v1/select-credential.js.map +1 -1
- package/lib/commonjs/components/proof-request/v1/share-credential.js +2 -8
- package/lib/commonjs/components/proof-request/v1/share-credential.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/select-credential-v2.js +2 -6
- package/lib/commonjs/components/proof-request/v2/select-credential-v2.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/share-credential-v2.js +2 -6
- package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/cache.js +4 -1
- package/lib/commonjs/utils/hooks/core/cache.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/credentials.js +1 -7
- package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js +2 -5
- package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/wallet-unit.js +28 -37
- package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -1
- package/lib/commonjs/utils/index.js +0 -12
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js +4 -4
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing.js +6 -6
- package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential.js +9 -25
- package/lib/commonjs/utils/parsers/credential.js.map +1 -1
- package/lib/module/components/credential/credential.js +2 -8
- package/lib/module/components/credential/credential.js.map +1 -1
- package/lib/module/components/entity/entity-attributes.js +3 -1
- package/lib/module/components/entity/entity-attributes.js.map +1 -1
- package/lib/module/components/entity/entity-details-with-buttons.js +2 -1
- package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
- package/lib/module/components/proof-request/v1/select-credential.js +2 -8
- package/lib/module/components/proof-request/v1/select-credential.js.map +1 -1
- package/lib/module/components/proof-request/v1/share-credential.js +2 -8
- package/lib/module/components/proof-request/v1/share-credential.js.map +1 -1
- package/lib/module/components/proof-request/v2/select-credential-v2.js +3 -7
- package/lib/module/components/proof-request/v2/select-credential-v2.js.map +1 -1
- package/lib/module/components/proof-request/v2/share-credential-v2.js +3 -7
- package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/module/utils/hooks/core/cache.js +4 -1
- package/lib/module/utils/hooks/core/cache.js.map +1 -1
- package/lib/module/utils/hooks/core/credentials.js +1 -7
- package/lib/module/utils/hooks/core/credentials.js.map +1 -1
- package/lib/module/utils/hooks/core/proofs.js +2 -5
- package/lib/module/utils/hooks/core/proofs.js.map +1 -1
- package/lib/module/utils/hooks/core/wallet-unit.js +26 -35
- package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -1
- package/lib/module/utils/index.js +0 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing-v2.js +4 -4
- package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing.js +6 -6
- package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
- package/lib/module/utils/parsers/credential.js +10 -26
- package/lib/module/utils/parsers/credential.js.map +1 -1
- package/lib/typescript/components/entity/entity-attributes.d.ts +1 -0
- package/lib/typescript/utils/hooks/core/credentials.d.ts +1 -0
- package/lib/typescript/utils/hooks/core/proofs.d.ts +0 -3
- package/lib/typescript/utils/hooks/core/wallet-unit.d.ts +7 -7
- package/lib/typescript/utils/index.d.ts +0 -1
- package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +2 -3
- package/lib/typescript/utils/parsers/credential-sharing.d.ts +3 -4
- package/lib/typescript/utils/parsers/credential.d.ts +6 -10
- package/package.json +4 -4
- package/src/components/credential/credential.tsx +1 -5
- package/src/components/entity/entity-attributes.tsx +3 -0
- package/src/components/entity/entity-details-with-buttons.tsx +1 -0
- package/src/components/proof-request/v1/select-credential.tsx +1 -5
- package/src/components/proof-request/v1/share-credential.tsx +1 -5
- package/src/components/proof-request/v2/select-credential-v2.tsx +2 -9
- package/src/components/proof-request/v2/share-credential-v2.tsx +2 -11
- package/src/utils/hooks/core/cache.ts +3 -0
- package/src/utils/hooks/core/credentials.ts +3 -2
- package/src/utils/hooks/core/proofs.ts +4 -10
- package/src/utils/hooks/core/wallet-unit.ts +31 -37
- package/src/utils/index.ts +0 -1
- package/src/utils/parsers/credential-sharing-v2.tsx +0 -5
- package/src/utils/parsers/credential-sharing.tsx +34 -35
- package/src/utils/parsers/credential.ts +3 -30
- package/lib/commonjs/utils/wallet-unit.js +0 -30
- package/lib/commonjs/utils/wallet-unit.js.map +0 -1
- package/lib/module/utils/wallet-unit.js +0 -22
- package/lib/module/utils/wallet-unit.js.map +0 -1
- package/lib/typescript/utils/wallet-unit.d.ts +0 -8
- package/src/utils/wallet-unit.ts +0 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","useCredentialDetail","
|
|
1
|
+
{"version":3,"names":["React","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","useCredentialDetail","selectCredentialCardFromCredential","SelectCredential","credentialId","labels","lastItem","onImagePreview","onPress","request","selected","testID","data","credential","config","cardWidth","get","width","card","attributes","createElement","onHeaderPress","expanded"],"sources":["select-credential.tsx"],"sourcesContent":["import { PresentationDefinitionRequestedCredential } from '@procivis/react-native-one-core';\nimport React, { FC, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { useCredentialDetail } from '../../../utils/hooks/core/credentials';\nimport {\n selectCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\n\nexport const SelectCredential: FC<{\n credentialId: string;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onPress?: () => void;\n request: PresentationDefinitionRequestedCredential;\n selected: boolean;\n testID: string;\n}> = ({ credentialId, labels, lastItem, onImagePreview, onPress, request, selected, testID }) => {\n const { data: credential } = useCredentialDetail(credentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromCredential(\n credential,\n selected,\n request,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress: onPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,OAAO,QAAQ,OAAO;AAC1C,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,aAAa,QAAQ,uCAAuC;AACrE,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SACEC,kCAAkC,QAE7B,2CAA2C;AAElD,OAAO,MAAMC,gBASX,GAAGA,CAAC;EAAEC,YAAY;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,OAAO;EAAEC,OAAO;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EAC/F,MAAM;IAAEC,IAAI,EAAEC;EAAW,CAAC,GAAGZ,mBAAmB,CAACG,YAAY,CAAC;EAC9D,MAAM;IAAEQ,IAAI,EAAEE;EAAO,CAAC,GAAGd,aAAa,CAAC,CAAC;EACxC,MAAMe,SAAS,GAAGlB,OAAO,CAAC,MAAMC,UAAU,CAACkB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,IAAI,CAACJ,UAAU,IAAI,CAACC,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEI,IAAI;IAAEC;EAAW,CAAC,GAAGjB,kCAAkC,CAC7DW,UAAU,EACVH,QAAQ,EACRD,OAAO,EACPK,MAAM,EACNH,MAAM,EACNN,MACF,CAAC;EAED,oBACET,KAAA,CAAAwB,aAAA,CAACrB,6BAA6B;IAC5BoB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPG,aAAa,EAAEb,OAAO;MACtBS,KAAK,EAAEF;IACT,CAAE;IACFO,QAAQ,EAAEZ,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -4,10 +4,8 @@ import { Dimensions, StyleSheet } from 'react-native';
|
|
|
4
4
|
import { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';
|
|
5
5
|
import { concatTestID } from '../../../utils';
|
|
6
6
|
import { useCoreConfig } from '../../../utils/hooks/core/core-config';
|
|
7
|
-
import { useWalletUnitAttestation } from '../../../utils/hooks/core/wallet-unit';
|
|
8
7
|
import { getValidityState, ValidityState } from '../../../utils/parsers/credential';
|
|
9
8
|
import { shareCredentialCardFromCredential } from '../../../utils/parsers/credential-sharing';
|
|
10
|
-
import { walletUnitAttestationState } from '../../../utils/wallet-unit';
|
|
11
9
|
import { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';
|
|
12
10
|
import { ShareCredentialCardNotice } from '../share-credential-card-notice';
|
|
13
11
|
export const ShareCredential = ({
|
|
@@ -31,10 +29,6 @@ export const ShareCredential = ({
|
|
|
31
29
|
const {
|
|
32
30
|
data: config
|
|
33
31
|
} = useCoreConfig();
|
|
34
|
-
const {
|
|
35
|
-
data: walletUnitAttestation,
|
|
36
|
-
isLoading: isLoadingWUA
|
|
37
|
-
} = useWalletUnitAttestation();
|
|
38
32
|
const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);
|
|
39
33
|
const selectionOptions = useMemo(() => request.applicableCredentials.filter(applicableCredentialId => allCredentials.some(({
|
|
40
34
|
id,
|
|
@@ -82,13 +76,13 @@ export const ShareCredential = ({
|
|
|
82
76
|
});
|
|
83
77
|
}
|
|
84
78
|
}, [expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);
|
|
85
|
-
if (!config
|
|
79
|
+
if (!config) {
|
|
86
80
|
return null;
|
|
87
81
|
}
|
|
88
82
|
const {
|
|
89
83
|
card,
|
|
90
84
|
attributes
|
|
91
|
-
} = shareCredentialCardFromCredential(credential, invalid, Boolean(expanded), multipleCredentialsAvailable, request, selectedFields, config,
|
|
85
|
+
} = shareCredentialCardFromCredential(credential, invalid, Boolean(expanded), multipleCredentialsAvailable, request, selectedFields, config, testID, labels);
|
|
92
86
|
return /*#__PURE__*/React.createElement(CredentialDetailsCardListItem, {
|
|
93
87
|
attributes: attributes,
|
|
94
88
|
card: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CredentialStateEnum","React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","useCoreConfig","useWalletUnitAttestation","getValidityState","ValidityState","shareCredentialCardFromCredential","walletUnitAttestationState","SelectShareCredentialCardNotice","ShareCredentialCardNotice","ShareCredential","allCredentials","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","credential","find","c","id","data","config","walletUnitAttestation","isLoading","isLoadingWUA","cardWidth","get","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","ACCEPTED","multipleCredentialsAvailable","length","validityState","issuer","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","card","attributes","Boolean","credentialId","onAttributeSelected","styles","borderColor","background","create","borderRadius","borderWidth","marginBottom"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialDetail,\n CredentialListItem,\n CredentialStateEnum,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID } from '../../../utils';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { useWalletUnitAttestation } from '../../../utils/hooks/core/wallet-unit';\nimport { getValidityState, ValidityState } from '../../../utils/parsers/credential';\nimport {\n shareCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\nimport { walletUnitAttestationState } from '../../../utils/wallet-unit';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialDetail[];\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const credential = allCredentials.find((c) => c.id === selectedCredentialId);\n const { data: config } = useCoreConfig();\n const { data: walletUnitAttestation, isLoading: isLoadingWUA } = useWalletUnitAttestation();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const invalid = useMemo(() => {\n if (!credential?.lvvcIssuanceDate || !request.validityCredentialNbf) {\n return false;\n }\n return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);\n }, [credential, request]);\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (invalid) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (!config || isLoadingWUA) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n invalid,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n walletUnitAttestationState(walletUnitAttestation),\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: request.id,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CredentialStateEnum","React","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","useCoreConfig","getValidityState","ValidityState","shareCredentialCardFromCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","ShareCredential","allCredentials","expanded","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","request","selectedCredentialId","selectedFields","style","testID","_credential$issuer","colorScheme","credential","find","c","id","data","config","cardWidth","get","width","selectionOptions","applicableCredentials","filter","applicableCredentialId","some","state","ACCEPTED","multipleCredentialsAvailable","length","validityState","issuer","undefined","invalid","lvvcIssuanceDate","validityCredentialNbf","Date","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","card","attributes","Boolean","credentialId","onAttributeSelected","styles","borderColor","background","create","borderRadius","borderWidth","marginBottom"],"sources":["share-credential.tsx"],"sourcesContent":["import {\n CredentialDetail,\n CredentialListItem,\n CredentialStateEnum,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID } from '../../../utils';\nimport { useCoreConfig } from '../../../utils/hooks/core/core-config';\nimport { getValidityState, ValidityState } from '../../../utils/parsers/credential';\nimport {\n shareCredentialCardFromCredential,\n ShareCredentialCardLabels,\n} from '../../../utils/parsers/credential-sharing';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\n\nexport type ShareCredentialLabels = ShareCredentialCardLabels & {\n invalidCredentialNotice: string;\n multipleCredentialsNotice: string;\n multipleCredentialsSelect: string;\n revokedCredentialNotice: string;\n suspendedCredentialNotice: string;\n};\n\nexport const ShareCredential: FunctionComponent<{\n allCredentials: CredentialDetail[];\n expanded?: boolean;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (_id: PresentationDefinitionField['id'], _selected: boolean) => void;\n request: PresentationDefinitionRequestedCredential;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionField['id']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n}> = ({\n allCredentials,\n expanded,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n request,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const credential = allCredentials.find((c) => c.id === selectedCredentialId);\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const selectionOptions = useMemo(\n () =>\n request.applicableCredentials.filter((applicableCredentialId) =>\n allCredentials.some(({ id, state }) => id === applicableCredentialId && state === CredentialStateEnum.ACCEPTED),\n ),\n [allCredentials, request],\n );\n const multipleCredentialsAvailable = selectionOptions.length > 1;\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const invalid = useMemo(() => {\n if (!credential?.lvvcIssuanceDate || !request.validityCredentialNbf) {\n return false;\n }\n return new Date(credential.lvvcIssuanceDate) < new Date(request.validityCredentialNbf);\n }, [credential, request]);\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (invalid) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [expanded, invalid, labels, multipleCredentialsAvailable, onSelectCredential, testID, validityState]);\n\n if (!config) {\n return null;\n }\n\n const { card, attributes } = shareCredentialCardFromCredential(\n credential,\n invalid,\n Boolean(expanded),\n multipleCredentialsAvailable,\n request,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: request.id,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onSelectField}\n onImagePreview={onImagePreview}\n style={[styles.credential, { borderColor: colorScheme.background }, style]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n credential: {\n borderRadius: 10,\n borderWidth: 1,\n marginBottom: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useMemo } from 'react';
|
|
2
2
|
import { Dimensions } from 'react-native';
|
|
3
3
|
import { CredentialDetailsCardListItem } from '../../../ui-components';
|
|
4
|
-
import { useCoreConfig
|
|
4
|
+
import { useCoreConfig } from '../../../utils';
|
|
5
5
|
import { selectCredentialCardFromV2Credential } from '../../../utils/parsers/credential-sharing-v2';
|
|
6
6
|
export const SelectCredentialV2 = ({
|
|
7
7
|
credential,
|
|
@@ -16,21 +16,17 @@ export const SelectCredentialV2 = ({
|
|
|
16
16
|
const {
|
|
17
17
|
data: config
|
|
18
18
|
} = useCoreConfig();
|
|
19
|
-
const {
|
|
20
|
-
data: walletUnitAttestation,
|
|
21
|
-
isLoading: isLoadingWUA
|
|
22
|
-
} = useWalletUnitAttestation();
|
|
23
19
|
const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);
|
|
24
20
|
const onHeaderPress = useCallback(() => {
|
|
25
21
|
onSelected === null || onSelected === void 0 || onSelected(credential.id, !selected);
|
|
26
22
|
}, [credential.id, onSelected, selected]);
|
|
27
|
-
if (!credential || !config
|
|
23
|
+
if (!credential || !config) {
|
|
28
24
|
return null;
|
|
29
25
|
}
|
|
30
26
|
const {
|
|
31
27
|
card,
|
|
32
28
|
attributes
|
|
33
|
-
} = selectCredentialCardFromV2Credential(credential, selected, multiple, config,
|
|
29
|
+
} = selectCredentialCardFromV2Credential(credential, selected, multiple, config, testID, labels);
|
|
34
30
|
return /*#__PURE__*/React.createElement(CredentialDetailsCardListItem, {
|
|
35
31
|
attributes: attributes,
|
|
36
32
|
card: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","Dimensions","CredentialDetailsCardListItem","useCoreConfig","selectCredentialCardFromV2Credential","SelectCredentialV2","credential","labels","lastItem","multiple","onImagePreview","onSelected","selected","testID","data","config","cardWidth","get","width","onHeaderPress","id","card","attributes","createElement","expanded"],"sources":["select-credential-v2.tsx"],"sourcesContent":["import { CredentialListItem, PresentationDefinitionV2CredentialDetail } from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType } from 'react-native';\n\nimport { CredentialDetailsCardListItem } from '../../../ui-components';\nimport { ShareCredentialCardLabels, useCoreConfig } from '../../../utils';\nimport { selectCredentialCardFromV2Credential } from '../../../utils/parsers/credential-sharing-v2';\n\nexport const SelectCredentialV2: FC<{\n credential: PresentationDefinitionV2CredentialDetail;\n labels: ShareCredentialCardLabels;\n lastItem: boolean;\n multiple: boolean;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelected?: (credentialId: CredentialListItem['id'], selected: boolean) => void;\n selected: boolean;\n testID: string;\n}> = ({ credential, labels, lastItem, multiple, onImagePreview, onSelected, selected, testID }) => {\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(() => Dimensions.get('window').width - 32, []);\n\n const onHeaderPress = useCallback(() => {\n onSelected?.(credential.id, !selected);\n }, [credential.id, onSelected, selected]);\n\n if (!credential || !config) {\n return null;\n }\n\n const { card, attributes } = selectCredentialCardFromV2Credential(\n credential,\n selected,\n multiple,\n config,\n testID,\n labels,\n );\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={selected}\n lastItem={lastItem}\n onImagePreview={onImagePreview}\n />\n );\n};\n"],"mappings":"AACA,OAAOA,KAAK,IAAQC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACvD,SAASC,UAAU,QAA6B,cAAc;AAE9D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAAoCC,aAAa,QAAQ,gBAAgB;AACzE,SAASC,oCAAoC,QAAQ,8CAA8C;AAEnG,OAAO,MAAMC,kBASX,GAAGA,CAAC;EAAEC,UAAU;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,QAAQ;EAAEC,cAAc;EAAEC,UAAU;EAAEC,QAAQ;EAAEC;AAAO,CAAC,KAAK;EACjG,MAAM;IAAEC,IAAI,EAAEC;EAAO,CAAC,GAAGZ,aAAa,CAAC,CAAC;EACxC,MAAMa,SAAS,GAAGhB,OAAO,CAAC,MAAMC,UAAU,CAACgB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC;EAExE,MAAMC,aAAa,GAAGpB,WAAW,CAAC,MAAM;IACtCY,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAGL,UAAU,CAACc,EAAE,EAAE,CAACR,QAAQ,CAAC;EACxC,CAAC,EAAE,CAACN,UAAU,CAACc,EAAE,EAAET,UAAU,EAAEC,QAAQ,CAAC,CAAC;EAEzC,IAAI,CAACN,UAAU,IAAI,CAACS,MAAM,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEM,IAAI;IAAEC;EAAW,CAAC,GAAGlB,oCAAoC,CAC/DE,UAAU,EACVM,QAAQ,EACRH,QAAQ,EACRM,MAAM,EACNF,MAAM,EACNN,MACF,CAAC;EAED,oBACET,KAAA,CAAAyB,aAAA,CAACrB,6BAA6B;IAC5BoB,UAAU,EAAEA,UAAW;IACvBD,IAAI,EAAE;MACJ,GAAGA,IAAI;MACPF,aAAa;MACbD,KAAK,EAAEF;IACT,CAAE;IACFQ,QAAQ,EAAEZ,QAAS;IACnBJ,QAAQ,EAAEA,QAAS;IACnBE,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useMemo } from 'react';
|
|
2
2
|
import { Dimensions, StyleSheet } from 'react-native';
|
|
3
3
|
import { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';
|
|
4
|
-
import { concatTestID, getValidityState, useCoreConfig,
|
|
4
|
+
import { concatTestID, getValidityState, useCoreConfig, ValidityState } from '../../../utils';
|
|
5
5
|
import { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';
|
|
6
6
|
import { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';
|
|
7
7
|
import { ShareCredentialCardNotice } from '../share-credential-card-notice';
|
|
@@ -31,10 +31,6 @@ export const ShareCredentialV2 = ({
|
|
|
31
31
|
const {
|
|
32
32
|
data: config
|
|
33
33
|
} = useCoreConfig();
|
|
34
|
-
const {
|
|
35
|
-
data: walletUnitAttestation,
|
|
36
|
-
isLoading: isLoadingWUA
|
|
37
|
-
} = useWalletUnitAttestation();
|
|
38
34
|
const cardWidth = useMemo(() => Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0), [grouped]);
|
|
39
35
|
const multipleCredentialsAvailable = Boolean((applicableCredentials === null || applicableCredentials === void 0 ? void 0 : applicableCredentials.length) && applicableCredentials.length > 1);
|
|
40
36
|
const validityState = getValidityState(credential ? {
|
|
@@ -78,7 +74,7 @@ export const ShareCredentialV2 = ({
|
|
|
78
74
|
}
|
|
79
75
|
onSelectField(selectedCredentialId, fieldPath, selected);
|
|
80
76
|
}, [onSelectField, selectedCredentialId]);
|
|
81
|
-
if (!config
|
|
77
|
+
if (!config) {
|
|
82
78
|
return null;
|
|
83
79
|
}
|
|
84
80
|
const {
|
|
@@ -87,7 +83,7 @@ export const ShareCredentialV2 = ({
|
|
|
87
83
|
...card
|
|
88
84
|
},
|
|
89
85
|
attributes
|
|
90
|
-
} = shareCredentialCardFromV2PresentationCredential(credential, failureHint, Boolean(expanded), multipleCredentialsAvailable, selectedFields, config,
|
|
86
|
+
} = shareCredentialCardFromV2PresentationCredential(credential, failureHint, Boolean(expanded), multipleCredentialsAvailable, selectedFields, config, testID, labels);
|
|
91
87
|
if (headerAccessory) {
|
|
92
88
|
header.accessory = headerAccessory;
|
|
93
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","getValidityState","useCoreConfig","useWalletUnitAttestation","ValidityState","walletUnitAttestationState","shareCredentialCardFromV2PresentationCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","GroupedShareCredentialV2Padding","ShareCredentialV2","credentialQuery","credentialRequestId","expanded","grouped","headerAccessory","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","selectedCredentialId","selectedFields","style","testID","_applicableCredential","_credential$issuer","colorScheme","applicableCredentials","undefined","failureHint","credential","find","c","id","data","config","walletUnitAttestation","isLoading","isLoadingWUA","cardWidth","get","width","multipleCredentialsAvailable","Boolean","length","validityState","issuer","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","reason","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","onAttributeSelected","fieldPath","selected","card","header","attributes","accessory","credentialId","styles","groupedCredential","bordered","borderColor","background","create","borderWidth","borderRadius","marginBottom","marginHorizontal"],"sources":["share-credential-v2.tsx"],"sourcesContent":["import {\n CredentialListItem,\n PresentationDefinitionV2CredentialClaim,\n PresentationDefinitionV2CredentialQuery,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport {\n concatTestID,\n getValidityState,\n useCoreConfig,\n useWalletUnitAttestation,\n ValidityState,\n walletUnitAttestationState,\n} from '../../../utils';\nimport { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\nimport { ShareCredentialLabels } from '../v1';\n\nexport type ShareCredentialV2Props = {\n credentialQuery: PresentationDefinitionV2CredentialQuery;\n credentialRequestId: string;\n expanded?: boolean;\n grouped?: boolean;\n headerAccessory?: React.ComponentType<any> | React.ReactElement;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2CredentialClaim['path'],\n selected: boolean,\n ) => void;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionV2CredentialClaim['path']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n};\n\nexport const GroupedShareCredentialV2Padding = 4;\n\nexport const ShareCredentialV2: FunctionComponent<ShareCredentialV2Props> = ({\n credentialQuery,\n credentialRequestId,\n expanded,\n grouped,\n headerAccessory,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const applicableCredentials =\n 'applicableCredentials' in credentialQuery ? credentialQuery.applicableCredentials : undefined;\n const failureHint = 'failureHint' in credentialQuery ? credentialQuery.failureHint : undefined;\n const credential = applicableCredentials?.find((c) => c.id === selectedCredentialId) ?? applicableCredentials?.[0];\n const { data: config } = useCoreConfig();\n const { data: walletUnitAttestation, isLoading: isLoadingWUA } = useWalletUnitAttestation();\n const cardWidth = useMemo(\n () => Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0),\n [grouped],\n );\n\n const multipleCredentialsAvailable = Boolean(applicableCredentials?.length && applicableCredentials.length > 1);\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (failureHint?.reason === 'VALIDITY') {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [\n expanded,\n failureHint?.reason,\n labels.invalidCredentialNotice,\n labels.multipleCredentialsNotice,\n labels.multipleCredentialsSelect,\n labels.revokedCredentialNotice,\n labels.suspendedCredentialNotice,\n multipleCredentialsAvailable,\n onSelectCredential,\n testID,\n validityState,\n ]);\n\n const onAttributeSelected = useCallback(\n (fieldPath: PresentationDefinitionV2CredentialClaim['path'], selected: boolean) => {\n if (!selectedCredentialId) {\n return;\n }\n onSelectField(selectedCredentialId, fieldPath, selected);\n },\n [onSelectField, selectedCredentialId],\n );\n\n if (!config || isLoadingWUA) {\n return null;\n }\n\n const {\n card: { header, ...card },\n attributes,\n } = shareCredentialCardFromV2PresentationCredential(\n credential,\n failureHint,\n Boolean(expanded),\n multipleCredentialsAvailable,\n selectedFields,\n config,\n walletUnitAttestationState(walletUnitAttestation),\n testID,\n labels,\n );\n\n if (headerAccessory) {\n header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: credentialRequestId,\n header,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onAttributeSelected}\n onImagePreview={onImagePreview}\n style={[\n styles.credential,\n grouped ? styles.groupedCredential : styles.bordered,\n { borderColor: colorScheme.background },\n style,\n ]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n bordered: {\n borderWidth: 1,\n },\n credential: {\n borderRadius: 10,\n marginBottom: 8,\n },\n groupedCredential: {\n marginHorizontal: GroupedShareCredentialV2Padding,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMemo","Dimensions","StyleSheet","CredentialDetailsCardListItem","useAppColorScheme","concatTestID","getValidityState","useCoreConfig","ValidityState","shareCredentialCardFromV2PresentationCredential","SelectShareCredentialCardNotice","ShareCredentialCardNotice","GroupedShareCredentialV2Padding","ShareCredentialV2","credentialQuery","credentialRequestId","expanded","grouped","headerAccessory","labels","lastItem","onHeaderPress","onImagePreview","onSelectCredential","onSelectField","selectedCredentialId","selectedFields","style","testID","_applicableCredential","_credential$issuer","colorScheme","applicableCredentials","undefined","failureHint","credential","find","c","id","data","config","cardWidth","get","width","multipleCredentialsAvailable","Boolean","length","validityState","issuer","footer","Revoked","createElement","text","revokedCredentialNotice","Suspended","suspendedCredentialNotice","reason","invalidCredentialNotice","buttonTitle","multipleCredentialsSelect","onPress","multipleCredentialsNotice","onAttributeSelected","fieldPath","selected","card","header","attributes","accessory","credentialId","styles","groupedCredential","bordered","borderColor","background","create","borderWidth","borderRadius","marginBottom","marginHorizontal"],"sources":["share-credential-v2.tsx"],"sourcesContent":["import {\n CredentialListItem,\n PresentationDefinitionV2CredentialClaim,\n PresentationDefinitionV2CredentialQuery,\n} from '@procivis/react-native-one-core';\nimport React, { FunctionComponent, useCallback, useMemo } from 'react';\nimport { Dimensions, ImageSourcePropType, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nimport { CredentialDetailsCardListItem, useAppColorScheme } from '../../../ui-components';\nimport { concatTestID, getValidityState, useCoreConfig, ValidityState } from '../../../utils';\nimport { shareCredentialCardFromV2PresentationCredential } from '../../../utils/parsers/credential-sharing-v2';\nimport { SelectShareCredentialCardNotice } from '../select-share-credential-card-notice';\nimport { ShareCredentialCardNotice } from '../share-credential-card-notice';\nimport { ShareCredentialLabels } from '../v1';\n\nexport type ShareCredentialV2Props = {\n credentialQuery: PresentationDefinitionV2CredentialQuery;\n credentialRequestId: string;\n expanded?: boolean;\n grouped?: boolean;\n headerAccessory?: React.ComponentType<any> | React.ReactElement;\n labels: ShareCredentialLabels;\n lastItem?: boolean;\n onHeaderPress?: (_credentialId?: string) => void;\n onImagePreview: (title: string, image: ImageSourcePropType) => void;\n onSelectCredential?: () => void;\n onSelectField: (\n credentialId: CredentialListItem['id'],\n fieldPath: PresentationDefinitionV2CredentialClaim['path'],\n selected: boolean,\n ) => void;\n selectedCredentialId?: CredentialListItem['id'];\n selectedFields?: Array<PresentationDefinitionV2CredentialClaim['path']>;\n style?: StyleProp<ViewStyle>;\n testID: string;\n};\n\nexport const GroupedShareCredentialV2Padding = 4;\n\nexport const ShareCredentialV2: FunctionComponent<ShareCredentialV2Props> = ({\n credentialQuery,\n credentialRequestId,\n expanded,\n grouped,\n headerAccessory,\n labels,\n lastItem,\n onHeaderPress,\n onImagePreview,\n onSelectCredential,\n onSelectField,\n selectedCredentialId,\n selectedFields,\n style,\n testID,\n}) => {\n const colorScheme = useAppColorScheme();\n const applicableCredentials =\n 'applicableCredentials' in credentialQuery ? credentialQuery.applicableCredentials : undefined;\n const failureHint = 'failureHint' in credentialQuery ? credentialQuery.failureHint : undefined;\n const credential = applicableCredentials?.find((c) => c.id === selectedCredentialId) ?? applicableCredentials?.[0];\n const { data: config } = useCoreConfig();\n const cardWidth = useMemo(\n () => Dimensions.get('window').width - 32 - (grouped ? GroupedShareCredentialV2Padding * 2 : 0),\n [grouped],\n );\n\n const multipleCredentialsAvailable = Boolean(applicableCredentials?.length && applicableCredentials.length > 1);\n\n const validityState = getValidityState(\n credential\n ? {\n ...credential,\n issuer: credential?.issuer?.id,\n }\n : undefined,\n );\n\n const footer = useMemo(() => {\n if (!expanded) {\n return;\n }\n if (validityState === ValidityState.Revoked) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.revoked')}\n text={labels.revokedCredentialNotice}\n />\n );\n }\n if (validityState === ValidityState.Suspended) {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.suspended')}\n text={labels.suspendedCredentialNotice}\n />\n );\n }\n\n if (failureHint?.reason === 'VALIDITY') {\n return (\n <ShareCredentialCardNotice\n testID={concatTestID(testID, 'notice.invalid')}\n text={labels.invalidCredentialNotice}\n />\n );\n }\n\n if (multipleCredentialsAvailable) {\n return (\n <SelectShareCredentialCardNotice\n buttonTitle={labels.multipleCredentialsSelect}\n onPress={onSelectCredential}\n testID={concatTestID(testID, 'notice.multiple')}\n text={labels.multipleCredentialsNotice}\n />\n );\n }\n }, [\n expanded,\n failureHint?.reason,\n labels.invalidCredentialNotice,\n labels.multipleCredentialsNotice,\n labels.multipleCredentialsSelect,\n labels.revokedCredentialNotice,\n labels.suspendedCredentialNotice,\n multipleCredentialsAvailable,\n onSelectCredential,\n testID,\n validityState,\n ]);\n\n const onAttributeSelected = useCallback(\n (fieldPath: PresentationDefinitionV2CredentialClaim['path'], selected: boolean) => {\n if (!selectedCredentialId) {\n return;\n }\n onSelectField(selectedCredentialId, fieldPath, selected);\n },\n [onSelectField, selectedCredentialId],\n );\n\n if (!config) {\n return null;\n }\n\n const {\n card: { header, ...card },\n attributes,\n } = shareCredentialCardFromV2PresentationCredential(\n credential,\n failureHint,\n Boolean(expanded),\n multipleCredentialsAvailable,\n selectedFields,\n config,\n testID,\n labels,\n );\n\n if (headerAccessory) {\n header.accessory = headerAccessory;\n }\n\n return (\n <CredentialDetailsCardListItem\n attributes={attributes}\n card={{\n ...card,\n credentialId: credentialRequestId,\n header,\n onHeaderPress,\n width: cardWidth,\n }}\n expanded={expanded}\n footer={footer}\n lastItem={lastItem}\n onAttributeSelected={onAttributeSelected}\n onImagePreview={onImagePreview}\n style={[\n styles.credential,\n grouped ? styles.groupedCredential : styles.bordered,\n { borderColor: colorScheme.background },\n style,\n ]}\n testID={testID}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n bordered: {\n borderWidth: 1,\n },\n credential: {\n borderRadius: 10,\n marginBottom: 8,\n },\n groupedCredential: {\n marginHorizontal: GroupedShareCredentialV2Padding,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,10 @@ const cacheTypeToQueryKeys = {
|
|
|
13
13
|
[CacheType.STATUS_LIST_CREDENTIAL]: CREDENTIAL_QUERY_KEYS,
|
|
14
14
|
[CacheType.VCT_METADATA]: CREDENTIAL_QUERY_KEYS,
|
|
15
15
|
[CacheType.JSON_SCHEMA]: CREDENTIAL_QUERY_KEYS,
|
|
16
|
-
[CacheType.TRUST_LIST]: [...TRUST_ENTITY_QUERY_KEYS, ...CREDENTIAL_QUERY_KEYS]
|
|
16
|
+
[CacheType.TRUST_LIST]: [...TRUST_ENTITY_QUERY_KEYS, ...CREDENTIAL_QUERY_KEYS],
|
|
17
|
+
[CacheType.X509_CRL]: CREDENTIAL_QUERY_KEYS,
|
|
18
|
+
[CacheType.ANDROID_ATTESTATION_CRL]: CREDENTIAL_QUERY_KEYS,
|
|
19
|
+
[CacheType.OPEN_ID_METADATA]: CREDENTIAL_QUERY_KEYS
|
|
17
20
|
};
|
|
18
21
|
export const useCacheClear = () => {
|
|
19
22
|
const queryClient = useQueryClient();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CacheType","useMutation","useQueryClient","useONECore","CREDENTIAL_DETAIL_QUERY_KEY","CREDENTIAL_LIST_PAGED_QUERY_KEY","CREDENTIAL_LIST_QUERY_KEY","REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY","TRUST_ENTITY_DETAIL_QUERY_KEY","CREDENTIAL_QUERY_KEYS","TRUST_ENTITY_QUERY_KEYS","cacheTypeToQueryKeys","DID_DOCUMENT","JSON_LD_CONTEXT","STATUS_LIST_CREDENTIAL","VCT_METADATA","JSON_SCHEMA","TRUST_LIST","useCacheClear","queryClient","core","cacheTypes","deleteCache","onSuccess","_","queryKeysToInvalidate","Set","forEach","cacheType","keys","key","add","Promise","all","map","queryKey","invalidateQueries"],"sources":["cache.ts"],"sourcesContent":["import { CacheType } from '@procivis/react-native-one-core';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { useONECore } from './core-context';\nimport { CREDENTIAL_DETAIL_QUERY_KEY, CREDENTIAL_LIST_PAGED_QUERY_KEY, CREDENTIAL_LIST_QUERY_KEY } from './credentials';\nimport { REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY, TRUST_ENTITY_DETAIL_QUERY_KEY } from './trust-entity';\n\nconst CREDENTIAL_QUERY_KEYS = [CREDENTIAL_LIST_QUERY_KEY, CREDENTIAL_LIST_PAGED_QUERY_KEY, CREDENTIAL_DETAIL_QUERY_KEY];\nconst TRUST_ENTITY_QUERY_KEYS = [TRUST_ENTITY_DETAIL_QUERY_KEY, REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY];\n\n// Map each CacheType to the query keys that should be invalidated when that cache is cleared.\nconst cacheTypeToQueryKeys: Record<CacheType, string[]> = {\n [CacheType.DID_DOCUMENT]: CREDENTIAL_QUERY_KEYS,\n [CacheType.JSON_LD_CONTEXT]: CREDENTIAL_QUERY_KEYS,\n [CacheType.STATUS_LIST_CREDENTIAL]: CREDENTIAL_QUERY_KEYS,\n [CacheType.VCT_METADATA]: CREDENTIAL_QUERY_KEYS,\n [CacheType.JSON_SCHEMA]: CREDENTIAL_QUERY_KEYS,\n [CacheType.TRUST_LIST]: [...TRUST_ENTITY_QUERY_KEYS, ...CREDENTIAL_QUERY_KEYS],\n};\n\nexport const useCacheClear = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (cacheTypes: CacheType[]) => {\n await core.deleteCache(cacheTypes);\n return cacheTypes;\n },\n {\n onSuccess: async (_, cacheTypes) => {\n const queryKeysToInvalidate = new Set<string>();\n\n cacheTypes.forEach((cacheType) => {\n const keys = cacheTypeToQueryKeys[cacheType] || [];\n keys.forEach((key) => queryKeysToInvalidate.add(key));\n });\n\n await Promise.all([...queryKeysToInvalidate].map((queryKey) => queryClient.invalidateQueries(queryKey)));\n },\n },\n );\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,WAAW,EAAEC,cAAc,QAAQ,aAAa;AAEzD,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,2BAA2B,EAAEC,+BAA+B,EAAEC,yBAAyB,QAAQ,eAAe;AACvH,SAASC,oCAAoC,EAAEC,6BAA6B,QAAQ,gBAAgB;AAEpG,MAAMC,qBAAqB,GAAG,CAACH,yBAAyB,EAAED,+BAA+B,EAAED,2BAA2B,CAAC;AACvH,MAAMM,uBAAuB,GAAG,CAACF,6BAA6B,EAAED,oCAAoC,CAAC;;AAErG;AACA,MAAMI,oBAAiD,GAAG;EACxD,CAACX,SAAS,CAACY,YAAY,GAAGH,qBAAqB;EAC/C,CAACT,SAAS,CAACa,eAAe,GAAGJ,qBAAqB;EAClD,CAACT,SAAS,CAACc,sBAAsB,GAAGL,qBAAqB;EACzD,CAACT,SAAS,CAACe,YAAY,GAAGN,qBAAqB;EAC/C,CAACT,SAAS,CAACgB,WAAW,GAAGP,qBAAqB;EAC9C,CAACT,SAAS,CAACiB,UAAU,GAAG,CAAC,GAAGP,uBAAuB,EAAE,GAAGD,qBAAqB;
|
|
1
|
+
{"version":3,"names":["CacheType","useMutation","useQueryClient","useONECore","CREDENTIAL_DETAIL_QUERY_KEY","CREDENTIAL_LIST_PAGED_QUERY_KEY","CREDENTIAL_LIST_QUERY_KEY","REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY","TRUST_ENTITY_DETAIL_QUERY_KEY","CREDENTIAL_QUERY_KEYS","TRUST_ENTITY_QUERY_KEYS","cacheTypeToQueryKeys","DID_DOCUMENT","JSON_LD_CONTEXT","STATUS_LIST_CREDENTIAL","VCT_METADATA","JSON_SCHEMA","TRUST_LIST","X509_CRL","ANDROID_ATTESTATION_CRL","OPEN_ID_METADATA","useCacheClear","queryClient","core","cacheTypes","deleteCache","onSuccess","_","queryKeysToInvalidate","Set","forEach","cacheType","keys","key","add","Promise","all","map","queryKey","invalidateQueries"],"sources":["cache.ts"],"sourcesContent":["import { CacheType } from '@procivis/react-native-one-core';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { useONECore } from './core-context';\nimport { CREDENTIAL_DETAIL_QUERY_KEY, CREDENTIAL_LIST_PAGED_QUERY_KEY, CREDENTIAL_LIST_QUERY_KEY } from './credentials';\nimport { REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY, TRUST_ENTITY_DETAIL_QUERY_KEY } from './trust-entity';\n\nconst CREDENTIAL_QUERY_KEYS = [CREDENTIAL_LIST_QUERY_KEY, CREDENTIAL_LIST_PAGED_QUERY_KEY, CREDENTIAL_DETAIL_QUERY_KEY];\nconst TRUST_ENTITY_QUERY_KEYS = [TRUST_ENTITY_DETAIL_QUERY_KEY, REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY];\n\n// Map each CacheType to the query keys that should be invalidated when that cache is cleared.\nconst cacheTypeToQueryKeys: Record<CacheType, string[]> = {\n [CacheType.DID_DOCUMENT]: CREDENTIAL_QUERY_KEYS,\n [CacheType.JSON_LD_CONTEXT]: CREDENTIAL_QUERY_KEYS,\n [CacheType.STATUS_LIST_CREDENTIAL]: CREDENTIAL_QUERY_KEYS,\n [CacheType.VCT_METADATA]: CREDENTIAL_QUERY_KEYS,\n [CacheType.JSON_SCHEMA]: CREDENTIAL_QUERY_KEYS,\n [CacheType.TRUST_LIST]: [...TRUST_ENTITY_QUERY_KEYS, ...CREDENTIAL_QUERY_KEYS],\n [CacheType.X509_CRL]: CREDENTIAL_QUERY_KEYS,\n [CacheType.ANDROID_ATTESTATION_CRL]: CREDENTIAL_QUERY_KEYS,\n [CacheType.OPEN_ID_METADATA]: CREDENTIAL_QUERY_KEYS,\n};\n\nexport const useCacheClear = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (cacheTypes: CacheType[]) => {\n await core.deleteCache(cacheTypes);\n return cacheTypes;\n },\n {\n onSuccess: async (_, cacheTypes) => {\n const queryKeysToInvalidate = new Set<string>();\n\n cacheTypes.forEach((cacheType) => {\n const keys = cacheTypeToQueryKeys[cacheType] || [];\n keys.forEach((key) => queryKeysToInvalidate.add(key));\n });\n\n await Promise.all([...queryKeysToInvalidate].map((queryKey) => queryClient.invalidateQueries(queryKey)));\n },\n },\n );\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,WAAW,EAAEC,cAAc,QAAQ,aAAa;AAEzD,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,2BAA2B,EAAEC,+BAA+B,EAAEC,yBAAyB,QAAQ,eAAe;AACvH,SAASC,oCAAoC,EAAEC,6BAA6B,QAAQ,gBAAgB;AAEpG,MAAMC,qBAAqB,GAAG,CAACH,yBAAyB,EAAED,+BAA+B,EAAED,2BAA2B,CAAC;AACvH,MAAMM,uBAAuB,GAAG,CAACF,6BAA6B,EAAED,oCAAoC,CAAC;;AAErG;AACA,MAAMI,oBAAiD,GAAG;EACxD,CAACX,SAAS,CAACY,YAAY,GAAGH,qBAAqB;EAC/C,CAACT,SAAS,CAACa,eAAe,GAAGJ,qBAAqB;EAClD,CAACT,SAAS,CAACc,sBAAsB,GAAGL,qBAAqB;EACzD,CAACT,SAAS,CAACe,YAAY,GAAGN,qBAAqB;EAC/C,CAACT,SAAS,CAACgB,WAAW,GAAGP,qBAAqB;EAC9C,CAACT,SAAS,CAACiB,UAAU,GAAG,CAAC,GAAGP,uBAAuB,EAAE,GAAGD,qBAAqB,CAAC;EAC9E,CAACT,SAAS,CAACkB,QAAQ,GAAGT,qBAAqB;EAC3C,CAACT,SAAS,CAACmB,uBAAuB,GAAGV,qBAAqB;EAC1D,CAACT,SAAS,CAACoB,gBAAgB,GAAGX;AAChC,CAAC;AAED,OAAO,MAAMY,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,WAAW,GAAGpB,cAAc,CAAC,CAAC;EACpC,MAAM;IAAEqB;EAAK,CAAC,GAAGpB,UAAU,CAAC,CAAC;EAE7B,OAAOF,WAAW,CAChB,MAAOuB,UAAuB,IAAK;IACjC,MAAMD,IAAI,CAACE,WAAW,CAACD,UAAU,CAAC;IAClC,OAAOA,UAAU;EACnB,CAAC,EACD;IACEE,SAAS,EAAE,MAAAA,CAAOC,CAAC,EAAEH,UAAU,KAAK;MAClC,MAAMI,qBAAqB,GAAG,IAAIC,GAAG,CAAS,CAAC;MAE/CL,UAAU,CAACM,OAAO,CAAEC,SAAS,IAAK;QAChC,MAAMC,IAAI,GAAGrB,oBAAoB,CAACoB,SAAS,CAAC,IAAI,EAAE;QAClDC,IAAI,CAACF,OAAO,CAAEG,GAAG,IAAKL,qBAAqB,CAACM,GAAG,CAACD,GAAG,CAAC,CAAC;MACvD,CAAC,CAAC;MAEF,MAAME,OAAO,CAACC,GAAG,CAAC,CAAC,GAAGR,qBAAqB,CAAC,CAACS,GAAG,CAAEC,QAAQ,IAAKhB,WAAW,CAACiB,iBAAiB,CAACD,QAAQ,CAAC,CAAC,CAAC;IAC1G;EACF,CACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -85,13 +85,7 @@ export const useCredentialAccept = () => {
|
|
|
85
85
|
const {
|
|
86
86
|
core
|
|
87
87
|
} = useONECore();
|
|
88
|
-
return useMutation(async ({
|
|
89
|
-
interactionId,
|
|
90
|
-
didId,
|
|
91
|
-
identifierId,
|
|
92
|
-
keyId,
|
|
93
|
-
txCode
|
|
94
|
-
}) => core.holderAcceptCredential(interactionId, didId, identifierId, keyId, txCode), {
|
|
88
|
+
return useMutation(async credentialAcceptHookParams => core.holderAcceptCredential(credentialAcceptHookParams), {
|
|
95
89
|
onSuccess: async () => {
|
|
96
90
|
await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);
|
|
97
91
|
await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CredentialStateEnum","OneError","useInfiniteQuery","useMutation","useQuery","useQueryClient","getQueryKeyFromCredentialListQueryParams","useONECore","CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY","CREDENTIAL_SCHEMA_LIST_QUERY_KEY","OneErrorCode","HISTORY_LIST_QUERY_KEY","PROOF_LIST_QUERY_KEY","PAGE_SIZE","CREDENTIAL_LIST_QUERY_KEY","CREDENTIAL_LIST_PAGED_QUERY_KEY","CREDENTIAL_DETAIL_QUERY_KEY","useCredentials","queryParams","core","organisationId","values","getCredentials","page","pageSize","states","ACCEPTED","SUSPENDED","REVOKED","keepPreviousData","usePagedCredentials","pageParam","getNextPageParam","lastPage","allPages","length","totalPages","undefined","useCredentialDetail","credentialId","active","getCredential","enabled","Boolean","useInvitationHandler","queryClient","request","handleInvitation","onSuccess","result","invalidateQueries","useCredentialAccept","interactionId","didId","identifierId","keyId","txCode","holderAcceptCredential","useCredentialReject","holderRejectCredential","catch","e","code","OperationNotSupported","useCredentialRevocationCheck","forceRefresh","credentialIds","checkRevocation","useCredentialDelete","deleteCredential","_","removeQueries","useInvalidateCredentialDetails","useInitiateIssuance","initiateIssuance","useContinueIssuance","url","continueIssuance"],"sources":["credentials.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialStateEnum,\n HandleInvitationRequest,\n InitiateIssuanceRequest,\n InvitationResult,\n OneError,\n} from '@procivis/react-native-one-core';\nimport { useInfiniteQuery, useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromCredentialListQueryParams } from '../../parsers/query';\nimport { useONECore } from './core-context';\nimport { CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY, CREDENTIAL_SCHEMA_LIST_QUERY_KEY } from './credential-schemas';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { PROOF_LIST_QUERY_KEY } from './proofs';\n\nconst PAGE_SIZE = 20;\nexport const CREDENTIAL_LIST_QUERY_KEY = 'credential-list';\nexport const CREDENTIAL_LIST_PAGED_QUERY_KEY = 'credential-list-paged';\nexport const CREDENTIAL_DETAIL_QUERY_KEY = 'credential-detail';\n\nexport const useCredentials = (queryParams?: Partial<CredentialListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [CREDENTIAL_LIST_QUERY_KEY, ...getQueryKeyFromCredentialListQueryParams(queryParams)],\n async () => {\n const { values } = await core.getCredentials({\n organisationId,\n page: 0,\n // TODO: workaround pagination for now, until it's supported by UI\n pageSize: 10000,\n states: [CredentialStateEnum.ACCEPTED, CredentialStateEnum.SUSPENDED, CredentialStateEnum.REVOKED],\n ...queryParams,\n });\n return values;\n },\n {\n keepPreviousData: true,\n },\n );\n};\n\nexport const usePagedCredentials = (queryParams?: Partial<CredentialListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useInfiniteQuery(\n [\n CREDENTIAL_LIST_QUERY_KEY,\n CREDENTIAL_LIST_PAGED_QUERY_KEY,\n ...getQueryKeyFromCredentialListQueryParams(queryParams),\n ],\n ({ pageParam = 0 }) =>\n core.getCredentials({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n states: [CredentialStateEnum.ACCEPTED, CredentialStateEnum.SUSPENDED, CredentialStateEnum.REVOKED],\n ...queryParams,\n }),\n {\n getNextPageParam: (lastPage, allPages) => (allPages.length < lastPage.totalPages ? allPages.length : undefined),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCredentialDetail = (credentialId: string | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [CREDENTIAL_DETAIL_QUERY_KEY, credentialId],\n () => (credentialId ? core.getCredential(credentialId) : undefined),\n {\n enabled: active && Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useInvitationHandler = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<HandleInvitationRequest, 'organisationId'>) =>\n core.handleInvitation({ organisationId, ...request }),\n {\n onSuccess: async (result: InvitationResult) => {\n if ('proofId' in result) {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n } else {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n }\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n type CredentialAcceptHookParams = {\n didId?: string;\n identifierId?: string;\n interactionId: string;\n keyId?: string;\n txCode?: string;\n };\n\n return useMutation(\n async ({ interactionId, didId, identifierId, keyId, txCode }: CredentialAcceptHookParams) =>\n core.holderAcceptCredential(interactionId, didId, identifierId, keyId, txCode),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectCredential(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(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialRevocationCheck = (forceRefresh: boolean) => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (credentialIds: string[]) => core.checkRevocation(credentialIds, forceRefresh), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useCredentialDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (credentialId: string) => core.deleteCredential(credentialId), {\n onSuccess: async (_, credentialId) => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.removeQueries([CREDENTIAL_DETAIL_QUERY_KEY, credentialId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useInvalidateCredentialDetails = () => {\n const queryClient = useQueryClient();\n\n return (credentialId: string | undefined) =>\n queryClient.invalidateQueries([CREDENTIAL_DETAIL_QUERY_KEY, credentialId]);\n};\n\nexport const useInitiateIssuance = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<InitiateIssuanceRequest, 'organisationId'>) =>\n core.initiateIssuance({ organisationId, ...request }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useContinueIssuance = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (url: string) => core.continueIssuance(url), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CredentialStateEnum","OneError","useInfiniteQuery","useMutation","useQuery","useQueryClient","getQueryKeyFromCredentialListQueryParams","useONECore","CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY","CREDENTIAL_SCHEMA_LIST_QUERY_KEY","OneErrorCode","HISTORY_LIST_QUERY_KEY","PROOF_LIST_QUERY_KEY","PAGE_SIZE","CREDENTIAL_LIST_QUERY_KEY","CREDENTIAL_LIST_PAGED_QUERY_KEY","CREDENTIAL_DETAIL_QUERY_KEY","useCredentials","queryParams","core","organisationId","values","getCredentials","page","pageSize","states","ACCEPTED","SUSPENDED","REVOKED","keepPreviousData","usePagedCredentials","pageParam","getNextPageParam","lastPage","allPages","length","totalPages","undefined","useCredentialDetail","credentialId","active","getCredential","enabled","Boolean","useInvitationHandler","queryClient","request","handleInvitation","onSuccess","result","invalidateQueries","useCredentialAccept","credentialAcceptHookParams","holderAcceptCredential","useCredentialReject","interactionId","holderRejectCredential","catch","e","code","OperationNotSupported","useCredentialRevocationCheck","forceRefresh","credentialIds","checkRevocation","useCredentialDelete","deleteCredential","_","removeQueries","useInvalidateCredentialDetails","useInitiateIssuance","initiateIssuance","useContinueIssuance","url","continueIssuance"],"sources":["credentials.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialStateEnum,\n HandleInvitationRequest,\n InitiateIssuanceRequest,\n InvitationResult,\n OneError,\n} from '@procivis/react-native-one-core';\nimport { useInfiniteQuery, useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromCredentialListQueryParams } from '../../parsers/query';\nimport { useONECore } from './core-context';\nimport { CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY, CREDENTIAL_SCHEMA_LIST_QUERY_KEY } from './credential-schemas';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { PROOF_LIST_QUERY_KEY } from './proofs';\n\nconst PAGE_SIZE = 20;\nexport const CREDENTIAL_LIST_QUERY_KEY = 'credential-list';\nexport const CREDENTIAL_LIST_PAGED_QUERY_KEY = 'credential-list-paged';\nexport const CREDENTIAL_DETAIL_QUERY_KEY = 'credential-detail';\n\nexport const useCredentials = (queryParams?: Partial<CredentialListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [CREDENTIAL_LIST_QUERY_KEY, ...getQueryKeyFromCredentialListQueryParams(queryParams)],\n async () => {\n const { values } = await core.getCredentials({\n organisationId,\n page: 0,\n // TODO: workaround pagination for now, until it's supported by UI\n pageSize: 10000,\n states: [CredentialStateEnum.ACCEPTED, CredentialStateEnum.SUSPENDED, CredentialStateEnum.REVOKED],\n ...queryParams,\n });\n return values;\n },\n {\n keepPreviousData: true,\n },\n );\n};\n\nexport const usePagedCredentials = (queryParams?: Partial<CredentialListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useInfiniteQuery(\n [\n CREDENTIAL_LIST_QUERY_KEY,\n CREDENTIAL_LIST_PAGED_QUERY_KEY,\n ...getQueryKeyFromCredentialListQueryParams(queryParams),\n ],\n ({ pageParam = 0 }) =>\n core.getCredentials({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n states: [CredentialStateEnum.ACCEPTED, CredentialStateEnum.SUSPENDED, CredentialStateEnum.REVOKED],\n ...queryParams,\n }),\n {\n getNextPageParam: (lastPage, allPages) => (allPages.length < lastPage.totalPages ? allPages.length : undefined),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCredentialDetail = (credentialId: string | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [CREDENTIAL_DETAIL_QUERY_KEY, credentialId],\n () => (credentialId ? core.getCredential(credentialId) : undefined),\n {\n enabled: active && Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useInvitationHandler = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<HandleInvitationRequest, 'organisationId'>) =>\n core.handleInvitation({ organisationId, ...request }),\n {\n onSuccess: async (result: InvitationResult) => {\n if ('proofId' in result) {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n } else {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n }\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n type CredentialAcceptHookParams = {\n didId?: string;\n identifierId?: string;\n interactionId: string;\n keyId?: string;\n txCode?: string;\n holderWalletUnitId?: string;\n };\n\n return useMutation(\n async (credentialAcceptHookParams: CredentialAcceptHookParams) =>\n core.holderAcceptCredential(credentialAcceptHookParams),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectCredential(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(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialRevocationCheck = (forceRefresh: boolean) => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (credentialIds: string[]) => core.checkRevocation(credentialIds, forceRefresh), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useCredentialDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (credentialId: string) => core.deleteCredential(credentialId), {\n onSuccess: async (_, credentialId) => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.removeQueries([CREDENTIAL_DETAIL_QUERY_KEY, credentialId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useInvalidateCredentialDetails = () => {\n const queryClient = useQueryClient();\n\n return (credentialId: string | undefined) =>\n queryClient.invalidateQueries([CREDENTIAL_DETAIL_QUERY_KEY, credentialId]);\n};\n\nexport const useInitiateIssuance = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<InitiateIssuanceRequest, 'organisationId'>) =>\n core.initiateIssuance({ organisationId, ...request }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useContinueIssuance = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (url: string) => core.continueIssuance(url), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -78,11 +78,8 @@ export const useProofAccept = () => {
|
|
|
78
78
|
} = useONECore();
|
|
79
79
|
return useMutation(async ({
|
|
80
80
|
interactionId,
|
|
81
|
-
credentials
|
|
82
|
-
|
|
83
|
-
identifierId,
|
|
84
|
-
keyId
|
|
85
|
-
}) => core.holderSubmitProof(interactionId, credentials, didId, identifierId, keyId), {
|
|
81
|
+
credentials
|
|
82
|
+
}) => core.holderSubmitProof(interactionId, credentials), {
|
|
86
83
|
onError: async err => {
|
|
87
84
|
reportException(err, 'Proof submission failure');
|
|
88
85
|
await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HistoryActionEnum","HistoryEntityTypeEnum","OneError","ProofStateEnum","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","useProofDetail","proofId","core","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","organisationId","state","then","proof","metadata","ERROR","getHistory","page","pageSize","entityId","entityTypes","PROOF","actions","ERRORED","result","_result$values$","values","refetchInterval","useProofUrl","queryClient","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","didId","identifierId","keyId","holderSubmitProof","onError","err","useProofReject","holderRejectProof","catch","e","code","OperationNotSupported","IssuanceProtocol","VerificationProtocol","VerificationEngagement","useProposeProof","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","pageParam","getProofs","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","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"],"sources":["proofs.ts"],"sourcesContent":["import {\n Config,\n CreateProofRequest,\n HistoryActionEnum,\n HistoryEntityTypeEnum,\n HistoryErrorMetadata,\n IdentifierListQuery,\n OneError,\n PresentationSubmitCredentialRequest,\n ProofListQuery,\n ProofSchema,\n ProofStateEnum,\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';\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 === ProofStateEnum.ERROR) {\n metadata = await core\n .getHistory({\n organisationId,\n page: 0,\n pageSize: 1,\n entityId: proofId,\n entityTypes: [HistoryEntityTypeEnum.PROOF],\n actions: [HistoryActionEnum.ERRORED],\n })\n .then((result) => result.values[0]?.metadata 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 didId,\n identifierId,\n keyId,\n }: {\n credentials: Record<string, PresentationSubmitCredentialRequest>;\n didId?: string;\n identifierId?: string;\n interactionId: string;\n keyId?: string;\n }) => core.holderSubmitProof(interactionId, credentials, didId, identifierId, keyId),\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 SCAN_TO_VERIFY = 'SCAN_TO_VERIFY',\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.getProofs({\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 = (proofSchema: ProofSchema, config: Config): 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 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 !== ProofStateEnum.CREATED && proofState?.state !== ProofStateEnum.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 deleting ? undefined : proofId;\n};\n\nexport const useCleanupUnusedProofs = () => {\n const { mutateAsync: deleteProof } = useProofDelete();\n const { data: proofs } = useProofs({\n page: 0,\n pageSize: 100,\n proofStates: [ProofStateEnum.CREATED, ProofStateEnum.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 === ProofStateEnum.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'), {\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 .getProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofStateEnum.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"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HistoryActionEnum","HistoryEntityTypeEnum","OneError","ProofStateEnum","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","useProofDetail","proofId","core","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","organisationId","state","then","proof","metadata","ERROR","getHistory","page","pageSize","entityId","entityTypes","PROOF","actions","ERRORED","result","_result$values$","values","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","getProofs","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","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"],"sources":["proofs.ts"],"sourcesContent":["import {\n Config,\n CreateProofRequest,\n HistoryActionEnum,\n HistoryEntityTypeEnum,\n HistoryErrorMetadata,\n IdentifierListQuery,\n OneError,\n PresentationSubmitCredentialRequest,\n ProofListQuery,\n ProofSchema,\n ProofStateEnum,\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';\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 === ProofStateEnum.ERROR) {\n metadata = await core\n .getHistory({\n organisationId,\n page: 0,\n pageSize: 1,\n entityId: proofId,\n entityTypes: [HistoryEntityTypeEnum.PROOF],\n actions: [HistoryActionEnum.ERRORED],\n })\n .then((result) => result.values[0]?.metadata 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 SCAN_TO_VERIFY = 'SCAN_TO_VERIFY',\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.getProofs({\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 = (proofSchema: ProofSchema, config: Config): 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 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 !== ProofStateEnum.CREATED && proofState?.state !== ProofStateEnum.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 deleting ? undefined : proofId;\n};\n\nexport const useCleanupUnusedProofs = () => {\n const { mutateAsync: deleteProof } = useProofDelete();\n const { data: proofs } = useProofs({\n page: 0,\n pageSize: 100,\n proofStates: [ProofStateEnum.CREATED, ProofStateEnum.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 === ProofStateEnum.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'), {\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 .getProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofStateEnum.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"],"mappings":"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","ignoreList":[]}
|