summaryrefslogtreecommitdiff
path: root/rust/schist_models/src/transaction.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-11-17 12:16:19 +0000
committerJoe Carstairs <me@joeac.net>2024-11-17 12:20:48 +0000
commit99fa72e2b9d572e00cd232bd55a3fa24722c3134 (patch)
tree6b50ce600fffa07a0c21b7f14d2447fe5ac3c2ed /rust/schist_models/src/transaction.rs
parent10f071447594f2bdcec84a461df9ad648f71f44b (diff)
Refactors workspace
Diffstat (limited to 'rust/schist_models/src/transaction.rs')
-rw-r--r--rust/schist_models/src/transaction.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/rust/schist_models/src/transaction.rs b/rust/schist_models/src/transaction.rs
new file mode 100644
index 0000000..eb9e816
--- /dev/null
+++ b/rust/schist_models/src/transaction.rs
@@ -0,0 +1,16 @@
+use derive_builder::Builder;
+use diesel::prelude::*;
+
+use crate::{account::Account, datetime_utc::DatetimeUtc};
+
+#[derive(Builder, Queryable, Identifiable, Selectable, Insertable, Associations, Debug, PartialEq)]
+#[diesel(table_name = crate::schema::transactions)]
+#[diesel(belongs_to(Account))]
+pub struct Transaction {
+ pub id: i32,
+ pub description: String,
+ pub payee: String,
+ pub quantity: i32,
+ pub date: DatetimeUtc,
+ pub account_id: i32,
+}