summaryrefslogtreecommitdiffstats
path: root/lib/domain/libimaghabit/src/store.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/domain/libimaghabit/src/store.rs')
-rw-r--r--lib/domain/libimaghabit/src/store.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/domain/libimaghabit/src/store.rs b/lib/domain/libimaghabit/src/store.rs
index 6ac5e889..5d30c03d 100644
--- a/lib/domain/libimaghabit/src/store.rs
+++ b/lib/domain/libimaghabit/src/store.rs
@@ -17,11 +17,17 @@
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
//
+use chrono::NaiveDate;
+
use error::Result;
+use error::HabitError as HE;
use habit::builder::HabitBuilder;
use iter::HabitTemplateStoreIdIterator;
+use iter::HabitInstanceStoreIdIterator;
use libimagstore::store::Store;
+use libimagstore::store::FileLockEntry;
+use libimagstore::storeid::StoreIdIterator;
/// Extension trait for libimagstore::store::Store which is basically our Habit-Store
pub trait HabitStore {
@@ -34,6 +40,14 @@ pub trait HabitStore {
/// Get an iterator over all habits
fn all_habit_templates(&self) -> Result<HabitTemplateStoreIdIterator>;
+ /// Get instances
+ fn all_habit_instances(&self) -> Result<HabitInstanceStoreIdIterator>;
+
+ // /// Get instances of a certain date
+ // fn all_habit_instances_on(&self, date: &NaiveDate) -> Result<HabitInstanceStoreIdIterator>;
+
+ // /// Get instances between two dates
+ // fn all_habit_instances_between(&self, start: &NaiveDate, end: &NaiveDate) -> Result<HabitInstanceStoreIdIterator>;
}
impl HabitStore for Store {
@@ -41,4 +55,9 @@ impl HabitStore for Store {
fn all_habit_templates(&self) -> Result<HabitTemplateStoreIdIterator> {
self.entries().map(HabitTemplateStoreIdIterator::from).map_err(From::from)
}
+
+ fn all_habit_instances(&self) -> Result<HabitInstanceStoreIdIterator> {
+ self.entries().map(HabitInstanceStoreIdIterator::from).map_err(From::from)
+ }
}
+