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