summaryrefslogtreecommitdiff
path: root/backend/core/src/queries/clear.rs
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/queries/clear.rs
parent7adaace61a4fe983eba5ded3aaaf624ce6fb9014 (diff)
Refactors importer to use core stuff
Diffstat (limited to 'backend/core/src/queries/clear.rs')
-rw-r--r--backend/core/src/queries/clear.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/backend/core/src/queries/clear.rs b/backend/core/src/queries/clear.rs
new file mode 100644
index 0000000..dbe0f84
--- /dev/null
+++ b/backend/core/src/queries/clear.rs
@@ -0,0 +1,19 @@
+use crate::queries::{
+ accounts::delete_all_accounts,
+ budget_updates::delete_all_budget_updates,
+ categories::delete_all_categories,
+ category_transfers::delete_all_category_transfers,
+ transactions::delete_all_transactions,
+ transaction_categorisations::delete_all_transaction_categorisations,
+};
+use diesel::{result::Error, SqliteConnection};
+
+pub fn clear(connection: &mut SqliteConnection) -> Result<(), Error> {
+ delete_all_accounts(connection)?;
+ delete_all_budget_updates(connection)?;
+ delete_all_categories(connection)?;
+ delete_all_category_transfers(connection)?;
+ delete_all_transactions(connection)?;
+ delete_all_transaction_categorisations(connection)?;
+ Ok(())
+}