dhan_rs/api/
forever_order.rs1use crate::client::{DhanClient, required_path_segment};
4use crate::error::Result;
5use crate::types::forever_order::*;
6use crate::types::orders::OrderResponse;
7
8impl DhanClient {
9 pub async fn create_forever_order(
13 &self,
14 req: &CreateForeverOrderRequest,
15 ) -> Result<OrderResponse> {
16 self.post("/v2/forever/orders", req).await
17 }
18
19 pub async fn modify_forever_order(
23 &self,
24 order_id: &str,
25 req: &ModifyForeverOrderRequest,
26 ) -> Result<OrderResponse> {
27 let order_id = required_path_segment("order_id", order_id)?;
28 self.put(&format!("/v2/forever/orders/{order_id}"), req)
29 .await
30 }
31
32 pub async fn delete_forever_order(&self, order_id: &str) -> Result<OrderResponse> {
36 let order_id = required_path_segment("order_id", order_id)?;
37 self.delete(&format!("/v2/forever/orders/{order_id}")).await
38 }
39
40 pub async fn get_all_forever_orders(&self) -> Result<Vec<ForeverOrderDetail>> {
44 self.get("/v2/forever/all").await
45 }
46
47 pub async fn get_all_forever_orders_openapi(&self) -> Result<Vec<ForeverOrderDetail>> {
56 self.get("/v2/forever/orders").await
57 }
58}