threads_rs/types/
pagination.rs1use serde::{Deserialize, Serialize};
2
3use super::common::ApprovalStatus;
4
5#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7pub struct Paging {
8 #[serde(default, skip_serializing_if = "Option::is_none")]
10 pub cursors: Option<PagingCursors>,
11 #[serde(default, skip_serializing_if = "Option::is_none")]
13 pub before: Option<String>,
14 #[serde(default, skip_serializing_if = "Option::is_none")]
16 pub after: Option<String>,
17}
18
19#[derive(Debug, Clone, Default, Serialize, Deserialize)]
21pub struct PagingCursors {
22 #[serde(default, skip_serializing_if = "Option::is_none")]
24 pub before: Option<String>,
25 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub after: Option<String>,
28}
29
30#[derive(Debug, Clone, Default, Serialize, Deserialize)]
32pub struct PaginationOptions {
33 #[serde(default, skip_serializing_if = "Option::is_none")]
35 pub limit: Option<usize>,
36 #[serde(default, skip_serializing_if = "Option::is_none")]
38 pub before: Option<String>,
39 #[serde(default, skip_serializing_if = "Option::is_none")]
41 pub after: Option<String>,
42}
43
44#[derive(Debug, Clone, Default, Serialize, Deserialize)]
46pub struct PostsOptions {
47 #[serde(default, skip_serializing_if = "Option::is_none")]
49 pub limit: Option<usize>,
50 #[serde(default, skip_serializing_if = "Option::is_none")]
52 pub before: Option<String>,
53 #[serde(default, skip_serializing_if = "Option::is_none")]
55 pub after: Option<String>,
56 #[serde(default, skip_serializing_if = "Option::is_none")]
58 pub since: Option<i64>,
59 #[serde(default, skip_serializing_if = "Option::is_none")]
61 pub until: Option<i64>,
62}
63
64#[derive(Debug, Clone, Default, Serialize, Deserialize)]
66pub struct RepliesOptions {
67 #[serde(default, skip_serializing_if = "Option::is_none")]
69 pub limit: Option<usize>,
70 #[serde(default, skip_serializing_if = "Option::is_none")]
72 pub before: Option<String>,
73 #[serde(default, skip_serializing_if = "Option::is_none")]
75 pub after: Option<String>,
76 #[serde(default, skip_serializing_if = "Option::is_none")]
78 pub reverse: Option<bool>,
79}
80
81#[derive(Debug, Clone, Default, Serialize, Deserialize)]
83pub struct PendingRepliesOptions {
84 #[serde(default, skip_serializing_if = "Option::is_none")]
86 pub limit: Option<usize>,
87 #[serde(default, skip_serializing_if = "Option::is_none")]
89 pub before: Option<String>,
90 #[serde(default, skip_serializing_if = "Option::is_none")]
92 pub after: Option<String>,
93 #[serde(default, skip_serializing_if = "Option::is_none")]
95 pub reverse: Option<bool>,
96 #[serde(default, skip_serializing_if = "Option::is_none")]
98 pub approval_status: Option<ApprovalStatus>,
99}