@procivis/one-react-native-components 0.3.27 → 0.3.47

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.
Files changed (196) hide show
  1. package/lib/commonjs/components/entity/entity-attributes.js +14 -1
  2. package/lib/commonjs/components/entity/entity-attributes.js.map +1 -1
  3. package/lib/commonjs/components/entity/entity-details-with-buttons.js +9 -42
  4. package/lib/commonjs/components/entity/entity-details-with-buttons.js.map +1 -1
  5. package/lib/commonjs/components/entity/entity-details.js +60 -32
  6. package/lib/commonjs/components/entity/entity-details.js.map +1 -1
  7. package/lib/commonjs/components/entity/index.js +2 -15
  8. package/lib/commonjs/components/entity/index.js.map +1 -1
  9. package/lib/commonjs/components/history/history-list-item.js +14 -12
  10. package/lib/commonjs/components/history/history-list-item.js.map +1 -1
  11. package/lib/commonjs/components/proof-request/share-credential.js +1 -2
  12. package/lib/commonjs/components/proof-request/share-credential.js.map +1 -1
  13. package/lib/commonjs/ui-components/blur/index.js +2 -9
  14. package/lib/commonjs/ui-components/blur/index.js.map +1 -1
  15. package/lib/commonjs/ui-components/buttons/hold-button.js +3 -2
  16. package/lib/commonjs/ui-components/buttons/hold-button.js.map +1 -1
  17. package/lib/commonjs/ui-components/camera/index.js +2 -9
  18. package/lib/commonjs/ui-components/camera/index.js.map +1 -1
  19. package/lib/commonjs/ui-components/control/index.js +0 -12
  20. package/lib/commonjs/ui-components/control/index.js.map +1 -1
  21. package/lib/commonjs/ui-components/credential/card/credential-details-card.js +1 -1
  22. package/lib/commonjs/ui-components/credential/card/credential-details-card.js.map +1 -1
  23. package/lib/commonjs/ui-components/credential/credential-carousel-images.js +15 -8
  24. package/lib/commonjs/ui-components/credential/credential-carousel-images.js.map +1 -1
  25. package/lib/commonjs/ui-components/entity/entity-cluster.js +50 -2
  26. package/lib/commonjs/ui-components/entity/entity-cluster.js.map +1 -1
  27. package/lib/commonjs/ui-components/entity/index.js +3 -16
  28. package/lib/commonjs/ui-components/entity/index.js.map +1 -1
  29. package/lib/commonjs/ui-components/history/history-details.js +1 -1
  30. package/lib/commonjs/ui-components/history/history-details.js.map +1 -1
  31. package/lib/commonjs/ui-components/history/index.js +4 -27
  32. package/lib/commonjs/ui-components/history/index.js.map +1 -1
  33. package/lib/commonjs/ui-components/icons/entity.js +10 -13
  34. package/lib/commonjs/ui-components/icons/entity.js.map +1 -1
  35. package/lib/commonjs/ui-components/input/index.js +3 -32
  36. package/lib/commonjs/ui-components/input/index.js.map +1 -1
  37. package/lib/commonjs/ui-components/list/index.js +4 -19
  38. package/lib/commonjs/ui-components/list/index.js.map +1 -1
  39. package/lib/commonjs/ui-components/loader/index.js +2 -13
  40. package/lib/commonjs/ui-components/loader/index.js.map +1 -1
  41. package/lib/commonjs/ui-components/pin/index.js +2 -21
  42. package/lib/commonjs/ui-components/pin/index.js.map +1 -1
  43. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
  44. package/lib/commonjs/ui-components/searchbar/index.js +3 -16
  45. package/lib/commonjs/ui-components/searchbar/index.js.map +1 -1
  46. package/lib/commonjs/ui-components/settings/index.js +6 -37
  47. package/lib/commonjs/ui-components/settings/index.js.map +1 -1
  48. package/lib/commonjs/ui-components/state/index.js +2 -15
  49. package/lib/commonjs/ui-components/state/index.js.map +1 -1
  50. package/lib/commonjs/utils/date.js +1 -1
  51. package/lib/commonjs/utils/date.js.map +1 -1
  52. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js +4 -0
  53. package/lib/commonjs/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  54. package/lib/commonjs/utils/hooks/core/backup.js +22 -66
  55. package/lib/commonjs/utils/hooks/core/backup.js.map +1 -1
  56. package/lib/commonjs/utils/hooks/core/core-init.js +6 -2
  57. package/lib/commonjs/utils/hooks/core/core-init.js.map +1 -1
  58. package/lib/commonjs/utils/hooks/core/identifiers.js +23 -1
  59. package/lib/commonjs/utils/hooks/core/identifiers.js.map +1 -1
  60. package/lib/commonjs/utils/hooks/core/proofs.js +24 -14
  61. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  62. package/lib/commonjs/utils/hooks/core/trust-entity.js +55 -14
  63. package/lib/commonjs/utils/hooks/core/trust-entity.js.map +1 -1
  64. package/lib/commonjs/utils/parsers/credential-sharing.js +6 -15
  65. package/lib/commonjs/utils/parsers/credential-sharing.js.map +1 -1
  66. package/lib/commonjs/utils/parsers/query.js +21 -3
  67. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  68. package/lib/module/components/entity/entity-attributes.js +15 -2
  69. package/lib/module/components/entity/entity-attributes.js.map +1 -1
  70. package/lib/module/components/entity/entity-details-with-buttons.js +11 -44
  71. package/lib/module/components/entity/entity-details-with-buttons.js.map +1 -1
  72. package/lib/module/components/entity/entity-details.js +60 -32
  73. package/lib/module/components/entity/entity-details.js.map +1 -1
  74. package/lib/module/components/entity/index.js +2 -2
  75. package/lib/module/components/entity/index.js.map +1 -1
  76. package/lib/module/components/history/history-list-item.js +15 -13
  77. package/lib/module/components/history/history-list-item.js.map +1 -1
  78. package/lib/module/components/proof-request/share-credential.js +1 -2
  79. package/lib/module/components/proof-request/share-credential.js.map +1 -1
  80. package/lib/module/ui-components/blur/index.js +2 -2
  81. package/lib/module/ui-components/blur/index.js.map +1 -1
  82. package/lib/module/ui-components/buttons/hold-button.js +4 -3
  83. package/lib/module/ui-components/buttons/hold-button.js.map +1 -1
  84. package/lib/module/ui-components/camera/index.js +2 -2
  85. package/lib/module/ui-components/camera/index.js.map +1 -1
  86. package/lib/module/ui-components/control/index.js +3 -3
  87. package/lib/module/ui-components/control/index.js.map +1 -1
  88. package/lib/module/ui-components/credential/card/credential-details-card.js +1 -1
  89. package/lib/module/ui-components/credential/card/credential-details-card.js.map +1 -1
  90. package/lib/module/ui-components/credential/credential-carousel-images.js +15 -8
  91. package/lib/module/ui-components/credential/credential-carousel-images.js.map +1 -1
  92. package/lib/module/ui-components/entity/entity-cluster.js +51 -3
  93. package/lib/module/ui-components/entity/entity-cluster.js.map +1 -1
  94. package/lib/module/ui-components/entity/index.js +4 -4
  95. package/lib/module/ui-components/entity/index.js.map +1 -1
  96. package/lib/module/ui-components/history/history-details.js +1 -1
  97. package/lib/module/ui-components/history/history-details.js.map +1 -1
  98. package/lib/module/ui-components/history/index.js +6 -6
  99. package/lib/module/ui-components/history/index.js.map +1 -1
  100. package/lib/module/ui-components/icons/entity.js +10 -13
  101. package/lib/module/ui-components/icons/entity.js.map +1 -1
  102. package/lib/module/ui-components/input/index.js +6 -6
  103. package/lib/module/ui-components/input/index.js.map +1 -1
  104. package/lib/module/ui-components/list/index.js +4 -4
  105. package/lib/module/ui-components/list/index.js.map +1 -1
  106. package/lib/module/ui-components/loader/index.js +4 -4
  107. package/lib/module/ui-components/loader/index.js.map +1 -1
  108. package/lib/module/ui-components/pin/index.js +3 -3
  109. package/lib/module/ui-components/pin/index.js.map +1 -1
  110. package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
  111. package/lib/module/ui-components/searchbar/index.js +4 -4
  112. package/lib/module/ui-components/searchbar/index.js.map +1 -1
  113. package/lib/module/ui-components/settings/index.js +10 -10
  114. package/lib/module/ui-components/settings/index.js.map +1 -1
  115. package/lib/module/ui-components/state/index.js +2 -2
  116. package/lib/module/ui-components/state/index.js.map +1 -1
  117. package/lib/module/utils/date.js +1 -1
  118. package/lib/module/utils/date.js.map +1 -1
  119. package/lib/module/utils/hooks/connectivity/connectivity.test.js +4 -0
  120. package/lib/module/utils/hooks/connectivity/connectivity.test.js.map +1 -1
  121. package/lib/module/utils/hooks/core/backup.js +24 -68
  122. package/lib/module/utils/hooks/core/backup.js.map +1 -1
  123. package/lib/module/utils/hooks/core/core-init.js +5 -3
  124. package/lib/module/utils/hooks/core/core-init.js.map +1 -1
  125. package/lib/module/utils/hooks/core/identifiers.js +21 -0
  126. package/lib/module/utils/hooks/core/identifiers.js.map +1 -1
  127. package/lib/module/utils/hooks/core/proofs.js +24 -14
  128. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  129. package/lib/module/utils/hooks/core/trust-entity.js +55 -14
  130. package/lib/module/utils/hooks/core/trust-entity.js.map +1 -1
  131. package/lib/module/utils/parsers/credential-sharing.js +6 -15
  132. package/lib/module/utils/parsers/credential-sharing.js.map +1 -1
  133. package/lib/module/utils/parsers/query.js +19 -2
  134. package/lib/module/utils/parsers/query.js.map +1 -1
  135. package/lib/typescript/components/entity/entity-attributes.d.ts +1 -0
  136. package/lib/typescript/components/entity/entity-details-with-buttons.d.ts +1 -2
  137. package/lib/typescript/components/entity/entity-details.d.ts +3 -2
  138. package/lib/typescript/components/entity/index.d.ts +2 -1
  139. package/lib/typescript/ui-components/blur/index.d.ts +2 -1
  140. package/lib/typescript/ui-components/buttons/hold-button.d.ts +2 -2
  141. package/lib/typescript/ui-components/camera/index.d.ts +2 -1
  142. package/lib/typescript/ui-components/control/index.d.ts +4 -2
  143. package/lib/typescript/ui-components/credential/credential-carousel-images.d.ts +1 -0
  144. package/lib/typescript/ui-components/entity/entity-cluster.d.ts +1 -0
  145. package/lib/typescript/ui-components/entity/index.d.ts +4 -2
  146. package/lib/typescript/ui-components/history/history-details.d.ts +4 -1
  147. package/lib/typescript/ui-components/history/index.d.ts +6 -3
  148. package/lib/typescript/ui-components/input/index.d.ts +6 -3
  149. package/lib/typescript/ui-components/list/index.d.ts +4 -2
  150. package/lib/typescript/ui-components/loader/index.d.ts +4 -2
  151. package/lib/typescript/ui-components/pin/index.d.ts +4 -2
  152. package/lib/typescript/ui-components/screens/nerd-mode-screen.d.ts +1 -1
  153. package/lib/typescript/ui-components/searchbar/index.d.ts +4 -2
  154. package/lib/typescript/ui-components/settings/index.d.ts +10 -5
  155. package/lib/typescript/ui-components/state/index.d.ts +2 -1
  156. package/lib/typescript/utils/hooks/core/backup.d.ts +5 -0
  157. package/lib/typescript/utils/hooks/core/core-init.d.ts +4 -1
  158. package/lib/typescript/utils/hooks/core/identifiers.d.ts +4 -1
  159. package/lib/typescript/utils/hooks/core/proofs.d.ts +1 -0
  160. package/lib/typescript/utils/hooks/core/trust-entity.d.ts +9 -3
  161. package/lib/typescript/utils/parsers/query.d.ts +3 -2
  162. package/package.json +10 -5
  163. package/src/components/entity/entity-attributes.tsx +16 -2
  164. package/src/components/entity/entity-details-with-buttons.tsx +11 -42
  165. package/src/components/entity/entity-details.tsx +60 -30
  166. package/src/components/entity/index.ts +2 -1
  167. package/src/components/history/history-list-item.tsx +17 -13
  168. package/src/components/proof-request/share-credential.tsx +0 -1
  169. package/src/ui-components/blur/index.ts +2 -1
  170. package/src/ui-components/buttons/hold-button.tsx +6 -5
  171. package/src/ui-components/camera/index.tsx +2 -1
  172. package/src/ui-components/control/index.ts +4 -2
  173. package/src/ui-components/credential/card/credential-details-card.tsx +1 -1
  174. package/src/ui-components/credential/credential-carousel-images.tsx +15 -8
  175. package/src/ui-components/entity/entity-cluster.tsx +63 -10
  176. package/src/ui-components/entity/index.ts +4 -2
  177. package/src/ui-components/history/history-details.tsx +5 -2
  178. package/src/ui-components/history/index.ts +6 -3
  179. package/src/ui-components/icons/entity.tsx +8 -12
  180. package/src/ui-components/input/index.ts +6 -3
  181. package/src/ui-components/list/index.ts +4 -2
  182. package/src/ui-components/loader/index.ts +4 -2
  183. package/src/ui-components/pin/index.ts +4 -2
  184. package/src/ui-components/screens/nerd-mode-screen.tsx +1 -1
  185. package/src/ui-components/searchbar/index.ts +4 -2
  186. package/src/ui-components/settings/index.ts +10 -5
  187. package/src/ui-components/state/index.ts +2 -1
  188. package/src/utils/date.ts +1 -1
  189. package/src/utils/hooks/connectivity/connectivity.test.ts +7 -2
  190. package/src/utils/hooks/core/backup.ts +30 -72
  191. package/src/utils/hooks/core/core-init.ts +5 -3
  192. package/src/utils/hooks/core/identifiers.ts +22 -1
  193. package/src/utils/hooks/core/proofs.ts +27 -16
  194. package/src/utils/hooks/core/trust-entity.ts +45 -11
  195. package/src/utils/parsers/credential-sharing.tsx +8 -14
  196. package/src/utils/parsers/query.tsx +12 -2
