@procivis/one-react-native-components 0.3.95 → 0.3.99
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/backup/preview-credentials.js.map +1 -1
- package/lib/commonjs/components/credential/credential.js.map +1 -1
- package/lib/commonjs/components/entity/EntityButtons.js.map +1 -1
- package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
- package/lib/commonjs/components/entity/entity-details-with-buttons.js +2 -2
- package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
- package/lib/commonjs/components/entity/entity-details.js +3 -3
- package/lib/commonjs/components/entity/entity-details.js.map +1 -1
- package/lib/commonjs/components/history/history-details-screen.js +10 -10
- package/lib/commonjs/components/history/history-details-screen.js.map +1 -1
- package/lib/commonjs/components/history/history-list-item-icon.js +12 -8
- package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
- package/lib/commonjs/components/history/history-list-item.js.map +1 -1
- package/lib/commonjs/components/history/history-list-screen.js.map +1 -1
- package/lib/commonjs/components/history/history-list-section-header.js +1 -1
- package/lib/commonjs/components/history/history-list-section-header.js.map +1 -1
- package/lib/commonjs/components/history/history-list.js.map +1 -1
- package/lib/commonjs/components/proof-request/share-credential-card-notice.js.map +1 -1
- package/lib/commonjs/components/proof-request/v1/select-credential.js.map +1 -1
- package/lib/commonjs/components/proof-request/v1/share-credential.js +1 -1
- package/lib/commonjs/components/proof-request/v1/share-credential.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/select-credential-v2.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js +2 -2
- package/lib/commonjs/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
- package/lib/commonjs/components/proof-request/v2/share-credential-v2.js +2 -2
- package/lib/commonjs/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/accessibilityHistoryWrappers.js.map +1 -1
- package/lib/commonjs/ui-components/accessibility/locale/fi.json +1 -1
- package/lib/commonjs/ui-components/entity/entity-cluster.js.map +1 -1
- package/lib/commonjs/ui-components/header/foldable-header.js.map +1 -1
- package/lib/commonjs/ui-components/history/history-section-header.js +1 -1
- package/lib/commonjs/ui-components/history/history-section-header.js.map +1 -1
- package/lib/commonjs/ui-components/history/history-section-list-item.js +1 -1
- package/lib/commonjs/ui-components/history/history-section-list-item.js.map +1 -1
- package/lib/commonjs/ui-components/icons/entity.js.map +1 -1
- package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
- package/lib/commonjs/ui-components/screens/section-list-screen.js.map +1 -1
- package/lib/commonjs/ui-components/settings/button-setting.js +3 -1
- package/lib/commonjs/ui-components/settings/button-setting.js.map +1 -1
- package/lib/commonjs/ui-components/settings/setting-item.js +4 -2
- package/lib/commonjs/ui-components/settings/setting-item.js.map +1 -1
- package/lib/commonjs/ui-components/settings/switch-setting.js +4 -2
- package/lib/commonjs/ui-components/settings/switch-setting.js.map +1 -1
- package/lib/commonjs/utils/date.js.map +1 -1
- package/lib/commonjs/utils/history.js.map +1 -1
- package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/backup.js +3 -3
- package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/cache.js +10 -10
- package/lib/commonjs/utils/hooks/core/cache.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/core-context.js +5 -5
- package/lib/commonjs/utils/hooks/core/core-context.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/credential-schemas.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/credentials.js +3 -3
- package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/dids.js +1 -1
- package/lib/commonjs/utils/hooks/core/dids.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/history.js +1 -1
- package/lib/commonjs/utils/hooks/core/history.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/identifiers.js +3 -3
- package/lib/commonjs/utils/hooks/core/identifiers.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proof-schemas.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/proofs.js +9 -9
- package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/trust-entity.js +5 -5
- package/lib/commonjs/utils/hooks/core/trust-entity.js.map +1 -1
- package/lib/commonjs/utils/hooks/core/wallet-unit.js +1 -1
- package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -1
- package/lib/commonjs/utils/hooks/navigation/open-settings.js.map +1 -1
- package/lib/commonjs/utils/hooks/revocation/credential-status.js +1 -1
- package/lib/commonjs/utils/hooks/revocation/credential-status.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-images.js +11 -10
- package/lib/commonjs/utils/parsers/credential-images.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js +11 -8
- package/lib/commonjs/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential-sharing.js +2 -2
- package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
- package/lib/commonjs/utils/parsers/credential.js +29 -16
- package/lib/commonjs/utils/parsers/credential.js.map +1 -1
- package/lib/commonjs/utils/parsers/query.js.map +1 -1
- package/lib/commonjs/utils/url.js.map +1 -1
- package/lib/module/components/backup/preview-credentials.js.map +1 -1
- package/lib/module/components/credential/credential.js.map +1 -1
- package/lib/module/components/entity/EntityButtons.js.map +1 -1
- package/lib/module/components/entity/entity-attributes.js.map +1 -1
- package/lib/module/components/entity/entity-details-with-buttons.js +3 -3
- package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
- package/lib/module/components/entity/entity-details.js +4 -4
- package/lib/module/components/entity/entity-details.js.map +1 -1
- package/lib/module/components/history/history-details-screen.js +11 -11
- package/lib/module/components/history/history-details-screen.js.map +1 -1
- package/lib/module/components/history/history-list-item-icon.js +13 -9
- package/lib/module/components/history/history-list-item-icon.js.map +1 -1
- package/lib/module/components/history/history-list-item.js.map +1 -1
- package/lib/module/components/history/history-list-screen.js.map +1 -1
- package/lib/module/components/history/history-list-section-header.js +1 -1
- package/lib/module/components/history/history-list-section-header.js.map +1 -1
- package/lib/module/components/history/history-list.js.map +1 -1
- package/lib/module/components/proof-request/share-credential-card-notice.js.map +1 -1
- package/lib/module/components/proof-request/v1/select-credential.js.map +1 -1
- package/lib/module/components/proof-request/v1/share-credential.js +2 -2
- package/lib/module/components/proof-request/v1/share-credential.js.map +1 -1
- package/lib/module/components/proof-request/v2/select-credential-v2.js.map +1 -1
- package/lib/module/components/proof-request/v2/share-credential-v2-group.js +2 -2
- package/lib/module/components/proof-request/v2/share-credential-v2-group.js.map +1 -1
- package/lib/module/components/proof-request/v2/share-credential-v2.js +2 -2
- package/lib/module/components/proof-request/v2/share-credential-v2.js.map +1 -1
- package/lib/module/ui-components/accessibility/accessibilityHistoryWrappers.js.map +1 -1
- package/lib/module/ui-components/accessibility/locale/fi.json +1 -1
- package/lib/module/ui-components/entity/entity-cluster.js.map +1 -1
- package/lib/module/ui-components/header/foldable-header.js.map +1 -1
- package/lib/module/ui-components/history/history-section-header.js +1 -1
- package/lib/module/ui-components/history/history-section-header.js.map +1 -1
- package/lib/module/ui-components/history/history-section-list-item.js +1 -1
- package/lib/module/ui-components/history/history-section-list-item.js.map +1 -1
- package/lib/module/ui-components/icons/entity.js.map +1 -1
- package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
- package/lib/module/ui-components/screens/section-list-screen.js.map +1 -1
- package/lib/module/ui-components/settings/button-setting.js +3 -1
- package/lib/module/ui-components/settings/button-setting.js.map +1 -1
- package/lib/module/ui-components/settings/setting-item.js +4 -2
- package/lib/module/ui-components/settings/setting-item.js.map +1 -1
- package/lib/module/ui-components/settings/switch-setting.js +4 -2
- package/lib/module/ui-components/settings/switch-setting.js.map +1 -1
- package/lib/module/utils/date.js.map +1 -1
- package/lib/module/utils/history.js.map +1 -1
- package/lib/module/utils/hooks/connectivity/connectivity.test.js.map +1 -1
- package/lib/module/utils/hooks/core/backup.js +4 -4
- package/lib/module/utils/hooks/core/backup.js.map +1 -1
- package/lib/module/utils/hooks/core/cache.js +11 -11
- package/lib/module/utils/hooks/core/cache.js.map +1 -1
- package/lib/module/utils/hooks/core/core-context.js +5 -5
- package/lib/module/utils/hooks/core/core-context.js.map +1 -1
- package/lib/module/utils/hooks/core/credential-schemas.js.map +1 -1
- package/lib/module/utils/hooks/core/credentials.js +4 -4
- package/lib/module/utils/hooks/core/credentials.js.map +1 -1
- package/lib/module/utils/hooks/core/dids.js +2 -2
- package/lib/module/utils/hooks/core/dids.js.map +1 -1
- package/lib/module/utils/hooks/core/history.js +1 -1
- package/lib/module/utils/hooks/core/history.js.map +1 -1
- package/lib/module/utils/hooks/core/identifiers.js +4 -4
- package/lib/module/utils/hooks/core/identifiers.js.map +1 -1
- package/lib/module/utils/hooks/core/proof-schemas.js.map +1 -1
- package/lib/module/utils/hooks/core/proofs.js +10 -10
- package/lib/module/utils/hooks/core/proofs.js.map +1 -1
- package/lib/module/utils/hooks/core/trust-entity.js +6 -6
- package/lib/module/utils/hooks/core/trust-entity.js.map +1 -1
- package/lib/module/utils/hooks/core/wallet-unit.js +2 -2
- package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -1
- package/lib/module/utils/hooks/navigation/open-settings.js.map +1 -1
- package/lib/module/utils/hooks/revocation/credential-status.js +2 -2
- package/lib/module/utils/hooks/revocation/credential-status.js.map +1 -1
- package/lib/module/utils/parsers/credential-images.js +12 -11
- package/lib/module/utils/parsers/credential-images.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing-v2.js +11 -8
- package/lib/module/utils/parsers/credential-sharing-v2.js.map +1 -1
- package/lib/module/utils/parsers/credential-sharing.js +2 -2
- package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
- package/lib/module/utils/parsers/credential.js +30 -17
- package/lib/module/utils/parsers/credential.js.map +1 -1
- package/lib/module/utils/parsers/query.js.map +1 -1
- package/lib/module/utils/url.js.map +1 -1
- package/lib/typescript/components/backup/preview-credentials.d.ts +2 -2
- package/lib/typescript/components/credential/credential.d.ts +2 -2
- package/lib/typescript/components/entity/EntityButtons.d.ts +2 -2
- package/lib/typescript/components/entity/entity-attributes.d.ts +2 -2
- package/lib/typescript/components/entity/entity-details-with-buttons.d.ts +3 -3
- package/lib/typescript/components/entity/entity-details.d.ts +5 -5
- package/lib/typescript/components/history/history-details-screen.d.ts +2 -2
- package/lib/typescript/components/history/history-list-item-icon.d.ts +3 -3
- package/lib/typescript/components/history/history-list-item.d.ts +5 -5
- package/lib/typescript/components/history/history-list-screen.d.ts +4 -4
- package/lib/typescript/components/history/history-list.d.ts +5 -5
- package/lib/typescript/components/proof-request/v1/select-credential.d.ts +2 -2
- package/lib/typescript/components/proof-request/v1/share-credential.d.ts +6 -6
- package/lib/typescript/components/proof-request/v2/select-credential-v2.d.ts +3 -3
- package/lib/typescript/components/proof-request/v2/share-credential-v2-group.d.ts +4 -4
- package/lib/typescript/components/proof-request/v2/share-credential-v2.d.ts +5 -5
- package/lib/typescript/ui-components/screens/nerd-mode-screen.d.ts +2 -2
- package/lib/typescript/ui-components/settings/setting-item.d.ts +1 -0
- package/lib/typescript/utils/history.d.ts +3 -3
- package/lib/typescript/utils/hooks/core/backup.d.ts +3 -3
- package/lib/typescript/utils/hooks/core/cache.d.ts +2 -2
- package/lib/typescript/utils/hooks/core/core-context.d.ts +1 -1
- package/lib/typescript/utils/hooks/core/credential-schemas.d.ts +6 -6
- package/lib/typescript/utils/hooks/core/credentials.d.ts +8 -8
- package/lib/typescript/utils/hooks/core/dids.d.ts +2 -2
- package/lib/typescript/utils/hooks/core/history.d.ts +2 -2
- package/lib/typescript/utils/hooks/core/identifiers.d.ts +3 -3
- package/lib/typescript/utils/hooks/core/proof-schemas.d.ts +7 -7
- package/lib/typescript/utils/hooks/core/proofs.d.ts +9 -9
- package/lib/typescript/utils/hooks/core/trust-entity.d.ts +6 -6
- package/lib/typescript/utils/hooks/core/wallet-unit.d.ts +5 -5
- package/lib/typescript/utils/parsers/credential-images.d.ts +2 -2
- package/lib/typescript/utils/parsers/credential-sharing-v2.d.ts +7 -7
- package/lib/typescript/utils/parsers/credential-sharing.d.ts +8 -8
- package/lib/typescript/utils/parsers/credential.d.ts +15 -14
- package/lib/typescript/utils/parsers/query.d.ts +8 -8
- package/package.json +6 -4
- package/src/components/backup/preview-credentials.tsx +2 -2
- package/src/components/credential/credential.tsx +2 -2
- package/src/components/entity/EntityButtons.tsx +2 -2
- package/src/components/entity/entity-attributes.tsx +4 -4
- package/src/components/entity/entity-details-with-buttons.tsx +11 -6
- package/src/components/entity/entity-details.tsx +17 -16
- package/src/components/history/history-details-screen.tsx +13 -16
- package/src/components/history/history-list-item-icon.tsx +19 -11
- package/src/components/history/history-list-item.tsx +9 -5
- package/src/components/history/history-list-screen.tsx +4 -4
- package/src/components/history/history-list-section-header.tsx +1 -1
- package/src/components/history/history-list.tsx +6 -6
- package/src/components/proof-request/share-credential-card-notice.tsx +1 -1
- package/src/components/proof-request/v1/select-credential.tsx +2 -2
- package/src/components/proof-request/v1/share-credential.tsx +13 -11
- package/src/components/proof-request/v2/select-credential-v2.tsx +6 -3
- package/src/components/proof-request/v2/share-credential-v2-group.tsx +12 -12
- package/src/components/proof-request/v2/share-credential-v2.tsx +11 -11
- package/src/ui-components/accessibility/accessibilityHistoryWrappers.tsx +4 -1
- package/src/ui-components/accessibility/locale/fi.json +1 -1
- package/src/ui-components/buttons/ghost-button.stories.tsx +0 -1
- package/src/ui-components/control/checkbox.stories.tsx +1 -1
- package/src/ui-components/control/switch.stories.tsx +1 -1
- package/src/ui-components/credential/card/credential-header.stories.tsx +0 -1
- package/src/ui-components/entity/entity-cluster.tsx +7 -6
- package/src/ui-components/header/foldable-header.tsx +8 -11
- package/src/ui-components/history/history-section-header.tsx +1 -1
- package/src/ui-components/history/history-section-list-item.tsx +1 -1
- package/src/ui-components/icons/entity.tsx +2 -2
- package/src/ui-components/pin/pin-code-screen.stories.tsx +1 -1
- package/src/ui-components/screens/image-preview-screen.stories.tsx +1 -1
- package/src/ui-components/screens/nerd-mode-screen.tsx +2 -2
- package/src/ui-components/screens/qr-code-scanner-screen.stories.tsx +1 -1
- package/src/ui-components/screens/section-list-screen.tsx +10 -1
- package/src/ui-components/searchbar/search-bar.stories.tsx +0 -1
- package/src/ui-components/settings/button-setting.tsx +2 -1
- package/src/ui-components/settings/setting-item.tsx +9 -2
- package/src/ui-components/settings/switch-setting.tsx +9 -2
- package/src/ui-components/text/typography.stories.tsx +2 -2
- package/src/utils/date.ts +2 -2
- package/src/utils/history.ts +4 -4
- package/src/utils/hooks/connectivity/connectivity.test.ts +2 -2
- package/src/utils/hooks/core/backup.ts +4 -4
- package/src/utils/hooks/core/cache.ts +13 -13
- package/src/utils/hooks/core/core-context.tsx +6 -6
- package/src/utils/hooks/core/credential-schemas.ts +7 -4
- package/src/utils/hooks/core/credentials.ts +21 -13
- package/src/utils/hooks/core/dids.ts +3 -3
- package/src/utils/hooks/core/history.ts +3 -3
- package/src/utils/hooks/core/identifiers.ts +9 -5
- package/src/utils/hooks/core/proof-schemas.ts +21 -16
- package/src/utils/hooks/core/proofs.ts +31 -27
- package/src/utils/hooks/core/trust-entity.ts +19 -12
- package/src/utils/hooks/core/wallet-unit.ts +21 -11
- package/src/utils/hooks/navigation/open-settings.ts +1 -1
- package/src/utils/hooks/revocation/credential-status.ts +2 -2
- package/src/utils/parsers/credential-images.tsx +19 -13
- package/src/utils/parsers/credential-sharing-v2.tsx +29 -24
- package/src/utils/parsers/credential-sharing.tsx +24 -24
- package/src/utils/parsers/credential.ts +63 -40
- package/src/utils/parsers/query.ts +16 -14
- package/src/utils/url.ts +1 -1
|
@@ -15,10 +15,10 @@ var _history = require("./history");
|
|
|
15
15
|
var _identifiers = require("./identifiers");
|
|
16
16
|
const TRUST_ENTITY_DETAIL_QUERY_KEY = exports.TRUST_ENTITY_DETAIL_QUERY_KEY = 'trust-entity-detail';
|
|
17
17
|
const REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY = exports.REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY = 'remote-trust-entity-detail';
|
|
18
|
-
const useCreateTrustAnchor =
|
|
18
|
+
const useCreateTrustAnchor = () => {
|
|
19
19
|
const httpClient = (0, _client.useHTTPClient)();
|
|
20
|
-
return (0, _react.useCallback)(async core => {
|
|
21
|
-
const trustAnchors = await core.
|
|
20
|
+
return (0, _react.useCallback)(async (core, publisherReference) => {
|
|
21
|
+
const trustAnchors = await core.listTrustAnchors({
|
|
22
22
|
page: 0,
|
|
23
23
|
pageSize: 1
|
|
24
24
|
});
|
|
@@ -39,7 +39,7 @@ const useCreateTrustAnchor = publisherReference => {
|
|
|
39
39
|
(0, _reporting.reportException)(err, 'Failed to create trust anchor');
|
|
40
40
|
throw err;
|
|
41
41
|
});
|
|
42
|
-
}, [
|
|
42
|
+
}, [httpClient]);
|
|
43
43
|
};
|
|
44
44
|
exports.useCreateTrustAnchor = useCreateTrustAnchor;
|
|
45
45
|
const useTrustEntity = identifierId => {
|
|
@@ -53,7 +53,7 @@ const useTrustEntity = identifierId => {
|
|
|
53
53
|
var _identifierDetail$cer;
|
|
54
54
|
return identifierId && identifierDetail ? core.resolveTrustEntityByIdentifier({
|
|
55
55
|
identifiers: [{
|
|
56
|
-
certificateId: (identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.type) === _reactNativeOneCore.
|
|
56
|
+
certificateId: (identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.type) === _reactNativeOneCore.IdentifierTypeBindingEnum.CERTIFICATE ? (_identifierDetail$cer = identifierDetail.certificates) === null || _identifierDetail$cer === void 0 || (_identifierDetail$cer = _identifierDetail$cer[0]) === null || _identifierDetail$cer === void 0 ? void 0 : _identifierDetail$cer.id : undefined,
|
|
57
57
|
id: identifierId
|
|
58
58
|
}]
|
|
59
59
|
}).then(result => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeOneCore","require","_react","_reactQuery","_reporting","_client","_coreContext","_errorCode","_history","_identifiers","TRUST_ENTITY_DETAIL_QUERY_KEY","exports","REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY","useCreateTrustAnchor","publisherReference","httpClient","useHTTPClient","useCallback","core","trustAnchors","getTrustAnchors","page","pageSize","values","length","response","get","ok","data","trustAnchor","createTrustAnchor","isPublisher","name","type","TrustManagementEnum","SimpleTrustList","catch","err","reportException","useTrustEntity","identifierId","useONECore","identifierDetail","useIdentifierDetails","useQuery","_identifierDetail$cer","resolveTrustEntityByIdentifier","identifiers","certificateId","IdentifierTypeEnum","CERTIFICATE","certificates","id","undefined","then","result","_result$identifierId$","_result$identifierId","trustEntity","e","OneError","code","OneErrorCode","NoTrustEntityFound","enabled","Boolean","keepPreviousData","useRemoteTrustEntity","did","getRemoteTrustEntity","useCreateRemoteTrustEntity","queryClient","useQueryClient","useMutation","request","didId","entityDidId","_identifierDetail$did","getIdentifier","createRemoteTrustEntity","onSuccess","invalidateQueries","HISTORY_LIST_QUERY_KEY","useUpdateRemoteTrustEntity","_identifierDetail$did2","updateRemoteTrustEntity"],"sources":["trust-entity.ts"],"sourcesContent":["import {\n CreateRemoteTrustEntityRequest,\n IdentifierTypeEnum,\n ONECore,\n OneError,\n TrustAnchor,\n UpdateRemoteTrustEntityRequest,\n} from '@procivis/react-native-one-core';\nimport { useCallback } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { reportException } from '../../reporting';\nimport { useHTTPClient } from '../http/client';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { useIdentifierDetails } from './identifiers';\n\nexport const TRUST_ENTITY_DETAIL_QUERY_KEY = 'trust-entity-detail';\nexport const REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY = 'remote-trust-entity-detail';\n\nexport const useCreateTrustAnchor = (publisherReference: string) => {\n const httpClient = useHTTPClient();\n\n return useCallback(\n async (core: ONECore) => {\n const trustAnchors = await core.getTrustAnchors({\n page: 0,\n pageSize: 1,\n });\n if (trustAnchors.values.length > 0) {\n return;\n }\n const response = await httpClient.get<TrustAnchor>(publisherReference);\n if (!response.ok || !response.data) {\n return;\n }\n const trustAnchor = response.data;\n await core\n .createTrustAnchor({\n isPublisher: false,\n name: trustAnchor.name,\n publisherReference,\n type: TrustManagementEnum.SimpleTrustList,\n })\n .catch((err) => {\n reportException(err, 'Failed to create trust anchor');\n throw err;\n });\n },\n [publisherReference, httpClient],\n );\n};\n\nexport const useTrustEntity = (identifierId: string | undefined) => {\n const { core } = useONECore();\n\n const { data: identifierDetail } = useIdentifierDetails(identifierId);\n\n return useQuery(\n [TRUST_ENTITY_DETAIL_QUERY_KEY, identifierId],\n () =>\n identifierId && identifierDetail\n ? core\n .resolveTrustEntityByIdentifier({\n identifiers: [\n {\n certificateId:\n identifierDetail?.type === IdentifierTypeEnum.CERTIFICATE\n ? identifierDetail.certificates?.[0]?.id\n : undefined,\n id: identifierId,\n },\n ],\n })\n .then((result) => {\n return result[identifierId]?.[0]?.trustEntity ?? null;\n })\n .catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.NoTrustEntityFound) {\n return null;\n }\n throw e;\n })\n : undefined,\n {\n enabled: Boolean(identifierDetail),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useRemoteTrustEntity = (identifierId: string | undefined) => {\n const { core } = useONECore();\n\n const { data: identifierDetail } = useIdentifierDetails(identifierId);\n\n return useQuery(\n [REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY, identifierId],\n () => (identifierDetail?.did ? core.getRemoteTrustEntity(identifierDetail.did.id) : undefined),\n {\n enabled: Boolean(identifierDetail?.did),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCreateRemoteTrustEntity = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (request: Omit<CreateRemoteTrustEntityRequest, 'didId'> & { identifierId?: string; didId?: string }) => {\n const { identifierId, didId } = request;\n\n let entityDidId = didId;\n\n if (identifierId) {\n const identifierDetail = await core.getIdentifier(identifierId);\n entityDidId = identifierDetail?.did?.id;\n }\n\n return core.createRemoteTrustEntity({\n ...request,\n didId: entityDidId!,\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useUpdateRemoteTrustEntity = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (request: Omit<UpdateRemoteTrustEntityRequest, 'didId'> & { identifierId?: string; didId?: string }) => {\n const { identifierId, didId } = request;\n\n let entityDidId = didId;\n if (identifierId) {\n const identifierDetail = await core.getIdentifier(identifierId);\n entityDidId = identifierDetail?.did?.id;\n }\n\n return core.updateRemoteTrustEntity({\n ...request,\n didId: entityDidId!,\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport enum TrustManagementEnum {\n SimpleTrustList = 'SIMPLE_TRUST_LIST',\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeOneCore","require","_react","_reactQuery","_reporting","_client","_coreContext","_errorCode","_history","_identifiers","TRUST_ENTITY_DETAIL_QUERY_KEY","exports","REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY","useCreateTrustAnchor","httpClient","useHTTPClient","useCallback","core","publisherReference","trustAnchors","listTrustAnchors","page","pageSize","values","length","response","get","ok","data","trustAnchor","createTrustAnchor","isPublisher","name","type","TrustManagementEnum","SimpleTrustList","catch","err","reportException","useTrustEntity","identifierId","useONECore","identifierDetail","useIdentifierDetails","useQuery","_identifierDetail$cer","resolveTrustEntityByIdentifier","identifiers","certificateId","IdentifierTypeBindingEnum","CERTIFICATE","certificates","id","undefined","then","result","_result$identifierId$","_result$identifierId","trustEntity","e","OneError","code","OneErrorCode","NoTrustEntityFound","enabled","Boolean","keepPreviousData","useRemoteTrustEntity","did","getRemoteTrustEntity","useCreateRemoteTrustEntity","queryClient","useQueryClient","useMutation","request","didId","entityDidId","_identifierDetail$did","getIdentifier","createRemoteTrustEntity","onSuccess","invalidateQueries","HISTORY_LIST_QUERY_KEY","useUpdateRemoteTrustEntity","_identifierDetail$did2","updateRemoteTrustEntity"],"sources":["trust-entity.ts"],"sourcesContent":["import {\n CreateRemoteTrustEntityRequestBindingDto,\n GetTrustAnchorResponseBindingDto,\n IdentifierTypeBindingEnum,\n ONECore,\n OneError,\n UpdateRemoteTrustEntityFromDidRequestBindingDto,\n} from '@procivis/react-native-one-core';\nimport { useCallback } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { reportException } from '../../reporting';\nimport { useHTTPClient } from '../http/client';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { useIdentifierDetails } from './identifiers';\n\nexport const TRUST_ENTITY_DETAIL_QUERY_KEY = 'trust-entity-detail';\nexport const REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY = 'remote-trust-entity-detail';\n\nexport const useCreateTrustAnchor = () => {\n const httpClient = useHTTPClient();\n\n return useCallback(\n async (core: ONECore, publisherReference: string) => {\n const trustAnchors = await core.listTrustAnchors({\n page: 0,\n pageSize: 1,\n });\n if (trustAnchors.values.length > 0) {\n return;\n }\n const response = await httpClient.get<GetTrustAnchorResponseBindingDto>(publisherReference);\n if (!response.ok || !response.data) {\n return;\n }\n const trustAnchor = response.data;\n await core\n .createTrustAnchor({\n isPublisher: false,\n name: trustAnchor.name,\n publisherReference,\n type: TrustManagementEnum.SimpleTrustList,\n })\n .catch((err) => {\n reportException(err, 'Failed to create trust anchor');\n throw err;\n });\n },\n [httpClient],\n );\n};\n\nexport const useTrustEntity = (identifierId: string | undefined) => {\n const { core } = useONECore();\n\n const { data: identifierDetail } = useIdentifierDetails(identifierId);\n\n return useQuery(\n [TRUST_ENTITY_DETAIL_QUERY_KEY, identifierId],\n () =>\n identifierId && identifierDetail\n ? core\n .resolveTrustEntityByIdentifier({\n identifiers: [\n {\n certificateId:\n identifierDetail?.type === IdentifierTypeBindingEnum.CERTIFICATE\n ? identifierDetail.certificates?.[0]?.id\n : undefined,\n id: identifierId,\n },\n ],\n })\n .then((result) => {\n return result[identifierId]?.[0]?.trustEntity ?? null;\n })\n .catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.NoTrustEntityFound) {\n return null;\n }\n throw e;\n })\n : undefined,\n {\n enabled: Boolean(identifierDetail),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useRemoteTrustEntity = (identifierId: string | undefined) => {\n const { core } = useONECore();\n\n const { data: identifierDetail } = useIdentifierDetails(identifierId);\n\n return useQuery(\n [REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY, identifierId],\n () => (identifierDetail?.did ? core.getRemoteTrustEntity(identifierDetail.did.id) : undefined),\n {\n enabled: Boolean(identifierDetail?.did),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCreateRemoteTrustEntity = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (\n request: Omit<CreateRemoteTrustEntityRequestBindingDto, 'didId'> & { identifierId?: string; didId?: string },\n ) => {\n const { identifierId, didId } = request;\n\n let entityDidId = didId;\n\n if (identifierId) {\n const identifierDetail = await core.getIdentifier(identifierId);\n entityDidId = identifierDetail?.did?.id;\n }\n\n return core.createRemoteTrustEntity({\n ...request,\n didId: entityDidId!,\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useUpdateRemoteTrustEntity = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (\n request: Omit<UpdateRemoteTrustEntityFromDidRequestBindingDto, 'didId'> & {\n identifierId?: string;\n didId?: string;\n },\n ) => {\n const { identifierId, didId } = request;\n\n let entityDidId = didId;\n if (identifierId) {\n const identifierDetail = await core.getIdentifier(identifierId);\n entityDidId = identifierDetail?.did?.id;\n }\n\n return core.updateRemoteTrustEntity({\n ...request,\n didId: entityDidId!,\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport enum TrustManagementEnum {\n SimpleTrustList = 'SIMPLE_TRUST_LIST',\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -63,7 +63,7 @@ const useWalletUnitCheck = walletUnitId => {
|
|
|
63
63
|
if (isLoading || refreshStatus !== 'idle') {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
-
if (walletUnitId && (walletUnitDetail === null || walletUnitDetail === void 0 ? void 0 : walletUnitDetail.status) === _reactNativeOneCore.
|
|
66
|
+
if (walletUnitId && (walletUnitDetail === null || walletUnitDetail === void 0 ? void 0 : walletUnitDetail.status) === _reactNativeOneCore.WalletUnitStatusBindingEnum.ACTIVE) {
|
|
67
67
|
void refreshWalletUnit(walletUnitId);
|
|
68
68
|
}
|
|
69
69
|
}, [isLoading, refreshStatus, walletUnitDetail, refreshWalletUnit, walletUnitId]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeOneCore","require","_react","_reactQuery","_reporting","_coreContext","WALLET_UNIT_QUERY_KEY","exports","useWalletUnitDetail","walletUnitId","active","core","useONECore","useQuery","holderGetWalletUnit","undefined","enabled","Boolean","keepPreviousData","useRegisterWalletUnit","queryClient","useQueryClient","organisationId","useMutation","walletProvider","holderRegisterWalletUnit","keyType","onSuccess","invalidateQueries","useWalletUnitStatus","holderWalletUnitStatus","onError","err","reportException","useWalletUnitCheck","data","walletUnitDetail","isLoading","mutateAsync","refreshWalletUnit","isRefreshing","status","refreshStatus","useEffect","
|
|
1
|
+
{"version":3,"names":["_reactNativeOneCore","require","_react","_reactQuery","_reporting","_coreContext","WALLET_UNIT_QUERY_KEY","exports","useWalletUnitDetail","walletUnitId","active","core","useONECore","useQuery","holderGetWalletUnit","undefined","enabled","Boolean","keepPreviousData","useRegisterWalletUnit","queryClient","useQueryClient","organisationId","useMutation","walletProvider","holderRegisterWalletUnit","keyType","onSuccess","invalidateQueries","useWalletUnitStatus","holderWalletUnitStatus","onError","err","reportException","useWalletUnitCheck","data","walletUnitDetail","isLoading","mutateAsync","refreshWalletUnit","isRefreshing","status","refreshStatus","useEffect","WalletUnitStatusBindingEnum","ACTIVE"],"sources":["wallet-unit.ts"],"sourcesContent":["import {\n HolderWalletUnitResponseBindingDto,\n WalletProviderBindingDto,\n WalletUnitStatusBindingEnum,\n} from '@procivis/react-native-one-core';\nimport { useEffect } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { reportException } from '../../reporting';\nimport { useONECore } from './core-context';\n\nexport const WALLET_UNIT_QUERY_KEY = 'wallet-unit';\n\nexport const useWalletUnitDetail = (\n walletUnitId: HolderWalletUnitResponseBindingDto['id'] | undefined,\n active = true,\n) => {\n const { core } = useONECore();\n\n return useQuery(\n [WALLET_UNIT_QUERY_KEY, walletUnitId],\n () => (walletUnitId ? core.holderGetWalletUnit(walletUnitId) : undefined),\n {\n enabled: active && Boolean(walletUnitId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useRegisterWalletUnit = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (walletProvider: WalletProviderBindingDto) =>\n core.holderRegisterWalletUnit({\n keyType: 'ECDSA',\n organisationId,\n walletProvider,\n }),\n\n {\n onSuccess: () => queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY),\n },\n );\n};\n\nexport const useWalletUnitStatus = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (walletUnitId: HolderWalletUnitResponseBindingDto['id']) => core.holderWalletUnitStatus(walletUnitId),\n {\n onError: async (err) => {\n reportException(err, 'Refresh wallet unit failure');\n await queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY);\n },\n onSuccess: () => queryClient.invalidateQueries(WALLET_UNIT_QUERY_KEY),\n },\n );\n};\n\nexport const useWalletUnitCheck = (walletUnitId: HolderWalletUnitResponseBindingDto['id'] | undefined) => {\n const { data: walletUnitDetail, isLoading } = useWalletUnitDetail(walletUnitId);\n const { mutateAsync: refreshWalletUnit, isLoading: isRefreshing, status: refreshStatus } = useWalletUnitStatus();\n\n useEffect(() => {\n if (isLoading || refreshStatus !== 'idle') {\n return;\n }\n if (walletUnitId && walletUnitDetail?.status === WalletUnitStatusBindingEnum.ACTIVE) {\n void refreshWalletUnit(walletUnitId);\n }\n }, [isLoading, refreshStatus, walletUnitDetail, refreshWalletUnit, walletUnitId]);\n\n return {\n isLoading: isLoading || isRefreshing,\n walletUnitDetail: isLoading || isRefreshing ? undefined : walletUnitDetail,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","useOpenSettings","openBleSettings","useCallback","Platform","OS","Linking","openURL","catch","sendIntent","openMobileNetworkSettings","openWiFiSettings","openAppPermissionSettings","openSettings","exports"],"sources":["open-settings.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { Linking, Platform } from 'react-native';\n\nexport const useOpenSettings = () => {\n const openBleSettings = useCallback(() => {\n if (Platform.OS === 'ios') {\n Linking.openURL('App-prefs:root=Bluetooth').catch(() => {});\n } else {\n Linking.sendIntent('android.settings.BLUETOOTH_SETTINGS').catch(() => {});\n }\n }, []);\n\n const openMobileNetworkSettings = useCallback(() => {\n if (Platform.OS === 'ios') {\n Linking.openURL('App-prefs:root=MOBILE_DATA_SETTINGS_ID').catch(() => {});\n } else {\n Linking.sendIntent('android.settings.WIRELESS_SETTINGS').catch(() => {});\n }\n }, []);\n\n const openWiFiSettings = useCallback(() => {\n if (Platform.OS === 'ios') {\n Linking.openURL('App-prefs:root=WIFI').catch(() => {});\n } else {\n Linking.sendIntent('android.settings.WIFI_SETTINGS').catch(() => {});\n }\n }, []);\n
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","useOpenSettings","openBleSettings","useCallback","Platform","OS","Linking","openURL","catch","sendIntent","openMobileNetworkSettings","openWiFiSettings","openAppPermissionSettings","openSettings","exports"],"sources":["open-settings.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { Linking, Platform } from 'react-native';\n\nexport const useOpenSettings = () => {\n const openBleSettings = useCallback(() => {\n if (Platform.OS === 'ios') {\n Linking.openURL('App-prefs:root=Bluetooth').catch(() => {});\n } else {\n Linking.sendIntent('android.settings.BLUETOOTH_SETTINGS').catch(() => {});\n }\n }, []);\n\n const openMobileNetworkSettings = useCallback(() => {\n if (Platform.OS === 'ios') {\n Linking.openURL('App-prefs:root=MOBILE_DATA_SETTINGS_ID').catch(() => {});\n } else {\n Linking.sendIntent('android.settings.WIRELESS_SETTINGS').catch(() => {});\n }\n }, []);\n\n const openWiFiSettings = useCallback(() => {\n if (Platform.OS === 'ios') {\n Linking.openURL('App-prefs:root=WIFI').catch(() => {});\n } else {\n Linking.sendIntent('android.settings.WIFI_SETTINGS').catch(() => {});\n }\n }, []);\n\n const openAppPermissionSettings = useCallback(() => {\n Linking.openSettings().catch(() => {});\n }, []);\n\n return {\n openAppPermissionSettings,\n openBleSettings,\n openMobileNetworkSettings,\n openWiFiSettings,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,MAAME,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAMC,eAAe,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACxC,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,oBAAO,CAACC,OAAO,CAAC,0BAA0B,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC,MAAM;MACLF,oBAAO,CAACG,UAAU,CAAC,qCAAqC,CAAC,CAACD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,yBAAyB,GAAG,IAAAP,kBAAW,EAAC,MAAM;IAClD,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,oBAAO,CAACC,OAAO,CAAC,wCAAwC,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC,MAAM;MACLF,oBAAO,CAACG,UAAU,CAAC,oCAAoC,CAAC,CAACD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,gBAAgB,GAAG,IAAAR,kBAAW,EAAC,MAAM;IACzC,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,oBAAO,CAACC,OAAO,CAAC,qBAAqB,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC,MAAM;MACLF,oBAAO,CAACG,UAAU,CAAC,gCAAgC,CAAC,CAACD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,yBAAyB,GAAG,IAAAT,kBAAW,EAAC,MAAM;IAClDG,oBAAO,CAACO,YAAY,CAAC,CAAC,CAACL,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EACxC,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLI,yBAAyB;IACzBV,eAAe;IACfQ,yBAAyB;IACzBC;EACF,CAAC;AACH,CAAC;AAACG,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -26,7 +26,7 @@ const useCredentialStatusCheck = (credentialIds, forceRefresh = false) => {
|
|
|
26
26
|
data: credentials
|
|
27
27
|
} = (0, _credentials.useCredentials)({
|
|
28
28
|
ids: credentialIds,
|
|
29
|
-
states: [_reactNativeOneCore.
|
|
29
|
+
states: [_reactNativeOneCore.CredentialStateBindingEnum.ACCEPTED, _reactNativeOneCore.CredentialStateBindingEnum.SUSPENDED]
|
|
30
30
|
});
|
|
31
31
|
const checkCredentialsStatus = (0, _react.useCallback)(async () => {
|
|
32
32
|
if (!credentials || !credentials.length || checkDone.current || !isFocused) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeOneCore","require","_native","_react","_reporting","_credentials","useCredentialStatusCheck","credentialIds","forceRefresh","isFocused","useIsFocused","checkDone","useRef","mutateAsync","check","useCredentialRevocationCheck","data","credentials","useCredentials","ids","states","
|
|
1
|
+
{"version":3,"names":["_reactNativeOneCore","require","_native","_react","_reporting","_credentials","useCredentialStatusCheck","credentialIds","forceRefresh","isFocused","useIsFocused","checkDone","useRef","mutateAsync","check","useCredentialRevocationCheck","data","credentials","useCredentials","ids","states","CredentialStateBindingEnum","ACCEPTED","SUSPENDED","checkCredentialsStatus","useCallback","length","current","results","map","id","catch","e","reportException","updatedCredentialIds","filter","credentialId","status","newStatus","success","_credentials$find","find","state","exports"],"sources":["credential-status.ts"],"sourcesContent":["import { CredentialStateBindingEnum } from '@procivis/react-native-one-core';\nimport { useIsFocused } from '@react-navigation/native';\nimport { useCallback, useRef } from 'react';\n\nimport { reportException } from '../../reporting';\nimport { useCredentialRevocationCheck, useCredentials } from '../core/credentials';\n\n/**\n * Runs revocation check on background for all potential updates\n *\n * Navigates to the result page if some credential states were updated\n * @param {string[]} credentialIds if specified only those credentials get checked, otherwise all potentially eligible credentials\n * @param {boolean} forceRefresh revocation check forces cache refresh\n */\nexport const useCredentialStatusCheck = (credentialIds?: string[], forceRefresh = false) => {\n const isFocused = useIsFocused();\n const checkDone = useRef(false);\n const { mutateAsync: check } = useCredentialRevocationCheck(forceRefresh);\n const { data: credentials } = useCredentials({\n ids: credentialIds,\n states: [CredentialStateBindingEnum.ACCEPTED, CredentialStateBindingEnum.SUSPENDED],\n });\n\n const checkCredentialsStatus = useCallback(async () => {\n if (!credentials || !credentials.length || checkDone.current || !isFocused) {\n return [];\n }\n\n const results = await check(credentials.map(({ id }) => id)).catch((e) => {\n reportException(e, 'Revocation check failed');\n return [];\n });\n\n const updatedCredentialIds = results\n .filter(\n ({ credentialId, status: newStatus, success }) =>\n success && credentials.find(({ id }) => id === credentialId)?.state !== newStatus,\n )\n .map(({ credentialId }) => credentialId);\n\n return updatedCredentialIds;\n }, [check, credentials, isFocused]);\n\n return checkCredentialsStatus;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,wBAAwB,GAAGA,CAACC,aAAwB,EAAEC,YAAY,GAAG,KAAK,KAAK;EAC1F,MAAMC,SAAS,GAAG,IAAAC,oBAAY,EAAC,CAAC;EAChC,MAAMC,SAAS,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EAC/B,MAAM;IAAEC,WAAW,EAAEC;EAAM,CAAC,GAAG,IAAAC,yCAA4B,EAACP,YAAY,CAAC;EACzE,MAAM;IAAEQ,IAAI,EAAEC;EAAY,CAAC,GAAG,IAAAC,2BAAc,EAAC;IAC3CC,GAAG,EAAEZ,aAAa;IAClBa,MAAM,EAAE,CAACC,8CAA0B,CAACC,QAAQ,EAAED,8CAA0B,CAACE,SAAS;EACpF,CAAC,CAAC;EAEF,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW,EAAC,YAAY;IACrD,IAAI,CAACR,WAAW,IAAI,CAACA,WAAW,CAACS,MAAM,IAAIf,SAAS,CAACgB,OAAO,IAAI,CAAClB,SAAS,EAAE;MAC1E,OAAO,EAAE;IACX;IAEA,MAAMmB,OAAO,GAAG,MAAMd,KAAK,CAACG,WAAW,CAACY,GAAG,CAAC,CAAC;MAAEC;IAAG,CAAC,KAAKA,EAAE,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;MACxE,IAAAC,0BAAe,EAACD,CAAC,EAAE,yBAAyB,CAAC;MAC7C,OAAO,EAAE;IACX,CAAC,CAAC;IAEF,MAAME,oBAAoB,GAAGN,OAAO,CACjCO,MAAM,CACL,CAAC;MAAEC,YAAY;MAAEC,MAAM,EAAEC,SAAS;MAAEC;IAAQ,CAAC;MAAA,IAAAC,iBAAA;MAAA,OAC3CD,OAAO,IAAI,EAAAC,iBAAA,GAAAvB,WAAW,CAACwB,IAAI,CAAC,CAAC;QAAEX;MAAG,CAAC,KAAKA,EAAE,KAAKM,YAAY,CAAC,cAAAI,iBAAA,uBAAjDA,iBAAA,CAAmDE,KAAK,MAAKJ,SAAS;IAAA,CACrF,CAAC,CACAT,GAAG,CAAC,CAAC;MAAEO;IAAa,CAAC,KAAKA,YAAY,CAAC;IAE1C,OAAOF,oBAAoB;EAC7B,CAAC,EAAE,CAACpB,KAAK,EAAEG,WAAW,EAAER,SAAS,CAAC,CAAC;EAEnC,OAAOe,sBAAsB;AAC/B,CAAC;AAACmB,OAAA,CAAArC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -36,7 +36,7 @@ const getCarouselImagesFromClaims = (claims, layoutProperties, testID) => {
|
|
|
36
36
|
element: /*#__PURE__*/_react.default.createElement(_image.ImageOrComponent, {
|
|
37
37
|
source: {
|
|
38
38
|
imageSource: {
|
|
39
|
-
uri: pictureClaim.value
|
|
39
|
+
uri: pictureClaim.value.value
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
style: styles.container,
|
|
@@ -48,32 +48,33 @@ const getCarouselImagesFromClaims = (claims, layoutProperties, testID) => {
|
|
|
48
48
|
}
|
|
49
49
|
if (code) {
|
|
50
50
|
const claim = (0, _credential2.findClaimByPath)(code.attribute, claims);
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
let claimValue = '';
|
|
52
|
+
if (claim && (claim.value.type_ === 'FLOAT' || claim.value.type_ === 'INTEGER')) {
|
|
53
|
+
claimValue = String(claim.value.value);
|
|
53
54
|
}
|
|
54
|
-
if (!claim || typeof
|
|
55
|
+
if (!claim || typeof claimValue !== 'string') {
|
|
55
56
|
return result;
|
|
56
57
|
}
|
|
57
|
-
if (code.type === _reactNativeOneCore.
|
|
58
|
+
if (code.type === _reactNativeOneCore.CredentialSchemaCodeTypeBindingDto.QR_CODE) {
|
|
58
59
|
result.push({
|
|
59
60
|
element: /*#__PURE__*/_react.default.createElement(_credential.QrCode, {
|
|
60
|
-
content:
|
|
61
|
+
content: claimValue,
|
|
61
62
|
testID: (0, _testID.concatTestID)(testID, _credential.CarouselImageType.QrCode)
|
|
62
63
|
}),
|
|
63
64
|
type: _credential.CarouselImageType.QrCode
|
|
64
65
|
});
|
|
65
|
-
} else if (code.type === _reactNativeOneCore.
|
|
66
|
+
} else if (code.type === _reactNativeOneCore.CredentialSchemaCodeTypeBindingDto.BARCODE && (0, _string.isASCII)(claimValue)) {
|
|
66
67
|
result.push({
|
|
67
68
|
element: /*#__PURE__*/_react.default.createElement(_credential.Barcode, {
|
|
68
|
-
content:
|
|
69
|
+
content: claimValue,
|
|
69
70
|
testID: (0, _testID.concatTestID)(testID, _credential.CarouselImageType.Barcode)
|
|
70
71
|
}),
|
|
71
72
|
type: _credential.CarouselImageType.Barcode
|
|
72
73
|
});
|
|
73
|
-
} else if (code.type === _reactNativeOneCore.
|
|
74
|
+
} else if (code.type === _reactNativeOneCore.CredentialSchemaCodeTypeBindingDto.MRZ) {
|
|
74
75
|
result.push({
|
|
75
76
|
element: /*#__PURE__*/_react.default.createElement(_credential.Mrz, {
|
|
76
|
-
content:
|
|
77
|
+
content: claimValue,
|
|
77
78
|
testID: (0, _testID.concatTestID)(testID, _credential.CarouselImageType.MRZ)
|
|
78
79
|
}),
|
|
79
80
|
type: _credential.CarouselImageType.MRZ
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireDefault","_reactNative","_credential","_image","_string","_testID","_credential2","e","__esModule","default","styles","StyleSheet","create","container","height","justifyContent","width","getCarouselImagesFromClaims","claims","layoutProperties","testID","result","code","pictureAttribute","pictureClaim","findClaimByPath","push","element","createElement","ImageOrComponent","source","imageSource","uri","value","style","concatTestID","CarouselImageType","Photo","type","claim","attribute","String","
|
|
1
|
+
{"version":3,"names":["_reactNativeOneCore","require","_react","_interopRequireDefault","_reactNative","_credential","_image","_string","_testID","_credential2","e","__esModule","default","styles","StyleSheet","create","container","height","justifyContent","width","getCarouselImagesFromClaims","claims","layoutProperties","testID","result","code","pictureAttribute","pictureClaim","findClaimByPath","push","element","createElement","ImageOrComponent","source","imageSource","uri","value","style","concatTestID","CarouselImageType","Photo","type","claim","attribute","claimValue","type_","String","CredentialSchemaCodeTypeBindingDto","QR_CODE","QrCode","content","BARCODE","isASCII","Barcode","MRZ","Mrz","exports"],"sources":["credential-images.tsx"],"sourcesContent":["import {\n ClaimBindingDto,\n CredentialSchemaCodeTypeBindingDto,\n CredentialSchemaLayoutPropertiesBindingDto,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\nimport { StyleSheet } from 'react-native';\n\nimport { Barcode, CarouselImage, CarouselImageType, Mrz, QrCode } from '../../ui-components/credential';\nimport { ImageOrComponent } from '../../ui-components/image';\nimport { isASCII } from '../string';\nimport { concatTestID } from '../testID';\nimport { findClaimByPath } from './credential';\n\nconst styles = StyleSheet.create({\n container: {\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n },\n});\n\nexport const getCarouselImagesFromClaims = (\n claims: ClaimBindingDto[],\n layoutProperties?: CredentialSchemaLayoutPropertiesBindingDto,\n testID?: string,\n): CarouselImage[] => {\n const result: CarouselImage[] = [];\n\n if (!layoutProperties) {\n return result;\n }\n\n const { code, pictureAttribute } = layoutProperties;\n\n if (pictureAttribute) {\n const pictureClaim = findClaimByPath(pictureAttribute, claims);\n if (pictureClaim) {\n result.push({\n element: (\n <ImageOrComponent\n source={{ imageSource: { uri: pictureClaim.value.value as string } }}\n style={styles.container}\n testID={concatTestID(testID, CarouselImageType.Photo)}\n />\n ),\n type: CarouselImageType.Photo,\n });\n }\n }\n\n if (code) {\n const claim = findClaimByPath(code.attribute, claims);\n\n let claimValue = '';\n\n if (claim && (claim.value.type_ === 'FLOAT' || claim.value.type_ === 'INTEGER')) {\n claimValue = String(claim.value.value);\n }\n\n if (!claim || typeof claimValue !== 'string') {\n return result;\n }\n\n if (code.type === CredentialSchemaCodeTypeBindingDto.QR_CODE) {\n result.push({\n element: <QrCode content={claimValue} testID={concatTestID(testID, CarouselImageType.QrCode)} />,\n type: CarouselImageType.QrCode,\n });\n } else if (code.type === CredentialSchemaCodeTypeBindingDto.BARCODE && isASCII(claimValue)) {\n result.push({\n element: <Barcode content={claimValue} testID={concatTestID(testID, CarouselImageType.Barcode)} />,\n type: CarouselImageType.Barcode,\n });\n } else if (code.type === CredentialSchemaCodeTypeBindingDto.MRZ) {\n result.push({\n element: <Mrz content={claimValue} testID={concatTestID(testID, CarouselImageType.MRZ)} />,\n type: CarouselImageType.MRZ,\n });\n }\n }\n\n return result;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AAA+C,SAAAE,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/C,MAAMG,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,MAAM,EAAE,MAAM;IACdC,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEK,MAAMC,2BAA2B,GAAGA,CACzCC,MAAyB,EACzBC,gBAA6D,EAC7DC,MAAe,KACK;EACpB,MAAMC,MAAuB,GAAG,EAAE;EAElC,IAAI,CAACF,gBAAgB,EAAE;IACrB,OAAOE,MAAM;EACf;EAEA,MAAM;IAAEC,IAAI;IAAEC;EAAiB,CAAC,GAAGJ,gBAAgB;EAEnD,IAAII,gBAAgB,EAAE;IACpB,MAAMC,YAAY,GAAG,IAAAC,4BAAe,EAACF,gBAAgB,EAAEL,MAAM,CAAC;IAC9D,IAAIM,YAAY,EAAE;MAChBH,MAAM,CAACK,IAAI,CAAC;QACVC,OAAO,eACL5B,MAAA,CAAAU,OAAA,CAAAmB,aAAA,CAACzB,MAAA,CAAA0B,gBAAgB;UACfC,MAAM,EAAE;YAAEC,WAAW,EAAE;cAAEC,GAAG,EAAER,YAAY,CAACS,KAAK,CAACA;YAAgB;UAAE,CAAE;UACrEC,KAAK,EAAExB,MAAM,CAACG,SAAU;UACxBO,MAAM,EAAE,IAAAe,oBAAY,EAACf,MAAM,EAAEgB,6BAAiB,CAACC,KAAK;QAAE,CACvD,CACF;QACDC,IAAI,EAAEF,6BAAiB,CAACC;MAC1B,CAAC,CAAC;IACJ;EACF;EAEA,IAAIf,IAAI,EAAE;IACR,MAAMiB,KAAK,GAAG,IAAAd,4BAAe,EAACH,IAAI,CAACkB,SAAS,EAAEtB,MAAM,CAAC;IAErD,IAAIuB,UAAU,GAAG,EAAE;IAEnB,IAAIF,KAAK,KAAKA,KAAK,CAACN,KAAK,CAACS,KAAK,KAAK,OAAO,IAAIH,KAAK,CAACN,KAAK,CAACS,KAAK,KAAK,SAAS,CAAC,EAAE;MAC/ED,UAAU,GAAGE,MAAM,CAACJ,KAAK,CAACN,KAAK,CAACA,KAAK,CAAC;IACxC;IAEA,IAAI,CAACM,KAAK,IAAI,OAAOE,UAAU,KAAK,QAAQ,EAAE;MAC5C,OAAOpB,MAAM;IACf;IAEA,IAAIC,IAAI,CAACgB,IAAI,KAAKM,sDAAkC,CAACC,OAAO,EAAE;MAC5DxB,MAAM,CAACK,IAAI,CAAC;QACVC,OAAO,eAAE5B,MAAA,CAAAU,OAAA,CAAAmB,aAAA,CAAC1B,WAAA,CAAA4C,MAAM;UAACC,OAAO,EAAEN,UAAW;UAACrB,MAAM,EAAE,IAAAe,oBAAY,EAACf,MAAM,EAAEgB,6BAAiB,CAACU,MAAM;QAAE,CAAE,CAAC;QAChGR,IAAI,EAAEF,6BAAiB,CAACU;MAC1B,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIxB,IAAI,CAACgB,IAAI,KAAKM,sDAAkC,CAACI,OAAO,IAAI,IAAAC,eAAO,EAACR,UAAU,CAAC,EAAE;MAC1FpB,MAAM,CAACK,IAAI,CAAC;QACVC,OAAO,eAAE5B,MAAA,CAAAU,OAAA,CAAAmB,aAAA,CAAC1B,WAAA,CAAAgD,OAAO;UAACH,OAAO,EAAEN,UAAW;UAACrB,MAAM,EAAE,IAAAe,oBAAY,EAACf,MAAM,EAAEgB,6BAAiB,CAACc,OAAO;QAAE,CAAE,CAAC;QAClGZ,IAAI,EAAEF,6BAAiB,CAACc;MAC1B,CAAC,CAAC;IACJ,CAAC,MAAM,IAAI5B,IAAI,CAACgB,IAAI,KAAKM,sDAAkC,CAACO,GAAG,EAAE;MAC/D9B,MAAM,CAACK,IAAI,CAAC;QACVC,OAAO,eAAE5B,MAAA,CAAAU,OAAA,CAAAmB,aAAA,CAAC1B,WAAA,CAAAkD,GAAG;UAACL,OAAO,EAAEN,UAAW;UAACrB,MAAM,EAAE,IAAAe,oBAAY,EAACf,MAAM,EAAEgB,6BAAiB,CAACe,GAAG;QAAE,CAAE,CAAC;QAC1Fb,IAAI,EAAEF,6BAAiB,CAACe;MAC1B,CAAC,CAAC;IACJ;EACF;EAEA,OAAO9B,MAAM;AACf,CAAC;AAACgC,OAAA,CAAApC,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|
|
@@ -11,10 +11,13 @@ var _ = require(".");
|
|
|
11
11
|
var _credentialSharing = require("./credential-sharing");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const v2ClaimValueToClaimValue = value => {
|
|
14
|
-
if (
|
|
14
|
+
if (value.type_ !== 'NESTED') {
|
|
15
15
|
return value;
|
|
16
16
|
}
|
|
17
|
-
return
|
|
17
|
+
return {
|
|
18
|
+
type_: 'NESTED',
|
|
19
|
+
value: value.value.map(c => v2PresentationClaimToClaim(c))
|
|
20
|
+
};
|
|
18
21
|
};
|
|
19
22
|
const v2PresentationClaimToClaim = claim => {
|
|
20
23
|
return {
|
|
@@ -27,7 +30,7 @@ const getAttributeSelectorStatus = (claim, selected, force) => {
|
|
|
27
30
|
if (claim.required && selected) {
|
|
28
31
|
return _uiComponents.SelectorStatus.Required;
|
|
29
32
|
}
|
|
30
|
-
if (force
|
|
33
|
+
if (force) {
|
|
31
34
|
return _uiComponents.SelectorStatus.Required;
|
|
32
35
|
}
|
|
33
36
|
if (claim.userSelection) {
|
|
@@ -59,19 +62,19 @@ const shareCredentialCardAttributeFromV2Claim = (claim, selection, parentShared,
|
|
|
59
62
|
selected,
|
|
60
63
|
testID
|
|
61
64
|
};
|
|
62
|
-
if (
|
|
65
|
+
if (claim.value.type_ === 'NESTED') {
|
|
63
66
|
if (claim.schema.array) {
|
|
64
67
|
return {
|
|
65
68
|
...credentialAttribute,
|
|
66
69
|
attributes: undefined,
|
|
67
70
|
image: undefined,
|
|
68
71
|
value: undefined,
|
|
69
|
-
values: claim.value.map(v => shareCredentialCardAttributeFromV2Claim(v, selection, attributeShared, userSelected, config, testID, true, false))
|
|
72
|
+
values: claim.value.value.map(v => shareCredentialCardAttributeFromV2Claim(v, selection, attributeShared, userSelected, config, testID, true, false))
|
|
70
73
|
};
|
|
71
74
|
} else if (claim.schema.datatype === 'OBJECT') {
|
|
72
75
|
return {
|
|
73
76
|
...credentialAttribute,
|
|
74
|
-
attributes: claim.value.map(v => shareCredentialCardAttributeFromV2Claim(v, selection, attributeShared, userSelected, config, testID, true)),
|
|
77
|
+
attributes: claim.value.value.map(v => shareCredentialCardAttributeFromV2Claim(v, selection, attributeShared, userSelected, config, testID, true)),
|
|
75
78
|
image: undefined,
|
|
76
79
|
value: undefined,
|
|
77
80
|
valueErrorColor: undefined,
|
|
@@ -155,10 +158,10 @@ const selectCredentialCardFromV2Credential = (credential, selected, multiple, co
|
|
|
155
158
|
};
|
|
156
159
|
exports.selectCredentialCardFromV2Credential = selectCredentialCardFromV2Credential;
|
|
157
160
|
const getV2CredentialClaimAllSubpaths = claim => {
|
|
158
|
-
if (
|
|
161
|
+
if (claim.value.type_ !== 'NESTED') {
|
|
159
162
|
return [claim.path];
|
|
160
163
|
}
|
|
161
|
-
return [claim.path, ...claim.value.flatMap(getV2CredentialClaimAllSubpaths)];
|
|
164
|
+
return [claim.path, ...claim.value.value.flatMap(getV2CredentialClaimAllSubpaths)];
|
|
162
165
|
};
|
|
163
166
|
exports.getV2CredentialClaimAllSubpaths = getV2CredentialClaimAllSubpaths;
|
|
164
167
|
const getV2CredentialAvailablePaths = credential => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_uiComponents","_testID","_","_credentialSharing","e","__esModule","default","v2ClaimValueToClaimValue","value","Array","isArray","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","SelectorStatus","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","config","testID","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","detailsCardAttributeFromClaim","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","Selector","array","attributes","image","values","v","datatype","valueErrorColor","exports","missingCredentialCardFromFailureHint","failureHint","notice","labels","_failureHint$credenti","_failureHint$credenti2","cardImage","color","header","credentialDetailErrorColor","credentialDetailPrimary","missingCredential","credentialDetailTestID","concatTestID","credentialName","credentialSchema","name","statusIcon","CredentialWarningIcon","shareCredentialCardFromV2PresentationCredential","credential","expanded","multipleCredentialsAvailable","selectedFields","_credential$issuer","_credential$claims$ma","selectiveDisclosureSupported","supportsSelectiveDisclosure","issuer","noticeIcon","CredentialNoticeWarningIcon","text","selectiveDisclosureNotice","cardTestId","card","validityCheckedCardFromCredential","claims","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","cardProps","getCredentialCardPropsFromCredential","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n Claim,\n ClaimValue,\n Config,\n FailureHint,\n PresentationDefinitionV2ClaimValue,\n PresentationDefinitionV2CredentialClaim,\n PresentationDefinitionV2CredentialDetail,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { ShareCredentialCardLabels, validityCheckedCardFromCredential } from './credential-sharing';\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValue): ClaimValue => {\n if (!Array.isArray(value)) {\n return value;\n }\n return value.map((c) => v2PresentationClaimToClaim(c));\n};\n\nconst v2PresentationClaimToClaim = (claim: PresentationDefinitionV2CredentialClaim): Claim => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2CredentialClaim,\n selected: boolean,\n force: boolean,\n): SelectorStatus | undefined => {\n if (claim.required && selected) {\n return SelectorStatus.Required;\n }\n if (force && claim.value) {\n return SelectorStatus.Required;\n }\n if (claim.userSelection) {\n if (selected) {\n return SelectorStatus.SelectedCheckmark;\n } else {\n return SelectorStatus.Empty;\n }\n }\n};\n\nexport const shareCredentialCardAttributeFromV2Claim = (\n claim: PresentationDefinitionV2CredentialClaim,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: Config,\n testID: string,\n nested?: boolean,\n listValue?: boolean,\n): CredentialAttribute => {\n const attributeShared =\n Boolean(selection?.some((path) => path.startsWith(claim.path))) || (parentShared && claim.required);\n const userSelected = parentUserSelected || Boolean(selection?.includes(claim.path));\n const selected = !claim.required && attributeShared;\n const status = selection\n ? getAttributeSelectorStatus(claim, attributeShared, parentUserSelected || (attributeShared && !userSelected))\n : undefined;\n const attribute = detailsCardAttributeFromClaim(v2PresentationClaimToClaim(claim), config, testID);\n const disabledStatus = [SelectorStatus.Disabled, SelectorStatus.Rejected, SelectorStatus.Required];\n const disabled = attribute.disabled || !status || disabledStatus.includes(status);\n const credentialAttribute: CredentialAttribute = {\n ...attribute,\n disabled,\n id: claim.path,\n listValue,\n nested,\n path: claim.path,\n rightAccessory: status && <Selector status={status} />,\n selected,\n testID,\n };\n if (Array.isArray(claim.value)) {\n if (claim.schema.array) {\n return {\n ...credentialAttribute,\n attributes: undefined,\n image: undefined,\n value: undefined,\n values: claim.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n true,\n false,\n ),\n ),\n };\n } else if (claim.schema.datatype === 'OBJECT') {\n return {\n ...credentialAttribute,\n attributes: claim.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selection, attributeShared, userSelected, config, testID, true),\n ),\n image: undefined,\n value: undefined,\n valueErrorColor: undefined,\n values: undefined,\n };\n }\n }\n return credentialAttribute;\n};\n\nexport const missingCredentialCardFromFailureHint = (\n failureHint: FailureHint['failureHint'] | undefined,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: failureHint?.credentialSchema?.name ?? '',\n statusIcon: CredentialWarningIcon,\n },\n testID,\n ...notice,\n };\n};\n\nexport const shareCredentialCardFromV2PresentationCredential = (\n credential: PresentationDefinitionV2CredentialDetail | undefined,\n failureHint: FailureHint['failureHint'] | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosureNotice,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n {\n ...credential,\n claims: [],\n },\n false,\n expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);\n\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selectedFields ?? [], true, false, config, testID),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2CredentialDetail,\n selected: boolean,\n multiple: boolean,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const selectedStatus = multiple ? SelectorStatus.SelectedCheckmark : SelectorStatus.SelectedRadio;\n const rightAccessory = <Selector status={selected ? selectedStatus : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosureNotice,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, undefined, false, false, config, testID),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2CredentialClaim): string[] => {\n if (!Array.isArray(claim.value)) {\n return [claim.path];\n }\n return [claim.path, ...claim.value.flatMap(getV2CredentialClaimAllSubpaths)];\n};\n\nexport const getV2CredentialAvailablePaths = (credential: PresentationDefinitionV2CredentialDetail): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_uiComponents","_testID","_","_credentialSharing","e","__esModule","default","v2ClaimValueToClaimValue","value","type_","map","c","v2PresentationClaimToClaim","claim","schema","path","getAttributeSelectorStatus","selected","force","required","SelectorStatus","Required","userSelection","SelectedCheckmark","Empty","shareCredentialCardAttributeFromV2Claim","selection","parentShared","parentUserSelected","config","testID","nested","listValue","attributeShared","Boolean","some","startsWith","userSelected","includes","status","undefined","attribute","detailsCardAttributeFromClaim","disabledStatus","Disabled","Rejected","disabled","credentialAttribute","id","rightAccessory","createElement","Selector","array","attributes","image","values","v","datatype","valueErrorColor","exports","missingCredentialCardFromFailureHint","failureHint","notice","labels","_failureHint$credenti","_failureHint$credenti2","cardImage","color","header","credentialDetailErrorColor","credentialDetailPrimary","missingCredential","credentialDetailTestID","concatTestID","credentialName","credentialSchema","name","statusIcon","CredentialWarningIcon","shareCredentialCardFromV2PresentationCredential","credential","expanded","multipleCredentialsAvailable","selectedFields","_credential$issuer","_credential$claims$ma","selectiveDisclosureSupported","supportsSelectiveDisclosure","issuer","noticeIcon","CredentialNoticeWarningIcon","text","selectiveDisclosureNotice","cardTestId","card","validityCheckedCardFromCredential","claims","selectCredentialCardFromV2Credential","multiple","_credential$issuer2","_credential$claims$ma2","selectedStatus","SelectedRadio","cardProps","getCredentialCardPropsFromCredential","accessory","getV2CredentialClaimAllSubpaths","flatMap","getV2CredentialAvailablePaths"],"sources":["credential-sharing-v2.tsx"],"sourcesContent":["import {\n ClaimBindingDto,\n ClaimValueBindingDto,\n Config,\n CredentialQueryFailureHintResponseBindingDto,\n PresentationDefinitionV2ClaimBindingDto,\n PresentationDefinitionV2ClaimValueBindingDto,\n PresentationDefinitionV2CredentialDetailBindingDto,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardNotice,\n CredentialCardProps,\n CredentialNoticeWarningIcon,\n CredentialWarningIcon,\n Selector,\n SelectorStatus,\n} from '../../ui-components';\nimport { concatTestID } from '../testID';\nimport {\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n supportsSelectiveDisclosure,\n} from '.';\nimport { ShareCredentialCardLabels, validityCheckedCardFromCredential } from './credential-sharing';\n\nconst v2ClaimValueToClaimValue = (value: PresentationDefinitionV2ClaimValueBindingDto): ClaimValueBindingDto => {\n if (value.type_ !== 'NESTED') {\n return value;\n }\n return {\n type_: 'NESTED',\n value: value.value.map((c) => v2PresentationClaimToClaim(c)),\n };\n};\n\nconst v2PresentationClaimToClaim = (claim: PresentationDefinitionV2ClaimBindingDto): ClaimBindingDto => {\n return {\n schema: claim.schema,\n path: claim.path,\n value: v2ClaimValueToClaimValue(claim.value),\n };\n};\n\nconst getAttributeSelectorStatus = (\n claim: PresentationDefinitionV2ClaimBindingDto,\n selected: boolean,\n force: boolean,\n): SelectorStatus | undefined => {\n if (claim.required && selected) {\n return SelectorStatus.Required;\n }\n if (force) {\n return SelectorStatus.Required;\n }\n if (claim.userSelection) {\n if (selected) {\n return SelectorStatus.SelectedCheckmark;\n } else {\n return SelectorStatus.Empty;\n }\n }\n};\n\nexport const shareCredentialCardAttributeFromV2Claim = (\n claim: PresentationDefinitionV2ClaimBindingDto,\n selection: string[] | undefined,\n parentShared: boolean,\n parentUserSelected: boolean,\n config: Config,\n testID: string,\n nested?: boolean,\n listValue?: boolean,\n): CredentialAttribute => {\n const attributeShared =\n Boolean(selection?.some((path) => path.startsWith(claim.path))) || (parentShared && claim.required);\n const userSelected = parentUserSelected || Boolean(selection?.includes(claim.path));\n const selected = !claim.required && attributeShared;\n const status = selection\n ? getAttributeSelectorStatus(claim, attributeShared, parentUserSelected || (attributeShared && !userSelected))\n : undefined;\n const attribute = detailsCardAttributeFromClaim(v2PresentationClaimToClaim(claim), config, testID);\n const disabledStatus = [SelectorStatus.Disabled, SelectorStatus.Rejected, SelectorStatus.Required];\n const disabled = attribute.disabled || !status || disabledStatus.includes(status);\n const credentialAttribute: CredentialAttribute = {\n ...attribute,\n disabled,\n id: claim.path,\n listValue,\n nested,\n path: claim.path,\n rightAccessory: status && <Selector status={status} />,\n selected,\n testID,\n };\n if (claim.value.type_ === 'NESTED') {\n if (claim.schema.array) {\n return {\n ...credentialAttribute,\n attributes: undefined,\n image: undefined,\n value: undefined,\n values: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(\n v,\n selection,\n attributeShared,\n userSelected,\n config,\n testID,\n true,\n false,\n ),\n ),\n };\n } else if (claim.schema.datatype === 'OBJECT') {\n return {\n ...credentialAttribute,\n attributes: claim.value.value.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selection, attributeShared, userSelected, config, testID, true),\n ),\n image: undefined,\n value: undefined,\n valueErrorColor: undefined,\n values: undefined,\n };\n }\n }\n return credentialAttribute;\n};\n\nexport const missingCredentialCardFromFailureHint = (\n failureHint: CredentialQueryFailureHintResponseBindingDto | undefined,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: failureHint?.credentialSchema?.name ?? '',\n statusIcon: CredentialWarningIcon,\n },\n testID,\n ...notice,\n };\n};\n\nexport const shareCredentialCardFromV2PresentationCredential = (\n credential: PresentationDefinitionV2CredentialDetailBindingDto | undefined,\n failureHint: CredentialQueryFailureHintResponseBindingDto | undefined,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosureNotice,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n {\n ...credential,\n claims: [],\n },\n false,\n expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromFailureHint(failureHint, notice, cardTestId, labels);\n\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, selectedFields ?? [], true, false, config, testID),\n ) ?? [],\n card,\n };\n};\n\nexport const selectCredentialCardFromV2Credential = (\n credential: PresentationDefinitionV2CredentialDetailBindingDto,\n selected: boolean,\n multiple: boolean,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const selectedStatus = multiple ? SelectorStatus.SelectedCheckmark : SelectorStatus.SelectedRadio;\n const rightAccessory = <Selector status={selected ? selectedStatus : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n noticeIcon: CredentialNoticeWarningIcon,\n text: labels.selectiveDisclosureNotice,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n {\n ...credential,\n claims: credential.claims.map(v2PresentationClaimToClaim),\n },\n credential.claims.map(v2PresentationClaimToClaim),\n config,\n notice,\n testID,\n labels,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n return {\n attributes:\n credential?.claims.map((v) =>\n shareCredentialCardAttributeFromV2Claim(v, undefined, false, false, config, testID),\n ) ?? [],\n card,\n };\n};\n\nexport const getV2CredentialClaimAllSubpaths = (claim: PresentationDefinitionV2ClaimBindingDto): string[] => {\n if (claim.value.type_ !== 'NESTED') {\n return [claim.path];\n }\n return [claim.path, ...claim.value.value.flatMap(getV2CredentialClaimAllSubpaths)];\n};\n\nexport const getV2CredentialAvailablePaths = (\n credential: PresentationDefinitionV2CredentialDetailBindingDto,\n): string[] => {\n return credential.claims.flatMap(getV2CredentialClaimAllSubpaths);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -72,8 +72,8 @@ const getAttributeSelectorStatus = (field, validityState, credential, claim, sel
|
|
|
72
72
|
const spreadClaims = claims => {
|
|
73
73
|
return claims.reduce((acc, claim) => {
|
|
74
74
|
const result = [claim];
|
|
75
|
-
if (
|
|
76
|
-
const nestedClaimsWithPath = claim.value.map(c => ({
|
|
75
|
+
if (claim.value.type_ === 'NESTED') {
|
|
76
|
+
const nestedClaimsWithPath = claim.value.value.map(c => ({
|
|
77
77
|
...c,
|
|
78
78
|
isArrayElement: claim.schema.array && claim.path.split('/').pop() !== claim.schema.key
|
|
79
79
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_credential","_icons","_testID","_credential2","e","__esModule","default","validityCheckedCardFromCredential","credential","invalidLVVC","expanded","multipleCredentialsAvailable","config","notice","testID","labels","credentialHeaderDetail","credentialDetailErrorColor","credentialDetailPrimary","revoked","credentialDetailTestID","concatTestID","multipleCredentials","statusIcon","CredentialWarningIcon","card","getCredentialCardPropsFromCredential","claims","header","exports","missingCredentialCardFromRequest","request","_request$name","cardImage","undefined","color","missingCredential","credentialName","name","id","getAttributeSelectorStatus","field","validityState","claim","selected","ValidityState","Valid","SelectorStatus","Rejected","required","Required","Disabled","SelectedCheckmark","Empty","spreadClaims","reduce","acc","result","Array","isArray","value","nestedClaimsWithPath","map","c","isArrayElement","schema","array","path","split","pop","key","push","getDisplayedAttributes","selectiveDisclosureSupported","selectedFields","isApplicable","applicableCredentials","includes","fields","fieldsWithNoKeyMapping","filter","keyMap","fullyNestedFields","getFullyNestedFields","find","status","credentialId","allKeys","every","k","startsWith","shareCredentialCardAttributeFromClaim","_field$name$split$pop","_field$name","_field$name2","detailsCardAttributeFromClaim","listValue","missingAttribute","valueErrorColor","setStatusForNestedObjectOrArrayFields","attribute","disabled","accessory","createElement","Selector","isObject","attributes","length","values","rightAccessory","_attribute$attributes","nested","nestedAttribute","shareCredentialCardFromCredential","_credential$issuer","_credential$issuer2","supportsSelectiveDisclosure","issuer","text","selectiveDisclosureNotice","noticeIcon","CredentialNoticeWarningIcon","cardTestId","getValidityState","displayedAttributes","index","nestAttributes","selectCredentialCardAttributeFromClaim","RequiredAttributeIcon","selectCredentialCardFromCredential","_credential$issuer3","SelectedRadio","cardProps"],"sources":["credential-sharing.tsx"],"sourcesContent":["import {\n Claim,\n Config,\n CredentialDetail,\n PresentationDefinitionField,\n PresentationDefinitionRequestedCredential,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardProps,\n CredentialHeaderProps,\n Selector,\n SelectorStatus,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialNoticeWarningIcon, CredentialWarningIcon, RequiredAttributeIcon } from '../../ui-components/icons';\nimport { concatTestID } from '../testID';\nimport {\n CardLabels,\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n getValidityState,\n nestAttributes,\n supportsSelectiveDisclosure,\n ValidityState,\n} from './credential';\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetail,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID' | 'width'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n if (invalidLVVC) {\n credentialHeaderDetail = {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.revoked,\n credentialDetailTestID: concatTestID(testID, 'header.invalid'),\n };\n } else if (!expanded && multipleCredentialsAvailable) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.multipleCredentials,\n credentialDetailTestID: concatTestID(testID, 'header.multiple'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n const card = getCredentialCardPropsFromCredential(credential, credential.claims, config, notice, testID, labels);\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nexport const missingCredentialCardFromRequest = (\n request: PresentationDefinitionRequestedCredential,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n testID,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: request.name ?? request.id,\n statusIcon: CredentialWarningIcon,\n },\n ...notice,\n };\n};\n\ninterface DisplayedAttribute {\n claim?: FlatClaim;\n field?: PresentationDefinitionField;\n id: string;\n selected?: boolean;\n status: SelectorStatus;\n}\n\nconst getAttributeSelectorStatus = (\n field: PresentationDefinitionField,\n validityState: ValidityState,\n credential?: CredentialDetail,\n claim?: Claim,\n selected?: boolean,\n): SelectorStatus => {\n if (!credential || validityState !== ValidityState.Valid) {\n return SelectorStatus.Rejected;\n }\n if (field.required) {\n if (claim) {\n return SelectorStatus.Required;\n } else {\n return SelectorStatus.Rejected;\n }\n }\n if (!claim) {\n return SelectorStatus.Disabled;\n }\n return selected ? SelectorStatus.SelectedCheckmark : SelectorStatus.Empty;\n};\n\ntype FlatClaim = Claim & {\n isArrayElement?: boolean;\n};\n\n// Returns a spread list of all claims with their full JSON path as key, including all intermediate objects\nconst spreadClaims = (claims: Claim[]): FlatClaim[] => {\n return claims.reduce((acc, claim) => {\n const result = [claim];\n if (Array.isArray(claim.value)) {\n const nestedClaimsWithPath: FlatClaim[] = claim.value.map((c) => ({\n ...c,\n isArrayElement: claim.schema.array && claim.path.split('/').pop() !== claim.schema.key,\n }));\n result.push(...spreadClaims(nestedClaimsWithPath));\n }\n return [...acc, ...result];\n }, [] as FlatClaim[]);\n};\n\nconst getDisplayedAttributes = (\n request: PresentationDefinitionRequestedCredential,\n validityState: ValidityState,\n credential?: CredentialDetail,\n selectiveDisclosureSupported?: boolean,\n selectedFields?: string[],\n): DisplayedAttribute[] => {\n const claims = credential ? spreadClaims(credential.claims) : undefined;\n const isApplicable = credential ? request.applicableCredentials.includes(credential.id) : false;\n\n let fields = request.fields;\n if (credential) {\n const fieldsWithNoKeyMapping = request.fields\n .filter((field) => !(credential.id in field.keyMap))\n .filter((field) => !isApplicable || !field.required);\n const fullyNestedFields = getFullyNestedFields(request.fields, credential.id);\n\n fields = [...fieldsWithNoKeyMapping, ...fullyNestedFields];\n }\n\n return fields.map((field) => {\n const selected = !field.required && selectedFields?.includes(field.id);\n const claim = credential\n ? claims?.find(({ path }) => {\n return path === field.keyMap[credential.id];\n })\n : undefined;\n const status =\n selectiveDisclosureSupported === false\n ? SelectorStatus.Required\n : getAttributeSelectorStatus(field, validityState, credential, claim, selected);\n return { claim, field, id: field.id, selected, status };\n });\n};\n\nconst getFullyNestedFields = (\n fields: PresentationDefinitionRequestedCredential['fields'],\n credentialId: CredentialDetail['id'],\n) => {\n const allKeys = fields.filter((field) => credentialId in field.keyMap).map((field) => field.keyMap[credentialId]);\n\n return fields\n .map((field) => ({ field, key: field.keyMap[credentialId] }))\n .filter(({ key }) => key && allKeys.every((k) => !k.startsWith(`${key}/`)))\n .map(({ field }) => field);\n};\n\nexport const shareCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: FlatClaim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n if (claim) {\n return {\n ...detailsCardAttributeFromClaim(claim, config, testID),\n id,\n path: claim.path,\n listValue: claim.isArrayElement,\n };\n }\n return {\n id,\n name: field?.name?.split('/').pop() ?? id,\n path: field?.name ?? id,\n value: labels.missingAttribute,\n valueErrorColor: true,\n };\n};\n\n// Will propagate the attribute status (right accessory + selected?) for all nested attributes\n// Note: This function MUTATES the input attribute\nconst setStatusForNestedObjectOrArrayFields = (\n attribute: CredentialAttribute,\n status?: SelectorStatus,\n disabled?: boolean,\n) => {\n const accessory = status && <Selector status={status} />;\n const isObject = attribute.attributes && attribute.attributes.length > 0;\n const isArray = attribute.values && attribute.values.length > 0;\n\n // If the attribute is not an object or array, we update the attribute and return\n if (!isObject && !isArray) {\n attribute.rightAccessory = accessory;\n attribute.disabled = disabled;\n return attribute;\n }\n\n // The object can be optional (tappable radio-checkmark), or required (checkmark)\n if (status === SelectorStatus.SelectedCheckmark || status === SelectorStatus.Empty) {\n // If it's a selectable object, the accessory is rendered next to the object title,\n // The nested attributes have no accessory, and can not be selected\n attribute.rightAccessory = accessory;\n setStatusForNestedObjectOrArrayFields(attribute, undefined, true);\n } else {\n const nested = attribute.attributes ?? attribute.values;\n // If the object is required / rejected, the accessory is rendered next to each nested attribute (except other object titles)\n // all fields are disabled\n for (const nestedAttribute of nested) {\n setStatusForNestedObjectOrArrayFields(nestedAttribute, status, true);\n }\n }\n};\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosureNotice: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n};\n\nexport const shareCredentialCardFromCredential = (\n credential: CredentialDetail | undefined,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n request: PresentationDefinitionRequestedCredential,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n invalidLVVC,\n expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromRequest(request, notice, cardTestId, labels);\n const validityState = getValidityState(credential ? { ...credential, issuer: credential.issuer?.id } : undefined);\n const displayedAttributes = getDisplayedAttributes(\n request,\n validityState,\n credential,\n selectiveDisclosureSupported,\n selectedFields,\n );\n\n const attributes: CredentialAttribute[] = displayedAttributes.map(({ claim, field, id, selected, status }, index) => {\n const disabled = !credential || !field || field.required || !claim;\n const attribute: CredentialAttribute = {\n ...shareCredentialCardAttributeFromClaim(\n id,\n config,\n concatTestID(testID, 'attribute', `${index}`),\n labels,\n claim,\n field,\n ),\n selected,\n };\n\n setStatusForNestedObjectOrArrayFields(attribute, status, disabled);\n return attribute;\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n\nexport const selectCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: FlatClaim,\n field?: PresentationDefinitionField,\n): CredentialAttribute => {\n const attribute = shareCredentialCardAttributeFromClaim(id, config, testID, labels, claim, field);\n if (!claim) {\n return attribute;\n }\n return {\n ...attribute,\n rightAccessory: RequiredAttributeIcon,\n };\n};\n\nexport const selectCredentialCardFromCredential = (\n credential: CredentialDetail,\n selected: boolean,\n request: PresentationDefinitionRequestedCredential,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const rightAccessory = <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n credential,\n credential.claims,\n config,\n notice,\n testID,\n labels,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n const attributes: CredentialAttribute[] = getFullyNestedFields(request.fields, credential.id).map((field) => {\n const claim = spreadClaims(credential.claims).find(({ path }) => {\n return path === field.keyMap[credential.id];\n });\n\n const attribute = selectCredentialCardAttributeFromClaim(field.id, config, testID, labels, claim, field);\n return {\n ...attribute,\n rightAccessory: (\n <Selector status={field.required && !claim ? SelectorStatus.Rejected : SelectorStatus.Required} />\n ),\n };\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_credential","_icons","_testID","_credential2","e","__esModule","default","validityCheckedCardFromCredential","credential","invalidLVVC","expanded","multipleCredentialsAvailable","config","notice","testID","labels","credentialHeaderDetail","credentialDetailErrorColor","credentialDetailPrimary","revoked","credentialDetailTestID","concatTestID","multipleCredentials","statusIcon","CredentialWarningIcon","card","getCredentialCardPropsFromCredential","claims","header","exports","missingCredentialCardFromRequest","request","_request$name","cardImage","undefined","color","missingCredential","credentialName","name","id","getAttributeSelectorStatus","field","validityState","claim","selected","ValidityState","Valid","SelectorStatus","Rejected","required","Required","Disabled","SelectedCheckmark","Empty","spreadClaims","reduce","acc","result","value","type_","nestedClaimsWithPath","map","c","isArrayElement","schema","array","path","split","pop","key","push","getDisplayedAttributes","selectiveDisclosureSupported","selectedFields","isApplicable","applicableCredentials","includes","fields","fieldsWithNoKeyMapping","filter","keyMap","fullyNestedFields","getFullyNestedFields","find","status","credentialId","allKeys","every","k","startsWith","shareCredentialCardAttributeFromClaim","_field$name$split$pop","_field$name","_field$name2","detailsCardAttributeFromClaim","listValue","missingAttribute","valueErrorColor","setStatusForNestedObjectOrArrayFields","attribute","disabled","accessory","createElement","Selector","isObject","attributes","length","isArray","values","rightAccessory","_attribute$attributes","nested","nestedAttribute","shareCredentialCardFromCredential","_credential$issuer","_credential$issuer2","supportsSelectiveDisclosure","issuer","text","selectiveDisclosureNotice","noticeIcon","CredentialNoticeWarningIcon","cardTestId","getValidityState","displayedAttributes","index","nestAttributes","selectCredentialCardAttributeFromClaim","RequiredAttributeIcon","selectCredentialCardFromCredential","_credential$issuer3","SelectedRadio","cardProps"],"sources":["credential-sharing.tsx"],"sourcesContent":["import {\n ClaimBindingDto,\n Config,\n CredentialDetailBindingDto,\n PresentationDefinitionFieldBindingDto,\n PresentationDefinitionRequestedCredentialBindingDto,\n} from '@procivis/react-native-one-core';\nimport React from 'react';\n\nimport {\n CredentialAttribute,\n CredentialCardProps,\n CredentialHeaderProps,\n Selector,\n SelectorStatus,\n} from '../../ui-components/credential';\nimport { CredentialCardNotice } from '../../ui-components/credential/card/credential-card';\nimport { CredentialNoticeWarningIcon, CredentialWarningIcon, RequiredAttributeIcon } from '../../ui-components/icons';\nimport { concatTestID } from '../testID';\nimport {\n CardLabels,\n CredentialDetailsCardPropsWithoutWidth,\n detailsCardAttributeFromClaim,\n getCredentialCardPropsFromCredential,\n getValidityState,\n nestAttributes,\n supportsSelectiveDisclosure,\n ValidityState,\n} from './credential';\n\nexport const validityCheckedCardFromCredential = (\n credential: CredentialDetailBindingDto,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n config: Config,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'testID' | 'width'> => {\n let credentialHeaderDetail:\n | Pick<\n CredentialHeaderProps,\n | 'credentialDetailPrimary'\n | 'credentialDetailSecondary'\n | 'credentialDetailErrorColor'\n | 'credentialDetailTestID'\n | 'statusIcon'\n >\n | undefined;\n if (invalidLVVC) {\n credentialHeaderDetail = {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.revoked,\n credentialDetailTestID: concatTestID(testID, 'header.invalid'),\n };\n } else if (!expanded && multipleCredentialsAvailable) {\n credentialHeaderDetail = {\n credentialDetailPrimary: labels.multipleCredentials,\n credentialDetailTestID: concatTestID(testID, 'header.multiple'),\n statusIcon: CredentialWarningIcon,\n };\n }\n\n const card = getCredentialCardPropsFromCredential(credential, credential.claims, config, notice, testID, labels);\n return {\n ...card,\n header: {\n ...card.header,\n ...credentialHeaderDetail,\n },\n };\n};\n\nexport const missingCredentialCardFromRequest = (\n request: PresentationDefinitionRequestedCredentialBindingDto,\n notice: CredentialCardNotice | undefined,\n testID: string,\n labels: ShareCredentialCardLabels,\n): Omit<CredentialCardProps, 'onHeaderPress' | 'style' | 'width'> => {\n return {\n cardImage: undefined,\n color: undefined,\n testID,\n header: {\n credentialDetailErrorColor: true,\n credentialDetailPrimary: labels.missingCredential,\n credentialDetailTestID: concatTestID(testID, 'header.missing'),\n credentialName: request.name ?? request.id,\n statusIcon: CredentialWarningIcon,\n },\n ...notice,\n };\n};\n\ninterface DisplayedAttribute {\n claim?: FlatClaim;\n field?: PresentationDefinitionFieldBindingDto;\n id: string;\n selected?: boolean;\n status: SelectorStatus;\n}\n\nconst getAttributeSelectorStatus = (\n field: PresentationDefinitionFieldBindingDto,\n validityState: ValidityState,\n credential?: CredentialDetailBindingDto,\n claim?: ClaimBindingDto,\n selected?: boolean,\n): SelectorStatus => {\n if (!credential || validityState !== ValidityState.Valid) {\n return SelectorStatus.Rejected;\n }\n if (field.required) {\n if (claim) {\n return SelectorStatus.Required;\n } else {\n return SelectorStatus.Rejected;\n }\n }\n if (!claim) {\n return SelectorStatus.Disabled;\n }\n return selected ? SelectorStatus.SelectedCheckmark : SelectorStatus.Empty;\n};\n\ntype FlatClaim = ClaimBindingDto & {\n isArrayElement?: boolean;\n};\n\n// Returns a spread list of all claims with their full JSON path as key, including all intermediate objects\nconst spreadClaims = (claims: ClaimBindingDto[]): FlatClaim[] => {\n return claims.reduce((acc, claim) => {\n const result = [claim];\n if (claim.value.type_ === 'NESTED') {\n const nestedClaimsWithPath: FlatClaim[] = claim.value.value.map((c) => ({\n ...c,\n isArrayElement: claim.schema.array && claim.path.split('/').pop() !== claim.schema.key,\n }));\n result.push(...spreadClaims(nestedClaimsWithPath));\n }\n return [...acc, ...result];\n }, [] as FlatClaim[]);\n};\n\nconst getDisplayedAttributes = (\n request: PresentationDefinitionRequestedCredentialBindingDto,\n validityState: ValidityState,\n credential?: CredentialDetailBindingDto,\n selectiveDisclosureSupported?: boolean,\n selectedFields?: string[],\n): DisplayedAttribute[] => {\n const claims = credential ? spreadClaims(credential.claims) : undefined;\n const isApplicable = credential ? request.applicableCredentials.includes(credential.id) : false;\n\n let fields = request.fields;\n if (credential) {\n const fieldsWithNoKeyMapping = request.fields\n .filter((field) => !(credential.id in field.keyMap))\n .filter((field) => !isApplicable || !field.required);\n const fullyNestedFields = getFullyNestedFields(request.fields, credential.id);\n\n fields = [...fieldsWithNoKeyMapping, ...fullyNestedFields];\n }\n\n return fields.map((field) => {\n const selected = !field.required && selectedFields?.includes(field.id);\n const claim = credential\n ? claims?.find(({ path }) => {\n return path === field.keyMap[credential.id];\n })\n : undefined;\n const status =\n selectiveDisclosureSupported === false\n ? SelectorStatus.Required\n : getAttributeSelectorStatus(field, validityState, credential, claim, selected);\n return { claim, field, id: field.id, selected, status };\n });\n};\n\nconst getFullyNestedFields = (\n fields: PresentationDefinitionRequestedCredentialBindingDto['fields'],\n credentialId: CredentialDetailBindingDto['id'],\n) => {\n const allKeys = fields.filter((field) => credentialId in field.keyMap).map((field) => field.keyMap[credentialId]);\n\n return fields\n .map((field) => ({ field, key: field.keyMap[credentialId] }))\n .filter(({ key }) => key && allKeys.every((k) => !k.startsWith(`${key}/`)))\n .map(({ field }) => field);\n};\n\nexport const shareCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: FlatClaim,\n field?: PresentationDefinitionFieldBindingDto,\n): CredentialAttribute => {\n if (claim) {\n return {\n ...detailsCardAttributeFromClaim(claim, config, testID),\n id,\n path: claim.path,\n listValue: claim.isArrayElement,\n };\n }\n return {\n id,\n name: field?.name?.split('/').pop() ?? id,\n path: field?.name ?? id,\n value: labels.missingAttribute,\n valueErrorColor: true,\n };\n};\n\n// Will propagate the attribute status (right accessory + selected?) for all nested attributes\n// Note: This function MUTATES the input attribute\nconst setStatusForNestedObjectOrArrayFields = (\n attribute: CredentialAttribute,\n status?: SelectorStatus,\n disabled?: boolean,\n) => {\n const accessory = status && <Selector status={status} />;\n const isObject = attribute.attributes && attribute.attributes.length > 0;\n const isArray = attribute.values && attribute.values.length > 0;\n\n // If the attribute is not an object or array, we update the attribute and return\n if (!isObject && !isArray) {\n attribute.rightAccessory = accessory;\n attribute.disabled = disabled;\n return attribute;\n }\n\n // The object can be optional (tappable radio-checkmark), or required (checkmark)\n if (status === SelectorStatus.SelectedCheckmark || status === SelectorStatus.Empty) {\n // If it's a selectable object, the accessory is rendered next to the object title,\n // The nested attributes have no accessory, and can not be selected\n attribute.rightAccessory = accessory;\n setStatusForNestedObjectOrArrayFields(attribute, undefined, true);\n } else {\n const nested = attribute.attributes ?? attribute.values;\n // If the object is required / rejected, the accessory is rendered next to each nested attribute (except other object titles)\n // all fields are disabled\n for (const nestedAttribute of nested) {\n setStatusForNestedObjectOrArrayFields(nestedAttribute, status, true);\n }\n }\n};\n\nexport type ShareCredentialCardLabels = CardLabels & {\n selectiveDisclosureNotice: string;\n missingAttribute: string;\n missingCredential: string;\n multipleCredentials: string;\n};\n\nexport const shareCredentialCardFromCredential = (\n credential: CredentialDetailBindingDto | undefined,\n invalidLVVC: boolean,\n expanded: boolean,\n multipleCredentialsAvailable: boolean,\n request: PresentationDefinitionRequestedCredentialBindingDto,\n selectedFields: string[] | undefined,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const cardTestId = concatTestID(testID, 'card');\n const card = credential\n ? validityCheckedCardFromCredential(\n credential,\n invalidLVVC,\n expanded,\n multipleCredentialsAvailable,\n config,\n notice,\n cardTestId,\n labels,\n )\n : missingCredentialCardFromRequest(request, notice, cardTestId, labels);\n const validityState = getValidityState(credential ? { ...credential, issuer: credential.issuer?.id } : undefined);\n const displayedAttributes = getDisplayedAttributes(\n request,\n validityState,\n credential,\n selectiveDisclosureSupported,\n selectedFields,\n );\n\n const attributes: CredentialAttribute[] = displayedAttributes.map(({ claim, field, id, selected, status }, index) => {\n const disabled = !credential || !field || field.required || !claim;\n const attribute: CredentialAttribute = {\n ...shareCredentialCardAttributeFromClaim(\n id,\n config,\n concatTestID(testID, 'attribute', `${index}`),\n labels,\n claim,\n field,\n ),\n selected,\n };\n\n setStatusForNestedObjectOrArrayFields(attribute, status, disabled);\n return attribute;\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n\nexport const selectCredentialCardAttributeFromClaim = (\n id: string,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n claim?: FlatClaim,\n field?: PresentationDefinitionFieldBindingDto,\n): CredentialAttribute => {\n const attribute = shareCredentialCardAttributeFromClaim(id, config, testID, labels, claim, field);\n if (!claim) {\n return attribute;\n }\n return {\n ...attribute,\n rightAccessory: RequiredAttributeIcon,\n };\n};\n\nexport const selectCredentialCardFromCredential = (\n credential: CredentialDetailBindingDto,\n selected: boolean,\n request: PresentationDefinitionRequestedCredentialBindingDto,\n config: Config,\n testID: string,\n labels: ShareCredentialCardLabels,\n): CredentialDetailsCardPropsWithoutWidth => {\n const selectiveDisclosureSupported = supportsSelectiveDisclosure(\n credential ? { ...credential, issuer: credential.issuer?.id } : undefined,\n config,\n );\n const rightAccessory = <Selector status={selected ? SelectorStatus.SelectedRadio : SelectorStatus.Empty} />;\n const notice: CredentialCardNotice | undefined =\n selectiveDisclosureSupported === false\n ? {\n text: labels.selectiveDisclosureNotice,\n noticeIcon: CredentialNoticeWarningIcon,\n }\n : undefined;\n const { header, ...cardProps } = getCredentialCardPropsFromCredential(\n credential,\n credential.claims,\n config,\n notice,\n testID,\n labels,\n );\n const card = {\n header: {\n ...header,\n accessory: rightAccessory,\n },\n ...cardProps,\n };\n const attributes: CredentialAttribute[] = getFullyNestedFields(request.fields, credential.id).map((field) => {\n const claim = spreadClaims(credential.claims).find(({ path }) => {\n return path === field.keyMap[credential.id];\n });\n\n const attribute = selectCredentialCardAttributeFromClaim(field.id, config, testID, labels, claim, field);\n return {\n ...attribute,\n rightAccessory: (\n <Selector status={field.required && !claim ? SelectorStatus.Rejected : SelectorStatus.Required} />\n ),\n };\n });\n return {\n attributes: nestAttributes(attributes),\n card,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|