#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct AdultContentPrefData {
pub enabled: bool,
}
pub type AdultContentPref = crate::types::Object<AdultContentPrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct BskyAppProgressGuideData {
pub guide: String,
}
pub type BskyAppProgressGuide = crate::types::Object<BskyAppProgressGuideData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct BskyAppStatePrefData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub active_progress_guide: core::option::Option<BskyAppProgressGuide>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub nuxs: core::option::Option<Vec<crate::app::bsky::actor::defs::Nux>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub queued_nudges: core::option::Option<Vec<String>>,
}
pub type BskyAppStatePref = crate::types::Object<BskyAppStatePrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ContentLabelPrefData {
pub label: String,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub labeler_did: core::option::Option<crate::types::string::Did>,
pub visibility: String,
}
pub type ContentLabelPref = crate::types::Object<ContentLabelPrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct FeedViewPrefData {
pub feed: String,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub hide_quote_posts: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub hide_replies: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub hide_replies_by_like_count: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub hide_replies_by_unfollowed: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub hide_reposts: core::option::Option<bool>,
}
pub type FeedViewPref = crate::types::Object<FeedViewPrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct HiddenPostsPrefData {
pub items: Vec<String>,
}
pub type HiddenPostsPref = crate::types::Object<HiddenPostsPrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct InterestsPrefData {
pub tags: Vec<String>,
}
pub type InterestsPref = crate::types::Object<InterestsPrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct KnownFollowersData {
pub count: i64,
pub followers: Vec<ProfileViewBasic>,
}
pub type KnownFollowers = crate::types::Object<KnownFollowersData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LabelerPrefItemData {
pub did: crate::types::string::Did,
}
pub type LabelerPrefItem = crate::types::Object<LabelerPrefItemData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct LabelersPrefData {
pub labelers: Vec<LabelerPrefItem>,
}
pub type LabelersPref = crate::types::Object<LabelersPrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct MutedWordData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub actor_target: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub expires_at: core::option::Option<crate::types::string::Datetime>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub id: core::option::Option<String>,
pub targets: Vec<crate::app::bsky::actor::defs::MutedWordTarget>,
pub value: String,
}
pub type MutedWord = crate::types::Object<MutedWordData>;
pub type MutedWordTarget = String;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct MutedWordsPrefData {
pub items: Vec<crate::app::bsky::actor::defs::MutedWord>,
}
pub type MutedWordsPref = crate::types::Object<MutedWordsPrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct NuxData {
pub completed: bool,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub data: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub expires_at: core::option::Option<crate::types::string::Datetime>,
pub id: String,
}
pub type Nux = crate::types::Object<NuxData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct PersonalDetailsPrefData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub birth_date: core::option::Option<crate::types::string::Datetime>,
}
pub type PersonalDetailsPref = crate::types::Object<PersonalDetailsPrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct PostInteractionSettingsPrefData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub postgate_embedding_rules: core::option::Option<
Vec<crate::types::Union<PostInteractionSettingsPrefPostgateEmbeddingRulesItem>>,
>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub threadgate_allow_rules: core::option::Option<
Vec<crate::types::Union<PostInteractionSettingsPrefThreadgateAllowRulesItem>>,
>,
}
pub type PostInteractionSettingsPref = crate::types::Object<PostInteractionSettingsPrefData>;
pub type Preferences = Vec<crate::types::Union<PreferencesItem>>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ProfileAssociatedData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub activity_subscription: core::option::Option<ProfileAssociatedActivitySubscription>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub chat: core::option::Option<ProfileAssociatedChat>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub feedgens: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub labeler: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub lists: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub starter_packs: core::option::Option<i64>,
}
pub type ProfileAssociated = crate::types::Object<ProfileAssociatedData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ProfileAssociatedActivitySubscriptionData {
pub allow_subscriptions: String,
}
pub type ProfileAssociatedActivitySubscription =
crate::types::Object<ProfileAssociatedActivitySubscriptionData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ProfileAssociatedChatData {
pub allow_incoming: String,
}
pub type ProfileAssociatedChat = crate::types::Object<ProfileAssociatedChatData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ProfileViewData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub associated: core::option::Option<ProfileAssociated>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub avatar: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub created_at: core::option::Option<crate::types::string::Datetime>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub description: core::option::Option<String>,
pub did: crate::types::string::Did,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub display_name: core::option::Option<String>,
pub handle: crate::types::string::Handle,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub indexed_at: core::option::Option<crate::types::string::Datetime>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub pronouns: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub status: core::option::Option<StatusView>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub verification: core::option::Option<VerificationState>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub viewer: core::option::Option<ViewerState>,
}
pub type ProfileView = crate::types::Object<ProfileViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ProfileViewBasicData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub associated: core::option::Option<ProfileAssociated>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub avatar: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub created_at: core::option::Option<crate::types::string::Datetime>,
pub did: crate::types::string::Did,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub display_name: core::option::Option<String>,
pub handle: crate::types::string::Handle,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub pronouns: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub status: core::option::Option<StatusView>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub verification: core::option::Option<VerificationState>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub viewer: core::option::Option<ViewerState>,
}
pub type ProfileViewBasic = crate::types::Object<ProfileViewBasicData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ProfileViewDetailedData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub associated: core::option::Option<ProfileAssociated>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub avatar: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub banner: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub created_at: core::option::Option<crate::types::string::Datetime>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub description: core::option::Option<String>,
pub did: crate::types::string::Did,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub display_name: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub followers_count: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub follows_count: core::option::Option<i64>,
pub handle: crate::types::string::Handle,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub indexed_at: core::option::Option<crate::types::string::Datetime>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub joined_via_starter_pack:
core::option::Option<crate::app::bsky::graph::defs::StarterPackViewBasic>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub labels: core::option::Option<Vec<crate::com::atproto::label::defs::Label>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub pinned_post: core::option::Option<crate::com::atproto::repo::strong_ref::Main>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub posts_count: core::option::Option<i64>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub pronouns: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub status: core::option::Option<StatusView>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub verification: core::option::Option<VerificationState>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub viewer: core::option::Option<ViewerState>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub website: core::option::Option<String>,
}
pub type ProfileViewDetailed = crate::types::Object<ProfileViewDetailedData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SavedFeedData {
pub id: String,
pub pinned: bool,
pub r#type: String,
pub value: String,
}
pub type SavedFeed = crate::types::Object<SavedFeedData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SavedFeedsPrefData {
pub pinned: Vec<String>,
pub saved: Vec<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub timeline_index: core::option::Option<i64>,
}
pub type SavedFeedsPref = crate::types::Object<SavedFeedsPrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct SavedFeedsPrefV2Data {
pub items: Vec<crate::app::bsky::actor::defs::SavedFeed>,
}
pub type SavedFeedsPrefV2 = crate::types::Object<SavedFeedsPrefV2Data>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct StatusViewData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub embed: core::option::Option<crate::types::Union<StatusViewEmbedRefs>>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub expires_at: core::option::Option<crate::types::string::Datetime>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub is_active: core::option::Option<bool>,
pub record: crate::types::Unknown,
pub status: String,
}
pub type StatusView = crate::types::Object<StatusViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ThreadViewPrefData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub prioritize_followed_users: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub sort: core::option::Option<String>,
}
pub type ThreadViewPref = crate::types::Object<ThreadViewPrefData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct VerificationPrefsData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub hide_badges: core::option::Option<bool>,
}
pub type VerificationPrefs = crate::types::Object<VerificationPrefsData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct VerificationStateData {
pub trusted_verifier_status: String,
pub verifications: Vec<VerificationView>,
pub verified_status: String,
}
pub type VerificationState = crate::types::Object<VerificationStateData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct VerificationViewData {
pub created_at: crate::types::string::Datetime,
pub is_valid: bool,
pub issuer: crate::types::string::Did,
pub uri: String,
}
pub type VerificationView = crate::types::Object<VerificationViewData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct ViewerStateData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub activity_subscription:
core::option::Option<crate::app::bsky::notification::defs::ActivitySubscription>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub blocked_by: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub blocking: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub blocking_by_list: core::option::Option<crate::app::bsky::graph::defs::ListViewBasic>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub followed_by: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub following: core::option::Option<String>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub known_followers: core::option::Option<KnownFollowers>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub muted: core::option::Option<bool>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub muted_by_list: core::option::Option<crate::app::bsky::graph::defs::ListViewBasic>,
}
pub type ViewerState = crate::types::Object<ViewerStateData>;
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum PostInteractionSettingsPrefPostgateEmbeddingRulesItem {
#[serde(rename = "app.bsky.feed.postgate#disableRule")]
AppBskyFeedPostgateDisableRule(Box<crate::app::bsky::feed::postgate::DisableRule>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum PostInteractionSettingsPrefThreadgateAllowRulesItem {
#[serde(rename = "app.bsky.feed.threadgate#mentionRule")]
AppBskyFeedThreadgateMentionRule(Box<crate::app::bsky::feed::threadgate::MentionRule>),
#[serde(rename = "app.bsky.feed.threadgate#followerRule")]
AppBskyFeedThreadgateFollowerRule(Box<crate::app::bsky::feed::threadgate::FollowerRule>),
#[serde(rename = "app.bsky.feed.threadgate#followingRule")]
AppBskyFeedThreadgateFollowingRule(Box<crate::app::bsky::feed::threadgate::FollowingRule>),
#[serde(rename = "app.bsky.feed.threadgate#listRule")]
AppBskyFeedThreadgateListRule(Box<crate::app::bsky::feed::threadgate::ListRule>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum PreferencesItem {
#[serde(rename = "app.bsky.actor.defs#adultContentPref")]
AdultContentPref(Box<AdultContentPref>),
#[serde(rename = "app.bsky.actor.defs#contentLabelPref")]
ContentLabelPref(Box<ContentLabelPref>),
#[serde(rename = "app.bsky.actor.defs#savedFeedsPref")]
SavedFeedsPref(Box<SavedFeedsPref>),
#[serde(rename = "app.bsky.actor.defs#savedFeedsPrefV2")]
SavedFeedsPrefV2(Box<SavedFeedsPrefV2>),
#[serde(rename = "app.bsky.actor.defs#personalDetailsPref")]
PersonalDetailsPref(Box<PersonalDetailsPref>),
#[serde(rename = "app.bsky.actor.defs#feedViewPref")]
FeedViewPref(Box<FeedViewPref>),
#[serde(rename = "app.bsky.actor.defs#threadViewPref")]
ThreadViewPref(Box<ThreadViewPref>),
#[serde(rename = "app.bsky.actor.defs#interestsPref")]
InterestsPref(Box<InterestsPref>),
#[serde(rename = "app.bsky.actor.defs#mutedWordsPref")]
MutedWordsPref(Box<MutedWordsPref>),
#[serde(rename = "app.bsky.actor.defs#hiddenPostsPref")]
HiddenPostsPref(Box<HiddenPostsPref>),
#[serde(rename = "app.bsky.actor.defs#bskyAppStatePref")]
BskyAppStatePref(Box<BskyAppStatePref>),
#[serde(rename = "app.bsky.actor.defs#labelersPref")]
LabelersPref(Box<LabelersPref>),
#[serde(rename = "app.bsky.actor.defs#postInteractionSettingsPref")]
PostInteractionSettingsPref(Box<PostInteractionSettingsPref>),
#[serde(rename = "app.bsky.actor.defs#verificationPrefs")]
VerificationPrefs(Box<VerificationPrefs>),
}
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(tag = "$type")]
pub enum StatusViewEmbedRefs {
#[serde(rename = "app.bsky.embed.external#view")]
AppBskyEmbedExternalView(Box<crate::app::bsky::embed::external::View>),
}