diff options
Diffstat (limited to 'rust/actualbudget_models/src')
| -rw-r--r-- | rust/actualbudget_models/src/actualbudget_account.rs | 9 | ||||
| -rw-r--r-- | rust/actualbudget_models/src/actualbudget_category.rs | 9 | ||||
| -rw-r--r-- | rust/actualbudget_models/src/actualbudget_date.rs | 79 | ||||
| -rw-r--r-- | rust/actualbudget_models/src/actualbudget_payee.rs | 10 | ||||
| -rw-r--r-- | rust/actualbudget_models/src/actualbudget_schema.rs | 66 | ||||
| -rw-r--r-- | rust/actualbudget_models/src/actualbudget_transaction.rs | 20 | ||||
| -rw-r--r-- | rust/actualbudget_models/src/actualbudget_zero_budget.rs | 14 | ||||
| -rw-r--r-- | rust/actualbudget_models/src/lib.rs | 20 |
8 files changed, 0 insertions, 227 deletions
diff --git a/rust/actualbudget_models/src/actualbudget_account.rs b/rust/actualbudget_models/src/actualbudget_account.rs deleted file mode 100644 index 8691ec1..0000000 --- a/rust/actualbudget_models/src/actualbudget_account.rs +++ /dev/null @@ -1,9 +0,0 @@ -use derive_builder::Builder; -use diesel::prelude::{Queryable, Selectable}; - -#[derive(Builder, Clone, PartialEq, Eq, Queryable, Selectable)] -#[diesel(table_name = crate::actualbudget_schema::accounts)] -pub struct ActualbudgetAccount { - pub id: String, - pub name: String, -} diff --git a/rust/actualbudget_models/src/actualbudget_category.rs b/rust/actualbudget_models/src/actualbudget_category.rs deleted file mode 100644 index bf35450..0000000 --- a/rust/actualbudget_models/src/actualbudget_category.rs +++ /dev/null @@ -1,9 +0,0 @@ -use derive_builder::Builder; -use diesel::{prelude::Queryable, Selectable}; - -#[derive(Builder, Clone, Queryable, Selectable)] -#[diesel(table_name = crate::actualbudget_schema::categories)] -pub struct ActualbudgetCategory { - pub id: String, - pub name: String, -} diff --git a/rust/actualbudget_models/src/actualbudget_date.rs b/rust/actualbudget_models/src/actualbudget_date.rs deleted file mode 100644 index 13525fc..0000000 --- a/rust/actualbudget_models/src/actualbudget_date.rs +++ /dev/null @@ -1,79 +0,0 @@ -use diesel::{backend::Backend, deserialize::{FromSql, FromSqlRow}, expression::AsExpression, sql_types::Integer, sqlite::Sqlite}; - -#[derive(Clone, Hash, PartialEq, Eq, Debug, AsExpression, FromSqlRow)] -#[diesel(sql_type=Integer)] -pub struct ActualbudgetDate(i32); - -#[derive(Clone, PartialOrd, PartialEq, Eq)] -enum DatePart { - MonthOfYear, - DayOfMonth, -} - -// actualbudget represents dates as numbers which "look like" the corresponding -// ISO string when written in decimal. E.g. 20240901 represents 1 Sep 2024. It -// also uses month specifiers, e.g. 202409 to represent Sep 2024. In this case, -// we interpret this as the first day of the month, e.g. 2024-09-01. - -impl ActualbudgetDate { - pub fn to_iso(&self) -> String { - format!("{0}-{1}-{2}T00:00:00.000Z", self.year(), self.month(), self.day()) - } - - pub fn to_iso_date(&self) -> String { - format!("{0}-{1}-{2}", self.year(), self.month(), self.day()) - } - - pub fn year(&self) -> String { - self.0.to_string()[0..4].to_string() - } - - pub fn month(&self) -> String { - self.0.to_string()[4..6].to_string() - } - - pub fn day(&self) -> String { - match self.date_part() { - DatePart::DayOfMonth => self.0.to_string()[6..8].to_string(), - DatePart::MonthOfYear => String::from("01"), - } - } - - pub fn from_i32(i: i32) -> Self { - ActualbudgetDate(i) - } - - fn date_part(&self) -> DatePart { - if self.0 < 10000000 { - DatePart::MonthOfYear - } else { - DatePart::DayOfMonth - } - } - - fn dayified_value(&self) -> i32 { - match self.date_part() { - DatePart::DayOfMonth => self.0, - DatePart::MonthOfYear => self.0 * 100 + 1, - } - } -} - -impl Ord for ActualbudgetDate { - fn cmp(&self, other: &Self) -> std::cmp::Ordering { - self.dayified_value().cmp(&other.dayified_value()) - } -} - -impl PartialOrd for ActualbudgetDate { - fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> { - Some(self.cmp(other)) - } -} - -impl FromSql<Integer, Sqlite> for ActualbudgetDate { - fn from_sql(bytes: <Sqlite as Backend>::RawValue<'_>) -> diesel::deserialize::Result<Self> { - let int: i32 = FromSql::<Integer, Sqlite>::from_sql(bytes)?; - Ok(ActualbudgetDate(int)) - } -} diff --git a/rust/actualbudget_models/src/actualbudget_payee.rs b/rust/actualbudget_models/src/actualbudget_payee.rs deleted file mode 100644 index 526b73e..0000000 --- a/rust/actualbudget_models/src/actualbudget_payee.rs +++ /dev/null @@ -1,10 +0,0 @@ -use derive_builder::Builder; -use diesel::prelude::{Queryable, Selectable}; - -#[derive(Builder, Clone, Debug, Queryable, Selectable)] -#[diesel(table_name = crate::actualbudget_schema::payees)] -pub struct ActualbudgetPayee { - pub id: String, - pub name: String, - pub transfer_account_id: Option<String>, -} diff --git a/rust/actualbudget_models/src/actualbudget_schema.rs b/rust/actualbudget_models/src/actualbudget_schema.rs deleted file mode 100644 index 4e1ba24..0000000 --- a/rust/actualbudget_models/src/actualbudget_schema.rs +++ /dev/null @@ -1,66 +0,0 @@ -diesel::table! { - accounts (id) { - id -> Text, - name -> Text, - } -} - -diesel::table! { - categories (id) { - id -> Text, - name -> Text, - } -} - -diesel::table! { - v_transactions (id) { - id -> Text, - is_parent -> Bool, - is_child -> Bool, - parent_id -> Nullable<Text>, - #[sql_name = "account"] - account_id -> Text, - #[sql_name = "category"] - category_id -> Nullable<Text>, - amount -> Integer, - payee -> Nullable<Text>, - notes -> Nullable<Text>, - date -> Integer, - transfer_id -> Nullable<Text>, - // imported_id -> Text, - // error -> Text, - // imported_payee -> Text, - // starting_balance_flag -> Integer, - // sort_order -> Real, - // cleared -> Integer, - // reconciled -> Integer, - // tombstone -> Integer, - // schedule -> Text, - } -} - -diesel::table! { - payees (id) { - id -> Text, - name -> Text, - #[sql_name = "transfer_acct"] - transfer_account_id -> Nullable<Text>, - // category -> Nullable<Text>, - // favorite -> Bool, - // tombstone -> Integer, - } -} - -diesel::table! { - zero_budgets (id) { - id -> Text, - month -> Integer, - #[sql_name = "category"] - category_id -> Text, - amount -> Integer, - #[sql_name = "carryover"] - do_carry_over -> Bool, - // goal -> Integer, - // long_goal -> Integer, - } -} diff --git a/rust/actualbudget_models/src/actualbudget_transaction.rs b/rust/actualbudget_models/src/actualbudget_transaction.rs deleted file mode 100644 index c8ac522..0000000 --- a/rust/actualbudget_models/src/actualbudget_transaction.rs +++ /dev/null @@ -1,20 +0,0 @@ -use derive_builder::Builder; -use diesel::prelude::{Identifiable, Queryable, QueryableByName, Selectable}; - -use crate::actualbudget_date::ActualbudgetDate; - -#[derive(Builder, Debug, PartialEq, Eq, Identifiable, QueryableByName, Queryable, Selectable, Clone)] -#[diesel(table_name = crate::actualbudget_schema::v_transactions)] -pub struct ActualbudgetTransaction { - pub id: String, - pub is_parent: bool, - pub is_child: bool, - pub parent_id: Option<String>, - pub account_id: String, - pub category_id: Option<String>, - pub amount: i32, - pub payee: Option<String>, - pub notes: Option<String>, - pub date: ActualbudgetDate, - pub transfer_id: Option<String>, -} diff --git a/rust/actualbudget_models/src/actualbudget_zero_budget.rs b/rust/actualbudget_models/src/actualbudget_zero_budget.rs deleted file mode 100644 index e18ccc4..0000000 --- a/rust/actualbudget_models/src/actualbudget_zero_budget.rs +++ /dev/null @@ -1,14 +0,0 @@ -use crate::actualbudget_date::ActualbudgetDate; -use derive_builder::Builder; -use diesel::{prelude::{Identifiable, Queryable, QueryableByName, Selectable}, sqlite::Sqlite}; - -#[derive(Builder, Identifiable, QueryableByName, Queryable, Selectable, Clone)] -#[diesel(table_name = crate::actualbudget_schema::zero_budgets)] -#[diesel(check_for_backend(Sqlite))] -pub struct ActualbudgetZeroBudget { - pub id: String, - pub month: ActualbudgetDate, - pub category_id: String, - pub amount: i32, - pub do_carry_over: bool, -} diff --git a/rust/actualbudget_models/src/lib.rs b/rust/actualbudget_models/src/lib.rs deleted file mode 100644 index 2d7d46c..0000000 --- a/rust/actualbudget_models/src/lib.rs +++ /dev/null @@ -1,20 +0,0 @@ -mod actualbudget_account; -mod actualbudget_category; -mod actualbudget_date; -mod actualbudget_payee; -mod actualbudget_transaction; -mod actualbudget_zero_budget; - -pub mod actualbudget_schema; - -pub use actualbudget_account::ActualbudgetAccount; -pub use actualbudget_account::ActualbudgetAccountBuilder; -pub use actualbudget_category::ActualbudgetCategory; -pub use actualbudget_category::ActualbudgetCategoryBuilder; -pub use actualbudget_date::ActualbudgetDate; -pub use actualbudget_payee::ActualbudgetPayee; -pub use actualbudget_payee::ActualbudgetPayeeBuilder; -pub use actualbudget_transaction::ActualbudgetTransaction; -pub use actualbudget_transaction::ActualbudgetTransactionBuilder; -pub use actualbudget_zero_budget::ActualbudgetZeroBudget; -pub use actualbudget_zero_budget::ActualbudgetZeroBudgetBuilder; |
