use std::collections::BTreeMap;
use crate::presentation::device::RequestedItems;
use serde::{Deserialize, Serialize};
use serde_json::Value;
pub mod mdoc;
#[derive(Debug, Serialize, Deserialize, Default, Clone, PartialEq)]
pub struct RequestAuthenticationOutcome {
pub items_request: RequestedItems,
pub common_name: Option<String>,
pub reader_authentication: AuthenticationStatus,
pub errors: Errors,
}
#[derive(Debug, Serialize, Deserialize, Default, Clone, PartialEq, Eq)]
pub struct ResponseAuthenticationOutcome {
pub response: BTreeMap<String, Value>,
pub issuer_authentication: AuthenticationStatus,
pub device_authentication: AuthenticationStatus,
pub errors: Errors,
}
#[derive(Debug, Serialize, Deserialize, Default, Clone, Copy, PartialEq, Eq)]
pub enum AuthenticationStatus {
#[default]
Unchecked,
Invalid,
Valid,
}
pub type Errors = BTreeMap<String, serde_json::Value>;