longbridge/asset/requests/
get_statement_list.rs1use serde::Serialize;
2
3#[derive(Debug, Copy, Clone, Eq, PartialEq)]
5pub enum StatementType {
6 Daily = 1,
8 Monthly = 2,
10}
11
12impl From<StatementType> for i32 {
13 #[inline]
14 fn from(value: StatementType) -> Self {
15 value as i32
16 }
17}
18
19#[derive(Debug, Serialize, Clone)]
21pub struct GetStatementListOptions {
22 statement_type: i32,
23 start_date: i32,
24 limit: i32,
25}
26
27impl GetStatementListOptions {
28 #[inline]
30 pub fn new(statement_type: StatementType) -> Self {
31 Self {
32 statement_type: statement_type.into(),
33 start_date: 1,
34 limit: 20,
35 }
36 }
37
38 #[inline]
40 #[must_use]
41 pub fn page(self, page: i32) -> Self {
42 Self {
43 start_date: page,
44 ..self
45 }
46 }
47
48 #[inline]
50 #[must_use]
51 pub fn page_size(self, page_size: i32) -> Self {
52 Self {
53 limit: page_size,
54 ..self
55 }
56 }
57}