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())
}

View File

@@ -13,8 +13,8 @@
"windows": [ "windows": [
{ {
"title": "otter", "title": "otter",
"width": 800, "width": 390,
"height": 600 "height": 760
} }
], ],
"security": { "security": {
@@ -32,4 +32,4 @@
"icons/icon.ico" "icons/icon.ico"
] ]
} }
} }