dhan_rs/api/
statements.rs1use crate::client::{DhanClient, required_path_segment, required_query_value};
4use crate::error::Result;
5use crate::types::statements::*;
6
7impl DhanClient {
8 pub async fn get_ledger_response(
14 &self,
15 from_date: &str,
16 to_date: &str,
17 ) -> Result<LedgerResponse> {
18 let from_date = required_query_value("from_date", from_date)?;
19 let to_date = required_query_value("to_date", to_date)?;
20 let path = format!("/v2/ledger?from-date={from_date}&to-date={to_date}");
21 self.get(&path).await
22 }
23
24 pub async fn get_ledger(&self, from_date: &str, to_date: &str) -> Result<Vec<LedgerEntry>> {
29 Ok(self
30 .get_ledger_response(from_date, to_date)
31 .await?
32 .into_entries())
33 }
34
35 pub async fn get_trade_history(
42 &self,
43 from_date: &str,
44 to_date: &str,
45 page: u32,
46 ) -> Result<Vec<TradeHistoryEntry>> {
47 let from_date = required_path_segment("from_date", from_date)?;
48 let to_date = required_path_segment("to_date", to_date)?;
49 let path = format!("/v2/trades/{from_date}/{to_date}/{page}");
50 self.get(&path).await
51 }
52}