pub struct ChallengeProgress {
pub id: Uuid,
pub challenge_id: Uuid,
pub user_id: Uuid,
pub current_value: i32,
pub completed: bool,
pub completed_at: Option<DateTime<Utc>>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
Challenge progress tracking for individual users
Fields§
§id: Uuid§challenge_id: Uuid§user_id: Uuid§current_value: i32§completed: bool§completed_at: Option<DateTime<Utc>>§created_at: DateTime<Utc>§updated_at: DateTime<Utc>Implementations§
Source§impl ChallengeProgress
impl ChallengeProgress
Sourcepub fn mark_completed(&mut self) -> Result<(), String>
pub fn mark_completed(&mut self) -> Result<(), String>
Mark challenge as completed
Sourcepub fn completion_percentage(&self, target_value: i32) -> f64
pub fn completion_percentage(&self, target_value: i32) -> f64
Calculate completion percentage
Trait Implementations§
Source§impl Clone for ChallengeProgress
impl Clone for ChallengeProgress
Source§fn clone(&self) -> ChallengeProgress
fn clone(&self) -> ChallengeProgress
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 moreSource§impl Debug for ChallengeProgress
impl Debug for ChallengeProgress
Source§impl<'de> Deserialize<'de> for ChallengeProgress
impl<'de> Deserialize<'de> for ChallengeProgress
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 ChallengeProgress
impl RefUnwindSafe for ChallengeProgress
impl Send for ChallengeProgress
impl Sync for ChallengeProgress
impl Unpin for ChallengeProgress
impl UnwindSafe for ChallengeProgress
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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.