summaryrefslogtreecommitdiff
path: root/rust
diff options
context:
space:
mode:
Diffstat (limited to 'rust')
-rw-r--r--rust/actualbudget_fakes/src/actualbudget_payee.rs14
-rw-r--r--rust/actualbudget_fakes/src/lib.rs1
-rw-r--r--rust/actualbudget_models/src/actualbudget_payee.rs10
-rw-r--r--rust/actualbudget_models/src/actualbudget_schema.rs12
-rw-r--r--rust/actualbudget_models/src/lib.rs3
-rw-r--r--rust/actualbudget_models/user_data.sqlite0
6 files changed, 40 insertions, 0 deletions
diff --git a/rust/actualbudget_fakes/src/actualbudget_payee.rs b/rust/actualbudget_fakes/src/actualbudget_payee.rs
new file mode 100644
index 0000000..8bcdc9c
--- /dev/null
+++ b/rust/actualbudget_fakes/src/actualbudget_payee.rs
@@ -0,0 +1,14 @@
+use actualbudget_models::{ActualbudgetPayee, ActualbudgetPayeeBuilder};
+
+pub fn make_fake_actualbudget_payee(id: &str) -> ActualbudgetPayee {
+ make_fake_actualbudget_payee_builder(id).build().unwrap()
+}
+
+pub fn make_fake_actualbudget_payee_builder(id: &str) -> ActualbudgetPayeeBuilder {
+ let mut builder = ActualbudgetPayeeBuilder::default();
+ builder
+ .id(String::from(id))
+ .name(None)
+ .transfer_account_id(None);
+ builder
+}
diff --git a/rust/actualbudget_fakes/src/lib.rs b/rust/actualbudget_fakes/src/lib.rs
index 0fbb408..815c962 100644
--- a/rust/actualbudget_fakes/src/lib.rs
+++ b/rust/actualbudget_fakes/src/lib.rs
@@ -1,4 +1,5 @@
pub mod actualbudget_account;
pub mod actualbudget_category;
+pub mod actualbudget_payee;
pub mod actualbudget_transaction;
pub mod actualbudget_zero_budget;
diff --git a/rust/actualbudget_models/src/actualbudget_payee.rs b/rust/actualbudget_models/src/actualbudget_payee.rs
new file mode 100644
index 0000000..db9db6f
--- /dev/null
+++ b/rust/actualbudget_models/src/actualbudget_payee.rs
@@ -0,0 +1,10 @@
+use derive_builder::Builder;
+use diesel::prelude::{Queryable, Selectable};
+
+#[derive(Builder, Clone, Queryable, Selectable)]
+#[diesel(table_name = crate::actualbudget_schema::payees)]
+pub struct ActualbudgetPayee {
+ pub id: String,
+ pub name: Option<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
index 706fb00..f47bade 100644
--- a/rust/actualbudget_models/src/actualbudget_schema.rs
+++ b/rust/actualbudget_models/src/actualbudget_schema.rs
@@ -40,6 +40,18 @@ diesel::table! {
}
diesel::table! {
+ payees (id) {
+ id -> Text,
+ name -> Nullable<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,
diff --git a/rust/actualbudget_models/src/lib.rs b/rust/actualbudget_models/src/lib.rs
index f033f98..2d7d46c 100644
--- a/rust/actualbudget_models/src/lib.rs
+++ b/rust/actualbudget_models/src/lib.rs
@@ -1,6 +1,7 @@
mod actualbudget_account;
mod actualbudget_category;
mod actualbudget_date;
+mod actualbudget_payee;
mod actualbudget_transaction;
mod actualbudget_zero_budget;
@@ -11,6 +12,8 @@ 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;
diff --git a/rust/actualbudget_models/user_data.sqlite b/rust/actualbudget_models/user_data.sqlite
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/rust/actualbudget_models/user_data.sqlite