@procivis/one-react-native-components 0.3.112 → 0.3.121

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 (114) hide show
  1. package/lib/commonjs/components/history/history-list-item-icon.js +6 -2
  2. package/lib/commonjs/components/history/history-list-item-icon.js.map +1 -1
  3. package/lib/commonjs/components/index.js +11 -0
  4. package/lib/commonjs/components/index.js.map +1 -1
  5. package/lib/commonjs/components/trust-info/index.js +29 -0
  6. package/lib/commonjs/components/trust-info/index.js.map +1 -0
  7. package/lib/commonjs/components/trust-info/trust-info.js +79 -0
  8. package/lib/commonjs/components/trust-info/trust-info.js.map +1 -0
  9. package/lib/commonjs/ui-components/control/checkbox.js +1 -0
  10. package/lib/commonjs/ui-components/control/checkbox.js.map +1 -1
  11. package/lib/commonjs/ui-components/header/header.js +2 -0
  12. package/lib/commonjs/ui-components/header/header.js.map +1 -1
  13. package/lib/commonjs/ui-components/icons/contact.js +45 -0
  14. package/lib/commonjs/ui-components/icons/contact.js.map +1 -0
  15. package/lib/commonjs/ui-components/icons/index.js +11 -0
  16. package/lib/commonjs/ui-components/icons/index.js.map +1 -1
  17. package/lib/commonjs/ui-components/screens/index.js +7 -0
  18. package/lib/commonjs/ui-components/screens/index.js.map +1 -1
  19. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js +45 -15
  20. package/lib/commonjs/ui-components/screens/nerd-mode-screen.js.map +1 -1
  21. package/lib/commonjs/ui-components/screens/trust-info-details-screen.js +384 -0
  22. package/lib/commonjs/ui-components/screens/trust-info-details-screen.js.map +1 -0
  23. package/lib/commonjs/utils/hooks/core/cache.js +2 -1
  24. package/lib/commonjs/utils/hooks/core/cache.js.map +1 -1
  25. package/lib/commonjs/utils/hooks/core/core-init.js +4 -2
  26. package/lib/commonjs/utils/hooks/core/core-init.js.map +1 -1
  27. package/lib/commonjs/utils/hooks/core/credentials.js +26 -1
  28. package/lib/commonjs/utils/hooks/core/credentials.js.map +1 -1
  29. package/lib/commonjs/utils/hooks/core/index.js +11 -0
  30. package/lib/commonjs/utils/hooks/core/index.js.map +1 -1
  31. package/lib/commonjs/utils/hooks/core/proofs.js +12 -1
  32. package/lib/commonjs/utils/hooks/core/proofs.js.map +1 -1
  33. package/lib/commonjs/utils/hooks/core/trust-list.js.map +1 -1
  34. package/lib/commonjs/utils/hooks/core/verifier-instance.js +52 -0
  35. package/lib/commonjs/utils/hooks/core/verifier-instance.js.map +1 -0
  36. package/lib/commonjs/utils/hooks/core/wallet-unit.js +9 -2
  37. package/lib/commonjs/utils/hooks/core/wallet-unit.js.map +1 -1
  38. package/lib/commonjs/utils/parsers/query.js +2 -2
  39. package/lib/commonjs/utils/parsers/query.js.map +1 -1
  40. package/lib/module/components/history/history-list-item-icon.js +6 -2
  41. package/lib/module/components/history/history-list-item-icon.js.map +1 -1
  42. package/lib/module/components/index.js +1 -0
  43. package/lib/module/components/index.js.map +1 -1
  44. package/lib/module/components/trust-info/index.js +4 -0
  45. package/lib/module/components/trust-info/index.js.map +1 -0
  46. package/lib/module/components/trust-info/trust-info.js +70 -0
  47. package/lib/module/components/trust-info/trust-info.js.map +1 -0
  48. package/lib/module/ui-components/control/checkbox.js +1 -0
  49. package/lib/module/ui-components/control/checkbox.js.map +1 -1
  50. package/lib/module/ui-components/header/header.js +2 -0
  51. package/lib/module/ui-components/header/header.js.map +1 -1
  52. package/lib/module/ui-components/icons/contact.js +34 -0
  53. package/lib/module/ui-components/icons/contact.js.map +1 -0
  54. package/lib/module/ui-components/icons/index.js +1 -0
  55. package/lib/module/ui-components/icons/index.js.map +1 -1
  56. package/lib/module/ui-components/screens/index.js +2 -0
  57. package/lib/module/ui-components/screens/index.js.map +1 -1
  58. package/lib/module/ui-components/screens/nerd-mode-screen.js +46 -16
  59. package/lib/module/ui-components/screens/nerd-mode-screen.js.map +1 -1
  60. package/lib/module/ui-components/screens/trust-info-details-screen.js +375 -0
  61. package/lib/module/ui-components/screens/trust-info-details-screen.js.map +1 -0
  62. package/lib/module/utils/hooks/core/cache.js +2 -1
  63. package/lib/module/utils/hooks/core/cache.js.map +1 -1
  64. package/lib/module/utils/hooks/core/core-init.js +4 -2
  65. package/lib/module/utils/hooks/core/core-init.js.map +1 -1
  66. package/lib/module/utils/hooks/core/credentials.js +24 -1
  67. package/lib/module/utils/hooks/core/credentials.js.map +1 -1
  68. package/lib/module/utils/hooks/core/index.js +1 -0
  69. package/lib/module/utils/hooks/core/index.js.map +1 -1
  70. package/lib/module/utils/hooks/core/proofs.js +10 -0
  71. package/lib/module/utils/hooks/core/proofs.js.map +1 -1
  72. package/lib/module/utils/hooks/core/trust-list.js.map +1 -1
  73. package/lib/module/utils/hooks/core/verifier-instance.js +43 -0
  74. package/lib/module/utils/hooks/core/verifier-instance.js.map +1 -0
  75. package/lib/module/utils/hooks/core/wallet-unit.js +9 -2
  76. package/lib/module/utils/hooks/core/wallet-unit.js.map +1 -1
  77. package/lib/module/utils/parsers/query.js +2 -2
  78. package/lib/module/utils/parsers/query.js.map +1 -1
  79. package/lib/typescript/components/index.d.ts +1 -0
  80. package/lib/typescript/components/trust-info/index.d.ts +3 -0
  81. package/lib/typescript/components/trust-info/trust-info.d.ts +19 -0
  82. package/lib/typescript/ui-components/header/header.d.ts +2 -0
  83. package/lib/typescript/ui-components/icons/contact.d.ts +4 -0
  84. package/lib/typescript/ui-components/icons/index.d.ts +1 -0
  85. package/lib/typescript/ui-components/screens/index.d.ts +3 -0
  86. package/lib/typescript/ui-components/screens/nerd-mode-screen.d.ts +6 -1
  87. package/lib/typescript/ui-components/screens/trust-info-details-screen.d.ts +32 -0
  88. package/lib/typescript/utils/hooks/core/core-init.d.ts +1 -1
  89. package/lib/typescript/utils/hooks/core/credentials.d.ts +5 -9
  90. package/lib/typescript/utils/hooks/core/index.d.ts +1 -0
  91. package/lib/typescript/utils/hooks/core/proofs.d.ts +2 -0
  92. package/lib/typescript/utils/hooks/core/verifier-instance.d.ts +8 -0
  93. package/lib/typescript/utils/parsers/query.d.ts +1 -1
  94. package/package.json +8 -8
  95. package/src/components/history/history-list-item-icon.tsx +4 -0
  96. package/src/components/index.ts +1 -0
  97. package/src/components/trust-info/index.ts +4 -0
  98. package/src/components/trust-info/trust-info.tsx +90 -0
  99. package/src/ui-components/control/checkbox.tsx +1 -1
  100. package/src/ui-components/header/header.tsx +9 -3
  101. package/src/ui-components/icons/contact.tsx +26 -0
  102. package/src/ui-components/icons/index.ts +1 -0
  103. package/src/ui-components/screens/index.ts +3 -0
  104. package/src/ui-components/screens/nerd-mode-screen.tsx +80 -22
  105. package/src/ui-components/screens/trust-info-details-screen.tsx +472 -0
  106. package/src/utils/hooks/core/cache.ts +2 -1
  107. package/src/utils/hooks/core/core-init.ts +3 -4
  108. package/src/utils/hooks/core/credentials.ts +32 -11
  109. package/src/utils/hooks/core/index.ts +1 -0
  110. package/src/utils/hooks/core/proofs.ts +14 -0
  111. package/src/utils/hooks/core/trust-list.ts +1 -1
  112. package/src/utils/hooks/core/verifier-instance.ts +54 -0
  113. package/src/utils/hooks/core/wallet-unit.ts +9 -2
  114. package/src/utils/parsers/query.ts +8 -0
