Skip to content

Commit

Permalink
Show non-selective disclosure data in the selection list #2522
Browse files Browse the repository at this point in the history
  • Loading branch information
bibash28 committed Mar 20, 2024
1 parent 5b78bef commit 88274d1
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 18 deletions.
27 changes: 12 additions & 15 deletions lib/selective_disclosure/selective_disclosure.dart
Original file line number Diff line number Diff line change
Expand Up @@ -105,22 +105,19 @@ class SelectiveDisclosure {
if (valueType == null) return null;

if (valueType == 'image/jpeg') {
final data = getClaimsData(
key: 'picture',
chooseFromDisclosureFromJWTOnly: false,
);

final (data, _) = getClaimsData(key: 'picture');
return data;
} else {
return null;
}
}

String? getClaimsData({
/// claimsdata, isfromDisclosureOfJWT
(String?, bool) getClaimsData({
required String key,
required bool chooseFromDisclosureFromJWTOnly,
}) {
String? data;
bool isfromDisclosureOfJWT = false;

final JsonPath dataPath = JsonPath(
// ignore: prefer_interpolation_to_compose_strings
Expand All @@ -130,17 +127,17 @@ class SelectiveDisclosure {
try {
final uncryptedDataPath = dataPath.read(extractedValuesFromJwt).first;
data = uncryptedDataPath.value.toString();
isfromDisclosureOfJWT = true;
} catch (e) {
if (!chooseFromDisclosureFromJWTOnly) {
try {
final credentialModelPath = dataPath.read(credentialModel.data).first;
data = credentialModelPath.value.toString();
} catch (e) {
data = null;
}
try {
final credentialModelPath = dataPath.read(credentialModel.data).first;
data = credentialModelPath.value.toString();
isfromDisclosureOfJWT = false;
} catch (e) {
data = null;
}
}

return data;
return (data, isfromDisclosureOfJWT);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -82,11 +82,13 @@ class DisplaySelectiveDisclosure extends StatelessWidget {
if (display == null) return Container();
title = display['name'].toString();

data = SelectiveDisclosure(credentialModel).getClaimsData(
final (claimsData, isfromDisclosureOfJWT) =
SelectiveDisclosure(credentialModel).getClaimsData(
key: key,
chooseFromDisclosureFromJWTOnly: selectedIndex != null,
);

data = claimsData;

if (data == null) return Container();

return TransparentInkWell(
Expand All @@ -104,7 +106,7 @@ class DisplaySelectiveDisclosure extends StatelessWidget {
showVertically: showVertically,
),
),
if (selectedIndex != null) ...[
if (selectedIndex != null && isfromDisclosureOfJWT) ...[
const Spacer(),
Padding(
padding: const EdgeInsets.only(top: 15, right: 10),
Expand Down

0 comments on commit 88274d1

Please sign in to comment.