summaryrefslogtreecommitdiff
path: root/rust/actualbudget_models/src
diff options
context:
space:
mode:
Diffstat (limited to 'rust/actualbudget_models/src')
-rw-r--r--rust/actualbudget_models/src/actualbudget_account.rs9
-rw-r--r--rust/actualbudget_models/src/actualbudget_category.rs9
-rw-r--r--rust/actualbudget_models/src/actualbudget_date.rs79
-rw-r--r--rust/actualbudget_models/src/actualbudget_payee.rs10
-rw-r--r--rust/actualbudget_models/src/actualbudget_schema.rs66
-rw-r--r--rust/actualbudget_models/src/actualbudget_transaction.rs20
-rw-r--r--rust/actualbudget_models/src/actualbudget_zero_budget.rs14
-rw-r--r--rust/actualbudget_models/src/lib.rs20
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;