feat: implement account and transaction commands with CRUD operations

This commit is contained in:
GW_MC
2026-05-28 04:02:54 +00:00
parent 671e0f8ead
commit bdfa98b3ed
4 changed files with 78 additions and 3 deletions

View File

@@ -0,0 +1,34 @@
#[tauri::command]
pub async fn get_account(
id: i64,
services: tauri::State<'_, crate::services::AppState>,
) -> Result<Option<crate::services::accounts::Account>, 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<Vec<crate::services::accounts::Account>, 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<i64, String> {
let accounts_service = &services.accounts;
accounts_service
.create_account(request)
.await
.map_err(|e| e.to_string())
}

View File

@@ -0,0 +1,5 @@
mod account;
mod transactions;
pub use account::*;
pub use transactions::*;

View File

@@ -0,0 +1,36 @@
#[tauri::command]
pub async fn get_transactions_for_account(
id: i64,
services: tauri::State<'_, crate::services::AppState>,
) -> Result<Vec<crate::services::transaction::Transaction>, 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<i64, String> {
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())
}