From c2e8252f5e963e8c68d7124742f3c1bdf61a083f Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Wed, 27 Nov 2024 19:47:36 +0000 Subject: AccountTransfer model --- rust/schist_models/src/account_transfer.rs | 15 +++++++++++++++ rust/schist_models/src/lib.rs | 1 + rust/schist_models/src/schema.rs | 12 ++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 rust/schist_models/src/account_transfer.rs (limited to 'rust/schist_models/src') diff --git a/rust/schist_models/src/account_transfer.rs b/rust/schist_models/src/account_transfer.rs new file mode 100644 index 0000000..06c51ac --- /dev/null +++ b/rust/schist_models/src/account_transfer.rs @@ -0,0 +1,15 @@ +use derive_builder::Builder; +use diesel::prelude::{Identifiable, Insertable, Queryable, Selectable}; + +use crate::date_utc::DateUtc; + +#[derive(Builder, Queryable, Identifiable, Selectable, Debug, PartialEq, Insertable)] +#[diesel(table_name = crate::schema::account_transfers)] +pub struct AccountTransfer { + pub id: i32, + pub date: DateUtc, + pub description: String, + pub quantity: i32, + pub from_account_id: i32, + pub to_account_id: i32, +} diff --git a/rust/schist_models/src/lib.rs b/rust/schist_models/src/lib.rs index 1712c36..d9e93c4 100644 --- a/rust/schist_models/src/lib.rs +++ b/rust/schist_models/src/lib.rs @@ -1,4 +1,5 @@ pub mod account; +pub mod account_transfer; pub mod budget_drip; pub mod budget_period_unit; pub mod category; diff --git a/rust/schist_models/src/schema.rs b/rust/schist_models/src/schema.rs index 5164d07..1dd1391 100644 --- a/rust/schist_models/src/schema.rs +++ b/rust/schist_models/src/schema.rs @@ -1,5 +1,16 @@ // @generated automatically by Diesel CLI. +diesel::table! { + account_transfers (id) { + id -> Integer, + date -> Text, + description -> Text, + quantity -> Integer, + from_account_id -> Integer, + to_account_id -> Integer, + } +} + diesel::table! { accounts (id) { id -> Integer, @@ -67,6 +78,7 @@ diesel::joinable!(transaction_categorisations -> transactions (transaction_id)); diesel::joinable!(transactions -> accounts (account_id)); diesel::allow_tables_to_appear_in_same_query!( + account_transfers, accounts, budget_drips, categories, -- cgit v1.2.3