Struct pace_core::TomlActivityStorage
source · pub struct TomlActivityStorage { /* private fields */ }Expand description
In-memory backed TOML activity storage
This storage is backed by an in-memory cache and a TOML file on disk for persistence.
Implementations§
source§impl TomlActivityStorage
impl TomlActivityStorage
sourcepub fn new(path: impl AsRef<Path>) -> PaceResult<Self>
pub fn new(path: impl AsRef<Path>) -> PaceResult<Self>
sourcepub fn sync_to_file(&self) -> PaceResult<()>
pub fn sync_to_file(&self) -> PaceResult<()>
Trait Implementations§
source§impl ActivityQuerying for TomlActivityStorage
impl ActivityQuerying for TomlActivityStorage
source§fn list_activities_by_id(
&self
) -> PaceOptResult<BTreeMap<ActivityGuid, Activity>>
fn list_activities_by_id( &self ) -> PaceOptResult<BTreeMap<ActivityGuid, Activity>>
Get all activities by their ID. Read more
source§fn find_activities_in_date_range(
&self,
start_date: NaiveDate,
end_date: NaiveDate
) -> PaceResult<ActivityLog>
fn find_activities_in_date_range( &self, start_date: NaiveDate, end_date: NaiveDate ) -> PaceResult<ActivityLog>
Find activities within a specific date range. Read more
source§fn latest_active_activity(&self) -> PaceOptResult<Activity>
fn latest_active_activity(&self) -> PaceOptResult<Activity>
Get the latest active activity. Read more
source§fn list_current_activities(&self) -> PaceOptResult<ActivityLog>
fn list_current_activities(&self) -> PaceOptResult<ActivityLog>
List all currently active activities from the storage backend. Read more
source§impl ActivityReadOps for TomlActivityStorage
impl ActivityReadOps for TomlActivityStorage
source§fn read_activity(&self, activity_id: ActivityGuid) -> PaceResult<Activity>
fn read_activity(&self, activity_id: ActivityGuid) -> PaceResult<Activity>
Read an activity from the storage backend. Read more
source§fn list_activities(
&self,
filter: ActivityFilter
) -> PaceOptResult<FilteredActivities>
fn list_activities( &self, filter: ActivityFilter ) -> PaceOptResult<FilteredActivities>
List activities from the storage backend. Read more
source§impl ActivityStateManagement for TomlActivityStorage
impl ActivityStateManagement for TomlActivityStorage
source§fn end_all_unfinished_activities(
&self,
time: Option<NaiveDateTime>
) -> PaceOptResult<Vec<Activity>>
fn end_all_unfinished_activities( &self, time: Option<NaiveDateTime> ) -> PaceOptResult<Vec<Activity>>
End all unfinished activities in the storage backend. Read more
source§fn end_last_unfinished_activity(
&self,
time: Option<NaiveDateTime>
) -> PaceOptResult<Activity>
fn end_last_unfinished_activity( &self, time: Option<NaiveDateTime> ) -> PaceOptResult<Activity>
End the last unfinished activity in the storage backend. Read more
source§fn end_single_activity(
&self,
activity_id: ActivityGuid,
end_time: Option<NaiveDateTime>
) -> PaceResult<ActivityGuid>
fn end_single_activity( &self, activity_id: ActivityGuid, end_time: Option<NaiveDateTime> ) -> PaceResult<ActivityGuid>
End an activity in the storage backend. Read more
source§fn hold_last_unfinished_activity(
&self,
end_time: Option<NaiveDateTime>
) -> PaceOptResult<Activity>
fn hold_last_unfinished_activity( &self, end_time: Option<NaiveDateTime> ) -> PaceOptResult<Activity>
Hold an activity in the storage backend. Read more
source§fn begin_activity(&self, activity: Activity) -> PaceResult<ActivityGuid>
fn begin_activity(&self, activity: Activity) -> PaceResult<ActivityGuid>
Start an activity in the storage backend. Read more
source§impl ActivityStorage for TomlActivityStorage
impl ActivityStorage for TomlActivityStorage
source§fn setup_storage(&self) -> PaceResult<()>
fn setup_storage(&self) -> PaceResult<()>
Setup the storage backend. This is called once when the application starts. Read more
source§impl ActivityWriteOps for TomlActivityStorage
impl ActivityWriteOps for TomlActivityStorage
source§fn create_activity(&self, activity: Activity) -> PaceResult<ActivityGuid>
fn create_activity(&self, activity: Activity) -> PaceResult<ActivityGuid>
Create an activity in the storage backend. Read more
source§fn update_activity(
&self,
activity_id: ActivityGuid,
activity: Activity
) -> PaceResult<Activity>
fn update_activity( &self, activity_id: ActivityGuid, activity: Activity ) -> PaceResult<Activity>
Update an existing activity in the storage backend. Read more
source§fn delete_activity(&self, activity_id: ActivityGuid) -> PaceResult<Activity>
fn delete_activity(&self, activity_id: ActivityGuid) -> PaceResult<Activity>
Delete an activity from the storage backend. Read more
source§impl SyncStorage for TomlActivityStorage
impl SyncStorage for TomlActivityStorage
Auto Trait Implementations§
impl RefUnwindSafe for TomlActivityStorage
impl Send for TomlActivityStorage
impl Sync for TomlActivityStorage
impl Unpin for TomlActivityStorage
impl UnwindSafe for TomlActivityStorage
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