@@ -0,0 +1,375 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React, { useCallback, useState } from 'react';
3
+ import { Linking, SectionList, StyleSheet, View } from 'react-native';
4
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
+ import TrustInfo from '../../components/trust-info/trust-info';
6
+ import { concatTestID, nonEmptyFilter, reportException } from '../../utils';
7
+ import { TouchableOpacity } from '../accessibility';
8
+ import { BackButton } from '../buttons';
9
+ import { NavigationHeader } from '../header';
10
+ import { LinkIcon, MailIcon, PhoneIcon } from '../icons';
11
+ import { Typography } from '../text';
12
+ import { useAppColorScheme } from '../theme';
13
+ const Separator = ({
14
+ dark,
15
+ leadingItem
16
+ }) => {
17
+ const colorScheme = useAppColorScheme();
18
+ if ((leadingItem === null || leadingItem === void 0 ? void 0 : leadingItem.type) === 'subsection' || (leadingItem === null || leadingItem === void 0 ? void 0 : leadingItem.type) === 'item' && !(leadingItem !== null && leadingItem !== void 0 && leadingItem.value)) {
19
+ return /*#__PURE__*/React.createElement(View, {
20
+ style: styles.emptyItem
21
+ });
22
+ }
23
+ return /*#__PURE__*/React.createElement(View, {
24
+ style: {
25
+ backgroundColor: dark ? colorScheme.background : colorScheme.white
26
+ }
27
+ }, /*#__PURE__*/React.createElement(View, {
28
+ style: [styles.separator, {
29
+ backgroundColor: colorScheme.grayDark
30
+ }]
31
+ }));
32
+ };
33
+ const ListButton = ({
34
+ label,
35
+ onPress
36
+ }) => {
37
+ const colorScheme = useAppColorScheme();
38
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
39
+ onPress: onPress,
40
+ style: [styles.button, styles.lastItem, {
41
+ backgroundColor: colorScheme.white
42
+ }]
43
+ }, /*#__PURE__*/React.createElement(Typography, {
44
+ align: "center",
45
+ color: colorScheme.text
46
+ }, label));
47
+ };
48
+ const ListItem = ({
49
+ action,
50
+ dark,
51
+ title,
52
+ value
53
+ }) => {
54
+ const colorScheme = useAppColorScheme();
55
+ return /*#__PURE__*/React.createElement(View, {
56
+ style: [styles.item, {
57
+ backgroundColor: dark ? undefined : colorScheme.white
58
+ }]
59
+ }, /*#__PURE__*/React.createElement(View, {
60
+ style: styles.itemLabels
61
+ }, /*#__PURE__*/React.createElement(Typography, {
62
+ color: colorScheme.text,
63
+ numberOfLines: 1,
64
+ preset: "s/line-height-capped",
65
+ style: styles.itemTitleLabel
66
+ }, title), /*#__PURE__*/React.createElement(Typography, {
67
+ color: colorScheme.text,
68
+ numberOfLines: 1,
69
+ preset: "s/line-height-capped"
70
+ }, value)), action && /*#__PURE__*/React.createElement(TouchableOpacity, {
71
+ onPress: action.onPress,
72
+ style: [styles.actionButton, {
73
+ backgroundColor: dark ? colorScheme.white : colorScheme.grayDark
74
+ }]
75
+ }, /*#__PURE__*/React.createElement(action.icon, {
76
+ color: colorScheme.black
77
+ })));
78
+ };
79
+ const ContactItem = ({
80
+ email,
81
+ labels,
82
+ onPress,
83
+ phone,
84
+ website
85
+ }) => {
86
+ const colorScheme = useAppColorScheme();
87
+ return /*#__PURE__*/React.createElement(View, {
88
+ style: [styles.contactItemWrapper, {
89
+ backgroundColor: colorScheme.white
90
+ }]
91
+ }, /*#__PURE__*/React.createElement(View, {
92
+ style: [styles.contactItem, {
93
+ backgroundColor: colorScheme.background
94
+ }]
95
+ }, website && /*#__PURE__*/React.createElement(ListItem, {
96
+ action: {
97
+ icon: LinkIcon,
98
+ onPress: onPress(website)
99
+ },
100
+ dark: true,
101
+ title: labels.website,
102
+ value: website
103
+ }), website && (email || phone) && /*#__PURE__*/React.createElement(Separator, {
104
+ dark: true
105
+ }), email && /*#__PURE__*/React.createElement(ListItem, {
106
+ action: {
107
+ icon: MailIcon,
108
+ onPress: onPress(`mailto:${email}`)
109
+ },
110
+ dark: true,
111
+ title: labels.email,
112
+ value: email
113
+ }), email && phone && /*#__PURE__*/React.createElement(Separator, {
114
+ dark: true
115
+ }), phone && /*#__PURE__*/React.createElement(ListItem, {
116
+ action: {
117
+ icon: PhoneIcon,
118
+ onPress: onPress(`tel:${phone}`)
119
+ },
120
+ dark: true,
121
+ title: labels.phone,
122
+ value: phone
123
+ })));
124
+ };
125
+ const TrustInfoDetailsScreen = ({
126
+ countries,
127
+ labels,
128
+ language,
129
+ onClose,
130
+ testID,
131
+ trustInformation
132
+ }) => {
133
+ var _countries$find, _countryDisplay$langu, _trustDetails$service, _trustDetails$interme;
134
+ const insets = useSafeAreaInsets();
135
+ const colorScheme = useAppColorScheme();
136
+ const [expanded, setExpanded] = useState(false);
137
+ const linkHandler = useCallback(url => () => {
138
+ Linking.openURL(url).catch(e => {
139
+ reportException(e, `Error opening contact link ${url}`);
140
+ });
141
+ }, []);
142
+ const trustDetails = trustInformation.eudiEcosystem;
143
+ if (!trustDetails) {
144
+ return null;
145
+ }
146
+ const countryDisplay = (_countries$find = countries.find(c => c.value === trustDetails.country)) === null || _countries$find === void 0 ? void 0 : _countries$find.display;
147
+ const country = (_countryDisplay$langu = countryDisplay === null || countryDisplay === void 0 ? void 0 : countryDisplay[language]) !== null && _countryDisplay$langu !== void 0 ? _countryDisplay$langu : countryDisplay === null || countryDisplay === void 0 ? void 0 : countryDisplay.en;
148
+ const baseInfo = [{
149
+ name: trustDetails.name,
150
+ type: 'trustInfo'
151
+ }, {
152
+ title: labels.isPublicSector,
153
+ type: 'item',
154
+ value: trustDetails.isPublicSector ? labels.true : undefined
155
+ }, {
156
+ title: labels.serviceDescription,
157
+ type: 'item',
158
+ value: (_trustDetails$service = trustDetails.serviceDescription[0]) === null || _trustDetails$service === void 0 ? void 0 : _trustDetails$service[language]
159
+ }];
160
+ const expandItem = !expanded ? [{
161
+ type: 'expand'
162
+ }] : [];
163
+ const supervisoryAuthority = trustDetails.supervisoryAuthority ? [{
164
+ title: labels.supervisoryAuthority,
165
+ type: 'subsection'
166
+ }, {
167
+ ...trustDetails.supervisoryAuthority,
168
+ type: 'contact',
169
+ website: trustDetails.supervisoryAuthority.uri
170
+ }] : [];
171
+ const extraInfo = expanded ? [{
172
+ title: labels.country,
173
+ type: 'item',
174
+ value: country
175
+ }, {
176
+ title: labels.identifier,
177
+ type: 'item',
178
+ value: trustDetails.identifier
179
+ }, {
180
+ title: labels.support,
181
+ type: 'subsection'
182
+ }, {
183
+ type: 'contact',
184
+ ...trustDetails
185
+ }, ...supervisoryAuthority, {
186
+ type: 'collapse'
187
+ }] : [];
188
+ const trustDetailsSection = baseInfo.concat(expandItem).concat(extraInfo);
189
+ const intermediaryName = (_trustDetails$interme = trustDetails.intermediary) !== null && _trustDetails$interme !== void 0 && _trustDetails$interme.name ? [{
190
+ name: trustDetails.intermediary.name,
191
+ type: 'trustInfo'
192
+ }] : [];
193
+ const intermediarySection = trustDetails.intermediary ? [...intermediaryName, {
194
+ title: labels.country,
195
+ type: 'item',
196
+ value: trustDetails.intermediary.country
197
+ }, {
198
+ title: labels.identifier,
199
+ type: 'item',
200
+ value: trustDetails.intermediary.identifier
201
+ }, {
202
+ title: labels.support,
203
+ type: 'subsection'
204
+ }, {
205
+ type: 'contact',
206
+ ...trustDetails.intermediary
207
+ }] : [];
208
+ const sections = [{
209
+ ItemSeparatorComponent: Separator,
210
+ data: trustDetailsSection
211
+ }, intermediarySection.length ? {
212
+ ItemSeparatorComponent: Separator,
213
+ data: intermediarySection,
214
+ title: 'Intermediary'
215
+ } : undefined].filter(nonEmptyFilter);
216
+ return /*#__PURE__*/React.createElement(View, {
217
+ style: styles.container
218
+ }, /*#__PURE__*/React.createElement(NavigationHeader, {
219
+ leftItem: /*#__PURE__*/React.createElement(BackButton, {
220
+ onPress: onClose
221
+ }),
222
+ style: {
223
+ paddingTop: insets.top
224
+ },
225
+ title: labels.title
226
+ }), /*#__PURE__*/React.createElement(SectionList, {
227
+ contentInset: insets,
228
+ renderItem: ({
229
+ item,
230
+ section
231
+ }) => {
232
+ switch (item.type) {
233
+ case 'subsection':
234
+ return /*#__PURE__*/React.createElement(View, {
235
+ style: [styles.subsection, {
236
+ backgroundColor: colorScheme.white
237
+ }],
238
+ testID: concatTestID(testID, section.title)
239
+ }, /*#__PURE__*/React.createElement(Typography, {
240
+ color: colorScheme.text,
241
+ preset: "m/heading"
242
+ }, item.title));
243
+ case 'trustInfo':
244
+ return /*#__PURE__*/React.createElement(TrustInfo, {
245
+ labels: labels,
246
+ style: [styles.trustInfoItem, styles.firstItem, {
247
+ backgroundColor: colorScheme.white
248
+ }],
249
+ trustInformation: item
250
+ });
251
+ case 'item':
252
+ if (!item.value) {
253
+ return /*#__PURE__*/React.createElement(View, {
254
+ style: styles.emptyItem
255
+ });
256
+ }
257
+ return /*#__PURE__*/React.createElement(ListItem, _extends({}, item, {
258
+ value: item.value
259
+ }));
260
+ case 'contact':
261
+ if (!item.website && !item.phone && !item.email) {
262
+ return /*#__PURE__*/React.createElement(View, {
263
+ style: styles.emptyItem
264
+ });
265
+ }
266
+ return /*#__PURE__*/React.createElement(ContactItem, _extends({
267
+ labels: labels,
268
+ onPress: linkHandler
269
+ }, item));
270
+ case 'expand':
271
+ return /*#__PURE__*/React.createElement(ListButton, {
272
+ label: labels.expand,
273
+ onPress: () => setExpanded(true)
274
+ });
275
+ case 'collapse':
276
+ return /*#__PURE__*/React.createElement(ListButton, {
277
+ label: labels.collapse,
278
+ onPress: () => setExpanded(false)
279
+ });
280
+ }
281
+ },
282
+ renderSectionHeader: ({
283
+ section
284
+ }) => {
285
+ return section.title ? /*#__PURE__*/React.createElement(View, {
286
+ style: styles.sectionHeaderContainer,
287
+ testID: concatTestID(testID, section.title)
288
+ }, /*#__PURE__*/React.createElement(Typography, {
289
+ color: colorScheme.text,
290
+ preset: "m/heading",
291
+ style: styles.sectionHeaderText
292
+ }, section.title)) : null;
293
+ },
294
+ scrollEventThrottle: 16,
295
+ sections: sections,
296
+ showsVerticalScrollIndicator: false,
297
+ stickySectionHeadersEnabled: false,
298
+ style: styles.list,
299
+ testID: testID
300
+ }));
301
+ };
302
+ const styles = StyleSheet.create({
303
+ actionButton: {
304
+ alignItems: 'center',
305
+ borderRadius: 19,
306
+ height: 38,
307
+ justifyContent: 'center',
308
+ width: 38
309
+ },
310
+ button: {
311
+ height: 64,
312
+ justifyContent: 'center',
313
+ paddingBottom: 8,
314
+ width: '100%'
315
+ },
316
+ contactItem: {
317
+ borderRadius: 8
318
+ },
319
+ contactItemWrapper: {
320
+ padding: 12
321
+ },
322
+ container: {
323
+ flex: 1
324
+ },
325
+ emptyItem: {
326
+ height: 0
327
+ },
328
+ firstItem: {
329
+ borderTopLeftRadius: 8,
330
+ borderTopRightRadius: 8
331
+ },
332
+ item: {
333
+ alignItems: 'center',
334
+ flexDirection: 'row',
335
+ justifyContent: 'space-between',
336
+ padding: 12
337
+ },
338
+ itemLabels: {
339
+ flexDirection: 'column'
340
+ },
341
+ itemTitleLabel: {
342
+ opacity: 0.5
343
+ },
344
+ lastItem: {
345
+ borderBottomLeftRadius: 8,
346
+ borderBottomRightRadius: 8
347
+ },
348
+ list: {
349
+ marginHorizontal: 16
350
+ },
351
+ sectionHeaderContainer: {
352
+ justifyContent: 'center',
353
+ marginTop: 20,
354
+ paddingVertical: 16
355
+ },
356
+ sectionHeaderText: {
357
+ opacity: 0.7,
358
+ paddingHorizontal: 20
359
+ },
360
+ separator: {
361
+ height: 1,
362
+ marginHorizontal: 12,
363
+ opacity: 0.4
364
+ },
365
+ subsection: {
366
+ paddingBottom: 8,
367
+ paddingHorizontal: 12,
368
+ paddingTop: 22
369
+ },
370
+ trustInfoItem: {
371
+ padding: 8
372
+ }
373
+ });
374
+ export default TrustInfoDetailsScreen;
375
+ //# sourceMappingURL=trust-info-details-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useState","Linking","SectionList","StyleSheet","View","useSafeAreaInsets","TrustInfo","concatTestID","nonEmptyFilter","reportException","TouchableOpacity","BackButton","NavigationHeader","LinkIcon","MailIcon","PhoneIcon","Typography","useAppColorScheme","Separator","dark","leadingItem","colorScheme","type","value","createElement","style","styles","emptyItem","backgroundColor","background","white","separator","grayDark","ListButton","label","onPress","button","lastItem","align","color","text","ListItem","action","title","item","undefined","itemLabels","numberOfLines","preset","itemTitleLabel","actionButton","icon","black","ContactItem","email","labels","phone","website","contactItemWrapper","contactItem","TrustInfoDetailsScreen","countries","language","onClose","testID","trustInformation","_countries$find","_countryDisplay$langu","_trustDetails$service","_trustDetails$interme","insets","expanded","setExpanded","linkHandler","url","openURL","catch","e","trustDetails","eudiEcosystem","countryDisplay","find","c","country","display","en","baseInfo","name","isPublicSector","true","serviceDescription","expandItem","supervisoryAuthority","uri","extraInfo","identifier","support","trustDetailsSection","concat","intermediaryName","intermediary","intermediarySection","sections","ItemSeparatorComponent","data","length","filter","container","leftItem","paddingTop","top","contentInset","renderItem","section","subsection","trustInfoItem","firstItem","_extends","expand","collapse","renderSectionHeader","sectionHeaderContainer","sectionHeaderText","scrollEventThrottle","showsVerticalScrollIndicator","stickySectionHeadersEnabled","list","create","alignItems","borderRadius","height","justifyContent","width","paddingBottom","padding","flex","borderTopLeftRadius","borderTopRightRadius","flexDirection","opacity","borderBottomLeftRadius","borderBottomRightRadius","marginHorizontal","marginTop","paddingVertical","paddingHorizontal"],"sources":["trust-info-details-screen.tsx"],"sourcesContent":["import { TrustInformationDetail } from '@procivis/react-native-one-core';\nimport React, { FC, useCallback, useState } from 'react';\nimport { Linking, SectionList, SectionListData, StyleSheet, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { SvgProps } from 'react-native-svg';\n\nimport TrustInfo, { TrustInfoLabels } from '../../components/trust-info/trust-info';\nimport { concatTestID, nonEmptyFilter, reportException } from '../../utils';\nimport { TouchableOpacity } from '../accessibility';\nimport { BackButton } from '../buttons';\nimport { NavigationHeader } from '../header';\nimport { LinkIcon, MailIcon, PhoneIcon } from '../icons';\nimport { Typography } from '../text';\nimport { useAppColorScheme } from '../theme';\n\ntype TrustInfoDetailItem =\n | {\n name: string;\n type: 'trustInfo';\n }\n | {\n title: string;\n type: 'subsection';\n }\n | {\n action?: {\n icon: FC<SvgProps>;\n onPress: () => void;\n };\n title: string;\n type: 'item';\n value?: string;\n }\n | {\n email?: string;\n phone?: string;\n type: 'contact';\n website?: string;\n }\n | {\n type: 'expand';\n }\n | {\n type: 'collapse';\n };\n\ntype TrustInfoDetailSection = {\n title?: string;\n};\n\nexport type TrustInfoDetailsScreenLabels = TrustInfoLabels & {\n collapse: string;\n country: string;\n email: string;\n expand: string;\n identifier: string;\n isPublicSector: string;\n phone: string;\n privacyPolicy: string;\n serviceDescription: string;\n supervisoryAuthority: string;\n support: string;\n title: string;\n true: string;\n website: string;\n};\n\ntype SeparatorProps = {\n dark?: boolean;\n leadingItem?: TrustInfoDetailItem;\n};\n\nconst Separator: FC<SeparatorProps> = ({ dark, leadingItem }) => {\n const colorScheme = useAppColorScheme();\n if (leadingItem?.type === 'subsection' || (leadingItem?.type === 'item' && !leadingItem?.value)) {\n return <View style={styles.emptyItem} />;\n }\n return (\n <View style={{ backgroundColor: dark ? colorScheme.background : colorScheme.white }}>\n <View style={[styles.separator, { backgroundColor: colorScheme.grayDark }]} />\n </View>\n );\n};\n\ntype ListButtonProps = {\n label: string;\n onPress: () => void;\n};\n\nconst ListButton: FC<ListButtonProps> = ({ label, onPress }) => {\n const colorScheme = useAppColorScheme();\n return (\n <TouchableOpacity\n onPress={onPress}\n style={[styles.button, styles.lastItem, { backgroundColor: colorScheme.white }]}>\n <Typography align=\"center\" color={colorScheme.text}>\n {label}\n </Typography>\n </TouchableOpacity>\n );\n};\n\ntype ListItemProps = {\n action?: {\n icon: FC<SvgProps>;\n onPress: () => void;\n };\n dark?: boolean;\n title: string;\n value: string;\n};\n\nconst ListItem: FC<ListItemProps> = ({ action, dark, title, value }) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={[styles.item, { backgroundColor: dark ? undefined : colorScheme.white }]}>\n <View style={styles.itemLabels}>\n <Typography\n color={colorScheme.text}\n numberOfLines={1}\n preset=\"s/line-height-capped\"\n style={styles.itemTitleLabel}>\n {title}\n </Typography>\n <Typography color={colorScheme.text} numberOfLines={1} preset=\"s/line-height-capped\">\n {value}\n </Typography>\n </View>\n {action && (\n <TouchableOpacity\n onPress={action.onPress}\n style={[styles.actionButton, { backgroundColor: dark ? colorScheme.white : colorScheme.grayDark }]}>\n <action.icon color={colorScheme.black} />\n </TouchableOpacity>\n )}\n </View>\n );\n};\n\ntype ContactItemProps = {\n email?: string;\n labels: TrustInfoDetailsScreenLabels;\n onPress: (url: string) => () => void;\n phone?: string;\n website?: string;\n};\n\nconst ContactItem: FC<ContactItemProps> = ({ email, labels, onPress, phone, website }) => {\n const colorScheme = useAppColorScheme();\n return (\n <View style={[styles.contactItemWrapper, { backgroundColor: colorScheme.white }]}>\n <View style={[styles.contactItem, { backgroundColor: colorScheme.background }]}>\n {website && (\n <ListItem\n action={{ icon: LinkIcon, onPress: onPress(website) }}\n dark\n title={labels.website}\n value={website}\n />\n )}\n {website && (email || phone) && <Separator dark />}\n {email && (\n <ListItem\n action={{ icon: MailIcon, onPress: onPress(`mailto:${email}`) }}\n dark\n title={labels.email}\n value={email}\n />\n )}\n {email && phone && <Separator dark />}\n {phone && (\n <ListItem\n action={{ icon: PhoneIcon, onPress: onPress(`tel:${phone}`) }}\n dark\n title={labels.phone}\n value={phone}\n />\n )}\n </View>\n </View>\n );\n};\n\nexport type TrustInfoDetailsScreenProps = {\n countries: {\n display: Record<string, string>;\n value: string;\n }[];\n labels: TrustInfoDetailsScreenLabels;\n language: string;\n onClose: () => void;\n testID: string;\n trustInformation: TrustInformationDetail;\n};\n\nconst TrustInfoDetailsScreen: FC<TrustInfoDetailsScreenProps> = ({\n countries,\n labels,\n language,\n onClose,\n testID,\n trustInformation,\n}) => {\n const insets = useSafeAreaInsets();\n const colorScheme = useAppColorScheme();\n const [expanded, setExpanded] = useState(false);\n\n const linkHandler = useCallback(\n (url: string) => () => {\n Linking.openURL(url).catch((e) => {\n reportException(e, `Error opening contact link ${url}`);\n });\n },\n [],\n );\n\n const trustDetails = trustInformation.eudiEcosystem;\n if (!trustDetails) {\n return null;\n }\n\n const countryDisplay = countries.find((c) => c.value === trustDetails.country)?.display;\n const country = countryDisplay?.[language] ?? countryDisplay?.en;\n\n const baseInfo: TrustInfoDetailItem[] = [\n {\n name: trustDetails.name,\n type: 'trustInfo',\n },\n {\n title: labels.isPublicSector,\n type: 'item',\n value: trustDetails.isPublicSector ? labels.true : undefined,\n },\n {\n title: labels.serviceDescription,\n type: 'item',\n value: trustDetails.serviceDescription[0]?.[language],\n },\n ];\n\n const expandItem: TrustInfoDetailItem[] = !expanded ? [{ type: 'expand' }] : [];\n\n const supervisoryAuthority: TrustInfoDetailItem[] = trustDetails.supervisoryAuthority\n ? [\n {\n title: labels.supervisoryAuthority,\n type: 'subsection',\n },\n {\n ...trustDetails.supervisoryAuthority,\n type: 'contact',\n website: trustDetails.supervisoryAuthority.uri,\n },\n ]\n : [];\n\n const extraInfo: TrustInfoDetailItem[] = expanded\n ? [\n {\n title: labels.country,\n type: 'item',\n value: country,\n },\n {\n title: labels.identifier,\n type: 'item',\n value: trustDetails.identifier,\n },\n {\n title: labels.support,\n type: 'subsection',\n },\n {\n type: 'contact',\n ...trustDetails,\n },\n ...supervisoryAuthority,\n { type: 'collapse' },\n ]\n : [];\n\n const trustDetailsSection = baseInfo.concat(expandItem).concat(extraInfo);\n\n const intermediaryName: TrustInfoDetailItem[] = trustDetails.intermediary?.name\n ? [\n {\n name: trustDetails.intermediary.name,\n type: 'trustInfo',\n },\n ]\n : [];\n\n const intermediarySection: TrustInfoDetailItem[] = trustDetails.intermediary\n ? [\n ...intermediaryName,\n {\n title: labels.country,\n type: 'item',\n value: trustDetails.intermediary.country,\n },\n {\n title: labels.identifier,\n type: 'item',\n value: trustDetails.intermediary.identifier,\n },\n {\n title: labels.support,\n type: 'subsection',\n },\n {\n type: 'contact',\n ...trustDetails.intermediary,\n },\n ]\n : [];\n\n const sections: SectionListData<TrustInfoDetailItem, TrustInfoDetailSection>[] = [\n {\n ItemSeparatorComponent: Separator,\n data: trustDetailsSection,\n },\n intermediarySection.length\n ? {\n ItemSeparatorComponent: Separator,\n data: intermediarySection,\n title: 'Intermediary',\n }\n : undefined,\n ].filter(nonEmptyFilter);\n\n return (\n <View style={styles.container}>\n <NavigationHeader\n leftItem={<BackButton onPress={onClose} />}\n style={{\n paddingTop: insets.top,\n }}\n title={labels.title}\n />\n <SectionList<TrustInfoDetailItem, TrustInfoDetailSection>\n contentInset={insets}\n renderItem={({ item, section }) => {\n switch (item.type) {\n case 'subsection':\n return (\n <View\n style={[styles.subsection, { backgroundColor: colorScheme.white }]}\n testID={concatTestID(testID, section.title)}>\n <Typography color={colorScheme.text} preset=\"m/heading\">\n {item.title}\n </Typography>\n </View>\n );\n case 'trustInfo':\n return (\n <TrustInfo\n labels={labels}\n style={[styles.trustInfoItem, styles.firstItem, { backgroundColor: colorScheme.white }]}\n trustInformation={item}\n />\n );\n case 'item':\n if (!item.value) {\n return <View style={styles.emptyItem} />;\n }\n return <ListItem {...item} value={item.value} />;\n case 'contact':\n if (!item.website && !item.phone && !item.email) {\n return <View style={styles.emptyItem} />;\n }\n return <ContactItem labels={labels} onPress={linkHandler} {...item} />;\n case 'expand':\n return <ListButton label={labels.expand} onPress={() => setExpanded(true)} />;\n case 'collapse':\n return <ListButton label={labels.collapse} onPress={() => setExpanded(false)} />;\n }\n }}\n renderSectionHeader={({ section }) => {\n return section.title ? (\n <View style={styles.sectionHeaderContainer} testID={concatTestID(testID, section.title)}>\n <Typography color={colorScheme.text} preset=\"m/heading\" style={styles.sectionHeaderText}>\n {section.title}\n </Typography>\n </View>\n ) : null;\n }}\n scrollEventThrottle={16}\n sections={sections}\n showsVerticalScrollIndicator={false}\n stickySectionHeadersEnabled={false}\n style={styles.list}\n testID={testID}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n actionButton: {\n alignItems: 'center',\n borderRadius: 19,\n height: 38,\n justifyContent: 'center',\n width: 38,\n },\n button: {\n height: 64,\n justifyContent: 'center',\n paddingBottom: 8,\n width: '100%',\n },\n contactItem: {\n borderRadius: 8,\n },\n contactItemWrapper: {\n padding: 12,\n },\n container: {\n flex: 1,\n },\n emptyItem: {\n height: 0,\n },\n firstItem: {\n borderTopLeftRadius: 8,\n borderTopRightRadius: 8,\n },\n item: {\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 12,\n },\n itemLabels: {\n flexDirection: 'column',\n },\n itemTitleLabel: {\n opacity: 0.5,\n },\n lastItem: {\n borderBottomLeftRadius: 8,\n borderBottomRightRadius: 8,\n },\n list: {\n marginHorizontal: 16,\n },\n sectionHeaderContainer: {\n justifyContent: 'center',\n marginTop: 20,\n paddingVertical: 16,\n },\n sectionHeaderText: {\n opacity: 0.7,\n paddingHorizontal: 20,\n },\n separator: {\n height: 1,\n marginHorizontal: 12,\n opacity: 0.4,\n },\n subsection: {\n paddingBottom: 8,\n paddingHorizontal: 12,\n paddingTop: 22,\n },\n trustInfoItem: {\n padding: 8,\n },\n});\n\nexport default TrustInfoDetailsScreen;\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,8 @@ const cacheTypeToQueryKeys = {
16
16
  [CacheType.TRUST_LIST]: [...TRUST_ENTITY_QUERY_KEYS, ...CREDENTIAL_QUERY_KEYS],
