pub struct UserSession {
pub metadata: Metadata,
pub user_id: Uuid,
pub token: String,
pub session_type: SessionType,
pub ip_address: Option<String>,
pub user_agent: Option<String>,
pub expires_at: DateTime<Utc>,
pub last_activity: DateTime<Utc>,
pub data: HashMap<String, Value>,
}Expand description
User session
Fields§
§metadata: MetadataSession metadata
user_id: UuidUser ID
token: StringSession token
session_type: SessionTypeSession type
ip_address: Option<String>IP address
user_agent: Option<String>User agent
expires_at: DateTime<Utc>Expires at
last_activity: DateTime<Utc>Last activity
data: HashMap<String, Value>Session data
Implementations§
Source§impl UserSession
impl UserSession
Sourcepub fn new(
user_id: Uuid,
token: String,
session_type: SessionType,
expires_at: DateTime<Utc>,
) -> Self
pub fn new( user_id: Uuid, token: String, session_type: SessionType, expires_at: DateTime<Utc>, ) -> Self
Create a new session
Sourcepub fn is_expired(&self) -> bool
pub fn is_expired(&self) -> bool
Check if session is expired
Sourcepub fn update_activity(&mut self)
pub fn update_activity(&mut self)
Update last activity
Trait Implementations§
Source§impl Clone for UserSession
impl Clone for UserSession
Source§impl Debug for UserSession
impl Debug for UserSession
Source§impl<'de> Deserialize<'de> for UserSession
impl<'de> Deserialize<'de> for UserSession
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for UserSession
impl RefUnwindSafe for UserSession
impl Send for UserSession
impl Sync for UserSession
impl Unpin for UserSession
impl UnsafeUnpin for UserSession
impl UnwindSafe for UserSession
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> BudgetAwareRouting for T
impl<T> BudgetAwareRouting for T
Source§fn filter_by_budget(
&self,
providers: Vec<String>,
budget_router: &BudgetAwareRouter,
) -> Vec<String>
fn filter_by_budget( &self, providers: Vec<String>, budget_router: &BudgetAwareRouter, ) -> Vec<String>
Filter providers based on budget availability
Source§impl<T> CacheValue for T
impl<T> CacheValue for T
Source§fn from_bytes(bytes: &[u8]) -> Result<T, CacheError>
fn from_bytes(bytes: &[u8]) -> Result<T, CacheError>
Deserialize from bytes
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.