Skip to content

Commit 7e969ef

Browse files
authored
adjust txdata error (#310)
Signed-off-by: Kevin <kevin.dinh@lissi.id>
1 parent df104b7 commit 7e969ef

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

src/WalletFramework.Oid4Vc/Oid4Vp/Services/Oid4VpClientService.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ from claim in sdJwtRecord.Claims
355355
ClientId = authorizationRequest.ClientId,
356356
ClientMetadata = authorizationRequest.ClientMetadata,
357357
Name = authorizationRequest.Requirements.Match(
358-
dcqlQuery => Option<string>.None,
358+
_ => Option<string>.None,
359359
presentationDefinition => presentationDefinition.Name),
360360
PresentedCredentialSets = presentedCredentials.ToList()
361361
};
@@ -637,7 +637,7 @@ from claim in sdJwtRecord.Claims
637637
ClientId = authorizationRequest.ClientId,
638638
ClientMetadata = authorizationRequest.ClientMetadata,
639639
Name = authorizationRequest.Requirements.Match(
640-
dcqlQuery => Option<string>.None,
640+
_ => Option<string>.None,
641641
presentationDefinition => presentationDefinition.Name),
642642
PresentedCredentialSets = presentedCredentials.ToList()
643643
};
@@ -675,7 +675,7 @@ public async Task<Validation<AuthorizationRequestCancellation, PresentationCandi
675675
var uc5TxDataOption = presentationCandidates
676676
.AuthorizationRequest
677677
.Requirements.Match(
678-
dcqlQuery => Option<IEnumerable<InputDescriptorTransactionData>>.None,
678+
_ => Option<IEnumerable<InputDescriptorTransactionData>>.None,
679679
presentationDefinition => presentationDefinition.InputDescriptors.TraverseAny(descriptor =>
680680
descriptor.TransactionData.OnSome(list =>
681681
new InputDescriptorTransactionData(descriptor.Id, list))));
@@ -713,7 +713,8 @@ private static Validation<AuthorizationRequestCancellation, PresentationCandidat
713713
return candidates.FindCandidateForTransactionData(transactionData).Match(
714714
candidate => candidate.AddTransactionData(transactionData),
715715
() => (Validation<PresentationCandidate>)new InvalidTransactionDataError(
716-
$"No credentials found that satisfy the transaction data with type {transactionData.GetTransactionDataType().AsString()}"));
716+
$"No credentials found that satisfy the transaction data with type {transactionData.GetTransactionDataType().AsString()}",
717+
presentationCandidates));
717718
});
718719

719720
return candidatesValidation.OnSuccess(enumerable => presentationCandidates with
@@ -722,7 +723,8 @@ private static Validation<AuthorizationRequestCancellation, PresentationCandidat
722723
});
723724
},
724725
() => new InvalidTransactionDataError(
725-
"No credentials found that satisfy the authorization request with transaction data")
726+
"No credentials found that satisfy the authorization request with transaction data",
727+
presentationCandidates)
726728
.ToInvalid<PresentationCandidates>()
727729
);
728730

@@ -748,7 +750,9 @@ private static Validation<AuthorizationRequestCancellation, PresentationCandidat
748750

749751
return candidateOption.Match(
750752
candidate => candidate.AddUc5TransactionData(inputDescriptorTxData.TransactionData),
751-
() => (Validation<PresentationCandidate>)new InvalidTransactionDataError("No credentials found that satisfy the authorization request with transaction data")
753+
() => (Validation<PresentationCandidate>)new InvalidTransactionDataError(
754+
"No credentials found that satisfy the authorization request with transaction data",
755+
presentationCandidates)
752756
);
753757
});
754758

src/WalletFramework.Oid4Vc/Oid4Vp/TransactionDatas/Errors/InvalidTransactionDataError.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
using LanguageExt;
22
using WalletFramework.Oid4Vc.Oid4Vp.Errors;
3+
using WalletFramework.Oid4Vc.Oid4Vp.Models;
34

45
namespace WalletFramework.Oid4Vc.Oid4Vp.TransactionDatas.Errors;
56

67
public record InvalidTransactionDataError : VpError
78
{
89
private const string Code = "invalid_transaction_data";
9-
10+
11+
public Option<PresentationCandidates> PresentationCandidates { get; }
12+
1013
public InvalidTransactionDataError(string message) : base(Code, message)
1114
{
1215
}
@@ -16,4 +19,13 @@ public InvalidTransactionDataError(
1619
Option<Exception> Exception) : base(Code, Message, Exception)
1720
{
1821
}
22+
23+
public InvalidTransactionDataError(string message, PresentationCandidates candidates) : base(Code, message) =>
24+
PresentationCandidates = candidates;
25+
26+
public InvalidTransactionDataError(
27+
string Message,
28+
PresentationCandidates candidates,
29+
Option<Exception> Exception) : base(Code, Message, Exception) =>
30+
PresentationCandidates = candidates;
1931
}

0 commit comments

Comments
 (0)