17
17
  [CacheType.X509_CRL]: CREDENTIAL_QUERY_KEYS,
18
18
  [CacheType.ANDROID_ATTESTATION_CRL]: CREDENTIAL_QUERY_KEYS,
19
- [CacheType.OPEN_ID_METADATA]: CREDENTIAL_QUERY_KEYS
19
+ [CacheType.OPEN_ID_METADATA_HOLDER]: CREDENTIAL_QUERY_KEYS,
20
+ [CacheType.OPEN_ID_METADATA_ISSUER]: CREDENTIAL_QUERY_KEYS
20
21
  };
21
22
  export const useCacheClear = () => {
22
23
  const queryClient = useQueryClient();
@@ -1 +1 @@
1
- {"version":3,"names":["CacheType","useMutation","useQueryClient","useONECore","CREDENTIAL_DETAIL_QUERY_KEY","CREDENTIAL_LIST_PAGED_QUERY_KEY","CREDENTIAL_LIST_QUERY_KEY","REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY","TRUST_ENTITY_DETAIL_QUERY_KEY","CREDENTIAL_QUERY_KEYS","TRUST_ENTITY_QUERY_KEYS","cacheTypeToQueryKeys","DID_DOCUMENT","JSON_LD_CONTEXT","STATUS_LIST_CREDENTIAL","VCT_METADATA","JSON_SCHEMA","TRUST_LIST","X509_CRL","ANDROID_ATTESTATION_CRL","OPEN_ID_METADATA","useCacheClear","queryClient","core","cacheTypes","deleteCache","onSuccess","_","queryKeysToInvalidate","Set","forEach","cacheType","keys","key","add","Promise","all","map","queryKey","invalidateQueries"],"sources":["cache.ts"],"sourcesContent":["import { CacheType } from '@procivis/react-native-one-core';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { useONECore } from './core-context';\nimport { CREDENTIAL_DETAIL_QUERY_KEY, CREDENTIAL_LIST_PAGED_QUERY_KEY, CREDENTIAL_LIST_QUERY_KEY } from './credentials';\nimport { REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY, TRUST_ENTITY_DETAIL_QUERY_KEY } from './trust-entity';\n\nconst CREDENTIAL_QUERY_KEYS = [CREDENTIAL_LIST_QUERY_KEY, CREDENTIAL_LIST_PAGED_QUERY_KEY, CREDENTIAL_DETAIL_QUERY_KEY];\nconst TRUST_ENTITY_QUERY_KEYS = [TRUST_ENTITY_DETAIL_QUERY_KEY, REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY];\n\n// Map each CacheType to the query keys that should be invalidated when that cache is cleared.\nconst cacheTypeToQueryKeys: Record<CacheType, string[]> = {\n [CacheType.DID_DOCUMENT]: CREDENTIAL_QUERY_KEYS,\n [CacheType.JSON_LD_CONTEXT]: CREDENTIAL_QUERY_KEYS,\n [CacheType.STATUS_LIST_CREDENTIAL]: CREDENTIAL_QUERY_KEYS,\n [CacheType.VCT_METADATA]: CREDENTIAL_QUERY_KEYS,\n [CacheType.JSON_SCHEMA]: CREDENTIAL_QUERY_KEYS,\n [CacheType.TRUST_LIST]: [...TRUST_ENTITY_QUERY_KEYS, ...CREDENTIAL_QUERY_KEYS],\n [CacheType.X509_CRL]: CREDENTIAL_QUERY_KEYS,\n [CacheType.ANDROID_ATTESTATION_CRL]: CREDENTIAL_QUERY_KEYS,\n [CacheType.OPEN_ID_METADATA]: CREDENTIAL_QUERY_KEYS,\n};\n\nexport const useCacheClear = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (cacheTypes: CacheType[]) => {\n await core.deleteCache(cacheTypes);\n return cacheTypes;\n },\n {\n onSuccess: async (_, cacheTypes) => {\n const queryKeysToInvalidate = new Set<string>();\n\n cacheTypes.forEach((cacheType) => {\n const keys = cacheTypeToQueryKeys[cacheType] || [];\n keys.forEach((key) => queryKeysToInvalidate.add(key));\n });\n\n await Promise.all([...queryKeysToInvalidate].map((queryKey) => queryClient.invalidateQueries(queryKey)));\n },\n },\n );\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,WAAW,EAAEC,cAAc,QAAQ,aAAa;AAEzD,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,2BAA2B,EAAEC,+BAA+B,EAAEC,yBAAyB,QAAQ,eAAe;AACvH,SAASC,oCAAoC,EAAEC,6BAA6B,QAAQ,gBAAgB;AAEpG,MAAMC,qBAAqB,GAAG,CAACH,yBAAyB,EAAED,+BAA+B,EAAED,2BAA2B,CAAC;AACvH,MAAMM,uBAAuB,GAAG,CAACF,6BAA6B,EAAED,oCAAoC,CAAC;;AAErG;AACA,MAAMI,oBAAiD,GAAG;EACxD,CAACX,SAAS,CAACY,YAAY,GAAGH,qBAAqB;EAC/C,CAACT,SAAS,CAACa,eAAe,GAAGJ,qBAAqB;EAClD,CAACT,SAAS,CAACc,sBAAsB,GAAGL,qBAAqB;EACzD,CAACT,SAAS,CAACe,YAAY,GAAGN,qBAAqB;EAC/C,CAACT,SAAS,CAACgB,WAAW,GAAGP,qBAAqB;EAC9C,CAACT,SAAS,CAACiB,UAAU,GAAG,CAAC,GAAGP,uBAAuB,EAAE,GAAGD,qBAAqB,CAAC;EAC9E,CAACT,SAAS,CAACkB,QAAQ,GAAGT,qBAAqB;EAC3C,CAACT,SAAS,CAACmB,uBAAuB,GAAGV,qBAAqB;EAC1D,CAACT,SAAS,CAACoB,gBAAgB,GAAGX;AAChC,CAAC;AAED,OAAO,MAAMY,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,WAAW,GAAGpB,cAAc,CAAC,CAAC;EACpC,MAAM;IAAEqB;EAAK,CAAC,GAAGpB,UAAU,CAAC,CAAC;EAE7B,OAAOF,WAAW,CAChB,MAAOuB,UAAuB,IAAK;IACjC,MAAMD,IAAI,CAACE,WAAW,CAACD,UAAU,CAAC;IAClC,OAAOA,UAAU;EACnB,CAAC,EACD;IACEE,SAAS,EAAE,MAAAA,CAAOC,CAAC,EAAEH,UAAU,KAAK;MAClC,MAAMI,qBAAqB,GAAG,IAAIC,GAAG,CAAS,CAAC;MAE/CL,UAAU,CAACM,OAAO,CAAEC,SAAS,IAAK;QAChC,MAAMC,IAAI,GAAGrB,oBAAoB,CAACoB,SAAS,CAAC,IAAI,EAAE;QAClDC,IAAI,CAACF,OAAO,CAAEG,GAAG,IAAKL,qBAAqB,CAACM,GAAG,CAACD,GAAG,CAAC,CAAC;MACvD,CAAC,CAAC;MAEF,MAAME,OAAO,CAACC,GAAG,CAAC,CAAC,GAAGR,qBAAqB,CAAC,CAACS,GAAG,CAAEC,QAAQ,IAAKhB,WAAW,CAACiB,iBAAiB,CAACD,QAAQ,CAAC,CAAC,CAAC;IAC1G;EACF,CACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["CacheType","useMutation","useQueryClient","useONECore","CREDENTIAL_DETAIL_QUERY_KEY","CREDENTIAL_LIST_PAGED_QUERY_KEY","CREDENTIAL_LIST_QUERY_KEY","REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY","TRUST_ENTITY_DETAIL_QUERY_KEY","CREDENTIAL_QUERY_KEYS","TRUST_ENTITY_QUERY_KEYS","cacheTypeToQueryKeys","DID_DOCUMENT","JSON_LD_CONTEXT","STATUS_LIST_CREDENTIAL","VCT_METADATA","JSON_SCHEMA","TRUST_LIST","X509_CRL","ANDROID_ATTESTATION_CRL","OPEN_ID_METADATA_HOLDER","OPEN_ID_METADATA_ISSUER","useCacheClear","queryClient","core","cacheTypes","deleteCache","onSuccess","_","queryKeysToInvalidate","Set","forEach","cacheType","keys","key","add","Promise","all","map","queryKey","invalidateQueries"],"sources":["cache.ts"],"sourcesContent":["import { CacheType } from '@procivis/react-native-one-core';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { useONECore } from './core-context';\nimport { CREDENTIAL_DETAIL_QUERY_KEY, CREDENTIAL_LIST_PAGED_QUERY_KEY, CREDENTIAL_LIST_QUERY_KEY } from './credentials';\nimport { REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY, TRUST_ENTITY_DETAIL_QUERY_KEY } from './trust-entity';\n\nconst CREDENTIAL_QUERY_KEYS = [CREDENTIAL_LIST_QUERY_KEY, CREDENTIAL_LIST_PAGED_QUERY_KEY, CREDENTIAL_DETAIL_QUERY_KEY];\nconst TRUST_ENTITY_QUERY_KEYS = [TRUST_ENTITY_DETAIL_QUERY_KEY, REMOTE_TRUST_ENTITY_DETAIL_QUERY_KEY];\n\n// Map each CacheType to the query keys that should be invalidated when that cache is cleared.\nconst cacheTypeToQueryKeys: Record<CacheType, string[]> = {\n [CacheType.DID_DOCUMENT]: CREDENTIAL_QUERY_KEYS,\n [CacheType.JSON_LD_CONTEXT]: CREDENTIAL_QUERY_KEYS,\n [CacheType.STATUS_LIST_CREDENTIAL]: CREDENTIAL_QUERY_KEYS,\n [CacheType.VCT_METADATA]: CREDENTIAL_QUERY_KEYS,\n [CacheType.JSON_SCHEMA]: CREDENTIAL_QUERY_KEYS,\n [CacheType.TRUST_LIST]: [...TRUST_ENTITY_QUERY_KEYS, ...CREDENTIAL_QUERY_KEYS],\n [CacheType.X509_CRL]: CREDENTIAL_QUERY_KEYS,\n [CacheType.ANDROID_ATTESTATION_CRL]: CREDENTIAL_QUERY_KEYS,\n [CacheType.OPEN_ID_METADATA_HOLDER]: CREDENTIAL_QUERY_KEYS,\n [CacheType.OPEN_ID_METADATA_ISSUER]: CREDENTIAL_QUERY_KEYS,\n};\n\nexport const useCacheClear = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (cacheTypes: CacheType[]) => {\n await core.deleteCache(cacheTypes);\n return cacheTypes;\n },\n {\n onSuccess: async (_, cacheTypes) => {\n const queryKeysToInvalidate = new Set<string>();\n\n cacheTypes.forEach((cacheType) => {\n const keys = cacheTypeToQueryKeys[cacheType] || [];\n keys.forEach((key) => queryKeysToInvalidate.add(key));\n });\n\n await Promise.all([...queryKeysToInvalidate].map((queryKey) => queryClient.invalidateQueries(queryKey)));\n },\n },\n );\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iCAAiC;AAC3D,SAASC,WAAW,EAAEC,cAAc,QAAQ,aAAa;AAEzD,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,2BAA2B,EAAEC,+BAA+B,EAAEC,yBAAyB,QAAQ,eAAe;AACvH,SAASC,oCAAoC,EAAEC,6BAA6B,QAAQ,gBAAgB;AAEpG,MAAMC,qBAAqB,GAAG,CAACH,yBAAyB,EAAED,+BAA+B,EAAED,2BAA2B,CAAC;AACvH,MAAMM,uBAAuB,GAAG,CAACF,6BAA6B,EAAED,oCAAoC,CAAC;;AAErG;AACA,MAAMI,oBAAiD,GAAG;EACxD,CAACX,SAAS,CAACY,YAAY,GAAGH,qBAAqB;EAC/C,CAACT,SAAS,CAACa,eAAe,GAAGJ,qBAAqB;EAClD,CAACT,SAAS,CAACc,sBAAsB,GAAGL,qBAAqB;EACzD,CAACT,SAAS,CAACe,YAAY,GAAGN,qBAAqB;EAC/C,CAACT,SAAS,CAACgB,WAAW,GAAGP,qBAAqB;EAC9C,CAACT,SAAS,CAACiB,UAAU,GAAG,CAAC,GAAGP,uBAAuB,EAAE,GAAGD,qBAAqB,CAAC;EAC9E,CAACT,SAAS,CAACkB,QAAQ,GAAGT,qBAAqB;EAC3C,CAACT,SAAS,CAACmB,uBAAuB,GAAGV,qBAAqB;EAC1D,CAACT,SAAS,CAACoB,uBAAuB,GAAGX,qBAAqB;EAC1D,CAACT,SAAS,CAACqB,uBAAuB,GAAGZ;AACvC,CAAC;AAED,OAAO,MAAMa,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,WAAW,GAAGrB,cAAc,CAAC,CAAC;EACpC,MAAM;IAAEsB;EAAK,CAAC,GAAGrB,UAAU,CAAC,CAAC;EAE7B,OAAOF,WAAW,CAChB,MAAOwB,UAAuB,IAAK;IACjC,MAAMD,IAAI,CAACE,WAAW,CAACD,UAAU,CAAC;IAClC,OAAOA,UAAU;EACnB,CAAC,EACD;IACEE,SAAS,EAAE,MAAAA,CAAOC,CAAC,EAAEH,UAAU,KAAK;MAClC,MAAMI,qBAAqB,GAAG,IAAIC,GAAG,CAAS,CAAC;MAE/CL,UAAU,CAACM,OAAO,CAAEC,SAAS,IAAK;QAChC,MAAMC,IAAI,GAAGtB,oBAAoB,CAACqB,SAAS,CAAC,IAAI,EAAE;QAClDC,IAAI,CAACF,OAAO,CAAEG,GAAG,IAAKL,qBAAqB,CAACM,GAAG,CAACD,GAAG,CAAC,CAAC;MACvD,CAAC,CAAC;MAEF,MAAME,OAAO,CAACC,GAAG,CAAC,CAAC,GAAGR,qBAAqB,CAAC,CAACS,GAAG,CAAEC,QAAQ,IAAKhB,WAAW,CAACiB,iBAAiB,CAACD,QAAQ,CAAC,CAAC,CAAC;IAC1G;EACF,CACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -36,7 +36,8 @@ export const generateHwIdentifier = async (core, organisationId) => {
36
36
  params: {}
37
37
  },
38
38
  name: HW_DID_NAME_PREFIX,
39
- organisationId
39
+ organisationId,
40
+ trustInformation: []
40
41
  });
