coreum_wasm_sdk/deprecated/
pagination.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema, Default)]
5#[serde(rename_all = "snake_case")]
6pub struct PageRequest {
7    pub key: Option<String>,
8    pub offset: Option<u64>,
9    pub limit: Option<u64>,
10    pub count_total: Option<bool>,
11    pub reverse: Option<bool>,
12}
13
14impl PageRequest {
15    pub fn new() -> Self {
16        Self::default()
17    }
18
19    pub fn key(mut self, key: impl Into<String>) -> Self {
20        self.key = Some(key.into());
21        self
22    }
23
24    pub fn offset(mut self, offset: u64) -> Self {
25        self.offset = Some(offset);
26        self
27    }
28
29    pub fn limit(mut self, limit: u64) -> Self {
30        self.limit = Some(limit);
31        self
32    }
33
34    pub fn count_total(mut self) -> Self {
35        self.count_total = Some(true);
36        self
37    }
38
39    pub fn reverse(mut self) -> Self {
40        self.reverse = Some(true);
41        self
42    }
43}
44
45#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
46#[serde(rename_all = "snake_case")]
47pub struct PageResponse {
48    pub next_key: Option<String>,
49    pub total: Option<u64>,
50}