atrium_api/app/bsky/feed/
search_posts_v2.rs1pub const NSID: &str = "app.bsky.feed.searchPostsV2";
4#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
5#[serde(rename_all = "camelCase")]
6pub struct ParametersData {
7 #[serde(skip_serializing_if = "core::option::Option::is_none")]
9 pub all_time: core::option::Option<bool>,
10 #[serde(skip_serializing_if = "core::option::Option::is_none")]
12 pub authors: core::option::Option<Vec<crate::types::string::AtIdentifier>>,
13 #[serde(skip_serializing_if = "core::option::Option::is_none")]
15 pub cursor: core::option::Option<String>,
16 #[serde(skip_serializing_if = "core::option::Option::is_none")]
18 pub domains: core::option::Option<Vec<String>>,
19 #[serde(skip_serializing_if = "core::option::Option::is_none")]
21 pub embedded_at_uris: core::option::Option<Vec<String>>,
22 #[serde(skip_serializing_if = "core::option::Option::is_none")]
24 pub exclude_authors: core::option::Option<Vec<crate::types::string::AtIdentifier>>,
25 #[serde(skip_serializing_if = "core::option::Option::is_none")]
27 pub exclude_domains: core::option::Option<Vec<String>>,
28 #[serde(skip_serializing_if = "core::option::Option::is_none")]
30 pub exclude_embedded_at_uris: core::option::Option<Vec<String>>,
31 #[serde(skip_serializing_if = "core::option::Option::is_none")]
33 pub exclude_hashtags: core::option::Option<Vec<String>>,
34 #[serde(skip_serializing_if = "core::option::Option::is_none")]
36 pub exclude_languages: core::option::Option<Vec<crate::types::string::Language>>,
37 #[serde(skip_serializing_if = "core::option::Option::is_none")]
39 pub exclude_mentions: core::option::Option<Vec<crate::types::string::AtIdentifier>>,
40 #[serde(skip_serializing_if = "core::option::Option::is_none")]
42 pub exclude_replies: core::option::Option<bool>,
43 #[serde(skip_serializing_if = "core::option::Option::is_none")]
45 pub exclude_urls: core::option::Option<Vec<String>>,
46 #[serde(skip_serializing_if = "core::option::Option::is_none")]
48 pub following: core::option::Option<bool>,
49 #[serde(skip_serializing_if = "core::option::Option::is_none")]
51 pub has_media: core::option::Option<bool>,
52 #[serde(skip_serializing_if = "core::option::Option::is_none")]
54 pub has_video: core::option::Option<bool>,
55 #[serde(skip_serializing_if = "core::option::Option::is_none")]
57 pub hashtags: core::option::Option<Vec<String>>,
58 #[serde(skip_serializing_if = "core::option::Option::is_none")]
60 pub languages: core::option::Option<Vec<crate::types::string::Language>>,
61 #[serde(skip_serializing_if = "core::option::Option::is_none")]
63 pub limit: core::option::Option<crate::types::LimitedNonZeroU8<100u8>>,
64 #[serde(skip_serializing_if = "core::option::Option::is_none")]
66 pub mentions: core::option::Option<Vec<crate::types::string::AtIdentifier>>,
67 #[serde(skip_serializing_if = "core::option::Option::is_none")]
69 pub query: core::option::Option<String>,
70 #[serde(skip_serializing_if = "core::option::Option::is_none")]
72 pub query_language: core::option::Option<String>,
73 #[serde(skip_serializing_if = "core::option::Option::is_none")]
75 pub replies_only: core::option::Option<bool>,
76 #[serde(skip_serializing_if = "core::option::Option::is_none")]
78 pub reply_parent_uri: core::option::Option<String>,
79 #[serde(skip_serializing_if = "core::option::Option::is_none")]
81 pub since: core::option::Option<String>,
82 #[serde(skip_serializing_if = "core::option::Option::is_none")]
84 pub sort: core::option::Option<String>,
85 #[serde(skip_serializing_if = "core::option::Option::is_none")]
87 pub thread_root_uri: core::option::Option<String>,
88 #[serde(skip_serializing_if = "core::option::Option::is_none")]
90 pub until: core::option::Option<String>,
91 #[serde(skip_serializing_if = "core::option::Option::is_none")]
93 pub urls: core::option::Option<Vec<String>>,
94}
95pub type Parameters = crate::types::Object<ParametersData>;
96#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
97#[serde(rename_all = "camelCase")]
98pub struct OutputData {
99 #[serde(skip_serializing_if = "core::option::Option::is_none")]
101 pub cursor: core::option::Option<String>,
102 #[serde(skip_serializing_if = "core::option::Option::is_none")]
104 pub detected_query_languages: core::option::Option<Vec<String>>,
105 #[serde(skip_serializing_if = "core::option::Option::is_none")]
107 pub hits_total: core::option::Option<i64>,
108 pub posts: Vec<crate::app::bsky::feed::defs::PostView>,
110}
111pub type Output = crate::types::Object<OutputData>;
112#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
113#[serde(tag = "error", content = "message")]
114pub enum Error {
115 BadQueryString(Option<String>),
116}
117impl std::fmt::Display for Error {
118 fn fmt(&self, _f: &mut std::fmt::Formatter) -> std::fmt::Result {
119 match self {
120 Error::BadQueryString(msg) => {
121 write!(_f, "BadQueryString")?;
122 if let Some(msg) = msg {
123 write!(_f, ": {msg}")?;
124 }
125 }
126 }
127 Ok(())
128 }
129}