pub const NSID: &str = "app.bsky.feed.searchPostsV2";
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ParametersData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub all_time: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub authors: core::option::Option<Vec<crate::types::string::AtIdentifier>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub cursor: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub domains: core::option::Option<Vec<String>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub embedded_at_uris: core::option::Option<Vec<String>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub exclude_authors: core::option::Option<Vec<crate::types::string::AtIdentifier>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub exclude_domains: core::option::Option<Vec<String>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub exclude_embedded_at_uris: core::option::Option<Vec<String>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub exclude_hashtags: core::option::Option<Vec<String>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub exclude_languages: core::option::Option<Vec<crate::types::string::Language>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub exclude_mentions: core::option::Option<Vec<crate::types::string::AtIdentifier>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub exclude_replies: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub exclude_urls: core::option::Option<Vec<String>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub following: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub has_media: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub has_video: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub hashtags: core::option::Option<Vec<String>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub languages: core::option::Option<Vec<crate::types::string::Language>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub limit: core::option::Option<crate::types::LimitedNonZeroU8<100u8>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub mentions: core::option::Option<Vec<crate::types::string::AtIdentifier>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub query: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub query_language: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub replies_only: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub reply_parent_uri: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub since: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub sort: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub thread_root_uri: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub until: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub urls: core::option::Option<Vec<String>>,
}
pub type Parameters = crate::types::Object<ParametersData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct OutputData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub cursor: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub detected_query_languages: core::option::Option<Vec<String>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub hits_total: core::option::Option<i64>,
pub posts: Vec<crate::app::bsky::feed::defs::PostView>,
}
pub type Output = crate::types::Object<OutputData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "error", content = "message")]
pub enum Error {
BadQueryString(Option<String>),
}
impl std::fmt::Display for Error {
fn fmt(&self, _f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Error::BadQueryString(msg) => {
write!(_f, "BadQueryString")?;
if let Some(msg) = msg {
write!(_f, ": {msg}")?;
}
}
}
Ok(())
}
}