coreum_wasm_sdk/deprecated/
pagination.rs1use 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}