From d082a30de6a0cbd1fbe2ab5a4316db0891004129 Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Sat, 16 Aug 2025 07:46:21 +0100 Subject: refactor models and traits with pub use --- schist_core/schist_fakes/src/account.rs | 4 +- schist_core/schist_fakes/src/account_transfer.rs | 7 +- schist_core/schist_fakes/src/bucket.rs | 2 +- schist_core/schist_fakes/src/bucket_transfer.rs | 2 +- schist_core/schist_fakes/src/drip.rs | 7 +- schist_core/schist_fakes/src/pipe.rs | 8 +- schist_core/schist_fakes/src/transaction.rs | 7 +- schist_core/schist_models/src/date_utc.rs | 162 ++++++++++++++------- schist_core/schist_models/src/datetime_utc.rs | 99 +++++++++---- schist_core/schist_models/src/lib.rs | 32 ++-- .../schist_models/tests/budget_period_unit.rs | 47 ++++-- schist_core/schist_models/tests/date_utc.rs | 15 +- schist_core/schist_models/tests/datetime_utc.rs | 16 +- .../schist_queries/src/account_transfers.rs | 9 +- schist_core/schist_queries/src/accounts.rs | 2 +- schist_core/schist_queries/src/bucket_transfers.rs | 2 +- schist_core/schist_queries/src/buckets.rs | 2 +- schist_core/schist_queries/src/drips.rs | 2 +- schist_core/schist_queries/src/pipes.rs | 7 +- schist_core/schist_queries/src/transactions.rs | 2 +- .../src/utils/calculate_bucket_balance.rs | 2 +- .../src/utils/sum_drips_for_bucket.rs | 2 +- schist_core/schist_queries/tests/categories.rs | 6 +- schist_core/schist_queries/tests/drips.rs | 2 +- schist_core/schist_queries/tests/pipes.rs | 2 +- schist_core/schist_traits/src/lib.rs | 10 +- schist_desktop_gui/src/gui.rs | 2 +- .../src/gui/components/balances_view.rs | 2 +- .../balances_view/update_balances_view.rs | 5 +- .../components/balances_view/view_group_names.rs | 2 +- .../src/gui/components/bucket_name_and_balance.rs | 2 +- .../src/gui/components/buckets_view.rs | 2 +- .../src/gui/components/transactions_view.rs | 2 +- .../src/gui/screens/main_screen/main_screen.rs | 2 +- .../src/schist_state.rs | 4 +- .../transform_state/transform_account_transfers.rs | 4 +- .../src/transform_state/transform_accounts.rs | 12 +- .../src/transform_state/transform_budget_drips.rs | 12 +- .../src/transform_state/transform_categories.rs | 2 +- .../transform_category_transfers.rs | 4 +- .../src/transform_state/transform_date.rs | 4 +- .../src/transform_state/transform_state.rs | 5 +- .../src/transform_state/transform_transactions.rs | 4 +- .../src/transform_state/transform_zero_budgets.rs | 2 +- .../tests/common/account_matchers.rs | 2 +- .../tests/common/account_transfer_matchers.rs | 2 +- .../tests/common/bucket_matchers.rs | 2 +- .../tests/common/bucket_transfer_matchers.rs | 2 +- .../tests/common/budget_drip_matchers.rs | 4 +- .../tests/common/transaction_matchers.rs | 2 +- .../tests/run.rs | 2 +- 51 files changed, 341 insertions(+), 205 deletions(-) diff --git a/schist_core/schist_fakes/src/account.rs b/schist_core/schist_fakes/src/account.rs index 1547eb7..d08b91a 100644 --- a/schist_core/schist_fakes/src/account.rs +++ b/schist_core/schist_fakes/src/account.rs @@ -1,5 +1,5 @@ -use schist_models::{account::Account, date_utc::DateUtc}; -use schist_traits::nowlike::Nowlike; +use schist_models::{Account, DateUtc}; +use schist_traits::Nowlike; pub fn make_fake_account(id: i32) -> Account { Account { diff --git a/schist_core/schist_fakes/src/account_transfer.rs b/schist_core/schist_fakes/src/account_transfer.rs index 703d7ce..3d16842 100644 --- a/schist_core/schist_fakes/src/account_transfer.rs +++ b/schist_core/schist_fakes/src/account_transfer.rs @@ -1,8 +1,5 @@ -use schist_models::{ - account_transfer::{AccountTransfer, AccountTransferBuilder}, - date_utc::DateUtc, -}; -use schist_traits::nowlike::Nowlike; +use schist_models::{AccountTransfer, AccountTransferBuilder, DateUtc}; +use schist_traits::Nowlike; pub fn make_fake_account_transfer(id: i32) -> AccountTransfer { make_fake_account_transfer_builder(id).build().unwrap() diff --git a/schist_core/schist_fakes/src/bucket.rs b/schist_core/schist_fakes/src/bucket.rs index fe03a83..6ef6959 100644 --- a/schist_core/schist_fakes/src/bucket.rs +++ b/schist_core/schist_fakes/src/bucket.rs @@ -1,4 +1,4 @@ -use schist_models::bucket::{Bucket, BucketBuilder}; +use schist_models::{Bucket, BucketBuilder}; pub fn make_fake_bucket(id: i32) -> Bucket { make_fake_bucket_builder(id).build().unwrap() diff --git a/schist_core/schist_fakes/src/bucket_transfer.rs b/schist_core/schist_fakes/src/bucket_transfer.rs index bf5e71b..1342ca2 100644 --- a/schist_core/schist_fakes/src/bucket_transfer.rs +++ b/schist_core/schist_fakes/src/bucket_transfer.rs @@ -1,4 +1,4 @@ -use schist_models::bucket_transfer::{BucketTransfer, BucketTransferBuilder}; +use schist_models::{BucketTransfer, BucketTransferBuilder}; pub fn make_fake_bucket_transfer(id: i32) -> BucketTransfer { make_fake_bucket_transfer_builder(id).build().unwrap() diff --git a/schist_core/schist_fakes/src/drip.rs b/schist_core/schist_fakes/src/drip.rs index 88f0b05..c2aa7a0 100644 --- a/schist_core/schist_fakes/src/drip.rs +++ b/schist_core/schist_fakes/src/drip.rs @@ -1,8 +1,5 @@ -use schist_models::{ - date_utc::DateUtc, - drip::{Drip, DripBuilder}, -}; -use schist_traits::nowlike::Nowlike; +use schist_models::{DateUtc, Drip, DripBuilder}; +use schist_traits::Nowlike; pub fn make_fake_drip(id: i32) -> Drip { make_fake_drip_builder(id).build().unwrap() diff --git a/schist_core/schist_fakes/src/pipe.rs b/schist_core/schist_fakes/src/pipe.rs index 6e96401..765ad78 100644 --- a/schist_core/schist_fakes/src/pipe.rs +++ b/schist_core/schist_fakes/src/pipe.rs @@ -1,9 +1,5 @@ -use schist_models::{ - budget_period_unit::BudgetPeriodUnit, - date_utc::DateUtc, - pipe::{Pipe, PipeBuilder}, -}; -use schist_traits::nowlike::Nowlike; +use schist_models::{BudgetPeriodUnit, DateUtc, Pipe, PipeBuilder}; +use schist_traits::Nowlike; pub fn make_fake_pipe(id: i32) -> Pipe { make_fake_pipe_builder(id).build().unwrap() diff --git a/schist_core/schist_fakes/src/transaction.rs b/schist_core/schist_fakes/src/transaction.rs index bce02e5..cd613e3 100644 --- a/schist_core/schist_fakes/src/transaction.rs +++ b/schist_core/schist_fakes/src/transaction.rs @@ -1,8 +1,5 @@ -use schist_models::{ - date_utc::DateUtc, - transaction::{Transaction, TransactionBuilder}, -}; -use schist_traits::nowlike::Nowlike; +use schist_models::{DateUtc, Transaction, TransactionBuilder}; +use schist_traits::Nowlike; pub fn make_fake_transaction(id: i32) -> Transaction { make_fake_transaction_builder(id).build().unwrap() diff --git a/schist_core/schist_models/src/date_utc.rs b/schist_core/schist_models/src/date_utc.rs index 2b36ec0..18a894b 100644 --- a/schist_core/schist_models/src/date_utc.rs +++ b/schist_core/schist_models/src/date_utc.rs @@ -12,7 +12,7 @@ use diesel::{ }; use serde::{Deserialize, Serialize}; -use schist_traits::{dateable::Dateable, nowlike::Nowlike}; +use schist_traits::{Dateable, Nowlike}; use crate::datetime_utc::DatetimeUtc; @@ -38,16 +38,20 @@ impl DateUtc { pub fn from_ymd(year: i32, month: u32, day: u32) -> Result { Ok(Self { chrono_datetime_utc: NaiveDate::from_ymd_opt(year, month, day) - .with_context(|| format!("failed to construct date from ymd {:04}-{:02}-{:02}", year, month, day))? - .and_hms_opt(0, 0, 0).unwrap() - .and_utc() + .with_context(|| { + format!( + "failed to construct date from ymd {:04}-{:02}-{:02}", + year, month, day + ) + })? + .and_hms_opt(0, 0, 0) + .unwrap() + .and_utc(), }) } pub fn with_hms(&mut self, hour: u32, min: u32, sec: u32) -> Result { - DatetimeUtc::from_ymd_and_hms( - self.year(), self.month(), self.day(), hour, min, sec, - ) + DatetimeUtc::from_ymd_and_hms(self.year(), self.month(), self.day(), hour, min, sec) } pub fn day_diff(&self, other: &DateUtc) -> u32 { @@ -57,7 +61,8 @@ impl DateUtc { } pub fn days_in_month(&self) -> u32 { - self.first_day_in_next_month().day_diff(&self.first_day_in_month()) + self.first_day_in_next_month() + .day_diff(&self.first_day_in_month()) } pub fn add_days(&self, days: u64) -> Result { @@ -66,7 +71,9 @@ impl DateUtc { .checked_add_days(chrono::Days::new(days)) .with_context(|| format!("failed to add {} days to {}", days, self)) .unwrap(); - Ok(Self { chrono_datetime_utc }) + Ok(Self { + chrono_datetime_utc, + }) } pub fn sub_days(&self, days: u64) -> Result { @@ -75,7 +82,9 @@ impl DateUtc { .checked_sub_days(chrono::Days::new(days)) .with_context(|| format!("failed to subtract {} days from {}", days, self)) .unwrap(); - Ok(Self { chrono_datetime_utc }) + Ok(Self { + chrono_datetime_utc, + }) } fn is_day_str(str: &str) -> bool { @@ -101,10 +110,14 @@ impl DateUtc { let mut curr_guess: Option> = None; let mut curr_add = 1; while curr_guess.is_none() || curr_guess.unwrap().month() == month { - curr_guess = self.chrono_datetime_utc.checked_add_days(chrono::Days::new(curr_add)); + curr_guess = self + .chrono_datetime_utc + .checked_add_days(chrono::Days::new(curr_add)); curr_add = curr_add + 1; + } + return Self { + chrono_datetime_utc: curr_guess.unwrap(), }; - return Self { chrono_datetime_utc: curr_guess.unwrap() }; } fn first_day_in_month(&self) -> Self { @@ -120,7 +133,9 @@ impl DateUtc { if curr_subtractor > 31 { return prev_guess; } - next = self.chrono_datetime_utc.checked_sub_days(chrono::Days::new(curr_subtractor)); + next = self + .chrono_datetime_utc + .checked_sub_days(chrono::Days::new(curr_subtractor)); curr_subtractor = curr_subtractor + 1; } let next = next.unwrap(); @@ -128,7 +143,7 @@ impl DateUtc { curr_guess = Self { chrono_datetime_utc: next, }; - }; + } return prev_guess; } } @@ -136,11 +151,7 @@ impl DateUtc { impl Nowlike for DateUtc { fn now() -> Self { let now = Utc::now(); - Self::from_ymd( - now.year(), - now.month(), - now.day(), - ).unwrap() + Self::from_ymd(now.year(), now.month(), now.day()).unwrap() } } @@ -169,18 +180,24 @@ impl From<&DatetimeUtc> for DateUtc { Self { chrono_datetime_utc: datetime_utc .to_string() - .parse::>().unwrap() - .with_time(NaiveTime::from_hms_opt(0, 0, 0).unwrap()).unwrap(), + .parse::>() + .unwrap() + .with_time(NaiveTime::from_hms_opt(0, 0, 0).unwrap()) + .unwrap(), } } } -impl From for DateUtc where T: Borrow> { +impl From for DateUtc +where + T: Borrow>, +{ fn from(chrono_datetime_utc: T) -> Self { Self { chrono_datetime_utc: chrono_datetime_utc .borrow() - .with_time(NaiveTime::from_hms_opt(0, 0, 0).unwrap()).unwrap(), + .with_time(NaiveTime::from_hms_opt(0, 0, 0).unwrap()) + .unwrap(), } } } @@ -190,10 +207,7 @@ impl fmt::Display for DateUtc { /// Example: 10.30am 24 Oct 2024 UTC -> "2024-10-24" fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { let date_str = self.chrono_datetime_utc.to_rfc3339(); - let day_str = date_str - .split_at_checked(10) - .unwrap() - .0; + let day_str = date_str.split_at_checked(10).unwrap().0; write!(f, "{}", day_str) } } @@ -205,7 +219,10 @@ impl FromStr for DateUtc { /// Example: "2024-10-24" -> Midnight 24 Oct 2024 UTC fn from_str(date_str: &str) -> Result { if !Self::is_day_str(&date_str) { - Err(Error::msg(format!("{} is not a day string in YYYY-MM-DD format", date_str))) + Err(Error::msg(format!( + "{} is not a day string in YYYY-MM-DD format", + date_str + ))) } else { let mut datetime_str = String::from(date_str); datetime_str.push_str("T00:00:00.000Z"); @@ -235,7 +252,7 @@ impl FromSql for DateUtc { #[cfg(test)] mod test { - use schist_traits::timeable::Timeable; + use schist_traits::Timeable; use super::*; @@ -267,15 +284,30 @@ mod test { let date_utc_5 = DateUtc::from_ymd(1971, 2, 29); assert!(date_utc_1.is_err()); - assert_eq!(date_utc_1.unwrap_err().to_string(), "failed to construct date from ymd 1970-00-23"); + assert_eq!( + date_utc_1.unwrap_err().to_string(), + "failed to construct date from ymd 1970-00-23" + ); assert!(date_utc_2.is_err()); - assert_eq!(date_utc_2.unwrap_err().to_string(), "failed to construct date from ymd 1970-13-23"); + assert_eq!( + date_utc_2.unwrap_err().to_string(), + "failed to construct date from ymd 1970-13-23" + ); assert!(date_utc_3.is_err()); - assert_eq!(date_utc_3.unwrap_err().to_string(), "failed to construct date from ymd 1970-11-00"); + assert_eq!( + date_utc_3.unwrap_err().to_string(), + "failed to construct date from ymd 1970-11-00" + ); assert!(date_utc_4.is_err()); - assert_eq!(date_utc_4.unwrap_err().to_string(), "failed to construct date from ymd 1970-11-31"); + assert_eq!( + date_utc_4.unwrap_err().to_string(), + "failed to construct date from ymd 1970-11-31" + ); assert!(date_utc_5.is_err()); - assert_eq!(date_utc_5.unwrap_err().to_string(), "failed to construct date from ymd 1971-02-29"); + assert_eq!( + date_utc_5.unwrap_err().to_string(), + "failed to construct date from ymd 1971-02-29" + ); } #[test] @@ -314,7 +346,9 @@ mod test { #[test] fn with_with_hms_then_ymd_hms_are_as_expected() { - let datetime_utc = DateUtc::from_ymd(1970, 11, 23).unwrap().with_hms(12, 55, 16); + let datetime_utc = DateUtc::from_ymd(1970, 11, 23) + .unwrap() + .with_hms(12, 55, 16); assert!(datetime_utc.is_ok()); let datetime_utc = datetime_utc.unwrap(); @@ -339,8 +373,14 @@ mod test { #[test] fn when_from_datetime_utc_at_different_times_on_same_day_then_eq() { - let datetime_utc1 = DateUtc::from_ymd(1970, 11, 23).unwrap().with_hms(0, 0, 0).unwrap(); - let datetime_utc2 = DateUtc::from_ymd(1970, 11, 23).unwrap().with_hms(23, 59, 59).unwrap(); + let datetime_utc1 = DateUtc::from_ymd(1970, 11, 23) + .unwrap() + .with_hms(0, 0, 0) + .unwrap(); + let datetime_utc2 = DateUtc::from_ymd(1970, 11, 23) + .unwrap() + .with_hms(23, 59, 59) + .unwrap(); let date_utc1 = DateUtc::from(datetime_utc1); let date_utc2 = DateUtc::from(datetime_utc2); @@ -498,50 +538,74 @@ mod test { } fn get_dates_in_jan_2024() -> Vec { - (1..31).map(|day| format!("2024-01-{:02}", day).parse::().unwrap()).collect::>() + (1..31) + .map(|day| format!("2024-01-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_feb_2024() -> Vec { - (1..29).map(|day| format!("2024-02-{:02}", day).parse::().unwrap()).collect::>() + (1..29) + .map(|day| format!("2024-02-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_mar_2024() -> Vec { - (1..31).map(|day| format!("2024-03-{:02}", day).parse::().unwrap()).collect::>() + (1..31) + .map(|day| format!("2024-03-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_apr_2024() -> Vec { - (1..30).map(|day| format!("2024-04-{:02}", day).parse::().unwrap()).collect::>() + (1..30) + .map(|day| format!("2024-04-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_may_2024() -> Vec { - (1..31).map(|day| format!("2024-05-{:02}", day).parse::().unwrap()).collect::>() + (1..31) + .map(|day| format!("2024-05-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_jun_2024() -> Vec { - (1..30).map(|day| format!("2024-06-{:02}", day).parse::().unwrap()).collect::>() + (1..30) + .map(|day| format!("2024-06-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_jul_2024() -> Vec { - (1..31).map(|day| format!("2024-07-{:02}", day).parse::().unwrap()).collect::>() + (1..31) + .map(|day| format!("2024-07-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_aug_2024() -> Vec { - (1..31).map(|day| format!("2024-08-{:02}", day).parse::().unwrap()).collect::>() + (1..31) + .map(|day| format!("2024-08-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_sep_2024() -> Vec { - (1..30).map(|day| format!("2024-09-{:02}", day).parse::().unwrap()).collect::>() + (1..30) + .map(|day| format!("2024-09-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_oct_2024() -> Vec { - (1..31).map(|day| format!("2024-10-{:02}", day).parse::().unwrap()).collect::>() + (1..31) + .map(|day| format!("2024-10-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_nov_2024() -> Vec { - (1..30).map(|day| format!("2024-11-{:02}", day).parse::().unwrap()).collect::>() + (1..30) + .map(|day| format!("2024-11-{:02}", day).parse::().unwrap()) + .collect::>() } fn get_dates_in_dec_2024() -> Vec { - (1..31).map(|day| format!("2024-12-{:02}", day).parse::().unwrap()).collect::>() + (1..31) + .map(|day| format!("2024-12-{:02}", day).parse::().unwrap()) + .collect::>() } } diff --git a/schist_core/schist_models/src/datetime_utc.rs b/schist_core/schist_models/src/datetime_utc.rs index 9b63145..4f3b165 100644 --- a/schist_core/schist_models/src/datetime_utc.rs +++ b/schist_core/schist_models/src/datetime_utc.rs @@ -12,19 +12,10 @@ use diesel::{ }; use serde::{Deserialize, Serialize}; -use schist_traits::{dateable::Dateable, nowlike::Nowlike, timeable::Timeable}; +use schist_traits::{Dateable, Nowlike, Timeable}; #[derive( - PartialEq, - Eq, - PartialOrd, - Ord, - Serialize, - Deserialize, - Clone, - Debug, - AsExpression, - FromSqlRow, + PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Clone, Debug, AsExpression, FromSqlRow, )] #[diesel(sql_type=Text)] pub struct DatetimeUtc { @@ -32,13 +23,30 @@ pub struct DatetimeUtc { } impl DatetimeUtc { - pub fn from_ymd_and_hms(year: i32, month: u32, day: u32, hour: u32, min: u32, sec: u32) -> Result { - Ok(Self { chrono_datetime_utc: NaiveDate - ::from_ymd_opt(year, month, day) - .with_context(|| format!("failed to construct datetime from ymd {:04}-{:02}-{:02}", year, month, day))? - .and_hms_opt(hour, min, sec) - .with_context(|| format!("failed to construct datetime from hms {:02}:{:02}:{:02}", hour, min, sec))? - .and_utc() + pub fn from_ymd_and_hms( + year: i32, + month: u32, + day: u32, + hour: u32, + min: u32, + sec: u32, + ) -> Result { + Ok(Self { + chrono_datetime_utc: NaiveDate::from_ymd_opt(year, month, day) + .with_context(|| { + format!( + "failed to construct datetime from ymd {:04}-{:02}-{:02}", + year, month, day + ) + })? + .and_hms_opt(hour, min, sec) + .with_context(|| { + format!( + "failed to construct datetime from hms {:02}:{:02}:{:02}", + hour, min, sec + ) + })? + .and_utc(), }) } } @@ -60,7 +68,12 @@ impl Display for DatetimeUtc { /// Converts to a date string in ISO format, in UTC /// Example: 10.30am 24 Oct 2024 UTC -> "2024-10-24T10:30:00.000Z" fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - write!(f, "{}", self.chrono_datetime_utc.to_rfc3339_opts(chrono::SecondsFormat::Millis, true)) + write!( + f, + "{}", + self.chrono_datetime_utc + .to_rfc3339_opts(chrono::SecondsFormat::Millis, true) + ) } } @@ -74,7 +87,8 @@ impl Nowlike for DatetimeUtc { now.hour(), now.minute(), now.second(), - ).unwrap() + ) + .unwrap() } } @@ -161,21 +175,45 @@ mod test { let datetime_utc_8 = DatetimeUtc::from_ymd_and_hms(1970, 11, 23, 0, 0, 61); assert!(datetime_utc_1.is_err()); - assert_eq!(datetime_utc_1.unwrap_err().to_string(), "failed to construct datetime from ymd 1970-00-23"); + assert_eq!( + datetime_utc_1.unwrap_err().to_string(), + "failed to construct datetime from ymd 1970-00-23" + ); assert!(datetime_utc_2.is_err()); - assert_eq!(datetime_utc_2.unwrap_err().to_string(), "failed to construct datetime from ymd 1970-13-23"); + assert_eq!( + datetime_utc_2.unwrap_err().to_string(), + "failed to construct datetime from ymd 1970-13-23" + ); assert!(datetime_utc_3.is_err()); - assert_eq!(datetime_utc_3.unwrap_err().to_string(), "failed to construct datetime from ymd 1970-11-00"); + assert_eq!( + datetime_utc_3.unwrap_err().to_string(), + "failed to construct datetime from ymd 1970-11-00" + ); assert!(datetime_utc_4.is_err()); - assert_eq!(datetime_utc_4.unwrap_err().to_string(), "failed to construct datetime from ymd 1970-11-31"); + assert_eq!( + datetime_utc_4.unwrap_err().to_string(), + "failed to construct datetime from ymd 1970-11-31" + ); assert!(datetime_utc_5.is_err()); - assert_eq!(datetime_utc_5.unwrap_err().to_string(), "failed to construct datetime from ymd 1971-02-29"); + assert_eq!( + datetime_utc_5.unwrap_err().to_string(), + "failed to construct datetime from ymd 1971-02-29" + ); assert!(datetime_utc_6.is_err()); - assert_eq!(datetime_utc_6.unwrap_err().to_string(), "failed to construct datetime from hms 25:00:00"); + assert_eq!( + datetime_utc_6.unwrap_err().to_string(), + "failed to construct datetime from hms 25:00:00" + ); assert!(datetime_utc_7.is_err()); - assert_eq!(datetime_utc_7.unwrap_err().to_string(), "failed to construct datetime from hms 00:61:00"); + assert_eq!( + datetime_utc_7.unwrap_err().to_string(), + "failed to construct datetime from hms 00:61:00" + ); assert!(datetime_utc_8.is_err()); - assert_eq!(datetime_utc_8.unwrap_err().to_string(), "failed to construct datetime from hms 00:00:61"); + assert_eq!( + datetime_utc_8.unwrap_err().to_string(), + "failed to construct datetime from hms 00:00:61" + ); } #[test] @@ -197,7 +235,10 @@ mod test { let datetime_utc: Result = "1970-11-23T12:55:16.000Z".parse(); assert!(datetime_utc.is_ok()); - assert_eq!(datetime_utc.unwrap().to_string(), "1970-11-23T12:55:16.000Z") + assert_eq!( + datetime_utc.unwrap().to_string(), + "1970-11-23T12:55:16.000Z" + ) } #[test] diff --git a/schist_core/schist_models/src/lib.rs b/schist_core/schist_models/src/lib.rs index 503db17..3aa4733 100644 --- a/schist_core/schist_models/src/lib.rs +++ b/schist_core/schist_models/src/lib.rs @@ -1,12 +1,24 @@ -pub mod account; -pub mod account_transfer; -pub mod bucket; -pub mod bucket_transfer; -pub mod budget_period_unit; -pub mod date_utc; -pub mod datetime_utc; -pub mod drip; +mod account; +mod account_transfer; +mod bucket; +mod bucket_transfer; +mod budget_period_unit; +mod date_utc; +mod datetime_utc; +mod drip; +mod pipe; +mod transaction; + pub mod migrations; -pub mod pipe; pub mod schema; -pub mod transaction; + +pub use account::Account; +pub use account_transfer::{AccountTransfer, AccountTransferBuilder}; +pub use bucket::{Bucket, BucketBuilder}; +pub use bucket_transfer::{BucketTransfer, BucketTransferBuilder}; +pub use budget_period_unit::BudgetPeriodUnit; +pub use date_utc::DateUtc; +pub use datetime_utc::DatetimeUtc; +pub use drip::{Drip, DripBuilder}; +pub use pipe::{Pipe, PipeBuilder}; +pub use transaction::{Transaction, TransactionBuilder}; diff --git a/schist_core/schist_models/tests/budget_period_unit.rs b/schist_core/schist_models/tests/budget_period_unit.rs index 6e8928a..d5f1553 100644 --- a/schist_core/schist_models/tests/budget_period_unit.rs +++ b/schist_core/schist_models/tests/budget_period_unit.rs @@ -2,9 +2,12 @@ mod common; use anyhow::Result; use common::test_context::TestContext; -use diesel::{sql_query, Connection, ExpressionMethods, QueryDsl, RunQueryDsl, Selectable, SelectableHelper, SqliteConnection}; use diesel::prelude::{Insertable, Queryable}; -use schist_models::budget_period_unit::BudgetPeriodUnit; +use diesel::{ + sql_query, Connection, ExpressionMethods, QueryDsl, RunQueryDsl, Selectable, SelectableHelper, + SqliteConnection, +}; +use schist_models::BudgetPeriodUnit; diesel::table! { budget_period_unit_test (id) { @@ -23,27 +26,37 @@ pub struct BudgetPeriodUnitTest { fn new_test_context() -> Result { let test_context = TestContext::new(); let connection = &mut SqliteConnection::establish(&test_context.db_url)?; - let query = "CREATE TABLE budget_period_unit_test(id INTEGER PRIMARY KEY, budget_period_unit TEXT);"; + let query = + "CREATE TABLE budget_period_unit_test(id INTEGER PRIMARY KEY, budget_period_unit TEXT);"; sql_query(query).execute(connection)?; Ok(test_context) } -fn insert_budget_period_unit(id: i32, budget_period_unit: &BudgetPeriodUnit, connection: &mut SqliteConnection) -> Result { +fn insert_budget_period_unit( + id: i32, + budget_period_unit: &BudgetPeriodUnit, + connection: &mut SqliteConnection, +) -> Result { let model = BudgetPeriodUnitTest { id, budget_period_unit: budget_period_unit.clone(), }; - let num_rows_inserted = diesel::insert_into(budget_period_unit_test::dsl::budget_period_unit_test) - .values(&[model]) - .execute(connection)?; + let num_rows_inserted = + diesel::insert_into(budget_period_unit_test::dsl::budget_period_unit_test) + .values(&[model]) + .execute(connection)?; Ok(num_rows_inserted) } -fn get_budget_period_unit(id: i32, connection: &mut SqliteConnection) -> Result { - let budget_period_unit: Vec = budget_period_unit_test::dsl::budget_period_unit_test - .select(BudgetPeriodUnitTest::as_select()) - .filter(budget_period_unit_test::id.eq(id)) - .load(connection)?; +fn get_budget_period_unit( + id: i32, + connection: &mut SqliteConnection, +) -> Result { + let budget_period_unit: Vec = + budget_period_unit_test::dsl::budget_period_unit_test + .select(BudgetPeriodUnitTest::as_select()) + .filter(budget_period_unit_test::id.eq(id)) + .load(connection)?; Ok(budget_period_unit[0].clone()) } @@ -63,7 +76,10 @@ fn when_insert_day_and_select_then_returns_day() { assert!(budget_period_unit_returned.is_ok()); let budget_period_unit_returned = budget_period_unit_returned.unwrap(); - assert_eq!(BudgetPeriodUnit::Day, budget_period_unit_returned.budget_period_unit); + assert_eq!( + BudgetPeriodUnit::Day, + budget_period_unit_returned.budget_period_unit + ); } #[test] @@ -82,5 +98,8 @@ fn when_insert_month_and_select_then_returns_month() { assert!(budget_period_unit_returned.is_ok()); let budget_period_unit_returned = budget_period_unit_returned.unwrap(); - assert_eq!(BudgetPeriodUnit::Month, budget_period_unit_returned.budget_period_unit); + assert_eq!( + BudgetPeriodUnit::Month, + budget_period_unit_returned.budget_period_unit + ); } diff --git a/schist_core/schist_models/tests/date_utc.rs b/schist_core/schist_models/tests/date_utc.rs index c5ad82e..58f165d 100644 --- a/schist_core/schist_models/tests/date_utc.rs +++ b/schist_core/schist_models/tests/date_utc.rs @@ -2,10 +2,13 @@ mod common; use anyhow::Result; use common::test_context::TestContext; -use diesel::{sql_query, Connection, ExpressionMethods, QueryDsl, RunQueryDsl, Selectable, SelectableHelper, SqliteConnection}; use diesel::prelude::{Insertable, Queryable}; -use schist_models::date_utc::DateUtc; -use schist_traits::nowlike::Nowlike; +use diesel::{ + sql_query, Connection, ExpressionMethods, QueryDsl, RunQueryDsl, Selectable, SelectableHelper, + SqliteConnection, +}; +use schist_models::DateUtc; +use schist_traits::Nowlike; diesel::table! { date_utc_test (id) { @@ -29,7 +32,11 @@ fn new_test_context() -> Result { Ok(test_context) } -fn insert_date_utc(id: i32, date_utc: &DateUtc, connection: &mut SqliteConnection) -> Result { +fn insert_date_utc( + id: i32, + date_utc: &DateUtc, + connection: &mut SqliteConnection, +) -> Result { let model = DateUtcTest { id, date_utc: date_utc.clone(), diff --git a/schist_core/schist_models/tests/datetime_utc.rs b/schist_core/schist_models/tests/datetime_utc.rs index 27182ff..218d10e 100644 --- a/schist_core/schist_models/tests/datetime_utc.rs +++ b/schist_core/schist_models/tests/datetime_utc.rs @@ -2,11 +2,13 @@ mod common; use anyhow::Result; use common::test_context::TestContext; -use diesel::{sql_query, Connection, ExpressionMethods, QueryDsl, RunQueryDsl, Selectable, SelectableHelper, SqliteConnection}; use diesel::prelude::{Insertable, Queryable}; -use schist_models::datetime_utc::DatetimeUtc; -use schist_traits::nowlike::Nowlike; - +use diesel::{ + sql_query, Connection, ExpressionMethods, QueryDsl, RunQueryDsl, Selectable, SelectableHelper, + SqliteConnection, +}; +use schist_models::DatetimeUtc; +use schist_traits::Nowlike; diesel::table! { datetime_utc_test (id) { @@ -30,7 +32,11 @@ fn new_test_context() -> Result { Ok(test_context) } -fn insert_datetime_utc(id: i32, datetime_utc: &DatetimeUtc, connection: &mut SqliteConnection) -> Result { +fn insert_datetime_utc( + id: i32, + datetime_utc: &DatetimeUtc, + connection: &mut SqliteConnection, +) -> Result { let model = DatetimeUtcTest { id, datetime_utc: datetime_utc.clone(), diff --git a/schist_core/schist_queries/src/account_transfers.rs b/schist_core/schist_queries/src/account_transfers.rs index 070bdc3..798344b 100644 --- a/schist_core/schist_queries/src/account_transfers.rs +++ b/schist_core/schist_queries/src/account_transfers.rs @@ -1,6 +1,6 @@ use anyhow::{Context, Result}; use diesel::{QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; -use schist_models::account_transfer::AccountTransfer; +use schist_models::AccountTransfer; use schist_schema::schema::account_transfers::dsl::account_transfers as account_transfers_table; pub fn delete_all_account_transfers(connection: &mut SqliteConnection) -> Result { @@ -10,8 +10,11 @@ pub fn delete_all_account_transfers(connection: &mut SqliteConnection) -> Result Ok(num_rows_deleted) } -pub fn get_all_account_transfers(connection: &mut SqliteConnection) -> Result> { - let all_account_transfers = account_transfers_table.select(AccountTransfer::as_select()) +pub fn get_all_account_transfers( + connection: &mut SqliteConnection, +) -> Result> { + let all_account_transfers = account_transfers_table + .select(AccountTransfer::as_select()) .load(connection) .with_context(|| "failed to get all account transfers")?; Ok(all_account_transfers) diff --git a/schist_core/schist_queries/src/accounts.rs b/schist_core/schist_queries/src/accounts.rs index 289faf6..7b9b834 100644 --- a/schist_core/schist_queries/src/accounts.rs +++ b/schist_core/schist_queries/src/accounts.rs @@ -1,6 +1,6 @@ use anyhow::{Context, Result}; use diesel::{QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; -use schist_models::account::Account; +use schist_models::Account; use schist_schema::schema::accounts::dsl::accounts as accounts_table; pub fn delete_all_accounts(connection: &mut SqliteConnection) -> Result { diff --git a/schist_core/schist_queries/src/bucket_transfers.rs b/schist_core/schist_queries/src/bucket_transfers.rs index 923867f..652c8e0 100644 --- a/schist_core/schist_queries/src/bucket_transfers.rs +++ b/schist_core/schist_queries/src/bucket_transfers.rs @@ -1,6 +1,6 @@ use anyhow::{Context, Result}; use diesel::{dsl::sum, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; -use schist_models::bucket_transfer::BucketTransfer; +use schist_models::BucketTransfer; use schist_schema::schema::bucket_transfers::{ self as bucket_transfers_schema, dsl::bucket_transfers as bucket_transfers_table, }; diff --git a/schist_core/schist_queries/src/buckets.rs b/schist_core/schist_queries/src/buckets.rs index 29270af..aedfd10 100644 --- a/schist_core/schist_queries/src/buckets.rs +++ b/schist_core/schist_queries/src/buckets.rs @@ -1,6 +1,6 @@ use anyhow::{Context, Result}; use diesel::{QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; -use schist_models::bucket::Bucket; +use schist_models::Bucket; use schist_schema::schema::buckets::{self as buckets_schema, dsl::buckets as buckets_table}; pub fn delete_all_buckets(connection: &mut SqliteConnection) -> Result { diff --git a/schist_core/schist_queries/src/drips.rs b/schist_core/schist_queries/src/drips.rs index d9e33a8..e87491f 100644 --- a/schist_core/schist_queries/src/drips.rs +++ b/schist_core/schist_queries/src/drips.rs @@ -1,6 +1,6 @@ use anyhow::{Context, Result}; use diesel::{QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; -use schist_models::drip::Drip; +use schist_models::Drip; use schist_schema::schema::drips::dsl::drips as drips_table; pub fn delete_all_drips(connection: &mut SqliteConnection) -> Result { diff --git a/schist_core/schist_queries/src/pipes.rs b/schist_core/schist_queries/src/pipes.rs index 188d193..b471a42 100644 --- a/schist_core/schist_queries/src/pipes.rs +++ b/schist_core/schist_queries/src/pipes.rs @@ -1,6 +1,6 @@ use anyhow::{Context, Result}; use diesel::{dsl::sum, QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; -use schist_models::pipe::Pipe; +use schist_models::Pipe; use schist_schema::schema::pipes::{self as pipes_schema, dsl::pipes as pipes_table}; pub fn delete_all_pipes(connection: &mut SqliteConnection) -> Result { @@ -18,10 +18,7 @@ pub fn get_all_pipes(connection: &mut SqliteConnection) -> Result> { Ok(all_pipes) } -pub fn insert_pipes( - pipes: &[Pipe], - connection: &mut SqliteConnection, -) -> Result { +pub fn insert_pipes(pipes: &[Pipe], connection: &mut SqliteConnection) -> Result { let num_rows_inserted = diesel::insert_into(pipes_table) .values(pipes) .execute(connection) diff --git a/schist_core/schist_queries/src/transactions.rs b/schist_core/schist_queries/src/transactions.rs index 3abacfb..c4c060a 100644 --- a/schist_core/schist_queries/src/transactions.rs +++ b/schist_core/schist_queries/src/transactions.rs @@ -1,6 +1,6 @@ use anyhow::{Context, Result}; use diesel::{QueryDsl, RunQueryDsl, SelectableHelper, SqliteConnection}; -use schist_models::transaction::Transaction; +use schist_models::Transaction; use schist_schema::schema::transactions::dsl::transactions as transactions_table; pub fn delete_all_transactions(connection: &mut SqliteConnection) -> Result { diff --git a/schist_core/schist_queries/src/utils/calculate_bucket_balance.rs b/schist_core/schist_queries/src/utils/calculate_bucket_balance.rs index e238613..e76a919 100644 --- a/schist_core/schist_queries/src/utils/calculate_bucket_balance.rs +++ b/schist_core/schist_queries/src/utils/calculate_bucket_balance.rs @@ -1,5 +1,5 @@ use anyhow::Result; -use schist_models::{bucket::Bucket, drip::Drip}; +use schist_models::{Bucket, Drip}; use super::{find_by_id_or, sum_drips_for_bucket}; diff --git a/schist_core/schist_queries/src/utils/sum_drips_for_bucket.rs b/schist_core/schist_queries/src/utils/sum_drips_for_bucket.rs index 76f7988..20d05a0 100644 --- a/schist_core/schist_queries/src/utils/sum_drips_for_bucket.rs +++ b/schist_core/schist_queries/src/utils/sum_drips_for_bucket.rs @@ -1,5 +1,5 @@ use anyhow::Result; -use schist_models::{bucket::Bucket, drip::Drip}; +use schist_models::{Bucket, Drip}; pub fn sum_drips_for_bucket(bucket: &Bucket, budget_drips: &[Drip]) -> Result { Ok(budget_drips diff --git a/schist_core/schist_queries/tests/categories.rs b/schist_core/schist_queries/tests/categories.rs index 5ef6552..72dd4c7 100644 --- a/schist_core/schist_queries/tests/categories.rs +++ b/schist_core/schist_queries/tests/categories.rs @@ -3,7 +3,7 @@ mod common; use common::test_context::TestContext; use diesel::{Connection, SqliteConnection}; use schist_fakes::bucket::make_fake_bucket; -use schist_models::bucket::Bucket; +use schist_models::Bucket; use schist_queries as queries; fn given_buckets(connection: &mut SqliteConnection) -> Vec { @@ -33,7 +33,9 @@ fn given_buckets_when_get_all_buckets_then_return_buckets() { assert_eq!(buckets_in_db.len(), buckets.len()); for bucket in &buckets { - assert!(buckets_in_db.iter().any(|bucket_in_db| bucket_in_db.eq(&bucket))); + assert!(buckets_in_db + .iter() + .any(|bucket_in_db| bucket_in_db.eq(&bucket))); } for bucket_in_db in buckets_in_db { assert!(buckets.iter().any(|bucket| bucket.eq(&bucket_in_db))); diff --git a/schist_core/schist_queries/tests/drips.rs b/schist_core/schist_queries/tests/drips.rs index dccdbf4..571ceb3 100644 --- a/schist_core/schist_queries/tests/drips.rs +++ b/schist_core/schist_queries/tests/drips.rs @@ -3,7 +3,7 @@ mod common; use common::test_context::TestContext; use diesel::{Connection, SqliteConnection}; use schist_fakes::{bucket::make_fake_bucket, drip::make_fake_drip_builder}; -use schist_models::{bucket::Bucket, date_utc::DateUtc}; +use schist_models::{Bucket, DateUtc}; use schist_queries as queries; fn given_buckets(connection: &mut SqliteConnection) -> Vec { diff --git a/schist_core/schist_queries/tests/pipes.rs b/schist_core/schist_queries/tests/pipes.rs index abd5a5e..9203aa3 100644 --- a/schist_core/schist_queries/tests/pipes.rs +++ b/schist_core/schist_queries/tests/pipes.rs @@ -6,7 +6,7 @@ use schist_fakes::{ account::make_fake_account, bucket::make_fake_bucket, pipe::make_fake_pipe_builder, transaction::make_fake_transaction_builder, }; -use schist_models::{account::Account, bucket::Bucket, transaction::Transaction}; +use schist_models::{Account, Bucket, Transaction}; use schist_queries as queries; fn given_accounts(connection: &mut SqliteConnection) -> Vec { diff --git a/schist_core/schist_traits/src/lib.rs b/schist_core/schist_traits/src/lib.rs index ab5caca..9df2cdf 100644 --- a/schist_core/schist_traits/src/lib.rs +++ b/schist_core/schist_traits/src/lib.rs @@ -1,3 +1,7 @@ -pub mod dateable; -pub mod nowlike; -pub mod timeable; +mod dateable; +mod nowlike; +mod timeable; + +pub use dateable::Dateable; +pub use nowlike::Nowlike; +pub use timeable::Timeable; diff --git a/schist_desktop_gui/src/gui.rs b/schist_desktop_gui/src/gui.rs index d22e999..099ff74 100644 --- a/schist_desktop_gui/src/gui.rs +++ b/schist_desktop_gui/src/gui.rs @@ -3,7 +3,7 @@ pub mod screens; use diesel::SqliteConnection; use iced::Element; -use schist_models::{account::Account, bucket::Bucket}; +use schist_models::{Account, Bucket}; use schist_queries::{accounts::get_all_accounts, buckets::get_all_buckets}; use crate::{ diff --git a/schist_desktop_gui/src/gui/components/balances_view.rs b/schist_desktop_gui/src/gui/components/balances_view.rs index 2b72cd3..3ca37be 100644 --- a/schist_desktop_gui/src/gui/components/balances_view.rs +++ b/schist_desktop_gui/src/gui/components/balances_view.rs @@ -8,7 +8,7 @@ use self::{ view_group_names::view_group_names, }; -use schist_models::bucket::Bucket; +use schist_models::Bucket; use crate::{ gui::components::{ diff --git a/schist_desktop_gui/src/gui/components/balances_view/update_balances_view.rs b/schist_desktop_gui/src/gui/components/balances_view/update_balances_view.rs index 100cbc9..e7b32c3 100644 --- a/schist_desktop_gui/src/gui/components/balances_view/update_balances_view.rs +++ b/schist_desktop_gui/src/gui/components/balances_view/update_balances_view.rs @@ -42,10 +42,7 @@ fn select_next_bucket(balances_view: &mut BalancesView) -> Action { } } -fn set_buckets( - balances_view: &mut BalancesView, - buckets: Vec, -) -> Action { +fn set_buckets(balances_view: &mut BalancesView, buckets: Vec) -> Action { balances_view.buckets = buckets.clone(); match balances_view .navigation diff --git a/schist_desktop_gui/src/gui/components/balances_view/view_group_names.rs b/schist_desktop_gui/src/gui/components/balances_view/view_group_names.rs index 02900e9..271e76c 100644 --- a/schist_desktop_gui/src/gui/components/balances_view/view_group_names.rs +++ b/schist_desktop_gui/src/gui/components/balances_view/view_group_names.rs @@ -1,5 +1,5 @@ use itertools::Itertools; -use schist_models::bucket::Bucket; +use schist_models::Bucket; use crate::gui::components::Text; diff --git a/schist_desktop_gui/src/gui/components/bucket_name_and_balance.rs b/schist_desktop_gui/src/gui/components/bucket_name_and_balance.rs index b31e0e2..db3fc2e 100644 --- a/schist_desktop_gui/src/gui/components/bucket_name_and_balance.rs +++ b/schist_desktop_gui/src/gui/components/bucket_name_and_balance.rs @@ -2,7 +2,7 @@ use iced::{ widget::{row, text}, Element, }; -use schist_models::bucket::Bucket; +use schist_models::Bucket; use crate::gui::components::navigation; diff --git a/schist_desktop_gui/src/gui/components/buckets_view.rs b/schist_desktop_gui/src/gui/components/buckets_view.rs index d27b7ff..bb4dbb4 100644 --- a/schist_desktop_gui/src/gui/components/buckets_view.rs +++ b/schist_desktop_gui/src/gui/components/buckets_view.rs @@ -3,7 +3,7 @@ use iced::{ widget::{column, row, Container}, Length, }; -use schist_models::bucket::Bucket; +use schist_models::Bucket; use crate::{ gui::components::{navigation, BucketNameAndBalance, Navigation}, diff --git a/schist_desktop_gui/src/gui/components/transactions_view.rs b/schist_desktop_gui/src/gui/components/transactions_view.rs index 3a8333c..88532a9 100644 --- a/schist_desktop_gui/src/gui/components/transactions_view.rs +++ b/schist_desktop_gui/src/gui/components/transactions_view.rs @@ -3,7 +3,7 @@ use iced::{ widget::{column, row, Container}, Element, Length, }; -use schist_models::account::Account; +use schist_models::Account; use crate::{ gui::components::{navigation, Navigation, Text}, diff --git a/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs b/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs index bad3dee..0af3c28 100644 --- a/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs +++ b/schist_desktop_gui/src/gui/screens/main_screen/main_screen.rs @@ -4,7 +4,7 @@ use iced::{ widget::{row, Container}, Element, Length, }; -use schist_models::{account::Account, bucket::Bucket}; +use schist_models::{Account, Bucket}; use crate::{ gui::components::{ diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/schist_state.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/schist_state.rs index d5f7e6f..ca5a15c 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/schist_state.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/schist_state.rs @@ -1,9 +1,7 @@ use anyhow::Result; use diesel::SqliteConnection; use schist_models::{ - account::Account, account_transfer::AccountTransfer, bucket::Bucket, - bucket_transfer::BucketTransfer, date_utc::DateUtc, drip::Drip, pipe::Pipe, - transaction::Transaction, + Account, AccountTransfer, Bucket, BucketTransfer, DateUtc, Drip, Pipe, Transaction, }; pub struct SchistState { diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_account_transfers.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_account_transfers.rs index 3a9d4b2..c41b812 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_account_transfers.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_account_transfers.rs @@ -1,7 +1,7 @@ use actualbudget_models::ActualbudgetTransaction; use anyhow::{Context, Result}; use itertools::Itertools; -use schist_models::account_transfer::AccountTransfer; +use schist_models::AccountTransfer; use super::{ is_account_transfer, is_not_account_transfer, transform_date::transform_date, @@ -112,7 +112,7 @@ fn transform_account_transfer( mod test { use actualbudget_fakes::actualbudget_transaction::make_fake_actualbudget_transaction_builder; use actualbudget_models::ActualbudgetDate; - use schist_models::date_utc::DateUtc; + use schist_models::DateUtc; use crate::transform_state::transform_id::transform_id; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_accounts.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_accounts.rs index 28d8162..c900da7 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_accounts.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_accounts.rs @@ -1,5 +1,5 @@ use actualbudget_models::ActualbudgetAccount; -use schist_models::{account::Account, date_utc::DateUtc}; +use schist_models::{Account, DateUtc}; use super::transform_id; @@ -10,10 +10,12 @@ pub fn transform_accounts( ) -> Vec { actualbudget_accounts .iter() - .filter(|a| actualbudget_category_transfers_account - .clone() - .is_some_and(|cta| cta.id != a.id) - ).map(|a| transform_account(a, first_activity_date)) + .filter(|a| { + actualbudget_category_transfers_account + .clone() + .is_some_and(|cta| cta.id != a.id) + }) + .map(|a| transform_account(a, first_activity_date)) .collect() } diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_budget_drips.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_budget_drips.rs index 6fd7610..76509cd 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_budget_drips.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_budget_drips.rs @@ -3,8 +3,8 @@ use std::hash::{DefaultHasher, Hash, Hasher}; use actualbudget_models::ActualbudgetZeroBudget; use anyhow::{Context, Result}; use itertools::Itertools; -use schist_models::{date_utc::DateUtc, drip::Drip}; -use schist_traits::dateable::Dateable; +use schist_models::{DateUtc, Drip}; +use schist_traits::Dateable; use super::{transform_date::transform_date, transform_id::transform_id}; @@ -128,8 +128,8 @@ fn transform_budget_drip_id( mod test { use actualbudget_fakes::actualbudget_zero_budget::make_fake_actualbudget_zero_budget_builder; use actualbudget_models::ActualbudgetDate; - use schist_models::drip::Drip; - use schist_traits::dateable::Dateable; + use schist_models::Drip; + use schist_traits::Dateable; use crate::transform_state::transform_id::transform_id; @@ -138,8 +138,8 @@ mod test { mod map_actualbudget_zero_budget_to_budget_drips { use actualbudget_fakes::actualbudget_zero_budget::make_fake_actualbudget_zero_budget_builder; use actualbudget_models::ActualbudgetDate; - use schist_models::drip::Drip; - use schist_traits::dateable::Dateable; + use schist_models::Drip; + use schist_traits::Dateable; use crate::transform_state::transform_budget_drips::map_actualbudget_zero_budget_to_budget_drips; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_categories.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_categories.rs index ccc8639..5bea17c 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_categories.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_categories.rs @@ -1,5 +1,5 @@ use actualbudget_models::{ActualbudgetCategory, ActualbudgetZeroBudget}; -use schist_models::bucket::Bucket; +use schist_models::Bucket; use super::transform_id; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_category_transfers.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_category_transfers.rs index bfbf7ac..78b466d 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_category_transfers.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_category_transfers.rs @@ -1,7 +1,7 @@ use actualbudget_models::{ActualbudgetAccount, ActualbudgetTransaction}; use anyhow::{bail, Context, Result}; use itertools::Itertools; -use schist_models::bucket_transfer::BucketTransfer; +use schist_models::BucketTransfer; use super::{is_category_transfer, transform_id}; @@ -122,7 +122,7 @@ mod test { actualbudget_transaction::make_fake_actualbudget_transaction_builder, }; use actualbudget_models::{ActualbudgetTransaction, ActualbudgetTransactionBuilder}; - use schist_models::bucket_transfer::BucketTransfer; + use schist_models::BucketTransfer; use crate::transform_state::transform_id::transform_id; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_date.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_date.rs index 57adae0..730442b 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_date.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_date.rs @@ -1,6 +1,6 @@ use actualbudget_models::ActualbudgetDate; use anyhow::Result; -use schist_models::date_utc::DateUtc; +use schist_models::DateUtc; pub fn transform_date(actualbudget_date: &ActualbudgetDate) -> Result { actualbudget_date.to_iso_date().parse() @@ -9,7 +9,7 @@ pub fn transform_date(actualbudget_date: &ActualbudgetDate) -> Result { #[cfg(test)] mod test { use actualbudget_models::ActualbudgetDate; - use schist_models::date_utc::DateUtc; + use schist_models::DateUtc; use super::transform_date; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_state.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_state.rs index 7d7f90b..7816df6 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_state.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_state.rs @@ -1,8 +1,5 @@ use anyhow::{bail, Context, Result}; -use schist_models::{ - account::Account, bucket::Bucket, bucket_transfer::BucketTransfer, date_utc::DateUtc, - pipe::Pipe, transaction::Transaction, -}; +use schist_models::{Account, Bucket, BucketTransfer, DateUtc, Pipe, Transaction}; use crate::{actualbudget_state::ActualbudgetState, schist_state::SchistState}; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_transactions.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_transactions.rs index a1b7c4d..7c4ece5 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_transactions.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_transactions.rs @@ -1,6 +1,6 @@ use actualbudget_models::{ActualbudgetAccount, ActualbudgetPayee, ActualbudgetTransaction}; use anyhow::{Context, Result}; -use schist_models::transaction::Transaction; +use schist_models::Transaction; use super::{is_not_category_transfer, transform_date, transform_id}; @@ -95,7 +95,7 @@ mod test { actualbudget_transaction::make_fake_actualbudget_transaction_builder, }; use actualbudget_models::ActualbudgetDate; - use schist_models::date_utc::DateUtc; + use schist_models::DateUtc; use crate::transform_state::transform_id::transform_id; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_zero_budgets.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_zero_budgets.rs index 07ecd56..999c3e8 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_zero_budgets.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/src/transform_state/transform_zero_budgets.rs @@ -1,5 +1,5 @@ use actualbudget_models::ActualbudgetZeroBudget; -use schist_models::pipe::Pipe; +use schist_models::Pipe; pub fn transform_zero_budgets(_actualbudget_zero_budgets: &[ActualbudgetZeroBudget]) -> Vec { todo!() diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/account_matchers.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/account_matchers.rs index 599f31f..eaa1805 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/account_matchers.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/account_matchers.rs @@ -1,4 +1,4 @@ -use schist_models::account::Account; +use schist_models::Account; pub fn get_account_matchers() -> Vec bool>> { vec![ diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/account_transfer_matchers.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/account_transfer_matchers.rs index f3e3037..34dfe8d 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/account_transfer_matchers.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/account_transfer_matchers.rs @@ -1,5 +1,5 @@ use anyhow::Context; -use schist_models::{account::Account, account_transfer::AccountTransfer}; +use schist_models::{Account, AccountTransfer}; use super::ACCOUNT_NAMES_DICT; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/bucket_matchers.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/bucket_matchers.rs index 5f5ef4f..3821806 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/bucket_matchers.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/bucket_matchers.rs @@ -1,4 +1,4 @@ -use schist_models::bucket::Bucket; +use schist_models::Bucket; use super::bucket_names::BUCKET_NAMES; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/bucket_transfer_matchers.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/bucket_transfer_matchers.rs index 038e4f7..c31b9bc 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/bucket_transfer_matchers.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/bucket_transfer_matchers.rs @@ -1,4 +1,4 @@ -use schist_models::{bucket::Bucket, bucket_transfer::BucketTransfer}; +use schist_models::{Bucket, BucketTransfer}; use super::bucket_names::{BUCKET_NAME_GENERAL, BUCKET_NAME_SAVINGS}; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/budget_drip_matchers.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/budget_drip_matchers.rs index bd42d76..85ad045 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/budget_drip_matchers.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/budget_drip_matchers.rs @@ -1,7 +1,7 @@ use std::sync::LazyLock; -use schist_models::{bucket::Bucket, date_utc::DateUtc, drip::Drip}; -use schist_traits::dateable::Dateable; +use schist_models::{Bucket, DateUtc, Drip}; +use schist_traits::Dateable; use crate::common::bucket_names::{ BUCKET_NAME_BILLS, BUCKET_NAME_BILLS_FLEXIBLE, BUCKET_NAME_FOOD, BUCKET_NAME_GENERAL, diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/transaction_matchers.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/transaction_matchers.rs index ea22054..e6c3f27 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/transaction_matchers.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/common/transaction_matchers.rs @@ -1,4 +1,4 @@ -use schist_models::{account::Account, transaction::Transaction}; +use schist_models::{Account, Transaction}; use super::ACCOUNT_NAMES_DICT; diff --git a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/run.rs b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/run.rs index 62e1159..aff034f 100644 --- a/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/run.rs +++ b/transformers/actualbudget_transformer/actualbudget_to_schist_transformer/tests/run.rs @@ -7,7 +7,7 @@ use common::{ get_transaction_matchers, TestContext, TEST_IN_DB_URL, TEST_OUT_DB_URL, }; use diesel::{Connection, SqliteConnection}; -use schist_models::pipe::Pipe; +use schist_models::Pipe; use schist_queries::{ account_transfers::get_all_account_transfers, accounts::get_all_accounts, bucket_transfers::get_all_bucket_transfers, buckets::get_all_buckets, drips::get_all_drips, -- cgit v1.2.3