finql_data/
transaction_handler.rs1use async_trait::async_trait;
2
3use super::AssetHandler;
4use super::DataError;
5use crate::transaction::Transaction;
6
7#[async_trait]
9pub trait TransactionHandler: AssetHandler {
10 async fn insert_transaction(&self, transaction: &Transaction) -> Result<usize, DataError>;
12 async fn get_transaction_by_id(&self, id: usize) -> Result<Transaction, DataError>;
13 async fn get_all_transactions(&self) -> Result<Vec<Transaction>, DataError>;
14 async fn update_transaction(&self, transaction: &Transaction) -> Result<(), DataError>;
15 async fn delete_transaction(&self, id: usize) -> Result<(), DataError>;
16}