pub struct UserRepository { /* private fields */ }Implementations§
Source§impl UserRepository
impl UserRepository
pub async fn find_by_id(&self, id: &UserId) -> Result<Option<User>>
pub async fn find_by_email(&self, email: &str) -> Result<Option<User>>
pub async fn find_by_name(&self, name: &str) -> Result<Option<User>>
pub async fn find_by_role(&self, role: UserRole) -> Result<Vec<User>>
pub async fn find_first_user(&self) -> Result<Option<User>>
pub async fn find_first_admin(&self) -> Result<Option<User>>
pub async fn find_authenticated_user( &self, user_id: &UserId, ) -> Result<Option<User>>
Source§impl UserRepository
impl UserRepository
pub async fn find_with_sessions( &self, user_id: &UserId, ) -> Result<Option<UserWithSessions>>
pub async fn get_activity(&self, user_id: &UserId) -> Result<UserActivity>
pub async fn list(&self, limit: i64, offset: i64) -> Result<Vec<User>>
pub async fn list_all(&self) -> Result<Vec<User>>
pub async fn search(&self, query: &str, limit: i64) -> Result<Vec<User>>
pub async fn count(&self) -> Result<i64>
pub async fn bulk_update_status( &self, user_ids: &[UserId], new_status: &str, ) -> Result<u64>
pub async fn bulk_delete(&self, user_ids: &[UserId]) -> Result<u64>
pub async fn list_by_filter( &self, status: Option<&str>, role: Option<&str>, older_than_days: Option<i64>, limit: i64, ) -> Result<Vec<User>>
pub async fn is_temporary_anonymous(&self, id: &UserId) -> Result<bool>
pub async fn list_non_anonymous_with_sessions( &self, limit: i64, ) -> Result<Vec<UserWithSessions>>
Source§impl UserRepository
impl UserRepository
pub async fn merge_users( &self, source_id: &UserId, target_id: &UserId, ) -> Result<MergeResult>
Source§impl UserRepository
impl UserRepository
pub async fn create( &self, name: &str, email: &str, full_name: Option<&str>, display_name: Option<&str>, ) -> Result<User>
pub async fn create_anonymous(&self, fingerprint: &str) -> Result<User>
pub async fn update_email(&self, id: &UserId, email: &str) -> Result<User>
pub async fn update_full_name( &self, id: &UserId, full_name: &str, ) -> Result<User>
pub async fn update_status( &self, id: &UserId, status: UserStatus, ) -> Result<User>
pub async fn update_email_verified( &self, id: &UserId, verified: bool, ) -> Result<User>
pub async fn update_display_name( &self, id: &UserId, display_name: &str, ) -> Result<User>
pub async fn update_all_fields( &self, id: &UserId, params: UpdateUserParams<'_>, ) -> Result<User>
pub async fn assign_roles(&self, id: &UserId, roles: &[String]) -> Result<User>
pub async fn delete(&self, id: &UserId) -> Result<()>
pub async fn cleanup_old_anonymous(&self, days: i32) -> Result<u64>
Source§impl UserRepository
impl UserRepository
pub async fn list_sessions(&self, user_id: &UserId) -> Result<Vec<UserSession>>
pub async fn list_active_sessions( &self, user_id: &UserId, ) -> Result<Vec<UserSession>>
pub async fn list_recent_sessions( &self, user_id: &UserId, limit: i64, ) -> Result<Vec<UserSession>>
pub async fn end_session(&self, session_id: &SessionId) -> Result<bool>
pub async fn end_all_sessions(&self, user_id: &UserId) -> Result<u64>
Trait Implementations§
Source§impl Clone for UserRepository
impl Clone for UserRepository
Source§fn clone(&self) -> UserRepository
fn clone(&self) -> UserRepository
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for UserRepository
impl !RefUnwindSafe for UserRepository
impl Send for UserRepository
impl Sync for UserRepository
impl Unpin for UserRepository
impl !UnwindSafe for UserRepository
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more