use crate::Error;
use crate::api::trade::{AmendOrderRequest, CancelOrderRequest, PlaceOrderRequest};
use crate::ws::client::OkxWs;
use crate::ws::conn::WsConnector;
use crate::ws::request::MassCancelRequest;
impl<C: WsConnector> OkxWs<C> {
pub async fn place_order_ws(
&mut self,
id: impl Into<String>,
request: &PlaceOrderRequest,
) -> Result<(), Error> {
self.send_request(id, "order", std::slice::from_ref(request))
.await
}
pub async fn place_orders_ws(
&mut self,
id: impl Into<String>,
requests: &[PlaceOrderRequest],
) -> Result<(), Error> {
self.send_request(id, "batch-orders", requests).await
}
pub async fn cancel_order_ws(
&mut self,
id: impl Into<String>,
request: &CancelOrderRequest,
) -> Result<(), Error> {
self.send_request(id, "cancel-order", std::slice::from_ref(request))
.await
}
pub async fn cancel_orders_ws(
&mut self,
id: impl Into<String>,
requests: &[CancelOrderRequest],
) -> Result<(), Error> {
self.send_request(id, "batch-cancel-orders", requests).await
}
pub async fn amend_order_ws(
&mut self,
id: impl Into<String>,
request: &AmendOrderRequest,
) -> Result<(), Error> {
self.send_request(id, "amend-order", std::slice::from_ref(request))
.await
}
pub async fn amend_orders_ws(
&mut self,
id: impl Into<String>,
requests: &[AmendOrderRequest],
) -> Result<(), Error> {
self.send_request(id, "batch-amend-orders", requests).await
}
pub async fn mass_cancel_ws(
&mut self,
id: impl Into<String>,
request: &MassCancelRequest,
) -> Result<(), Error> {
self.send_request_with_expiry(id, "mass-cancel", None, std::slice::from_ref(request))
.await
}
}