41
42
  }
42
43
  return null;
@@ -64,7 +65,8 @@ export const generateSwIdentifier = async (core, organisationId) => {
64
65
  params: {}
65
66
  },
66
67
  name: SW_DID_NAME_PREFIX,
67
- organisationId
68
+ organisationId,
69
+ trustInformation: []
68
70
  });
69
71
  };
70
72
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["OneError","useCallback","reportException","useONECore","OneErrorCode","SW_DID_NAME_PREFIX","HW_DID_NAME_PREFIX","ATTESTATION_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';\nexport const ATTESTATION_DID_NAME_PREFIX = 'holder-did-attestation-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 = ({\n generateHwKey,\n generateSwKey,\n}: 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;AACrD,OAAO,MAAMC,2BAA2B,GAAG,4BAA4B;AAEvE,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,YAAYnB,QAAQ,IAAImB,CAAC,CAACC,IAAI,KAAKhB,YAAY,CAACiB,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,EAAET,kBAAkB;QACxBmB,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,EAAET,kBAAkB;MACxBI;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,EAAEV,kBAAkB;MACxBoB,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,EAAEV,kBAAkB;IACxBK;EACF,CAAC,CAAC;AACJ,CAAC;AAOD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMwB,+BAA+B,GAAGA,CAAC;EAC9CC,aAAa;EACbC;AAC+B,CAAC,KAAK;EACrC,MAAM;IAAE3B,IAAI;IAAEC;EAAe,CAAC,GAAGP,UAAU,CAAC,CAAC;EAE7C,OAAOF,WAAW,CAAC,YAAY;IAC7B,OAAO,MAAMQ,IAAI,CACd4B,kBAAkB,CAAC;MAAEC,EAAE,EAAE5B;IAAe,CAAC,CAAC,CAC1CQ,KAAK,CAAEC,CAAC,IAAK;MACZ,IAAIA,CAAC,YAAYnB,QAAQ,IAAImB,CAAC,CAACC,IAAI,KAAKhB,YAAY,CAACmC,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;MACdzC,eAAe,CAACyC,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
+ {"version":3,"names":["OneError","useCallback","reportException","useONECore","OneErrorCode","SW_DID_NAME_PREFIX","HW_DID_NAME_PREFIX","ATTESTATION_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","trustInformation","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';\nexport const ATTESTATION_DID_NAME_PREFIX = 'holder-did-attestation-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 trustInformation: [],\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 trustInformation: [],\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":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { CredentialState, OneError } from '@procivis/react-native-one-core';
2
- import { useInfiniteQuery, useMutation, useQuery, useQueryClient } from 'react-query';
2
+ import { useInfiniteQuery, useMutation, useQueries, useQuery, useQueryClient } from 'react-query';
3
3
  import { getQueryKeyFromCredentialListQueryParams } from '../../parsers/query';
4
4
  import { useONECore } from './core-context';
5
5
  import { CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY, CREDENTIAL_SCHEMA_LIST_QUERY_KEY } from './credential-schemas';
@@ -10,6 +10,7 @@ const PAGE_SIZE = 20;
10
10
  export const CREDENTIAL_LIST_QUERY_KEY = 'credential-list';
11
11
  export const CREDENTIAL_LIST_PAGED_QUERY_KEY = 'credential-list-paged';
12
12
  export const CREDENTIAL_DETAIL_QUERY_KEY = 'credential-detail';
13
+ export const CREDENTIAL_TRUST_INFORMATION_QUERY_KEY = 'credential-trust-information';
13
14
  export const useCredentials = queryParams => {
14
15
  const {
15
16
  core,
@@ -172,4 +173,26 @@ export const useContinueIssuance = () => {
172
173
  }
173
174
  });
174
175
  };
176
+ export const useCredentialTrustInformation = credentialId => {
177
+ const {
178
+ core
179
+ } = useONECore();
180
+ return useQuery([CREDENTIAL_TRUST_INFORMATION_QUERY_KEY, credentialId], () => credentialId ? core.getCredentialTrustInformation(credentialId) : undefined, {
181
+ enabled: Boolean(credentialId),
182
+ keepPreviousData: true
183
+ });
184
+ };
185
+ export const useCredentialsTrustInformation = credentialIds => {
186
+ const {
187
+ core
188
+ } = useONECore();
189
+ return useQueries(credentialIds.map(id => ({
190
+ keepPreviousData: true,
191
+ meta: {
192
+ id
193
+ },
194
+ queryFn: () => core.getCredentialTrustInformation(id),
195
+ queryKey: [CREDENTIAL_TRUST_INFORMATION_QUERY_KEY, id]
196
+ })));
197
+ };
175
198
  //# sourceMappingURL=credentials.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CredentialState","OneError","useInfiniteQuery","useMutation","useQuery","useQueryClient","getQueryKeyFromCredentialListQueryParams","useONECore","CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY","CREDENTIAL_SCHEMA_LIST_QUERY_KEY","OneErrorCode","HISTORY_LIST_QUERY_KEY","PROOF_LIST_QUERY_KEY","PAGE_SIZE","CREDENTIAL_LIST_QUERY_KEY","CREDENTIAL_LIST_PAGED_QUERY_KEY","CREDENTIAL_DETAIL_QUERY_KEY","useCredentials","queryParams","core","organisationId","values","listCredentials","page","pageSize","states","ACCEPTED","SUSPENDED","REVOKED","keepPreviousData","usePagedCredentials","pageParam","getNextPageParam","lastPage","allPages","length","totalPages","undefined","useCredentialDetail","credentialId","active","getCredential","enabled","Boolean","useInvitationHandler","queryClient","request","handleInvitation","onSuccess","result","type_","invalidateQueries","useCredentialAccept","credentialAcceptHookParams","holderAcceptCredential","useCredentialReject","interactionId","holderRejectCredential","catch","e","code","OperationNotSupported","useCredentialRevocationCheck","forceRefresh","credentialIds","checkRevocation","useCredentialDelete","deleteCredential","_","removeQueries","useInvalidateCredentialDetails","useInitiateIssuance","initiateIssuance","useContinueIssuance","url","continueIssuance"],"sources":["credentials.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialState,\n HandleInvitationRequest,\n HandleInvitationResponse,\n InitiateIssuanceRequest,\n OneError,\n} from '@procivis/react-native-one-core';\nimport { useInfiniteQuery, useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromCredentialListQueryParams } from '../../parsers/query';\nimport { useONECore } from './core-context';\nimport { CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY, CREDENTIAL_SCHEMA_LIST_QUERY_KEY } from './credential-schemas';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { PROOF_LIST_QUERY_KEY } from './proofs';\n\nconst PAGE_SIZE = 20;\nexport const CREDENTIAL_LIST_QUERY_KEY = 'credential-list';\nexport const CREDENTIAL_LIST_PAGED_QUERY_KEY = 'credential-list-paged';\nexport const CREDENTIAL_DETAIL_QUERY_KEY = 'credential-detail';\n\nexport const useCredentials = (queryParams?: Partial<CredentialListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [CREDENTIAL_LIST_QUERY_KEY, ...getQueryKeyFromCredentialListQueryParams(queryParams)],\n async () => {\n const { values } = await core.listCredentials({\n organisationId,\n page: 0,\n // TODO: workaround pagination for now, until it's supported by UI\n pageSize: 10000,\n states: [CredentialState.ACCEPTED, CredentialState.SUSPENDED, CredentialState.REVOKED],\n ...queryParams,\n });\n return values;\n },\n {\n keepPreviousData: true,\n },\n );\n};\n\nexport const usePagedCredentials = (queryParams?: Partial<CredentialListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useInfiniteQuery(\n [\n CREDENTIAL_LIST_QUERY_KEY,\n CREDENTIAL_LIST_PAGED_QUERY_KEY,\n ...getQueryKeyFromCredentialListQueryParams(queryParams),\n ],\n ({ pageParam = 0 }) =>\n core.listCredentials({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n states: [CredentialState.ACCEPTED, CredentialState.SUSPENDED, CredentialState.REVOKED],\n ...queryParams,\n }),\n {\n getNextPageParam: (lastPage, allPages) => (allPages.length < lastPage.totalPages ? allPages.length : undefined),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCredentialDetail = (credentialId: string | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [CREDENTIAL_DETAIL_QUERY_KEY, credentialId],\n () => (credentialId ? core.getCredential(credentialId) : undefined),\n {\n enabled: active && Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useInvitationHandler = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<HandleInvitationRequest, 'organisationId'>) =>\n core.handleInvitation({ organisationId, ...request }),\n {\n onSuccess: async (result: HandleInvitationResponse) => {\n if (result.type_ === 'PROOF_REQUEST') {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n } else {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n }\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n type CredentialAcceptHookParams = {\n didId?: string;\n identifierId?: string;\n interactionId: string;\n keyId?: string;\n txCode?: string;\n holderWalletUnitId?: string;\n };\n\n return useMutation(\n async (credentialAcceptHookParams: CredentialAcceptHookParams) =>\n core.holderAcceptCredential(credentialAcceptHookParams),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectCredential(interactionId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialRevocationCheck = (forceRefresh: boolean) => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (credentialIds: string[]) => core.checkRevocation(credentialIds, forceRefresh), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useCredentialDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (credentialId: string) => core.deleteCredential(credentialId), {\n onSuccess: async (_, credentialId) => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.removeQueries([CREDENTIAL_DETAIL_QUERY_KEY, credentialId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useInvalidateCredentialDetails = () => {\n const queryClient = useQueryClient();\n\n return (credentialId: string | undefined) =>\n queryClient.invalidateQueries([CREDENTIAL_DETAIL_QUERY_KEY, credentialId]);\n};\n\nexport const useInitiateIssuance = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<InitiateIssuanceRequest, 'organisationId'>) =>\n core.initiateIssuance({ organisationId, ...request }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useContinueIssuance = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (url: string) => core.continueIssuance(url), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CredentialState","OneError","useInfiniteQuery","useMutation","useQueries","useQuery","useQueryClient","getQueryKeyFromCredentialListQueryParams","useONECore","CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY","CREDENTIAL_SCHEMA_LIST_QUERY_KEY","OneErrorCode","HISTORY_LIST_QUERY_KEY","PROOF_LIST_QUERY_KEY","PAGE_SIZE","CREDENTIAL_LIST_QUERY_KEY","CREDENTIAL_LIST_PAGED_QUERY_KEY","CREDENTIAL_DETAIL_QUERY_KEY","CREDENTIAL_TRUST_INFORMATION_QUERY_KEY","useCredentials","queryParams","core","organisationId","values","listCredentials","page","pageSize","states","ACCEPTED","SUSPENDED","REVOKED","keepPreviousData","usePagedCredentials","pageParam","getNextPageParam","lastPage","allPages","length","totalPages","undefined","useCredentialDetail","credentialId","active","getCredential","enabled","Boolean","useInvitationHandler","queryClient","request","handleInvitation","onSuccess","result","type_","invalidateQueries","useCredentialAccept","credentialAcceptHookParams","holderAcceptCredential","useCredentialReject","interactionId","holderRejectCredential","catch","e","code","OperationNotSupported","useCredentialRevocationCheck","forceRefresh","credentialIds","checkRevocation","useCredentialDelete","deleteCredential","_","removeQueries","useInvalidateCredentialDetails","useInitiateIssuance","initiateIssuance","useContinueIssuance","url","continueIssuance","useCredentialTrustInformation","getCredentialTrustInformation","useCredentialsTrustInformation","map","id","meta","queryFn","queryKey"],"sources":["credentials.ts"],"sourcesContent":["import {\n CredentialListQuery,\n CredentialState,\n HandleInvitationRequest,\n HandleInvitationResponse,\n HolderAcceptCredentialRequest,\n InitiateIssuanceRequest,\n OneError,\n} from '@procivis/react-native-one-core';\nimport { useInfiniteQuery, useMutation, useQueries, useQuery, useQueryClient } from 'react-query';\n\nimport { getQueryKeyFromCredentialListQueryParams } from '../../parsers/query';\nimport { useONECore } from './core-context';\nimport { CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY, CREDENTIAL_SCHEMA_LIST_QUERY_KEY } from './credential-schemas';\nimport { OneErrorCode } from './error-code';\nimport { HISTORY_LIST_QUERY_KEY } from './history';\nimport { PROOF_LIST_QUERY_KEY } from './proofs';\n\nconst PAGE_SIZE = 20;\nexport const CREDENTIAL_LIST_QUERY_KEY = 'credential-list';\nexport const CREDENTIAL_LIST_PAGED_QUERY_KEY = 'credential-list-paged';\nexport const CREDENTIAL_DETAIL_QUERY_KEY = 'credential-detail';\nexport const CREDENTIAL_TRUST_INFORMATION_QUERY_KEY = 'credential-trust-information';\n\nexport const useCredentials = (queryParams?: Partial<CredentialListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useQuery(\n [CREDENTIAL_LIST_QUERY_KEY, ...getQueryKeyFromCredentialListQueryParams(queryParams)],\n async () => {\n const { values } = await core.listCredentials({\n organisationId,\n page: 0,\n // TODO: workaround pagination for now, until it's supported by UI\n pageSize: 10000,\n states: [CredentialState.ACCEPTED, CredentialState.SUSPENDED, CredentialState.REVOKED],\n ...queryParams,\n });\n return values;\n },\n {\n keepPreviousData: true,\n },\n );\n};\n\nexport const usePagedCredentials = (queryParams?: Partial<CredentialListQuery>) => {\n const { core, organisationId } = useONECore();\n\n return useInfiniteQuery(\n [\n CREDENTIAL_LIST_QUERY_KEY,\n CREDENTIAL_LIST_PAGED_QUERY_KEY,\n ...getQueryKeyFromCredentialListQueryParams(queryParams),\n ],\n ({ pageParam = 0 }) =>\n core.listCredentials({\n organisationId,\n page: pageParam,\n pageSize: PAGE_SIZE,\n states: [CredentialState.ACCEPTED, CredentialState.SUSPENDED, CredentialState.REVOKED],\n ...queryParams,\n }),\n {\n getNextPageParam: (lastPage, allPages) => (allPages.length < lastPage.totalPages ? allPages.length : undefined),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCredentialDetail = (credentialId: string | undefined, active = true) => {\n const { core } = useONECore();\n\n return useQuery(\n [CREDENTIAL_DETAIL_QUERY_KEY, credentialId],\n () => (credentialId ? core.getCredential(credentialId) : undefined),\n {\n enabled: active && Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useInvitationHandler = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<HandleInvitationRequest, 'organisationId'>) =>\n core.handleInvitation({ organisationId, ...request }),\n {\n onSuccess: async (result: HandleInvitationResponse) => {\n if (result.type_ === 'PROOF_REQUEST') {\n await queryClient.invalidateQueries(PROOF_LIST_QUERY_KEY);\n } else {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n }\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialAccept = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (credentialAcceptHookParams: HolderAcceptCredentialRequest) =>\n core.holderAcceptCredential(credentialAcceptHookParams),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialReject = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(\n async (interactionId: string) =>\n core.holderRejectCredential(interactionId).catch((e) => {\n if (e instanceof OneError && e.code === OneErrorCode.OperationNotSupported) {\n return;\n }\n throw e;\n }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useCredentialRevocationCheck = (forceRefresh: boolean) => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (credentialIds: string[]) => core.checkRevocation(credentialIds, forceRefresh), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useCredentialDelete = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (credentialId: string) => core.deleteCredential(credentialId), {\n onSuccess: async (_, credentialId) => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.removeQueries([CREDENTIAL_DETAIL_QUERY_KEY, credentialId]);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useInvalidateCredentialDetails = () => {\n const queryClient = useQueryClient();\n\n return (credentialId: string | undefined) =>\n queryClient.invalidateQueries([CREDENTIAL_DETAIL_QUERY_KEY, credentialId]);\n};\n\nexport const useInitiateIssuance = () => {\n const queryClient = useQueryClient();\n const { core, organisationId } = useONECore();\n\n return useMutation(\n async (request: Omit<InitiateIssuanceRequest, 'organisationId'>) =>\n core.initiateIssuance({ organisationId, ...request }),\n {\n onSuccess: async () => {\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n },\n );\n};\n\nexport const useContinueIssuance = () => {\n const queryClient = useQueryClient();\n const { core } = useONECore();\n\n return useMutation(async (url: string) => core.continueIssuance(url), {\n onSuccess: async () => {\n await queryClient.invalidateQueries(CREDENTIAL_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_LIST_QUERY_KEY);\n await queryClient.invalidateQueries(CREDENTIAL_SCHEMA_DETAIL_QUERY_KEY);\n await queryClient.invalidateQueries(HISTORY_LIST_QUERY_KEY);\n },\n });\n};\n\nexport const useCredentialTrustInformation = (credentialId: string | undefined) => {\n const { core } = useONECore();\n\n return useQuery(\n [CREDENTIAL_TRUST_INFORMATION_QUERY_KEY, credentialId],\n () => (credentialId ? core.getCredentialTrustInformation(credentialId) : undefined),\n {\n enabled: Boolean(credentialId),\n keepPreviousData: true,\n },\n );\n};\n\nexport const useCredentialsTrustInformation = (credentialIds: string[]) => {\n const { core } = useONECore();\n\n return useQueries(\n credentialIds.map((id) => ({\n keepPreviousData: true,\n meta: {\n id,\n },\n queryFn: () => core.getCredentialTrustInformation(id),\n queryKey: [CREDENTIAL_TRUST_INFORMATION_QUERY_KEY, id],\n })),\n );\n};\n"],"mappings":"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","ignoreList":[]}