identity_credential/validator/jwt_presentation_validation/
error.rs1use std::error::Error;
5use std::fmt::Display;
6
7use crate::validator::jwt_credential_validation::JwtValidationError;
8
9#[derive(Debug)]
11pub struct CompoundJwtPresentationValidationError {
12 pub presentation_validation_errors: Vec<JwtValidationError>,
14}
15
16impl CompoundJwtPresentationValidationError {
17 pub(crate) fn one_presentation_error(error: JwtValidationError) -> Self {
18 Self {
19 presentation_validation_errors: vec![error],
20 }
21 }
22}
23
24impl Display for CompoundJwtPresentationValidationError {
25 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
26 let error_string_iter = self
27 .presentation_validation_errors
28 .iter()
29 .map(|error| error.to_string());
30
31 let detailed_information: String = itertools::intersperse(error_string_iter, "; ".to_string()).collect();
32 write!(f, "[{detailed_information}]")
33 }
34}
35
36impl Error for CompoundJwtPresentationValidationError {}