upstox_rust_sdk/models/orders/
modify_order_request.rs1use {
2 crate::models::orders::{OrderType, ValidityType},
3 serde::Serialize,
4 serde_valid::Validate,
5};
6
7#[derive(Serialize, Debug, Validate)]
8pub struct ModifyOrderRequest {
9 #[validate(exclusive_minimum = 0, message = "quantity must be greater than 0")]
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub quantity: Option<u32>,
13 pub validity: ValidityType,
14 #[validate(exclusive_minimum = 0.0, message = "price must be greater than 0.0")]
15 pub price: f64,
16 #[validate(pattern = r"^[-a-zA-Z0-9]+", message = "Invalid order_id")]
17 pub order_id: String,
18 pub order_type: OrderType,
19 #[serde(skip_serializing_if = "Option::is_none")]
20 pub disclosed_quantity: Option<u32>,
21 #[serde(skip_serializing_if = "Option::is_none")]
22 pub trigger_price: Option<f64>,
23}