@@ -1 +1 @@
1
- {"version":3,"names":["DidTypeEnum","OneError","useCallback","useMutation","useQuery","useQueryClient","generateUUID","useONECore","HW_DID_NAME_PREFIX","SW_DID_NAME_PREFIX","OneErrorCode","HISTORY_LIST_QUERY_KEY","BACKUP_INFO_QUERY_KEY","useBackupInfo","core","backupInfo","keepPreviousData","useCreateBackup","queryClient","password","outputPath","createBackup","onSuccess","invalidateQueries","useUnpackBackup","inputPath","unpackBackup","resetQueries","useFinalizeImport","finalizeImport","useRollbackImport","rollbackImport","useBackupFinalizeImportProcedure","generateHwKey","generateSwKey","mutateAsync","organisationId","_dids$values$find","dids","getDids","deactivated","page","pageSize","type","LOCAL","swDidId","values","find","did","name","startsWith","id","swKeyId","generateKey","keyParams","keyType","storageParams","storageType","createDid","didMethod","keys","assertionMethod","authentication","capabilityDelegation","capabilityInvocation","keyAgreement","params","hwKeyId","catch","e","code","KeyStorageNotSupported","hwDidId"],"sources":["backup.ts"],"sourcesContent":["import { DidTypeEnum, OneError } from '@procivis/react-native-one-core';\nimport { useCallback } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { generateUUID } from '../../uuid';\nimport { useONECore } from './core-context';\nimport { HW_DID_NAME_PREFIX, IdentifiersInitializationConfig, SW_DID_NAME_PREFIX } from './core-init';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\n\nconst BACKUP_INFO_QUERY_KEY = 'backup-info';\n\nexport const useBackupInfo = () => {\n const { core } = useONECore();\n\n return useQuery([BACKUP_INFO_QUERY_KEY], () => core.backupInfo(), {\n keepPreviousData: true,\n });\n};\n\nexport const useCreateBackup = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ password, outputPath }: { outputPath: string; password: string }) =>\n core.createBackup(password, outputPath),\n {\n onSuccess: () => queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY),\n },\n );\n};\n\nexport const useUnpackBackup = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ password, inputPath }: { inputPath: string; password: string }) => core.unpackBackup(password, inputPath),\n {\n onSuccess: () => queryClient.resetQueries(),\n },\n );\n};\n\nexport const useFinalizeImport = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async () => core.finalizeImport(), {\n onSuccess: () => queryClient.resetQueries(),\n });\n};\n\nexport const useRollbackImport = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async () => core.rollbackImport(), {\n onSuccess: () => queryClient.resetQueries(),\n });\n};\n\nexport const useBackupFinalizeImportProcedure = ({ generateHwKey, generateSwKey }: IdentifiersInitializationConfig) => {\n const { mutateAsync: finalizeImport } = useFinalizeImport();\n const { core, organisationId } = useONECore();\n\n return useCallback(async () => {\n await finalizeImport();\n\n // update wallet did references\n const dids = await core.getDids({\n deactivated: false,\n organisationId,\n page: 0,\n pageSize: 1,\n type: DidTypeEnum.LOCAL,\n });\n let swDidId = dids.values.find((did) => did.name.startsWith(SW_DID_NAME_PREFIX))?.id;\n\n if (!swDidId && generateSwKey) {\n const swKeyId = await core.generateKey({\n keyParams: {},\n keyType: 'EDDSA',\n name: `holder-key-sw-${generateUUID()}`,\n organisationId,\n storageParams: {},\n storageType: 'INTERNAL',\n });\n swDidId = await core.createDid({\n didMethod: 'KEY',\n keys: {\n assertionMethod: [swKeyId],\n authentication: [swKeyId],\n capabilityDelegation: [swKeyId],\n capabilityInvocation: [swKeyId],\n keyAgreement: [swKeyId],\n },\n name: `${SW_DID_NAME_PREFIX}-${generateUUID()}`,\n organisationId,\n params: {},\n });\n }\n\n let hwKeyId: string | null = null;\n if (generateHwKey) {\n hwKeyId = await core\n .generateKey({\n keyParams: {},\n keyType: 'ECDSA',\n name: `holder-key-hw-${generateUUID()}`,\n organisationId,\n storageParams: {},\n storageType: 'SECURE_ELEMENT',\n })\n .catch((e) => {\n // ignore if HW keys not supported by device\n if (e instanceof OneError && e.code === OneErrorCode.KeyStorageNotSupported) {\n return null;\n }\n throw e;\n });\n }\n\n let hwDidId: string | null = null;\n if (hwKeyId) {\n hwDidId = await core.createDid({\n didMethod: 'KEY',\n keys: {\n assertionMethod: [hwKeyId],\n authentication: [hwKeyId],\n capabilityDelegation: [hwKeyId],\n capabilityInvocation: [hwKeyId],\n keyAgreement: [hwKeyId],\n },\n name: `${HW_DID_NAME_PREFIX}-${generateUUID()}`,\n organisationId,\n params: {},\n });\n }\n\n return [hwDidId, swDidId] as [string | null, string | undefined];\n }, [core, organisationId, finalizeImport, generateHwKey, generateSwKey]);\n};\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,iCAAiC;AACvE,SAASC,WAAW,QAAQ,OAAO;AACnC,SAASC,WAAW,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,aAAa;AAEnE,SAASC,YAAY,QAAQ,YAAY;AACzC,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,kBAAkB,EAAmCC,kBAAkB,QAAQ,aAAa;AACrG,SAASC,YAAY,QAAQ,cAAc;AAC3C,SAASC,sBAAsB,QAAQ,WAAW;AAElD,MAAMC,qBAAqB,GAAG,aAAa;AAE3C,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IAAEC;EAAK,CAAC,GAAGP,UAAU,CAAC,CAAC;EAE7B,OAAOH,QAAQ,CAAC,CAACQ,qBAAqB,CAAC,EAAE,MAAME,IAAI,CAACC,UAAU,CAAC,CAAC,EAAE;IAChEC,gBAAgB,EAAE;EACpB,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAMC,WAAW,GAAGb,cAAc,CAAC,CAAC;EACpC,MAAM;IAAES;EAAK,CAAC,GAAGP,UAAU,CAAC,CAAC;EAE7B,OAAOJ,WAAW,CAChB,OAAO;IAAEgB,QAAQ;IAAEC;EAAqD,CAAC,KACvEN,IAAI,CAACO,YAAY,CAACF,QAAQ,EAAEC,UAAU,CAAC,EACzC;IACEE,SAAS,EAAEA,CAAA,KAAMJ,WAAW,CAACK,iBAAiB,CAACZ,sBAAsB;EACvE,CACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMa,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAMN,WAAW,GAAGb,cAAc,CAAC,CAAC;EACpC,MAAM;IAAES;EAAK,CAAC,GAAGP,UAAU,CAAC,CAAC;EAE7B,OAAOJ,WAAW,CAChB,OAAO;IAAEgB,QAAQ;IAAEM;EAAmD,CAAC,KAAKX,IAAI,CAACY,YAAY,CAACP,QAAQ,EAAEM,SAAS,CAAC,EAClH;IACEH,SAAS,EAAEA,CAAA,KAAMJ,WAAW,CAACS,YAAY,CAAC;EAC5C,CACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACrC,MAAMV,WAAW,GAAGb,cAAc,CAAC,CAAC;EACpC,MAAM;IAAES;EAAK,CAAC,GAAGP,UAAU,CAAC,CAAC;EAE7B,OAAOJ,WAAW,CAAC,YAAYW,IAAI,CAACe,cAAc,CAAC,CAAC,EAAE;IACpDP,SAAS,EAAEA,CAAA,KAAMJ,WAAW,CAACS,YAAY,CAAC;EAC5C,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMG,iBAAiB,GAAGA,CAAA,KAAM;EACrC,MAAMZ,WAAW,GAAGb,cAAc,CAAC,CAAC;EACpC,MAAM;IAAES;EAAK,CAAC,GAAGP,UAAU,CAAC,CAAC;EAE7B,OAAOJ,WAAW,CAAC,YAAYW,IAAI,CAACiB,cAAc,CAAC,CAAC,EAAE;IACpDT,SAAS,EAAEA,CAAA,KAAMJ,WAAW,CAACS,YAAY,CAAC;EAC5C,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMK,gCAAgC,GAAGA,CAAC;EAAEC,aAAa;EAAEC;AAA+C,CAAC,KAAK;EACrH,MAAM;IAAEC,WAAW,EAAEN;EAAe,CAAC,GAAGD,iBAAiB,CAAC,CAAC;EAC3D,MAAM;IAAEd,IAAI;IAAEsB;EAAe,CAAC,GAAG7B,UAAU,CAAC,CAAC;EAE7C,OAAOL,WAAW,CAAC,YAAY;IAAA,IAAAmC,iBAAA;IAC7B,MAAMR,cAAc,CAAC,CAAC;;IAEtB;IACA,MAAMS,IAAI,GAAG,MAAMxB,IAAI,CAACyB,OAAO,CAAC;MAC9BC,WAAW,EAAE,KAAK;MAClBJ,cAAc;MACdK,IAAI,EAAE,CAAC;MACPC,QAAQ,EAAE,CAAC;MACXC,IAAI,EAAE3C,WAAW,CAAC4C;IACpB,CAAC,CAAC;IACF,IAAIC,OAAO,IAAAR,iBAAA,GAAGC,IAAI,CAACQ,MAAM,CAACC,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,IAAI,CAACC,UAAU,CAACzC,kBAAkB,CAAC,CAAC,cAAA4B,iBAAA,uBAAlEA,iBAAA,CAAoEc,EAAE;IAEpF,IAAI,CAACN,OAAO,IAAIX,aAAa,EAAE;MAC7B,MAAMkB,OAAO,GAAG,MAAMtC,IAAI,CAACuC,WAAW,CAAC;QACrCC,SAAS,EAAE,CAAC,CAAC;QACbC,OAAO,EAAE,OAAO;QAChBN,IAAI,EAAE,iBAAiB3C,YAAY,CAAC,CAAC,EAAE;QACvC8B,cAAc;QACdoB,aAAa,EAAE,CAAC,CAAC;QACjBC,WAAW,EAAE;MACf,CAAC,CAAC;MACFZ,OAAO,GAAG,MAAM/B,IAAI,CAAC4C,SAAS,CAAC;QAC7BC,SAAS,EAAE,KAAK;QAChBC,IAAI,EAAE;UACJC,eAAe,EAAE,CAACT,OAAO,CAAC;UAC1BU,cAAc,EAAE,CAACV,OAAO,CAAC;UACzBW,oBAAoB,EAAE,CAACX,OAAO,CAAC;UAC/BY,oBAAoB,EAAE,CAACZ,OAAO,CAAC;UAC/Ba,YAAY,EAAE,CAACb,OAAO;QACxB,CAAC;QACDH,IAAI,EAAE,GAAGxC,kBAAkB,IAAIH,YAAY,CAAC,CAAC,EAAE;QAC/C8B,cAAc;QACd8B,MAAM,EAAE,CAAC;MACX,CAAC,CAAC;IACJ;IAEA,IAAIC,OAAsB,GAAG,IAAI;IACjC,IAAIlC,aAAa,EAAE;MACjBkC,OAAO,GAAG,MAAMrD,IAAI,CACjBuC,WAAW,CAAC;QACXC,SAAS,EAAE,CAAC,CAAC;QACbC,OAAO,EAAE,OAAO;QAChBN,IAAI,EAAE,iBAAiB3C,YAAY,CAAC,CAAC,EAAE;QACvC8B,cAAc;QACdoB,aAAa,EAAE,CAAC,CAAC;QACjBC,WAAW,EAAE;MACf,CAAC,CAAC,CACDW,KAAK,CAAEC,CAAC,IAAK;QACZ;QACA,IAAIA,CAAC,YAAYpE,QAAQ,IAAIoE,CAAC,CAACC,IAAI,KAAK5D,YAAY,CAAC6D,sBAAsB,EAAE;UAC3E,OAAO,IAAI;QACb;QACA,MAAMF,CAAC;MACT,CAAC,CAAC;IACN;IAEA,IAAIG,OAAsB,GAAG,IAAI;IACjC,IAAIL,OAAO,EAAE;MACXK,OAAO,GAAG,MAAM1D,IAAI,CAAC4C,SAAS,CAAC;QAC7BC,SAAS,EAAE,KAAK;QAChBC,IAAI,EAAE;UACJC,eAAe,EAAE,CAACM,OAAO,CAAC;UAC1BL,cAAc,EAAE,CAACK,OAAO,CAAC;UACzBJ,oBAAoB,EAAE,CAACI,OAAO,CAAC;UAC/BH,oBAAoB,EAAE,CAACG,OAAO,CAAC;UAC/BF,YAAY,EAAE,CAACE,OAAO;QACxB,CAAC;QACDlB,IAAI,EAAE,GAAGzC,kBAAkB,IAAIF,YAAY,CAAC,CAAC,EAAE;QAC/C8B,cAAc;QACd8B,MAAM,EAAE,CAAC;MACX,CAAC,CAAC;IACJ;IAEA,OAAO,CAACM,OAAO,EAAE3B,OAAO,CAAC;EAC3B,CAAC,EAAE,CAAC/B,IAAI,EAAEsB,cAAc,EAAEP,cAAc,EAAEI,aAAa,EAAEC,aAAa,CAAC,CAAC;AAC1E,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["IdentifierStateEnum","IdentifierTypeEnum","useCallback","useMutation","useQuery","useQueryClient","reportException","useONECore","generateHwIdentifier","generateSwIdentifier","SW_DID_NAME_PREFIX","HISTORY_LIST_QUERY_KEY","BACKUP_INFO_QUERY_KEY","useBackupInfo","core","backupInfo","keepPreviousData","useCreateBackup","queryClient","password","outputPath","createBackup","onSuccess","invalidateQueries","useUnpackBackup","inputPath","unpackBackup","resetQueries","useFinalizeImport","finalizeImport","useRollbackImport","rollbackImport","useBackupFinalizeImportProcedure","generateHwKey","generateSwKey","mutateAsync","organisationId","swIdentifierId","_identifiers$values$f","identifiers","getIdentifiers","state","ACTIVE","page","pageSize","types","DID","isRemote","values","find","identifier","name","startsWith","id","Promise","all","catch","err"],"sources":["backup.ts"],"sourcesContent":["import { IdentifierStateEnum, IdentifierTypeEnum } from '@procivis/react-native-one-core';\nimport { useCallback } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { reportException } from '../../reporting';\nimport { useONECore } from './core-context';\nimport {\n generateHwIdentifier,\n generateSwIdentifier,\n IdentifiersInitializationConfig,\n SW_DID_NAME_PREFIX,\n} from './core-init';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\n\nconst BACKUP_INFO_QUERY_KEY = 'backup-info';\n\nexport const useBackupInfo = () => {\n const { core } = useONECore();\n\n return useQuery([BACKUP_INFO_QUERY_KEY], () => core.backupInfo(), {\n keepPreviousData: true,\n });\n};\n\nexport const useCreateBackup = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ password, outputPath }: { outputPath: string; password: string }) =>\n core.createBackup(password, outputPath),\n {\n onSuccess: () => queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY),\n },\n );\n};\n\nexport const useUnpackBackup = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ password, inputPath }: { inputPath: string; password: string }) => core.unpackBackup(password, inputPath),\n {\n onSuccess: () => queryClient.resetQueries(),\n },\n );\n};\n\nexport const useFinalizeImport = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async () => core.finalizeImport(), {\n onSuccess: () => queryClient.resetQueries(),\n });\n};\n\nexport const useRollbackImport = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async () => core.rollbackImport(), {\n onSuccess: () => queryClient.resetQueries(),\n });\n};\n\n/**\n * Finalize backup import and extract/prepare identifiers\n * @param {IdentifiersInitializationConfig} config Select desired keys/dids to be restored/created\n * @returns [hwIdentifierId, swIdentifierId]\n */\nexport const useBackupFinalizeImportProcedure = ({ generateHwKey, generateSwKey }: IdentifiersInitializationConfig) => {\n const { mutateAsync: finalizeImport } = useFinalizeImport();\n const { core, organisationId } = useONECore();\n\n return useCallback(async () => {\n await finalizeImport();\n\n // update wallet identifier references\n let swIdentifierId: string | undefined;\n if (generateSwKey) {\n const identifiers = await core.getIdentifiers({\n state: IdentifierStateEnum.ACTIVE,\n organisationId,\n page: 0,\n pageSize: 1,\n types: [IdentifierTypeEnum.DID],\n isRemote: false,\n });\n swIdentifierId = identifiers.values.find((identifier) => identifier.name.startsWith(SW_DID_NAME_PREFIX))?.id;\n }\n\n return Promise.all([\n generateHwKey ? generateHwIdentifier(core, organisationId) : null,\n !swIdentifierId && generateSwKey ? generateSwIdentifier(core, organisationId) : swIdentifierId,\n ]).catch((err) => {\n reportException(err, 'Failed to create base identifiers');\n throw err;\n });\n }, [core, organisationId, finalizeImport, generateHwKey, generateSwKey]);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import { useONECore } from './core-context';
5
5
  import { OneErrorCode } from './error-code';
6
6
  export const SW_DID_NAME_PREFIX = 'holder-did-sw-key';
7
7
  export const HW_DID_NAME_PREFIX = 'holder-did-hw-key';
8
- const generateHwIdentifier = async (core, organisationId) => {
8
+ export const generateHwIdentifier = async (core, organisationId) => {
9
9
  const hwKeyId = await core.generateKey({
10
10
  keyParams: {},
11
11
  keyType: 'ECDSA',
@@ -24,6 +24,7 @@ const generateHwIdentifier = async (core, organisationId) => {
24
24
  return core.createIdentifier({
25
25
  did: {
26
26
  method: 'KEY',
27
+ name: HW_DID_NAME_PREFIX,
27
28
  keys: {
28
29
  assertionMethod: [hwKeyId],
29
30
  authentication: [hwKeyId],
@@ -39,7 +40,7 @@ const generateHwIdentifier = async (core, organisationId) => {
39
40
  }
40
41
  return null;
41
42
  };
42
- const generateSwIdentifier = async (core, organisationId) => {
43
+ export const generateSwIdentifier = async (core, organisationId) => {
43
44
  const swKeyId = await core.generateKey({
44
45
  keyParams: {},
45
46
  keyType: 'ECDSA',
@@ -51,6 +52,7 @@ const generateSwIdentifier = async (core, organisationId) => {
51
52
  return core.createIdentifier({
52
53
  did: {
53
54
  method: 'KEY',
55
+ name: SW_DID_NAME_PREFIX,
54
56
  keys: {
55
57
  assertionMethod: [swKeyId],
56
58
  authentication: [swKeyId],
@@ -67,7 +69,7 @@ const generateSwIdentifier = async (core, organisationId) => {
67
69
  /**
68
70
  * Create base local identifiers
69
71
  * @param {IdentifiersInitializationConfig} config Select desired keys/dids to be created
70
- * @returns [hwDidId, swDidId]
72
+ * @returns [hwIdentifierId, swIdentifierId]
71
73
  */
72
74
  export const useInitializeONECoreIdentifiers = ({
73
75
  generateHwKey,
@@ -1 +1 @@
1
- {"version":3,"names":["OneError","useCallback","reportException","useONECore","OneErrorCode","SW_DID_NAME_PREFIX","HW_DID_NAME_PREFIX","generateHwIdentifier","core","organisationId","hwKeyId","generateKey","keyParams","keyType","name","storageParams","storageType","catch","e","code","KeyStorageNotSupported","createIdentifier","did","method","keys","assertionMethod","authentication","capabilityDelegation","capabilityInvocation","keyAgreement","params","generateSwIdentifier","swKeyId","useInitializeONECoreIdentifiers","generateHwKey","generateSwKey","createOrganisation","id","OrganisationAlreadyExists","then","Promise","all","err"],"sources":["core-init.ts"],"sourcesContent":["import { ONECore, OneError } from '@procivis/react-native-one-core';\nimport { useCallback } from 'react';\n\nimport { reportException } from '../../reporting';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\n\nexport const SW_DID_NAME_PREFIX = 'holder-did-sw-key';\nexport const HW_DID_NAME_PREFIX = 'holder-did-hw-key';\n\nconst generateHwIdentifier = async (core: ONECore, organisationId: string) => {\n const hwKeyId = await core\n .generateKey({\n keyParams: {},\n keyType: 'ECDSA',\n name: 'holder-key-hw',\n organisationId,\n storageParams: {},\n storageType: 'SECURE_ELEMENT',\n })\n .catch((e) => {\n // ignore if HW keys not supported by device\n if (e instanceof OneError && e.code === OneErrorCode.KeyStorageNotSupported) {\n return null;\n }\n throw e;\n });\n\n if (hwKeyId) {\n return core.createIdentifier({\n did: {\n method: 'KEY',\n keys: {\n assertionMethod: [hwKeyId],\n authentication: [hwKeyId],\n capabilityDelegation: [hwKeyId],\n capabilityInvocation: [hwKeyId],\n keyAgreement: [hwKeyId],\n },\n params: {},\n },\n name: HW_DID_NAME_PREFIX,\n organisationId,\n });\n }\n\n return null;\n};\n\nconst generateSwIdentifier = async (core: ONECore, organisationId: string) => {\n const swKeyId = await core.generateKey({\n keyParams: {},\n keyType: 'ECDSA',\n name: 'holder-key-sw',\n organisationId,\n storageParams: {},\n storageType: 'INTERNAL',\n });\n\n return core.createIdentifier({\n did: {\n method: 'KEY',\n keys: {\n assertionMethod: [swKeyId],\n authentication: [swKeyId],\n capabilityDelegation: [swKeyId],\n capabilityInvocation: [swKeyId],\n keyAgreement: [swKeyId],\n },\n params: {},\n },\n name: SW_DID_NAME_PREFIX,\n organisationId,\n });\n};\n\nexport interface IdentifiersInitializationConfig {\n generateHwKey: boolean;\n generateSwKey: boolean;\n}\n\n/**\n * Create base local identifiers\n * @param {IdentifiersInitializationConfig} config Select desired keys/dids to be created\n * @returns [hwDidId, swDidId]\n */\nexport const useInitializeONECoreIdentifiers = ({ generateHwKey, generateSwKey }: IdentifiersInitializationConfig) => {\n const { core, organisationId } = useONECore();\n\n return useCallback(async () => {\n return await core\n .createOrganisation({ id: organisationId })\n .catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OrganisationAlreadyExists) {\n return;\n }\n throw e;\n })\n .then(() =>\n Promise.all([\n generateHwKey ? generateHwIdentifier(core, organisationId) : null,\n generateSwKey ? generateSwIdentifier(core, organisationId) : null,\n ]),\n )\n .catch((err) => {\n reportException(err, 'Failed to create base identifiers');\n throw err;\n });\n }, [core, organisationId, generateHwKey, generateSwKey]);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["OneError","useCallback","reportException","useONECore","OneErrorCode","SW_DID_NAME_PREFIX","HW_DID_NAME_PREFIX","generateHwIdentifier","core","organisationId","hwKeyId","generateKey","keyParams","keyType","name","storageParams","storageType","catch","e","code","KeyStorageNotSupported","createIdentifier","did","method","keys","assertionMethod","authentication","capabilityDelegation","capabilityInvocation","keyAgreement","params","generateSwIdentifier","swKeyId","useInitializeONECoreIdentifiers","generateHwKey","generateSwKey","createOrganisation","id","OrganisationAlreadyExists","then","Promise","all","err"],"sources":["core-init.ts"],"sourcesContent":["import { ONECore, OneError } from '@procivis/react-native-one-core';\nimport { useCallback } from 'react';\n\nimport { reportException } from '../../reporting';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\n\nexport const SW_DID_NAME_PREFIX = 'holder-did-sw-key';\nexport const HW_DID_NAME_PREFIX = 'holder-did-hw-key';\n\nexport const generateHwIdentifier = async (core: ONECore, organisationId: string) => {\n const hwKeyId = await core\n .generateKey({\n keyParams: {},\n keyType: 'ECDSA',\n name: 'holder-key-hw',\n organisationId,\n storageParams: {},\n storageType: 'SECURE_ELEMENT',\n })\n .catch((e) => {\n // ignore if HW keys not supported by device\n if (e instanceof OneError && e.code === OneErrorCode.KeyStorageNotSupported) {\n return null;\n }\n throw e;\n });\n\n if (hwKeyId) {\n return core.createIdentifier({\n did: {\n method: 'KEY',\n name: HW_DID_NAME_PREFIX,\n keys: {\n assertionMethod: [hwKeyId],\n authentication: [hwKeyId],\n capabilityDelegation: [hwKeyId],\n capabilityInvocation: [hwKeyId],\n keyAgreement: [hwKeyId],\n },\n params: {},\n },\n name: HW_DID_NAME_PREFIX,\n organisationId,\n });\n }\n\n return null;\n};\n\nexport const generateSwIdentifier = async (core: ONECore, organisationId: string) => {\n const swKeyId = await core.generateKey({\n keyParams: {},\n keyType: 'ECDSA',\n name: 'holder-key-sw',\n organisationId,\n storageParams: {},\n storageType: 'INTERNAL',\n });\n\n return core.createIdentifier({\n did: {\n method: 'KEY',\n name: SW_DID_NAME_PREFIX,\n keys: {\n assertionMethod: [swKeyId],\n authentication: [swKeyId],\n capabilityDelegation: [swKeyId],\n capabilityInvocation: [swKeyId],\n keyAgreement: [swKeyId],\n },\n params: {},\n },\n name: SW_DID_NAME_PREFIX,\n organisationId,\n });\n};\n\nexport interface IdentifiersInitializationConfig {\n generateHwKey: boolean;\n generateSwKey: boolean;\n}\n\n/**\n * Create base local identifiers\n * @param {IdentifiersInitializationConfig} config Select desired keys/dids to be created\n * @returns [hwIdentifierId, swIdentifierId]\n */\nexport const useInitializeONECoreIdentifiers = ({ generateHwKey, generateSwKey }: IdentifiersInitializationConfig) => {\n const { core, organisationId } = useONECore();\n\n return useCallback(async () => {\n return await core\n .createOrganisation({ id: organisationId })\n .catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OrganisationAlreadyExists) {\n return;\n }\n throw e;\n })\n .then(() =>\n Promise.all([\n generateHwKey ? generateHwIdentifier(core, organisationId) : null,\n generateSwKey ? generateSwIdentifier(core, organisationId) : null,\n ]),\n )\n .catch((err) => {\n reportException(err, 'Failed to create base identifiers');\n throw err;\n });\n }, [core, organisationId, generateHwKey, generateSwKey]);\n};\n"],"mappings":"AAAA,SAAkBA,QAAQ,QAAQ,iCAAiC;AACnE,SAASC,WAAW,QAAQ,OAAO;AAEnC,SAASC,eAAe,QAAQ,iBAAiB;AACjD,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,YAAY,QAAQ,cAAc;AAE3C,OAAO,MAAMC,kBAAkB,GAAG,mBAAmB;AACrD,OAAO,MAAMC,kBAAkB,GAAG,mBAAmB;AAErD,OAAO,MAAMC,oBAAoB,GAAG,MAAAA,CAAOC,IAAa,EAAEC,cAAsB,KAAK;EACnF,MAAMC,OAAO,GAAG,MAAMF,IAAI,CACvBG,WAAW,CAAC;IACXC,SAAS,EAAE,CAAC,CAAC;IACbC,OAAO,EAAE,OAAO;IAChBC,IAAI,EAAE,eAAe;IACrBL,cAAc;IACdM,aAAa,EAAE,CAAC,CAAC;IACjBC,WAAW,EAAE;EACf,CAAC,CAAC,CACDC,KAAK,CAAEC,CAAC,IAAK;IACZ;IACA,IAAIA,CAAC,YAAYlB,QAAQ,IAAIkB,CAAC,CAACC,IAAI,KAAKf,YAAY,CAACgB,sBAAsB,EAAE;MAC3E,OAAO,IAAI;IACb;IACA,MAAMF,CAAC;EACT,CAAC,CAAC;EAEJ,IAAIR,OAAO,EAAE;IACX,OAAOF,IAAI,CAACa,gBAAgB,CAAC;MAC3BC,GAAG,EAAE;QACHC,MAAM,EAAE,KAAK;QACbT,IAAI,EAAER,kBAAkB;QACxBkB,IAAI,EAAE;UACJC,eAAe,EAAE,CAACf,OAAO,CAAC;UAC1BgB,cAAc,EAAE,CAAChB,OAAO,CAAC;UACzBiB,oBAAoB,EAAE,CAACjB,OAAO,CAAC;UAC/BkB,oBAAoB,EAAE,CAAClB,OAAO,CAAC;UAC/BmB,YAAY,EAAE,CAACnB,OAAO;QACxB,CAAC;QACDoB,MAAM,EAAE,CAAC;MACX,CAAC;MACDhB,IAAI,EAAER,kBAAkB;MACxBG;IACF,CAAC,CAAC;EACJ;EAEA,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAMsB,oBAAoB,GAAG,MAAAA,CAAOvB,IAAa,EAAEC,cAAsB,KAAK;EACnF,MAAMuB,OAAO,GAAG,MAAMxB,IAAI,CAACG,WAAW,CAAC;IACrCC,SAAS,EAAE,CAAC,CAAC;IACbC,OAAO,EAAE,OAAO;IAChBC,IAAI,EAAE,eAAe;IACrBL,cAAc;IACdM,aAAa,EAAE,CAAC,CAAC;IACjBC,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,OAAOR,IAAI,CAACa,gBAAgB,CAAC;IAC3BC,GAAG,EAAE;MACHC,MAAM,EAAE,KAAK;MACbT,IAAI,EAAET,kBAAkB;MACxBmB,IAAI,EAAE;QACJC,eAAe,EAAE,CAACO,OAAO,CAAC;QAC1BN,cAAc,EAAE,CAACM,OAAO,CAAC;QACzBL,oBAAoB,EAAE,CAACK,OAAO,CAAC;QAC/BJ,oBAAoB,EAAE,CAACI,OAAO,CAAC;QAC/BH,YAAY,EAAE,CAACG,OAAO;MACxB,CAAC;MACDF,MAAM,EAAE,CAAC;IACX,CAAC;IACDhB,IAAI,EAAET,kBAAkB;IACxBI;EACF,CAAC,CAAC;AACJ,CAAC;AAOD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMwB,+BAA+B,GAAGA,CAAC;EAAEC,aAAa;EAAEC;AAA+C,CAAC,KAAK;EACpH,MAAM;IAAE3B,IAAI;IAAEC;EAAe,CAAC,GAAGN,UAAU,CAAC,CAAC;EAE7C,OAAOF,WAAW,CAAC,YAAY;IAC7B,OAAO,MAAMO,IAAI,CACd4B,kBAAkB,CAAC;MAAEC,EAAE,EAAE5B;IAAe,CAAC,CAAC,CAC1CQ,KAAK,CAAEC,CAAC,IAAK;MACZ,IAAIA,CAAC,YAAYlB,QAAQ,IAAIkB,CAAC,CAACC,IAAI,KAAKf,YAAY,CAACkC,yBAAyB,EAAE;QAC9E;MACF;MACA,MAAMpB,CAAC;IACT,CAAC,CAAC,CACDqB,IAAI,CAAC,MACJC,OAAO,CAACC,GAAG,CAAC,CACVP,aAAa,GAAG3B,oBAAoB,CAACC,IAAI,EAAEC,cAAc,CAAC,GAAG,IAAI,EACjE0B,aAAa,GAAGJ,oBAAoB,CAACvB,IAAI,EAAEC,cAAc,CAAC,GAAG,IAAI,CAClE,CACH,CAAC,CACAQ,KAAK,CAAEyB,GAAG,IAAK;MACdxC,eAAe,CAACwC,GAAG,EAAE,mCAAmC,CAAC;MACzD,MAAMA,GAAG;IACX,CAAC,CAAC;EACN,CAAC,EAAE,CAAClC,IAAI,EAAEC,cAAc,EAAEyB,aAAa,EAAEC,aAAa,CAAC,CAAC;AAC1D,CAAC","ignoreList":[]}
@@ -1,6 +1,10 @@
1
+ import { IdentifierStateEnum, IdentifierTypeEnum } from "@procivis/react-native-one-core";
1
2
  import { useQuery } from "react-query";
3
+ import { getQueryKeyFromIdentifierListQueryParams } from "../../parsers";
2
4
  import { useONECore } from "./core-context";
3
5
  export const IDENTIFIER_DETAIL_QUERY_KEY = 'identifier-detail';
6
+ export const IDENTIFIER_LIST_QUERY_KEY = 'identifier-list';
7
+ const PAGE_SIZE = 20;
4
8
  export const useIdentifierDetails = identifierId => {
5
9
  const {
6
10
  core
@@ -10,4 +14,21 @@ export const useIdentifierDetails = identifierId => {
10
14
  keepPreviousData: true
11
15
  });
12
16
  };
17
+ export const useIdentifiers = identifierFilter => {
18
+ const {
19
+ core,
20
+ organisationId
21
+ } = useONECore();
22
+ return useQuery([IDENTIFIER_LIST_QUERY_KEY, ...getQueryKeyFromIdentifierListQueryParams(identifierFilter)], ({
23
+ pageParam = 0
24
+ }) => core.getIdentifiers({
25
+ types: [IdentifierTypeEnum.DID],
26
+ isRemote: false,
27
+ page: pageParam,
28
+ state: IdentifierStateEnum.ACTIVE,
29
+ organisationId: organisationId,
30
+ pageSize: PAGE_SIZE,
31
+ ...identifierFilter
32
+ }));
33
+ };
13
34
  //# sourceMappingURL=identifiers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useQuery","useONECore","IDENTIFIER_DETAIL_QUERY_KEY","useIdentifierDetails","identifierId","core","getIdentifier","undefined","enabled","Boolean","keepPreviousData"],"sources":["identifiers.ts"],"sourcesContent":["import { useQuery } from \"react-query\";\n\nimport { useONECore } from \"./core-context\";\n\nexport const IDENTIFIER_DETAIL_QUERY_KEY = 'identifier-detail';\n\nexport const useIdentifierDetails = (identifierId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [IDENTIFIER_DETAIL_QUERY_KEY, identifierId],\n () => (identifierId ? core.getIdentifier(identifierId) : undefined),\n {\n enabled: Boolean(identifierId),\n keepPreviousData: true,\n },\n );\n}"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,aAAa;AAEtC,SAASC,UAAU,QAAQ,gBAAgB;AAE3C,OAAO,MAAMC,2BAA2B,GAAG,mBAAmB;AAE9D,OAAO,MAAMC,oBAAoB,GAAIC,YAAgC,IAAK;EACxE,MAAM;IAAEC;EAAK,CAAC,GAAGJ,UAAU,CAAC,CAAC;EAE7B,OAAOD,QAAQ,CACb,CAACE,2BAA2B,EAAEE,YAAY,CAAC,EAC3C,MAAOA,YAAY,GAAGC,IAAI,CAACC,aAAa,CAACF,YAAY,CAAC,GAAGG,SAAU,EACnE;IACEC,OAAO,EAAEC,OAAO,CAACL,YAAY,CAAC;IAC9BM,gBAAgB,EAAE;EACpB,CACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["IdentifierStateEnum","IdentifierTypeEnum","useQuery","getQueryKeyFromIdentifierListQueryParams","useONECore","IDENTIFIER_DETAIL_QUERY_KEY","IDENTIFIER_LIST_QUERY_KEY","PAGE_SIZE","useIdentifierDetails","identifierId","core","getIdentifier","undefined","enabled","Boolean","keepPreviousData","useIdentifiers","identifierFilter","organisationId","pageParam","getIdentifiers","types","DID","isRemote","page","state","ACTIVE","pageSize"],"sources":["identifiers.ts"],"sourcesContent":["import { IdentifierListQuery, IdentifierStateEnum, IdentifierTypeEnum } from \"@procivis/react-native-one-core\";\nimport { useQuery } from \"react-query\";\n\nimport { getQueryKeyFromIdentifierListQueryParams } from \"../../parsers\";\nimport { useONECore } from \"./core-context\";\n\nexport const IDENTIFIER_DETAIL_QUERY_KEY = 'identifier-detail';\nexport const IDENTIFIER_LIST_QUERY_KEY = 'identifier-list';\nconst PAGE_SIZE = 20;\n\nexport const useIdentifierDetails = (identifierId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [IDENTIFIER_DETAIL_QUERY_KEY, identifierId],\n () => (identifierId ? core.getIdentifier(identifierId) : undefined),\n {\n enabled: Boolean(identifierId),\n keepPreviousData: true,\n },\n );\n}\n\nexport const useIdentifiers = (identifierFilter?: Partial<IdentifierListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [IDENTIFIER_LIST_QUERY_KEY, ...getQueryKeyFromIdentifierListQueryParams(identifierFilter)],\n ({ pageParam = 0 }) => (core.getIdentifiers({\n types: [IdentifierTypeEnum.DID],\n isRemote: false,\n page: pageParam,\n state: IdentifierStateEnum.ACTIVE,\n organisationId: organisationId,\n pageSize: PAGE_SIZE,\n ...identifierFilter,\n })),\n );\n};\n"],"mappings":"AAAA,SAA8BA,mBAAmB,EAAEC,kBAAkB,QAAQ,iCAAiC;AAC9G,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,wCAAwC,QAAQ,eAAe;AACxE,SAASC,UAAU,QAAQ,gBAAgB;AAE3C,OAAO,MAAMC,2BAA2B,GAAG,mBAAmB;AAC9D,OAAO,MAAMC,yBAAyB,GAAG,iBAAiB;AAC1D,MAAMC,SAAS,GAAG,EAAE;AAEpB,OAAO,MAAMC,oBAAoB,GAAIC,YAAgC,IAAK;EACxE,MAAM;IAAEC;EAAK,CAAC,GAAGN,UAAU,CAAC,CAAC;EAE7B,OAAOF,QAAQ,CACb,CAACG,2BAA2B,EAAEI,YAAY,CAAC,EAC3C,MAAOA,YAAY,GAAGC,IAAI,CAACC,aAAa,CAACF,YAAY,CAAC,GAAGG,SAAU,EACnE;IACEC,OAAO,EAAEC,OAAO,CAACL,YAAY,CAAC;IAC9BM,gBAAgB,EAAE;EACpB,CACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,cAAc,GAAIC,gBAA+C,IAAK;EACjF,MAAM;IAAEP,IAAI;IAAEQ;EAAe,CAAC,GAAGd,UAAU,CAAC,CAAC;EAE7C,OAAOF,QAAQ,CACb,CAACI,yBAAyB,EAAE,GAAGH,wCAAwC,CAACc,gBAAgB,CAAC,CAAC,EAC1F,CAAC;IAAEE,SAAS,GAAG;EAAE,CAAC,KAAMT,IAAI,CAACU,cAAc,CAAC;IAC1CC,KAAK,EAAE,CAACpB,kBAAkB,CAACqB,GAAG,CAAC;IAC/BC,QAAQ,EAAE,KAAK;IACfC,IAAI,EAAEL,SAAS;IACfM,KAAK,EAAEzB,mBAAmB,CAAC0B,MAAM;IACjCR,cAAc,EAAEA,cAAc;IAC9BS,QAAQ,EAAEpB,SAAS;IACnB,GAAGU;EACL,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -4,9 +4,9 @@ import { useMutation, useQuery, useQueryClient } from 'react-query';
4
4
  import { getQueryKeyFromProofListQueryParams } from '../../parsers/query';
5
5
  import { useCoreConfig } from './core-config';
6
6
  import { useONECore } from './core-context';
7
- import { useDids } from './dids';
8
7
  import { OneErrorCode } from './error-code';
9
8
  import { HISTORY_LIST_QUERY_KEY } from './history';
9
+ import { useIdentifiers } from './identifiers';
10
10
  import { useProofSchemaDetail } from './proof-schemas';
11
11
  const PAGE_SIZE = 10;
12
12
  export const PROOF_DETAIL_QUERY_KEY = 'proof-detail';
@@ -158,7 +158,7 @@ export const useProofCreate = () => {
158
158
  }
159
159
  });
160
160
  };
161
- const getDidFilterForProofSchema = (proofSchema, config) => {
161
+ const getIdentifierFilterForProofSchema = (proofSchema, config) => {
162
162
  const requestedFormats = proofSchema.proofInputSchemas.map(schema => schema.credentialSchema.format);
163
163
  const requestedFormatsCapabilities = requestedFormats.map(format => {
164
164
  var _config$format$format;
@@ -190,10 +190,10 @@ export const useProofForSchemaIdWithTransport = (proofSchemaId, transport, enabl
190
190
  const {
191
191
  data: config
192
192
  } = useCoreConfig();
193
- const didFilter = useMemo(() => proofSchema && config ? getDidFilterForProofSchema(proofSchema, config) : undefined, [config, proofSchema]);
193
+ const identifierFilter = useMemo(() => proofSchema && config ? getIdentifierFilterForProofSchema(proofSchema, config) : undefined, [config, proofSchema]);
194
194
  const {
195
- data: dids
196
- } = useDids(didFilter);
195
+ data: identifiers
196
+ } = useIdentifiers(identifierFilter);
197
197
  const {
198
198
  mutateAsync: createProof
199
199
  } = useProofCreate();
@@ -226,21 +226,27 @@ export const useProofForSchemaIdWithTransport = (proofSchemaId, transport, enabl
226
226
  }
227
227
  if (proofState !== ProofStateEnum.CREATED && proofState !== ProofStateEnum.PENDING) {
228
228
  setProofId(undefined);
229
+ } else {
230
+ setDeleting(true);
231
+ deleteProof(proofIdRef.current || '').then(() => {
232
+ setProofId(undefined);
233
+ setDeleting(false);
234
+ }).catch(() => {});
229
235
  }
230
- }, [enabled, proofState, setProofId]);
236
+ }, [deleteProof, enabled, proofId, proofState, setProofId]);
231
237
  useEffect(() => {
232
- if (deleting || !enabled || proofId || !dids || !didFilter || !dids.values.length || !transport || transport.length === 0) {
238
+ if (deleting || !enabled || proofId || !identifiers || !identifierFilter || !identifiers.values.length || !transport || transport.length === 0) {
233
239
  return;
234
240
  }
235
241
  createProof({
236
- exchange: VerificationProtocol.OPENID4VP_PROXIMITY_DRAFT00,
242
+ protocol: VerificationProtocol.OPENID4VP_PROXIMITY_DRAFT00,
237
243
  proofSchemaId,
238
244
  transport,
239
- verifierDidId: dids.values[0].id
245
+ verifierIdentifierId: identifiers.values[0].id
240
246
  }).then(id => {
241
247
  setProofId(id);
242
248
  }).catch(() => {});
243
- }, [proofSchemaId, dids, didFilter, createProof, enabled, transport, proofId, setProofId, deleting]);
249
+ }, [proofSchemaId, identifiers, identifierFilter, createProof, enabled, transport, proofId, setProofId, deleting]);
244
250
  return deleting ? undefined : proofId;
245
251
  };
246
252
  export const useCleanupUnusedProofs = () => {
@@ -287,13 +293,17 @@ export const useShareProof = (proofUrlProps, enabled) => {
287
293
  bleAdapterDisabled: false,
288
294
  url
289
295
  });
290
- }).catch(err => {
291
- var _err$cause;
292
- // TODO emit error with specific error code from core.
293
- if (err instanceof OneError && (_err$cause = err.cause) !== null && _err$cause !== void 0 && _err$cause.includes('BLE adapter not enabled')) {
296
+ }).catch(error => {
297
+ var _error$cause;
298
+ if (error instanceof OneError && (_error$cause = error.cause) !== null && _error$cause !== void 0 && _error$cause.includes('BLE adapter not enabled')) {
294
299
  setSharedProof({
295
300
  bleAdapterDisabled: true
296
301
  });
302
+ } else {
303
+ setSharedProof({
304
+ error,
305
+ bleAdapterDisabled: false
306
+ });
297
307
  }
298
308
  });
299
309
  }, [enabled, proofUrlProps, shareProof, sharedProof]);
@@ -1 +1 @@
1
- {"version":3,"names":["OneError","ProofStateEnum","useCallback","useEffect","useMemo","useRef","useState","useMutation","useQuery","useQueryClient","getQueryKeyFromProofListQueryParams","useCoreConfig","useONECore","useDids","OneErrorCode","HISTORY_LIST_QUERY_KEY","useProofSchemaDetail","PAGE_SIZE","PROOF_DETAIL_QUERY_KEY","PROOF_STATE_QUERY_KEY","PROOF_LIST_QUERY_KEY","useProofDetail","proofId","core","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","then","proof","state","refetchInterval","useProofUrl","queryClient","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","didId","identifierId","keyId","holderSubmitProof","onError","useProofReject","holderRejectProof","catch","e","code","OperationNotSupported","IssuanceProtocol","VerificationProtocol","useProposeProof","organisationId","exchange","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","pageParam","getProofs","page","pageSize","useProofCreate","data","createProof","getDidFilterForProofSchema","proofSchema","config","requestedFormats","proofInputSchemas","map","schema","credentialSchema","format","requestedFormatsCapabilities","_config$format$format","capabilities","filter","x","keyAlgorithms","reduce","others","_others$filter","current","verificationKeyAlgorithms","item","includes","keyStorages","_others$filter2","verificationKeyStorages","useProofForSchemaIdWithTransport","proofSchemaId","transport","didFilter","dids","mutateAsync","deleting","setDeleting","setProofIdState","proofIdRef","proofState","setProofId","id","CREATED","PENDING","values","length","OPENID4VP_PROXIMITY_DRAFT00","verifierDidId","useCleanupUnusedProofs","proofs","proofStates","cleaned","setCleaned","forEach","useShareProof","proofUrlProps","sharedProof","setSharedProof","bleAdapterDisabled","err","_err$cause","cause","useRetainProofCheck","runTask","removeQueries","useDeleteProofData","deleteProofClaims","useDeleteAllProofsData","schemaId","proofSchemaIds","ACCEPTED","result","Promise","all","reverse"],"sources":["proofs.ts"],"sourcesContent":["import {\n Config,\n CreateProofRequest,\n DidListQuery,\n OneError,\n PresentationSubmitCredentialRequest,\n ProofListQuery,\n ProofSchema,\n ProofStateEnum,\n ShareProofRequest,\n} from '@procivis/react-native-one-core';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromProofListQueryParams } from '../../parsers/query';\nimport { Transport } from '../connectivity/connectivity';\nimport { useCoreConfig } from './core-config';\nimport { useONECore } from './core-context';\nimport { useDids } from './dids';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { useProofSchemaDetail } from './proof-schemas';\n\nconst PAGE_SIZE = 10;\nexport const PROOF_DETAIL_QUERY_KEY = 'proof-detail';\nexport const PROOF_STATE_QUERY_KEY = 'proof-state';\nexport const PROOF_LIST_QUERY_KEY = 'proof-list';\n\nexport const useProofDetail = (proofId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery([PROOF_DETAIL_QUERY_KEY, proofId], () => (proofId ? core.getProof(proofId) : undefined), {\n enabled: Boolean(proofId),\n keepPreviousData: true,\n });\n};\n\nexport const useProofState = (proofId: string | undefined, isPolling: boolean) => {\n const { core } = useONECore();\n\n return useQuery(\n [PROOF_STATE_QUERY_KEY, proofId],\n () => (proofId ? core.getProof(proofId).then((proof) => proof.state) : undefined),\n {\n enabled: Boolean(proofId),\n refetchInterval: isPolling ? 1000 : false,\n },\n );\n};\n\ntype ProofUrlHookParams = { proofId: string; request?: ShareProofRequest };\n\nexport const useProofUrl = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ proofId, request }: ProofUrlHookParams) =>\n core.shareProof(proofId, request ?? {}).then((proof) => proof.url),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({\n interactionId,\n credentials,\n didId,\n identifierId,\n keyId,\n }: {\n credentials: Record<string, PresentationSubmitCredentialRequest>;\n didId?: string;\n identifierId?: string;\n interactionId: string;\n keyId?: string;\n }) => core.holderSubmitProof(interactionId, credentials, didId, identifierId, keyId),\n {\n onError: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectProof(interactionId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport enum IssuanceProtocol {\n OPENID4VCI_DRAFT13 = 'OPENID4VCI_DRAFT13',\n}\n\nexport enum VerificationProtocol {\n ISO_MDL = 'ISO_MDL',\n OPENID4VP_DRAFT20 = 'OPENID4VP_DRAFT20',\n OPENID4VP_DRAFT25 = 'OPENID4VP_DRAFT25',\n OPENID4VP_PROXIMITY_DRAFT00 = 'OPENID4VP_PROXIMITY_DRAFT00',\n SCAN_TO_VERIFY = 'SCAN_TO_VERIFY',\n}\n\nexport const useProposeProof = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(async (exchange: VerificationProtocol) => core.proposeProof(exchange, organisationId), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useProofDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (proofId: string) => {\n return core.deleteProof(proofId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofs = (queryParams?: Partial<ProofListQuery>) => {\n const { core, organisationId } = useONECore();\n\n const queryKey = [PROOF_LIST_QUERY_KEY, ...getQueryKeyFromProofListQueryParams(queryParams)];\n\n return useQuery(\n queryKey,\n ({ pageParam = 0 }) =>\n core.getProofs({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n ...queryParams,\n }),\n {\n keepPreviousData: false,\n },\n );\n};\n\nexport const useProofCreate = () => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async (data: CreateProofRequest) => core.createProof(data), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n },\n });\n};\n\nconst getDidFilterForProofSchema = (proofSchema: ProofSchema, config: Config): Partial<DidListQuery> => {\n const requestedFormats = proofSchema.proofInputSchemas.map((schema) => schema.credentialSchema.format);\n const requestedFormatsCapabilities = requestedFormats\n .map((format) => config.format[format]?.capabilities)\n .filter((x) => x);\n\n // key algorithms must be supported by all requested formats\n const keyAlgorithms = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyAlgorithms;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n // key storages must be supported by all requested formats\n const keyStorages = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyStorages;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n return { keyAlgorithms, keyStorages };\n};\n\nexport const useProofForSchemaIdWithTransport = (\n proofSchemaId: string,\n transport: Transport[] | undefined,\n enabled: boolean,\n) => {\n const { data: proofSchema } = useProofSchemaDetail(proofSchemaId, enabled);\n const { data: config } = useCoreConfig();\n\n const didFilter = useMemo(\n () => (proofSchema && config ? getDidFilterForProofSchema(proofSchema, config) : undefined),\n [config, proofSchema],\n );\n\n const { data: dids } = useDids(didFilter);\n const { mutateAsync: createProof } = useProofCreate();\n const { mutateAsync: deleteProof } = useProofDelete();\n\n const [deleting, setDeleting] = useState(false);\n const [proofId, setProofIdState] = useState<string | undefined>(undefined);\n const proofIdRef = useRef<string>();\n\n const { data: proofState } = useProofState(deleting ? undefined : proofId, enabled);\n\n const setProofId = useCallback((id: string | undefined) => {\n proofIdRef.current = id;\n setProofIdState(id);\n }, []);\n\n useEffect(() => {\n if (!proofIdRef.current) {\n return;\n }\n setDeleting(true);\n deleteProof(proofIdRef.current)\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }, [proofIdRef, deleteProof, proofSchemaId, transport, setProofId]);\n\n useEffect(() => {\n if (enabled) {\n return;\n }\n if (proofState !== ProofStateEnum.CREATED && proofState !== ProofStateEnum.PENDING) {\n setProofId(undefined);\n }\n }, [enabled, proofState, setProofId]);\n\n useEffect(() => {\n if (\n deleting ||\n !enabled ||\n proofId ||\n !dids ||\n !didFilter ||\n !dids.values.length ||\n !transport ||\n transport.length === 0\n ) {\n return;\n }\n\n createProof({\n exchange: VerificationProtocol.OPENID4VP_PROXIMITY_DRAFT00,\n proofSchemaId,\n transport,\n verifierDidId: dids.values[0].id,\n })\n .then((id) => {\n setProofId(id);\n })\n .catch(() => {});\n }, [proofSchemaId, dids, didFilter, createProof, enabled, transport, proofId, setProofId, deleting]);\n\n return deleting ? undefined : proofId;\n};\n\nexport const useCleanupUnusedProofs = () => {\n const { mutateAsync: deleteProof } = useProofDelete();\n const { data: proofs } = useProofs({\n page: 0,\n pageSize: 100,\n proofStates: [ProofStateEnum.CREATED, ProofStateEnum.PENDING],\n });\n const [cleaned, setCleaned] = useState(false);\n\n useEffect(() => {\n if (cleaned || !proofs) {\n return;\n }\n setCleaned(true);\n proofs.values.forEach((proof) => deleteProof(proof.id));\n }, [cleaned, deleteProof, proofs]);\n};\n\nexport const useShareProof = (proofUrlProps: ProofUrlHookParams | undefined, enabled: boolean) => {\n const { mutateAsync: shareProof } = useProofUrl();\n const { data: proofState } = useProofState(proofUrlProps?.proofId, enabled);\n\n const [sharedProof, setSharedProof] = useState<{\n bleAdapterDisabled: boolean;\n url?: string;\n }>();\n\n // reset when proofId changes or the proof was retracted\n useEffect(() => {\n if (!proofUrlProps?.proofId || proofState === ProofStateEnum.CREATED) {\n setSharedProof(undefined);\n }\n }, [proofUrlProps?.proofId, proofState]);\n\n useEffect(() => {\n if (!proofUrlProps || !enabled || sharedProof) {\n return;\n }\n\n shareProof(proofUrlProps)\n .then((url) => {\n setSharedProof({\n bleAdapterDisabled: false,\n url,\n });\n })\n .catch((err: unknown) => {\n // TODO emit error with specific error code from core.\n if (err instanceof OneError && err.cause?.includes('BLE adapter not enabled')) {\n setSharedProof({\n bleAdapterDisabled: true,\n });\n }\n });\n }, [enabled, proofUrlProps, shareProof, sharedProof]);\n\n return sharedProof;\n};\n\nexport const useRetainProofCheck = (proofId?: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.runTask('RETAIN_PROOF_CHECK'), {\n onSuccess: async () => {\n if (proofId) {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n }\n },\n });\n};\n\nexport const useDeleteProofData = (proofId: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.deleteProofClaims(proofId), {\n onSuccess: async () => {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useDeleteAllProofsData = (schemaId: string) => {\n const queryClient = useQueryClient();\n\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async () =>\n core\n .getProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofStateEnum.ACCEPTED],\n })\n .then((result) => Promise.all(result.values.reverse().map((proof) => core.deleteProofClaims(proof.id)))),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["OneError","ProofStateEnum","useCallback","useEffect","useMemo","useRef","useState","useMutation","useQuery","useQueryClient","getQueryKeyFromProofListQueryParams","useCoreConfig","useONECore","OneErrorCode","HISTORY_LIST_QUERY_KEY","useIdentifiers","useProofSchemaDetail","PAGE_SIZE","PROOF_DETAIL_QUERY_KEY","PROOF_STATE_QUERY_KEY","PROOF_LIST_QUERY_KEY","useProofDetail","proofId","core","getProof","undefined","enabled","Boolean","keepPreviousData","useProofState","isPolling","then","proof","state","refetchInterval","useProofUrl","queryClient","request","shareProof","url","onSuccess","invalidateQueries","useProofAccept","interactionId","credentials","didId","identifierId","keyId","holderSubmitProof","onError","useProofReject","holderRejectProof","catch","e","code","OperationNotSupported","IssuanceProtocol","VerificationProtocol","useProposeProof","organisationId","exchange","proposeProof","useProofDelete","deleteProof","useProofs","queryParams","queryKey","pageParam","getProofs","page","pageSize","useProofCreate","data","createProof","getIdentifierFilterForProofSchema","proofSchema","config","requestedFormats","proofInputSchemas","map","schema","credentialSchema","format","requestedFormatsCapabilities","_config$format$format","capabilities","filter","x","keyAlgorithms","reduce","others","_others$filter","current","verificationKeyAlgorithms","item","includes","keyStorages","_others$filter2","verificationKeyStorages","useProofForSchemaIdWithTransport","proofSchemaId","transport","identifierFilter","identifiers","mutateAsync","deleting","setDeleting","setProofIdState","proofIdRef","proofState","setProofId","id","CREATED","PENDING","values","length","protocol","OPENID4VP_PROXIMITY_DRAFT00","verifierIdentifierId","useCleanupUnusedProofs","proofs","proofStates","cleaned","setCleaned","forEach","useShareProof","proofUrlProps","sharedProof","setSharedProof","bleAdapterDisabled","error","_error$cause","cause","useRetainProofCheck","runTask","removeQueries","useDeleteProofData","deleteProofClaims","useDeleteAllProofsData","schemaId","proofSchemaIds","ACCEPTED","result","Promise","all","reverse"],"sources":["proofs.ts"],"sourcesContent":["import {\n Config,\n CreateProofRequest,\n IdentifierListQuery,\n OneError,\n PresentationSubmitCredentialRequest,\n ProofListQuery,\n ProofSchema,\n ProofStateEnum,\n ShareProofRequest,\n} from '@procivis/react-native-one-core';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromProofListQueryParams } from '../../parsers/query';\nimport { Transport } from '../connectivity/connectivity';\nimport { useCoreConfig } from './core-config';\nimport { useONECore } from './core-context';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { useIdentifiers } from './identifiers';\nimport { useProofSchemaDetail } from './proof-schemas';\n\nconst PAGE_SIZE = 10;\nexport const PROOF_DETAIL_QUERY_KEY = 'proof-detail';\nexport const PROOF_STATE_QUERY_KEY = 'proof-state';\nexport const PROOF_LIST_QUERY_KEY = 'proof-list';\n\nexport const useProofDetail = (proofId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery([PROOF_DETAIL_QUERY_KEY, proofId], () => (proofId ? core.getProof(proofId) : undefined), {\n enabled: Boolean(proofId),\n keepPreviousData: true,\n });\n};\n\nexport const useProofState = (proofId: string | undefined, isPolling: boolean) => {\n const { core } = useONECore();\n\n return useQuery(\n [PROOF_STATE_QUERY_KEY, proofId],\n () => (proofId ? core.getProof(proofId).then((proof) => proof.state) : undefined),\n {\n enabled: Boolean(proofId),\n refetchInterval: isPolling ? 1000 : false,\n },\n );\n};\n\ntype ProofUrlHookParams = { proofId: string; request?: ShareProofRequest };\n\nexport const useProofUrl = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({ proofId, request }: ProofUrlHookParams) =>\n core.shareProof(proofId, request ?? {}).then((proof) => proof.url),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async ({\n interactionId,\n credentials,\n didId,\n identifierId,\n keyId,\n }: {\n credentials: Record<string, PresentationSubmitCredentialRequest>;\n didId?: string;\n identifierId?: string;\n interactionId: string;\n keyId?: string;\n }) => core.holderSubmitProof(interactionId, credentials, didId, identifierId, keyId),\n {\n onError: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectProof(interactionId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport enum IssuanceProtocol {\n OPENID4VCI_DRAFT13 = 'OPENID4VCI_DRAFT13',\n}\n\nexport enum VerificationProtocol {\n ISO_MDL = 'ISO_MDL',\n OPENID4VP_DRAFT20 = 'OPENID4VP_DRAFT20',\n OPENID4VP_DRAFT25 = 'OPENID4VP_DRAFT25',\n OPENID4VP_PROXIMITY_DRAFT00 = 'OPENID4VP_PROXIMITY_DRAFT00',\n SCAN_TO_VERIFY = 'SCAN_TO_VERIFY',\n}\n\nexport const useProposeProof = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(async (exchange: VerificationProtocol) => core.proposeProof(exchange, organisationId), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useProofDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (proofId: string) => {\n return core.deleteProof(proofId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n });\n },\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useProofs = (queryParams?: Partial<ProofListQuery>) => {\n const { core, organisationId } = useONECore();\n\n const queryKey = [PROOF_LIST_QUERY_KEY, ...getQueryKeyFromProofListQueryParams(queryParams)];\n\n return useQuery(\n queryKey,\n ({ pageParam = 0 }) =>\n core.getProofs({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n ...queryParams,\n }),\n {\n keepPreviousData: false,\n },\n );\n};\n\nexport const useProofCreate = () => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async (data: CreateProofRequest) => core.createProof(data), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_STATE_QUERY_KEY);\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n },\n });\n};\n\nconst getIdentifierFilterForProofSchema = (proofSchema: ProofSchema, config: Config): Partial<IdentifierListQuery> => {\n const requestedFormats = proofSchema.proofInputSchemas.map((schema) => schema.credentialSchema.format);\n const requestedFormatsCapabilities = requestedFormats\n .map((format) => config.format[format]?.capabilities)\n .filter((x) => x);\n\n // key algorithms must be supported by all requested formats\n const keyAlgorithms = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyAlgorithms;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n // key storages must be supported by all requested formats\n const keyStorages = requestedFormatsCapabilities.reduce<string[] | undefined>((others, capabilities) => {\n const current = capabilities.verificationKeyStorages;\n return others?.filter((item) => current.includes(item)) ?? current;\n }, undefined);\n\n return { keyAlgorithms, keyStorages };\n};\n\nexport const useProofForSchemaIdWithTransport = (\n proofSchemaId: string,\n transport: Transport[] | undefined,\n enabled: boolean,\n) => {\n const { data: proofSchema } = useProofSchemaDetail(proofSchemaId, enabled);\n const { data: config } = useCoreConfig();\n\n const identifierFilter = useMemo(\n () => (proofSchema && config ? getIdentifierFilterForProofSchema(proofSchema, config) : undefined),\n [config, proofSchema],\n );\n\n const { data: identifiers } = useIdentifiers(identifierFilter);\n const { mutateAsync: createProof } = useProofCreate();\n const { mutateAsync: deleteProof } = useProofDelete();\n\n const [deleting, setDeleting] = useState(false);\n const [proofId, setProofIdState] = useState<string | undefined>(undefined);\n const proofIdRef = useRef<string>();\n\n const { data: proofState } = useProofState(deleting ? undefined : proofId, enabled);\n\n const setProofId = useCallback((id: string | undefined) => {\n proofIdRef.current = id;\n setProofIdState(id);\n }, []);\n\n useEffect(() => {\n if (!proofIdRef.current) {\n return;\n }\n setDeleting(true);\n deleteProof(proofIdRef.current)\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }, [proofIdRef, deleteProof, proofSchemaId, transport, setProofId]);\n\n useEffect(() => {\n if (enabled) {\n return;\n }\n\n if (proofState !== ProofStateEnum.CREATED && proofState !== ProofStateEnum.PENDING) {\n setProofId(undefined);\n } else {\n setDeleting(true);\n deleteProof(proofIdRef.current || '')\n .then(() => {\n setProofId(undefined);\n setDeleting(false);\n })\n .catch(() => {});\n }\n }, [deleteProof, enabled, proofId, proofState, setProofId]);\n\n useEffect(() => {\n if (\n deleting ||\n !enabled ||\n proofId ||\n !identifiers ||\n !identifierFilter ||\n !identifiers.values.length ||\n !transport ||\n transport.length === 0\n ) {\n return;\n }\n\n createProof({\n protocol: VerificationProtocol.OPENID4VP_PROXIMITY_DRAFT00,\n proofSchemaId,\n transport,\n verifierIdentifierId: identifiers.values[0].id,\n })\n .then((id) => {\n setProofId(id);\n })\n .catch(() => {});\n }, [proofSchemaId, identifiers, identifierFilter, createProof, enabled, transport, proofId, setProofId, deleting]);\n\n return deleting ? undefined : proofId;\n};\n\nexport const useCleanupUnusedProofs = () => {\n const { mutateAsync: deleteProof } = useProofDelete();\n const { data: proofs } = useProofs({\n page: 0,\n pageSize: 100,\n proofStates: [ProofStateEnum.CREATED, ProofStateEnum.PENDING],\n });\n const [cleaned, setCleaned] = useState(false);\n\n useEffect(() => {\n if (cleaned || !proofs) {\n return;\n }\n setCleaned(true);\n proofs.values.forEach((proof) => deleteProof(proof.id));\n }, [cleaned, deleteProof, proofs]);\n};\n\nexport const useShareProof = (proofUrlProps: ProofUrlHookParams | undefined, enabled: boolean) => {\n const { mutateAsync: shareProof } = useProofUrl();\n const { data: proofState } = useProofState(proofUrlProps?.proofId, enabled);\n\n const [sharedProof, setSharedProof] = useState<{\n bleAdapterDisabled: boolean;\n url?: string;\n error?: unknown;\n }>();\n\n // reset when proofId changes or the proof was retracted\n useEffect(() => {\n if (!proofUrlProps?.proofId || proofState === ProofStateEnum.CREATED) {\n setSharedProof(undefined);\n }\n }, [proofUrlProps?.proofId, proofState]);\n\n useEffect(() => {\n if (!proofUrlProps || !enabled || sharedProof) {\n return;\n }\n\n shareProof(proofUrlProps)\n .then((url) => {\n setSharedProof({\n bleAdapterDisabled: false,\n url,\n });\n })\n .catch((error: unknown) => {\n if (error instanceof OneError && error.cause?.includes('BLE adapter not enabled')) {\n setSharedProof({\n bleAdapterDisabled: true,\n });\n } else {\n setSharedProof({ error, bleAdapterDisabled: false });\n }\n });\n }, [enabled, proofUrlProps, shareProof, sharedProof]);\n\n return sharedProof;\n};\n\nexport const useRetainProofCheck = (proofId?: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.runTask('RETAIN_PROOF_CHECK'), {\n onSuccess: async () => {\n if (proofId) {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n }\n },\n });\n};\n\nexport const useDeleteProofData = (proofId: string) => {\n const queryClient = useQueryClient();\n\n const { core } = useONECore();\n\n return useMutation(async () => core.deleteProofClaims(proofId), {\n onSuccess: async () => {\n await queryClient.removeQueries([PROOF_DETAIL_QUERY_KEY, proofId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useDeleteAllProofsData = (schemaId: string) => {\n const queryClient = useQueryClient();\n\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async () =>\n core\n .getProofs({\n organisationId,\n page: 0,\n pageSize: 1000,\n proofSchemaIds: [schemaId],\n proofStates: [ProofStateEnum.ACCEPTED],\n })\n .then((result) => Promise.all(result.values.reverse().map((proof) => core.deleteProofClaims(proof.id)))),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(PROOF_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -35,8 +35,6 @@ export const useCreateTrustAnchor = publisherReference => {
35
35
  });
36
36
  }, [publisherReference, httpClient]);
37
37
  };
38
-
39
- // NOTE: As per ONE-5672, only handles DID Identifier details
40
38
  export const useTrustEntity = identifierId => {
41
39
  const {
42
40
  core
@@ -44,22 +42,35 @@ export const useTrustEntity = identifierId => {
44
42
  const {
45
43
  data: identifierDetail
46
44
  } = useIdentifierDetails(identifierId);
47
- return useQuery([TRUST_ENTITY_DETAIL_QUERY_KEY, identifierId], () => identifierDetail !== null && identifierDetail !== void 0 && identifierDetail.did ? core.getTrustEntityByDid(identifierDetail.did.id).catch(e => {
48
- if (e instanceof OneError && e.code === OneErrorCode.NoTrustEntityFound) {
49
- return null;
50
- }
51
- throw e;
52
- }) : undefined, {
53
- enabled: Boolean(identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.did),
45
+ return useQuery([TRUST_ENTITY_DETAIL_QUERY_KEY, identifierId], () => {
46
+ var _identifierDetail$cer;
47
+ return identifierId && identifierDetail ? core.resolveTrustEntityByIdentifier({
48
+ identifiers: [{
49
+ certificateId: identifierDetail.type === '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,
50
+ id: identifierId
51
+ }]
52
+ }).then(result => {
53
+ return result[identifierId];
54
+ }).catch(e => {
55
+ if (e instanceof OneError && e.code === OneErrorCode.NoTrustEntityFound) {
56
+ return null;
57
+ }
58
+ throw e;
59
+ }) : undefined;
60
+ }, {
61
+ enabled: Boolean(identifierDetail),
54
62
  keepPreviousData: true
55
63
  });
56
64
  };
57
- export const useRemoteTrustEntity = did => {
65
+ export const useRemoteTrustEntity = identifierId => {
58
66
  const {
59
67
  core
60
68
  } = useONECore();
61
- return useQuery([REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY, did], () => did ? core.getRemoteTrustEntity(did) : undefined, {
62
- enabled: Boolean(did),
69
+ const {
70
+ data: identifierDetail
71
+ } = useIdentifierDetails(identifierId);
72
+ return useQuery([REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY, identifierId], () => identifierDetail !== null && identifierDetail !== void 0 && identifierDetail.did ? core.getRemoteTrustEntity(identifierDetail.did.id) : undefined, {
73
+ enabled: Boolean(identifierDetail === null || identifierDetail === void 0 ? void 0 : identifierDetail.did),
63
74
  keepPreviousData: true
64
75
  });
65
76
  };
@@ -68,7 +79,22 @@ export const useCreateRemoteTrustEntity = () => {
68
79
  const {
69
80
  core
70
81
  } = useONECore();
71
- return useMutation(async request => core.createRemoteTrustEntity(request), {
82
+ return useMutation(async request => {
83
+ const {
84
+ identifierId,
85
+ didId
86
+ } = request;
87
+ let entityDidId = didId;
88
+ if (identifierId) {
89
+ var _identifierDetail$did;
90
+ const identifierDetail = await core.getIdentifier(identifierId);
91
+ entityDidId = identifierDetail === null || identifierDetail === void 0 || (_identifierDetail$did = identifierDetail.did) === null || _identifierDetail$did === void 0 ? void 0 : _identifierDetail$did.id;
92
+ }
93
+ return core.createRemoteTrustEntity({
94
+ ...request,
95
+ didId: entityDidId
96
+ });
97
+ }, {
72
98
  onSuccess: async () => {
73
99
  await queryClient.invalidateQueries(REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY);
74
100
  await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);
@@ -80,7 +106,22 @@ export const useUpdateRemoteTrustEntity = () => {
80
106
  const {
81
107
  core
82
108
  } = useONECore();
83
- return useMutation(async request => core.updateRemoteTrustEntity(request), {
109
+ return useMutation(async request => {
110
+ const {
111
+ identifierId,
112
+ didId
113
+ } = request;
114
+ let entityDidId = didId;
115
+ if (identifierId) {
116
+ var _identifierDetail$did2;
117
+ const identifierDetail = await core.getIdentifier(identifierId);
118
+ entityDidId = identifierDetail === null || identifierDetail === void 0 || (_identifierDetail$did2 = identifierDetail.did) === null || _identifierDetail$did2 === void 0 ? void 0 : _identifierDetail$did2.id;
119
+ }
120
+ return core.updateRemoteTrustEntity({
121
+ ...request,
122
+ didId: entityDidId
123
+ });
124
+ }, {
84
125
  onSuccess: async () => {
85
126
  await queryClient.invalidateQueries(REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY);
86
127
  await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);
@@ -1 +1 @@
1
- {"version":3,"names":["OneError","useCallback","useMutation","useQuery","useQueryClient","reportException","useHTTPClient","useONECore","OneErrorCode","HISTORY_LIST_QUERY_KEY","useIdentifierDetails","TRUST_ENTITY_DETAIL_QUERY_KEY","REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY","useCreateTrustAnchor","publisherReference","httpClient","core","trustAnchors","getTrustAnchors","page","pageSize","values","length","response","get","ok","data","trustAnchor","createTrustAnchor","isPublisher","name","type","TrustManagementEnum","SimpleTrustList","catch","err","useTrustEntity","identifierId","identifierDetail","did","getTrustEntityByDid","id","e","code","NoTrustEntityFound","undefined","enabled","Boolean","keepPreviousData","useRemoteTrustEntity","getRemoteTrustEntity","useCreateRemoteTrustEntity","queryClient","request","createRemoteTrustEntity","onSuccess","invalidateQueries","useUpdateRemoteTrustEntity","updateRemoteTrustEntity"],"sources":["trust-entity.ts"],"sourcesContent":["import {\n CreateRemoteTrustEntityRequest,\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\n// NOTE: As per ONE-5672, only handles DID Identifier details\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 identifierDetail?.did\n ? core.getTrustEntityByDid(identifierDetail.did.id).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?.did),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useRemoteTrustEntity = (did: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY, did],\n () => (did ? core.getRemoteTrustEntity(did) : undefined),\n {\n enabled: Boolean(did),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCreateRemoteTrustEntity = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (request: CreateRemoteTrustEntityRequest) => core.createRemoteTrustEntity(request), {\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\nexport const useUpdateRemoteTrustEntity = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (request: UpdateRemoteTrustEntityRequest) => core.updateRemoteTrustEntity(request), {\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\nexport enum TrustManagementEnum {\n SimpleTrustList = 'SIMPLE_TRUST_LIST',\n}\n"],"mappings":"AAAA,SAGEA,QAAQ,QAGH,iCAAiC;AACxC,SAASC,WAAW,QAAQ,OAAO;AACnC,SAASC,WAAW,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,aAAa;AAEnE,SAASC,eAAe,QAAQ,iBAAiB;AACjD,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,YAAY,QAAQ,cAAc;AAC3C,SAASC,sBAAsB,QAAQ,WAAW;AAClD,SAASC,oBAAoB,QAAQ,eAAe;AAEpD,OAAO,MAAMC,6BAA6B,GAAG,qBAAqB;AAClE,OAAO,MAAMC,oCAAoC,GAAG,4BAA4B;AAEhF,OAAO,MAAMC,oBAAoB,GAAIC,kBAA0B,IAAK;EAClE,MAAMC,UAAU,GAAGT,aAAa,CAAC,CAAC;EAElC,OAAOL,WAAW,CAChB,MAAOe,IAAa,IAAK;IACvB,MAAMC,YAAY,GAAG,MAAMD,IAAI,CAACE,eAAe,CAAC;MAC9CC,IAAI,EAAE,CAAC;MACPC,QAAQ,EAAE;IACZ,CAAC,CAAC;IACF,IAAIH,YAAY,CAACI,MAAM,CAACC,MAAM,GAAG,CAAC,EAAE;MAClC;IACF;IACA,MAAMC,QAAQ,GAAG,MAAMR,UAAU,CAACS,GAAG,CAAcV,kBAAkB,CAAC;IACtE,IAAI,CAACS,QAAQ,CAACE,EAAE,IAAI,CAACF,QAAQ,CAACG,IAAI,EAAE;MAClC;IACF;IACA,MAAMC,WAAW,GAAGJ,QAAQ,CAACG,IAAI;IACjC,MAAMV,IAAI,CACPY,iBAAiB,CAAC;MACjBC,WAAW,EAAE,KAAK;MAClBC,IAAI,EAAEH,WAAW,CAACG,IAAI;MACtBhB,kBAAkB;MAClBiB,IAAI,EAAEC,mBAAmB,CAACC;IAC5B,CAAC,CAAC,CACDC,KAAK,CAAEC,GAAG,IAAK;MACd9B,eAAe,CAAC8B,GAAG,EAAE,+BAA+B,CAAC;MACrD,MAAMA,GAAG;IACX,CAAC,CAAC;EACN,CAAC,EACD,CAACrB,kBAAkB,EAAEC,UAAU,CACjC,CAAC;AACH,CAAC;;AAED;AACA,OAAO,MAAMqB,cAAc,GAAIC,YAAgC,IAAK;EAClE,MAAM;IAAErB;EAAK,CAAC,GAAGT,UAAU,CAAC,CAAC;EAE7B,MAAM;IAAEmB,IAAI,EAAEY;EAAiB,CAAC,GAAG5B,oBAAoB,CAAC2B,YAAY,CAAC;EAErE,OAAOlC,QAAQ,CACb,CAACQ,6BAA6B,EAAE0B,YAAY,CAAC,EAC7C,MACEC,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAEC,GAAG,GACjBvB,IAAI,CAACwB,mBAAmB,CAACF,gBAAgB,CAACC,GAAG,CAACE,EAAE,CAAC,CAACP,KAAK,CAAEQ,CAAC,IAAK;IAC/D,IAAIA,CAAC,YAAY1C,QAAQ,IAAI0C,CAAC,CAACC,IAAI,KAAKnC,YAAY,CAACoC,kBAAkB,EAAE;MACvE,OAAO,IAAI;IACb;IACA,MAAMF,CAAC;EACT,CAAC,CAAC,GACAG,SAAS,EACf;IACEC,OAAO,EAAEC,OAAO,CAACT,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEC,GAAG,CAAC;IACvCS,gBAAgB,EAAE;EACpB,CACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAIV,GAAuB,IAAK;EAC/D,MAAM;IAAEvB;EAAK,CAAC,GAAGT,UAAU,CAAC,CAAC;EAE7B,OAAOJ,QAAQ,CACb,CAACS,oCAAoC,EAAE2B,GAAG,CAAC,EAC3C,MAAOA,GAAG,GAAGvB,IAAI,CAACkC,oBAAoB,CAACX,GAAG,CAAC,GAAGM,SAAU,EACxD;IACEC,OAAO,EAAEC,OAAO,CAACR,GAAG,CAAC;IACrBS,gBAAgB,EAAE;EACpB,CACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMG,0BAA0B,GAAGA,CAAA,KAAM;EAC9C,MAAMC,WAAW,GAAGhD,cAAc,CAAC,CAAC;EACpC,MAAM;IAAEY;EAAK,CAAC,GAAGT,UAAU,CAAC,CAAC;EAE7B,OAAOL,WAAW,CAAC,MAAOmD,OAAuC,IAAKrC,IAAI,CAACsC,uBAAuB,CAACD,OAAO,CAAC,EAAE;IAC3GE,SAAS,EAAE,MAAAA,CAAA,KAAY;MACrB,MAAMH,WAAW,CAACI,iBAAiB,CAAC5C,oCAAoC,CAAC;MACzE,MAAMwC,WAAW,CAACI,iBAAiB,CAAC/C,sBAAsB,CAAC;IAC7D;EACF,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMgD,0BAA0B,GAAGA,CAAA,KAAM;EAC9C,MAAML,WAAW,GAAGhD,cAAc,CAAC,CAAC;EACpC,MAAM;IAAEY;EAAK,CAAC,GAAGT,UAAU,CAAC,CAAC;EAE7B,OAAOL,WAAW,CAAC,MAAOmD,OAAuC,IAAKrC,IAAI,CAAC0C,uBAAuB,CAACL,OAAO,CAAC,EAAE;IAC3GE,SAAS,EAAE,MAAAA,CAAA,KAAY;MACrB,MAAMH,WAAW,CAACI,iBAAiB,CAAC5C,oCAAoC,CAAC;MACzE,MAAMwC,WAAW,CAACI,iBAAiB,CAAC/C,sBAAsB,CAAC;IAC7D;EACF,CAAC,CAAC;AACJ,CAAC;AAED,WAAYuB,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["OneError","useCallback","useMutation","useQuery","useQueryClient","reportException","useHTTPClient","useONECore","OneErrorCode","HISTORY_LIST_QUERY_KEY","useIdentifierDetails","TRUST_ENTITY_DETAIL_QUERY_KEY","REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY","useCreateTrustAnchor","publisherReference","httpClient","core","trustAnchors","getTrustAnchors","page","pageSize","values","length","response","get","ok","data","trustAnchor","createTrustAnchor","isPublisher","name","type","TrustManagementEnum","SimpleTrustList","catch","err","useTrustEntity","identifierId","identifierDetail","_identifierDetail$cer","resolveTrustEntityByIdentifier","identifiers","certificateId","certificates","id","undefined","then","result","e","code","NoTrustEntityFound","enabled","Boolean","keepPreviousData","useRemoteTrustEntity","did","getRemoteTrustEntity","useCreateRemoteTrustEntity","queryClient","request","didId","entityDidId","_identifierDetail$did","getIdentifier","createRemoteTrustEntity","onSuccess","invalidateQueries","useUpdateRemoteTrustEntity","_identifierDetail$did2","updateRemoteTrustEntity"],"sources":["trust-entity.ts"],"sourcesContent":["import {\n CreateRemoteTrustEntityRequest,\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 () => identifierId && identifierDetail\n ? core.resolveTrustEntityByIdentifier({\n identifiers: [{\n certificateId: identifierDetail.type === 'CERTIFICATE' ? identifierDetail.certificates?.[0]?.id : undefined,\n id: identifierId,\n }],\n }).then((result) => {\n return result[identifierId];\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(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 onSuccess: async () => {\n await queryClient.invalidateQueries(REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useUpdateRemoteTrustEntity = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(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 onSuccess: async () => {\n await queryClient.invalidateQueries(REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport enum TrustManagementEnum {\n SimpleTrustList = 'SIMPLE_TRUST_LIST',\n}\n"],"mappings":"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","ignoreList":[]}
@@ -72,21 +72,15 @@ const spreadClaims = (claims, parentClaimPath = '') => {
72
72
  }, []);
73
73
  };
74
74
  const getDisplayedAttributes = (request, validityState, credential, selectiveDisclosureSupported, selectedFields) => {
75
- if (credential && selectiveDisclosureSupported === false) {
76
- return credential.claims.map(claim => ({
77
- claim,
78
- id: claim.id,
79
- status: SelectorStatus.Required
80
- }));
81
- }
75
+ const claims = credential ? spreadClaims(credential.claims) : undefined;
82
76
  return request.fields.map(field => {
83
77
  const selected = !field.required && (selectedFields === null || selectedFields === void 0 ? void 0 : selectedFields.includes(field.id));
84
- const claim = credential && spreadClaims(credential.claims).find(({
78
+ const claim = credential ? claims === null || claims === void 0 ? void 0 : claims.find(({
85
79
  key
86
80
  }) => {
87
81
  return key === field.keyMap[credential.id];
88
- });
89
- const status = getAttributeSelectorStatus(field, validityState, credential, claim, selected);
82
+ }) : undefined;
83
+ const status = selectiveDisclosureSupported === false ? SelectorStatus.Required : getAttributeSelectorStatus(field, validityState, credential, claim, selected);
90
84
  return {
91
85
  claim,
92
86
  field,
@@ -146,10 +140,9 @@ const setStatusForNestedObjectOrArrayFields = (attribute, status, disabled) => {
146
140
  }
147
141
  };
148
142
  export const shareCredentialCardFromCredential = (credential, invalidLVVC, expanded, multipleCredentialsAvailable, request, selectedFields, config, testID, labels) => {
149
- var _credential$issuerDid, _credential$issuer, _credential$issuerDid2, _credential$issuer2;
143
+ var _credential$issuer, _credential$issuer2;
150
144
  const selectiveDisclosureSupported = supportsSelectiveDisclosure(credential ? {
151
145
  ...credential,
152
- issuerDid: (_credential$issuerDid = credential.issuerDid) === null || _credential$issuerDid === void 0 ? void 0 : _credential$issuerDid.id,
153
146
  issuer: (_credential$issuer = credential.issuer) === null || _credential$issuer === void 0 ? void 0 : _credential$issuer.id
154
147
  } : undefined, config);
155
148
  const notice = selectiveDisclosureSupported === false ? {
@@ -160,7 +153,6 @@ export const shareCredentialCardFromCredential = (credential, invalidLVVC, expan
160
153
  const card = credential ? validityCheckedCardFromCredential(credential, invalidLVVC, expanded, multipleCredentialsAvailable, config, notice, cardTestId, labels) : missingCredentialCardFromRequest(request, notice, cardTestId, labels);
161
154
  const validityState = getValidityState(credential ? {
162
155
  ...credential,
163
- issuerDid: (_credential$issuerDid2 = credential.issuerDid) === null || _credential$issuerDid2 === void 0 ? void 0 : _credential$issuerDid2.id,
164
156
  issuer: (_credential$issuer2 = credential.issuer) === null || _credential$issuer2 === void 0 ? void 0 : _credential$issuer2.id
165
157
  } : undefined);
166
158
  const displayedAttributes = getDisplayedAttributes(request, validityState, credential, selectiveDisclosureSupported, selectedFields);
@@ -195,10 +187,9 @@ export const selectCredentialCardAttributeFromClaim = (id, config, testID, label
195
187
  };
196
188
  };
197
189
  export const selectCredentialCardFromCredential = (credential, selected, request, config, testID, labels) => {
198
- var _credential$issuerDid3, _credential$issuer3;
190
+ var _credential$issuer3;
199
191
  const selectiveDisclosureSupported = supportsSelectiveDisclosure(credential ? {
200
192
  ...credential,
201
- issuerDid: (_credential$issuerDid3 = credential.issuerDid) === null || _credential$issuerDid3 === void 0 ? void 0 : _credential$issuerDid3.id,
202
193
  issuer: (_credential$issuer3 = credential.issuer) === null || _credential$issuer3 === void 0 ? void 0 : _credential$issuer3.id
203
194
  } : undefined, config);
204
195
  const rightAccessory = /*#__PURE__*/React.createElement(Selector, {