1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: app.bsky.feed.threadgate
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8///Allow replies from actors who follow you.
9#[jacquard_derive::lexicon]
10#[derive(
11 serde::Serialize,
12 serde::Deserialize,
13 Debug,
14 Clone,
15 PartialEq,
16 Eq,
17 jacquard_derive::IntoStatic
18)]
19#[serde(rename_all = "camelCase")]
20pub struct FollowerRule<'a> {}
21///Allow replies from actors you follow.
22#[jacquard_derive::lexicon]
23#[derive(
24 serde::Serialize,
25 serde::Deserialize,
26 Debug,
27 Clone,
28 PartialEq,
29 Eq,
30 jacquard_derive::IntoStatic
31)]
32#[serde(rename_all = "camelCase")]
33pub struct FollowingRule<'a> {}
34///Allow replies from actors on a list.
35#[jacquard_derive::lexicon]
36#[derive(
37 serde::Serialize,
38 serde::Deserialize,
39 Debug,
40 Clone,
41 PartialEq,
42 Eq,
43 jacquard_derive::IntoStatic
44)]
45#[serde(rename_all = "camelCase")]
46pub struct ListRule<'a> {
47 #[serde(borrow)]
48 pub list: jacquard_common::types::string::AtUri<'a>,
49}
50
51///Record defining interaction gating rules for a thread (aka, reply controls). The record key (rkey) of the threadgate record must match the record key of the thread's root post, and that record must be in the same repository.
52#[jacquard_derive::lexicon]
53#[derive(
54 serde::Serialize,
55 serde::Deserialize,
56 Debug,
57 Clone,
58 PartialEq,
59 Eq,
60 jacquard_derive::IntoStatic
61)]
62#[serde(rename_all = "camelCase")]
63pub struct Threadgate<'a> {
64 ///List of rules defining who can reply to this post. If value is an empty array, no one can reply. If value is undefined, anyone can reply.
65 #[serde(skip_serializing_if = "std::option::Option::is_none")]
66 #[serde(borrow)]
67 pub allow: std::option::Option<Vec<jacquard_common::types::value::Data<'a>>>,
68 pub created_at: jacquard_common::types::string::Datetime,
69 ///List of hidden reply URIs.
70 #[serde(skip_serializing_if = "std::option::Option::is_none")]
71 #[serde(borrow)]
72 pub hidden_replies: std::option::Option<
73 Vec<jacquard_common::types::string::AtUri<'a>>,
74 >,
75 ///Reference (AT-URI) to the post record.
76 #[serde(borrow)]
77 pub post: jacquard_common::types::string::AtUri<'a>,
78}
79
80impl jacquard_common::types::collection::Collection for Threadgate<'_> {
81 const NSID: &'static str = "app.bsky.feed.threadgate";
82}
83
84///Allow replies from actors mentioned in your post.
85#[jacquard_derive::lexicon]
86#[derive(
87 serde::Serialize,
88 serde::Deserialize,
89 Debug,
90 Clone,
91 PartialEq,
92 Eq,
93 jacquard_derive::IntoStatic
94)]
95#[serde(rename_all = "camelCase")]
96pub struct MentionRule<'a> {}