diff --git a/lib/dashboard/missing_creentials/cubit/missing_credentials_cubit.dart b/lib/dashboard/missing_creentials/cubit/missing_credentials_cubit.dart index 9ebe4a082..e9f632611 100644 --- a/lib/dashboard/missing_creentials/cubit/missing_credentials_cubit.dart +++ b/lib/dashboard/missing_creentials/cubit/missing_credentials_cubit.dart @@ -58,8 +58,18 @@ class MissingCredentialsCubit extends Cubit { credentialField['filter'] as Map, ); - final credentialName = - filter.pattern ?? filter.contains!.containsConst; + final credentialName = filter.pattern ?? + filter.contains?.containsConst ?? + filter.containsConst; + + if (credentialName == null) { + throw ResponseMessage( + data: { + 'error': 'invalid_request', + 'error_description': 'Invalid presentatoin Definition.', + }, + ); + } final CredentialSubjectType? credentialSubjectType = getCredTypeFromName(credentialName); diff --git a/lib/scan/cubit/scan_cubit.dart b/lib/scan/cubit/scan_cubit.dart index ed099301a..6efdb7551 100644 --- a/lib/scan/cubit/scan_cubit.dart +++ b/lib/scan/cubit/scan_cubit.dart @@ -727,6 +727,9 @@ class ScanCubit extends Cubit { 'definition_id': presentationDefinition.id, }; + final vcFormatType = profileSetting + .selfSovereignIdentityOptions.customOidc4vcProfile.vcFormatType; + final inputDescriptors = >[]; String? vcFormat; @@ -761,8 +764,6 @@ class ScanCubit extends Cubit { } } else { if (clientMetaData == null) { - final vcFormatType = profileSetting - .selfSovereignIdentityOptions.customOidc4vcProfile.vcFormatType; vcFormat = vcFormatType.vcValue; vpFormat = vcFormatType.vpValue; } else { @@ -800,7 +801,7 @@ class ScanCubit extends Cubit { Map? pathNested; - if (!(inputDescriptor.id == null || vcFormat == null)) { + if (vcFormatType != VCFormatType.vcSdJWT) { pathNested = { 'id': inputDescriptor.id, 'format': vcFormat, @@ -814,7 +815,7 @@ class ScanCubit extends Cubit { 'path': r'$', }; - if (pathNested != null) { + if (vcFormatType != VCFormatType.vcSdJWT && pathNested != null) { if (credentialsToBePresented.length == 1) { if (vpFormat == 'ldp_vp') { pathNested['path'] = r'$.verifiableCredential'; @@ -836,9 +837,6 @@ class ScanCubit extends Cubit { r'$.vp.verifiableCredential[' + i.toString() + ']'; } } - } - - if (pathNested != null) { descriptor['path_nested'] = pathNested; }