Skip to main content

rust_okx/api/support/
requests.rs

1use std::borrow::Cow;
2
3use serde::Serialize;
4
5/// Request for [`get_announcements`](crate::api::support::Support::get_announcements).
6#[derive(Debug, Clone, Default, Serialize)]
7pub struct AnnouncementsRequest<'a> {
8    #[serde(rename = "annType", skip_serializing_if = "Option::is_none")]
9    ann_type: Option<Cow<'a, str>>,
10    #[serde(skip_serializing_if = "Option::is_none")]
11    page: Option<u32>,
12}
13
14impl<'a> AnnouncementsRequest<'a> {
15    /// Create an unfiltered announcements query.
16    pub fn new() -> Self {
17        Self::default()
18    }
19
20    /// Set the announcement type filter.
21    pub fn announcement_type(mut self, ann_type: impl Into<Cow<'a, str>>) -> Self {
22        self.ann_type = Some(ann_type.into());
23        self
24    }
25
26    /// Set the page number.
27    pub fn page(mut self, page: u32) -> Self {
28        self.page = Some(page);
29        self
30    }
31}