From bdfa98b3edf6b28b13c3657612ee1afbedcc594f Mon Sep 17 00:00:00 2001 From: GW_MC <72297530+GWMCwing@users.noreply.github.com> Date: Thu, 28 May 2026 04:02:54 +0000 Subject: [PATCH] feat: implement account and transaction commands with CRUD operations --- src-tauri/src/commands/account.rs | 34 ++++++++++++++++++++++++ src-tauri/src/commands/mod.rs | 5 ++++ src-tauri/src/commands/transactions.rs | 36 ++++++++++++++++++++++++++ src-tauri/tauri.conf.json | 6 ++--- 4 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 src-tauri/src/commands/account.rs create mode 100644 src-tauri/src/commands/mod.rs create mode 100644 src-tauri/src/commands/transactions.rs diff --git a/src-tauri/src/commands/account.rs b/src-tauri/src/commands/account.rs new file mode 100644 index 0000000..2b733d6 --- /dev/null +++ b/src-tauri/src/commands/account.rs @@ -0,0 +1,34 @@ +#[tauri::command] +pub async fn get_account( + id: i64, + services: tauri::State<'_, crate::services::AppState>, +) -> Result, String> { + let accounts_service = &services.accounts; + accounts_service + .get_account(&id) + .await + .map_err(|e| e.to_string()) +} + +#[tauri::command] +pub async fn get_accounts( + services: tauri::State<'_, crate::services::AppState>, +) -> Result, String> { + let accounts_service = &services.accounts; + accounts_service + .get_accounts() + .await + .map_err(|e| e.to_string()) +} + +#[tauri::command] +pub async fn create_account( + request: crate::services::accounts::CreateAccountRequest, + services: tauri::State<'_, crate::services::AppState>, +) -> Result { + let accounts_service = &services.accounts; + accounts_service + .create_account(request) + .await + .map_err(|e| e.to_string()) +} diff --git a/src-tauri/src/commands/mod.rs b/src-tauri/src/commands/mod.rs new file mode 100644 index 0000000..b1a2bf2 --- /dev/null +++ b/src-tauri/src/commands/mod.rs @@ -0,0 +1,5 @@ +mod account; +mod transactions; + +pub use account::*; +pub use transactions::*; diff --git a/src-tauri/src/commands/transactions.rs b/src-tauri/src/commands/transactions.rs new file mode 100644 index 0000000..6241d19 --- /dev/null +++ b/src-tauri/src/commands/transactions.rs @@ -0,0 +1,36 @@ +#[tauri::command] +pub async fn get_transactions_for_account( + id: i64, + services: tauri::State<'_, crate::services::AppState>, +) -> Result, String> { + let transaction_service = &services.transaction; + transaction_service + .get_transactions_by_account(id) + .await + .map_err(|e| e.to_string()) +} + +#[tauri::command] +pub async fn create_transaction( + request: crate::services::transaction::CreateTransactionRequest, + services: tauri::State<'_, crate::services::AppState>, +) -> Result { + let transaction_service = &services.transaction; + transaction_service + .create_transaction(request) + .await + .map_err(|e| e.to_string()) +} + +#[tauri::command] +pub async fn update_transaction( + id: i64, + request: crate::services::transaction::UpdateTransactionRequest, + services: tauri::State<'_, crate::services::AppState>, +) -> Result<(), String> { + let transaction_service = &services.transaction; + transaction_service + .update_transaction(id, request) + .await + .map_err(|e| e.to_string()) +} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index ac260dd..2e61767 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -13,8 +13,8 @@ "windows": [ { "title": "otter", - "width": 800, - "height": 600 + "width": 390, + "height": 760 } ], "security": { @@ -32,4 +32,4 @@ "icons/icon.ico" ] } -} +} \ No newline at end of file