atrium_api/app/bsky/feed/
threadgate.rs1#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct RecordData {
6 #[serde(skip_serializing_if = "core::option::Option::is_none")]
8 pub allow: core::option::Option<Vec<crate::types::Union<RecordAllowItem>>>,
9 pub created_at: crate::types::string::Datetime,
10 #[serde(skip_serializing_if = "core::option::Option::is_none")]
12 pub hidden_replies: core::option::Option<Vec<String>>,
13 pub post: String,
15}
16pub type Record = crate::types::Object<RecordData>;
17#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
19#[serde(rename_all = "camelCase")]
20pub struct FollowerRuleData {}
21pub type FollowerRule = crate::types::Object<FollowerRuleData>;
22#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
24#[serde(rename_all = "camelCase")]
25pub struct FollowingRuleData {}
26pub type FollowingRule = crate::types::Object<FollowingRuleData>;
27#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
29#[serde(rename_all = "camelCase")]
30pub struct ListRuleData {
31 pub list: String,
32}
33pub type ListRule = crate::types::Object<ListRuleData>;
34#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
36#[serde(rename_all = "camelCase")]
37pub struct MentionRuleData {}
38pub type MentionRule = crate::types::Object<MentionRuleData>;
39#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
40#[serde(tag = "$type")]
41pub enum RecordAllowItem {
42 #[serde(rename = "app.bsky.feed.threadgate#mentionRule")]
43 MentionRule(Box<MentionRule>),
44 #[serde(rename = "app.bsky.feed.threadgate#followerRule")]
45 FollowerRule(Box<FollowerRule>),
46 #[serde(rename = "app.bsky.feed.threadgate#followingRule")]
47 FollowingRule(Box<FollowingRule>),
48 #[serde(rename = "app.bsky.feed.threadgate#listRule")]
49 ListRule(Box<ListRule>),
50}