finql_data/
transaction_handler.rs

1use async_trait::async_trait;
2
3use super::AssetHandler;
4use super::DataError;
5use crate::transaction::Transaction;
6
7/// Handler for globally available data of transactions and related data
8#[async_trait]
9pub trait TransactionHandler: AssetHandler {
10    // insert, get, update and delete for transactions
11    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}