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": [
|
"windows": [
|
||||||
{
|
{
|
||||||
"title": "otter",
|
"title": "otter",
|
||||||
"width": 800,
|
"width": 390,
|
||||||
"height": 600
|
"height": 760
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"security": {
|
"security": {
|
||||||
|
|||||||
Reference in New Issue
Block a user