feat: implement account and transaction commands with CRUD operations
This commit is contained in:
34
src-tauri/src/commands/account.rs
Normal file
34
src-tauri/src/commands/account.rs
Normal 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())
|
||||
}
|
||||
5
src-tauri/src/commands/mod.rs
Normal file
5
src-tauri/src/commands/mod.rs
Normal file
@@ -0,0 +1,5 @@
|
||||
mod account;
|
||||
mod transactions;
|
||||
|
||||
pub use account::*;
|
||||
pub use transactions::*;
|
||||
36
src-tauri/src/commands/transactions.rs
Normal file
36
src-tauri/src/commands/transactions.rs
Normal 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())
|
||||
}
|
||||
@@ -13,8 +13,8 @@
|
||||
"windows": [
|
||||
{
|
||||
"title": "otter",
|
||||
"width": 800,
|
||||
"height": 600
|
||||
"width": 390,
|
||||
"height": 760
|
||||
}
|
||||
],
|
||||
"security": {
|
||||
|
||||
Reference in New Issue
Block a user