pub struct PostgresUserAchievementRepository { /* private fields */ }Implementations§
Trait Implementations§
Source§impl UserAchievementRepository for PostgresUserAchievementRepository
impl UserAchievementRepository for PostgresUserAchievementRepository
Source§fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
user_achievement: &'life1 UserAchievement,
) -> Pin<Box<dyn Future<Output = Result<UserAchievement, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
user_achievement: &'life1 UserAchievement,
) -> Pin<Box<dyn Future<Output = Result<UserAchievement, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Award achievement to user
Source§fn find_by_id<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<UserAchievement>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_id<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<UserAchievement>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find user achievement by ID
Source§fn find_by_user<'life0, 'async_trait>(
&'life0 self,
user_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<UserAchievement>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_user<'life0, 'async_trait>(
&'life0 self,
user_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<UserAchievement>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find all achievements earned by a user
Source§fn find_by_user_and_achievement<'life0, 'async_trait>(
&'life0 self,
user_id: Uuid,
achievement_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<UserAchievement>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_user_and_achievement<'life0, 'async_trait>(
&'life0 self,
user_id: Uuid,
achievement_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<UserAchievement>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find specific user achievement
Source§fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
user_achievement: &'life1 UserAchievement,
) -> Pin<Box<dyn Future<Output = Result<UserAchievement, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
user_achievement: &'life1 UserAchievement,
) -> Pin<Box<dyn Future<Output = Result<UserAchievement, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Update user achievement (for repeatable achievements)
Source§fn calculate_total_points<'life0, 'async_trait>(
&'life0 self,
user_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<i32, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn calculate_total_points<'life0, 'async_trait>(
&'life0 self,
user_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<i32, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Calculate total points for user
Auto Trait Implementations§
impl Freeze for PostgresUserAchievementRepository
impl !RefUnwindSafe for PostgresUserAchievementRepository
impl Send for PostgresUserAchievementRepository
impl Sync for PostgresUserAchievementRepository
impl Unpin for PostgresUserAchievementRepository
impl !UnwindSafe for PostgresUserAchievementRepository
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
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
§impl<T> Fake for T
impl<T> Fake for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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.