use time::OffsetDateTime;
use crate::types::{Ppnum, PpnumId, SessionId};
#[derive(Debug, Clone)]
pub struct VerifiedClaims {
ppnum_id: PpnumId,
ppnum: Option<Ppnum>,
session_id: Option<SessionId>,
expires_at: OffsetDateTime,
}
impl VerifiedClaims {
#[allow(dead_code)]
pub(crate) fn new(
ppnum_id: PpnumId,
ppnum: Option<Ppnum>,
session_id: Option<SessionId>,
expires_at: OffsetDateTime,
) -> Self {
Self {
ppnum_id,
ppnum,
session_id,
expires_at,
}
}
#[cfg(any(test, feature = "test-support"))]
#[must_use]
pub fn for_test(
ppnum_id: PpnumId,
ppnum: Option<Ppnum>,
session_id: Option<SessionId>,
expires_at: OffsetDateTime,
) -> Self {
Self::new(ppnum_id, ppnum, session_id, expires_at)
}
#[must_use]
pub fn ppnum_id(&self) -> &PpnumId {
&self.ppnum_id
}
#[must_use]
pub fn ppnum(&self) -> Option<&Ppnum> {
self.ppnum.as_ref()
}
#[must_use]
pub fn session_id(&self) -> Option<&SessionId> {
self.session_id.as_ref()
}
#[must_use]
pub fn expires_at(&self) -> OffsetDateTime {
self.expires_at
}
}