identity_credential/presentation/
jwt_presentation_options.rsuse identity_core::common::Object;
use serde::Deserialize;
use serde::Serialize;
use identity_core::common::Timestamp;
use identity_core::common::Url;
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JwtPresentationOptions {
pub expiration_date: Option<Timestamp>,
pub issuance_date: Option<Timestamp>,
pub audience: Option<Url>,
pub custom_claims: Option<Object>,
}
impl JwtPresentationOptions {
pub fn expiration_date(mut self, expires: Timestamp) -> Self {
self.expiration_date = Some(expires);
self
}
pub fn issuance_date(mut self, issued_at: Timestamp) -> Self {
self.issuance_date = Some(issued_at);
self
}
pub fn audience(mut self, audience: Url) -> Self {
self.audience = Some(audience);
self
}
}
impl Default for JwtPresentationOptions {
fn default() -> Self {
Self {
expiration_date: None,
issuance_date: Some(Timestamp::now_utc()),
audience: None,
custom_claims: None,
}
}
}