pub struct SessionService<P: SessionProvider> { /* private fields */ }Expand description
Service for session management operations
Implementations§
Source§impl<P: SessionProvider> SessionService<P>
impl<P: SessionProvider> SessionService<P>
Sourcepub async fn create_session(
&self,
user_id: &UserId,
user_agent: Option<String>,
ip_address: Option<String>,
expires_in: Duration,
) -> Result<Session, Error>
pub async fn create_session( &self, user_id: &UserId, user_agent: Option<String>, ip_address: Option<String>, expires_in: Duration, ) -> Result<Session, Error>
Create a new session for a user
Sourcepub async fn get_session(
&self,
token: &SessionToken,
) -> Result<Option<Session>, Error>
pub async fn get_session( &self, token: &SessionToken, ) -> Result<Option<Session>, Error>
Get a session by token
Sourcepub async fn delete_session(&self, token: &SessionToken) -> Result<(), Error>
pub async fn delete_session(&self, token: &SessionToken) -> Result<(), Error>
Delete a session
Sourcepub async fn delete_user_sessions(&self, user_id: &UserId) -> Result<(), Error>
pub async fn delete_user_sessions(&self, user_id: &UserId) -> Result<(), Error>
Delete all sessions for a user
Sourcepub async fn cleanup_expired_sessions(&self) -> Result<(), Error>
pub async fn cleanup_expired_sessions(&self) -> Result<(), Error>
Clean up expired sessions
Auto Trait Implementations§
impl<P> Freeze for SessionService<P>
impl<P> RefUnwindSafe for SessionService<P>where
P: RefUnwindSafe,
impl<P> Send for SessionService<P>
impl<P> Sync for SessionService<P>
impl<P> Unpin for SessionService<P>
impl<P> UnwindSafe for SessionService<P>where
P: RefUnwindSafe,
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