summaryrefslogtreecommitdiff
path: root/backend/core/src/models
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-10-22 07:46:43 +0100
committerJoe Carstairs <me@joeac.net>2024-10-22 07:46:43 +0100
commit5824c353f978a5b9ab9696451ee3014c6a614ffc (patch)
treebc39754ca417e84eb00b0aa9a1ae2330da0bf282 /backend/core/src/models
parent7adaace61a4fe983eba5ded3aaaf624ce6fb9014 (diff)
Refactors importer to use core stuff
Diffstat (limited to 'backend/core/src/models')
-rw-r--r--backend/core/src/models/budget_update.rs2
-rw-r--r--backend/core/src/models/category.rs2
-rw-r--r--backend/core/src/models/category_transfer.rs2
-rw-r--r--backend/core/src/models/date_time_utc.rs5
-rw-r--r--backend/core/src/models/transaction.rs2
-rw-r--r--backend/core/src/models/transaction_categorisation.rs2
6 files changed, 10 insertions, 5 deletions
diff --git a/backend/core/src/models/budget_update.rs b/backend/core/src/models/budget_update.rs
index c63e957..8600419 100644
--- a/backend/core/src/models/budget_update.rs
+++ b/backend/core/src/models/budget_update.rs
@@ -5,7 +5,7 @@ use crate::models::category::Category;
use super::date_time_utc::DateTimeUtc;
-#[derive(Clone, Serialize, Queryable, Identifiable, Selectable, Associations, Debug, PartialEq)]
+#[derive(Clone, Serialize, Queryable, Identifiable, Selectable, Associations, Debug, PartialEq, Insertable)]
#[diesel(table_name = crate::schema::budget_updates)]
#[diesel(belongs_to(Category))]
pub struct BudgetUpdate {
diff --git a/backend/core/src/models/category.rs b/backend/core/src/models/category.rs
index 5cb2609..595cff6 100644
--- a/backend/core/src/models/category.rs
+++ b/backend/core/src/models/category.rs
@@ -1,7 +1,7 @@
use diesel::prelude::*;
use serde::{Deserialize, Serialize};
-#[derive(Queryable, Identifiable, Selectable, Debug, PartialEq, Serialize, Deserialize)]
+#[derive(Queryable, Identifiable, Selectable, Debug, PartialEq, Serialize, Deserialize, Insertable)]
#[diesel(table_name = crate::schema::categories)]
pub struct Category {
pub id: i32,
diff --git a/backend/core/src/models/category_transfer.rs b/backend/core/src/models/category_transfer.rs
index 6cbda0e..a048a07 100644
--- a/backend/core/src/models/category_transfer.rs
+++ b/backend/core/src/models/category_transfer.rs
@@ -1,6 +1,6 @@
use diesel::prelude::*;
-#[derive(Queryable, Identifiable, Selectable, Debug, PartialEq)]
+#[derive(Queryable, Identifiable, Selectable, Debug, PartialEq, Insertable)]
#[diesel(table_name = crate::schema::category_transfers)]
pub struct CategoryTransfer {
pub id: i32,
diff --git a/backend/core/src/models/date_time_utc.rs b/backend/core/src/models/date_time_utc.rs
index 03d5802..52c0cc6 100644
--- a/backend/core/src/models/date_time_utc.rs
+++ b/backend/core/src/models/date_time_utc.rs
@@ -1,3 +1,4 @@
+use anyhow::Result;
use chrono::{DateTime, Datelike, Utc};
use diesel::{
backend::Backend,
@@ -44,6 +45,10 @@ impl DateTimeUtc {
Self(date_time_utc)
}
+ pub fn from_date_str(date_time_utc: &str) -> Result<Self> {
+ Ok(Self(date_time_utc.parse::<DateTime<Utc>>()?))
+ }
+
pub fn now() -> Self {
Self(Utc::now())
}
diff --git a/backend/core/src/models/transaction.rs b/backend/core/src/models/transaction.rs
index 36f33f8..5f85689 100644
--- a/backend/core/src/models/transaction.rs
+++ b/backend/core/src/models/transaction.rs
@@ -4,7 +4,7 @@ use crate::models::account::Account;
use super::date_time_utc::DateTimeUtc;
-#[derive(Queryable, Identifiable, Selectable, Associations, Debug, PartialEq)]
+#[derive(Queryable, Identifiable, Selectable, Insertable, Associations, Debug, PartialEq)]
#[diesel(table_name = crate::schema::transactions)]
#[diesel(belongs_to(Account))]
pub struct Transaction {
diff --git a/backend/core/src/models/transaction_categorisation.rs b/backend/core/src/models/transaction_categorisation.rs
index 60c2b98..45591a5 100644
--- a/backend/core/src/models/transaction_categorisation.rs
+++ b/backend/core/src/models/transaction_categorisation.rs
@@ -1,6 +1,6 @@
use diesel::prelude::*;
-#[derive(Queryable, Identifiable, Selectable, Debug, PartialEq)]
+#[derive(Queryable, Identifiable, Selectable, Insertable, Debug, PartialEq)]
#[diesel(table_name = crate::schema::transaction_categorisations)]
pub struct TransactionCategorisation {
pub id: i32,