use std::borrow::Cow;
use serde::Serialize;
use crate::model::InstType;
#[derive(Debug, Clone, Default, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct PositionsRequest<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
inst_type: Option<InstType>,
#[serde(skip_serializing_if = "Option::is_none")]
inst_id: Option<Cow<'a, str>>,
}
impl<'a> PositionsRequest<'a> {
pub fn new() -> Self {
Self::default()
}
pub fn inst_type(mut self, inst_type: InstType) -> Self {
self.inst_type = Some(inst_type);
self
}
pub fn inst_id(mut self, inst_id: impl Into<Cow<'a, str>>) -> Self {
self.inst_id = Some(inst_id.into());
self
}
}
#[derive(Debug, Clone, Default, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct PositionRiskRequest {
#[serde(skip_serializing_if = "Option::is_none")]
inst_type: Option<InstType>,
}
impl PositionRiskRequest {
pub fn new() -> Self {
Self::default()
}
pub fn inst_type(mut self, inst_type: InstType) -> Self {
self.inst_type = Some(inst_type);
self
}
}