···000001pub mod actor;
2pub mod bookmark;
3pub mod embed;
···7pub mod notification;
8pub mod richtext;
9pub mod unspecced;
10-pub mod video;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6pub mod actor;
7pub mod bookmark;
8pub mod embed;
···12pub mod notification;
13pub mod richtext;
14pub mod unspecced;
15+pub mod video;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct GetPreferencesParams {}
···12pub struct GetPreferencesOutput<'a> {
13 #[serde(borrow)]
14 pub preferences: crate::app_bsky::actor::Preferences<'a>,
15+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct PutPreferencesInput<'a> {
10 #[serde(borrow)]
11 pub preferences: crate::app_bsky::actor::Preferences<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///A declaration of a Bluesky account status.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct Status<'a> {
11 pub created_at: jacquard_common::types::string::Datetime,
12+ ///The duration of the status in minutes. Applications can choose to impose minimum and maximum limits.
13 #[serde(skip_serializing_if = "std::option::Option::is_none")]
14 pub duration_minutes: std::option::Option<i64>,
15+ ///An optional embed associated with the status.
16 #[serde(skip_serializing_if = "std::option::Option::is_none")]
17 #[serde(borrow)]
18 pub embed: std::option::Option<StatusRecordEmbed<'a>>,
19+ ///The status for the account.
20 #[serde(borrow)]
21 pub status: jacquard_common::CowStr<'a>,
22}
23+24#[jacquard_derive::open_union]
25#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
26#[serde(tag = "$type")]
···28pub enum StatusRecordEmbed<'a> {
29 #[serde(rename = "app.bsky.embed.external")]
30 External(Box<crate::app_bsky::embed::external::ExternalRecord<'a>>),
31+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod create_bookmark;
7+pub mod delete_bookmark;
8+pub mod get_bookmarks;
9+10///Object used to store bookmark data in stash.
11#[jacquard_derive::lexicon]
12#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
13#[serde(rename_all = "camelCase")]
14pub struct Bookmark<'a> {
15+ ///A strong ref to the record to be bookmarked. Currently, only `app.bsky.feed.post` records are supported.
16 #[serde(borrow)]
17 pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>,
18}
19+20#[jacquard_derive::lexicon]
21#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
22#[serde(rename_all = "camelCase")]
···25 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
26 #[serde(borrow)]
27 pub item: BookmarkViewRecordItem<'a>,
28+ ///A strong ref to the bookmarked record.
29 #[serde(borrow)]
30 pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>,
31}
32+33#[jacquard_derive::open_union]
34#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
35#[serde(tag = "$type")]
···41 DefsNotFoundPost(Box<crate::app_bsky::feed::NotFoundPost<'a>>),
42 #[serde(rename = "app.bsky.feed.defs#postView")]
43 DefsPostView(Box<crate::app_bsky::feed::PostView<'a>>),
44+}000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct GetBookmarksParams<'a> {
···12 #[serde(skip_serializing_if = "std::option::Option::is_none")]
13 pub limit: std::option::Option<i64>,
14}
15+16#[jacquard_derive::lexicon]
17#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
18#[serde(rename_all = "camelCase")]
···22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
25+}
+12-6
crates/jacquard-api/src/app_bsky/embed.rs
···000000000001///width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···5pub struct AspectRatio<'a> {
6 pub height: i64,
7 pub width: i64,
8-}
9-pub mod external;
10-pub mod images;
11-pub mod record;
12-pub mod record_with_media;
13-pub mod video;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod external;
7+pub mod images;
8+pub mod record;
9+pub mod record_with_media;
10+pub mod video;
11+12///width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit.
13#[jacquard_derive::lexicon]
14#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···16pub struct AspectRatio<'a> {
17 pub height: i64,
18 pub width: i64,
19+}00000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct Image<'a> {
10+ ///Alt text description of the image, for accessibility.
11 #[serde(borrow)]
12 pub alt: jacquard_common::CowStr<'a>,
13 #[serde(skip_serializing_if = "std::option::Option::is_none")]
···16 #[serde(borrow)]
17 pub image: jacquard_common::types::blob::Blob<'a>,
18}
19+20#[jacquard_derive::lexicon]
21#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
22#[serde(rename_all = "camelCase")]
23pub struct Images<'a> {
24 #[serde(borrow)]
25+ pub images: Vec<crate::app_bsky::embed::images::Image<'a>>,
26}
27+28#[jacquard_derive::lexicon]
29#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
30#[serde(rename_all = "camelCase")]
31pub struct View<'a> {
32 #[serde(borrow)]
33+ pub images: Vec<crate::app_bsky::embed::images::ViewImage<'a>>,
34}
35+36#[jacquard_derive::lexicon]
37#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
38#[serde(rename_all = "camelCase")]
39pub struct ViewImage<'a> {
40+ ///Alt text description of the image, for accessibility.
41 #[serde(borrow)]
42 pub alt: jacquard_common::CowStr<'a>,
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45 pub aspect_ratio: std::option::Option<crate::app_bsky::embed::AspectRatio<'a>>,
46+ ///Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View.
47 #[serde(borrow)]
48 pub fullsize: jacquard_common::types::string::Uri<'a>,
49+ ///Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View.
50 #[serde(borrow)]
51 pub thumb: jacquard_common::types::string::Uri<'a>,
52+}
···000001///Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct Generator<'a> {
06 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7 pub accepts_interactions: std::option::Option<bool>,
8 #[serde(skip_serializing_if = "std::option::Option::is_none")]
···24 pub did: jacquard_common::types::string::Did<'a>,
25 #[serde(borrow)]
26 pub display_name: jacquard_common::CowStr<'a>,
027 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29 pub labels: std::option::Option<GeneratorRecordLabels<'a>>,
30}
031#[jacquard_derive::open_union]
32#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
33#[serde(tag = "$type")]
···35pub enum GeneratorRecordLabels<'a> {
36 #[serde(rename = "com.atproto.label.defs#selfLabels")]
37 DefsSelfLabels(Box<crate::com_atproto::label::SelfLabels<'a>>),
38-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct Generator<'a> {
11+ ///Declaration that a feed accepts feedback interactions from a client through app.bsky.feed.sendInteractions
12 #[serde(skip_serializing_if = "std::option::Option::is_none")]
13 pub accepts_interactions: std::option::Option<bool>,
14 #[serde(skip_serializing_if = "std::option::Option::is_none")]
···30 pub did: jacquard_common::types::string::Did<'a>,
31 #[serde(borrow)]
32 pub display_name: jacquard_common::CowStr<'a>,
33+ ///Self-label values
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36 pub labels: std::option::Option<GeneratorRecordLabels<'a>>,
37}
38+39#[jacquard_derive::open_union]
40#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
41#[serde(tag = "$type")]
···43pub enum GeneratorRecordLabels<'a> {
44 #[serde(rename = "com.atproto.label.defs#selfLabels")]
45 DefsSelfLabels(Box<crate::com_atproto::label::SelfLabels<'a>>),
46+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct GetFeedGeneratorParams<'a> {
9 #[serde(borrow)]
10 pub feed: jacquard_common::types::string::AtUri<'a>,
11}
12+13#[jacquard_derive::lexicon]
14#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
15#[serde(rename_all = "camelCase")]
16pub struct GetFeedGeneratorOutput<'a> {
17+ ///Indicates whether the feed generator service has been online recently, or else seems to be inactive.
18 pub is_online: bool,
19+ ///Indicates whether the feed generator service is compatible with the record declaration.
20 pub is_valid: bool,
21 #[serde(borrow)]
22 pub view: crate::app_bsky::feed::GeneratorView<'a>,
23+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct GetTimelineParams<'a> {
···15 #[serde(skip_serializing_if = "std::option::Option::is_none")]
16 pub limit: std::option::Option<i64>,
17}
18+19#[jacquard_derive::lexicon]
20#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
21#[serde(rename_all = "camelCase")]
···25 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
26 #[serde(borrow)]
27 pub feed: Vec<crate::app_bsky::feed::FeedViewPost<'a>>,
28+}
+6-1
crates/jacquard-api/src/app_bsky/feed/like.rs
···000001///Record declaring a 'like' of a piece of subject content.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···9 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10 #[serde(borrow)]
11 pub via: std::option::Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
12-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Record declaring a 'like' of a piece of subject content.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···14 #[serde(skip_serializing_if = "std::option::Option::is_none")]
15 #[serde(borrow)]
16 pub via: std::option::Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
17+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Disables embedding of this post.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···14#[serde(rename_all = "camelCase")]
15pub struct Postgate<'a> {
16 pub created_at: jacquard_common::types::string::Datetime,
17+ ///List of AT-URIs embedding this post that the author has detached from.
18 #[serde(skip_serializing_if = "std::option::Option::is_none")]
19 #[serde(borrow)]
20 pub detached_embedding_uris: std::option::Option<
21 Vec<jacquard_common::types::string::AtUri<'a>>,
22 >,
23+ ///List of rules defining who can embed this post. If value is an empty array or is undefined, no particular rules apply and anyone can embed.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26 pub embedding_rules: std::option::Option<
27 Vec<jacquard_common::types::value::Data<'a>>,
28 >,
29+ ///Reference (AT-URI) to the post record.
30 #[serde(borrow)]
31 pub post: jacquard_common::types::string::AtUri<'a>,
32+}
+6-1
crates/jacquard-api/src/app_bsky/feed/repost.rs
···000001///Record representing a 'repost' of an existing Bluesky post.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···9 #[serde(skip_serializing_if = "std::option::Option::is_none")]
10 #[serde(borrow)]
11 pub via: std::option::Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
12-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Record representing a 'repost' of an existing Bluesky post.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···14 #[serde(skip_serializing_if = "std::option::Option::is_none")]
15 #[serde(borrow)]
16 pub via: std::option::Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
17+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···10 #[serde(borrow)]
11 pub interactions: Vec<crate::app_bsky::feed::Interaction<'a>>,
12}
13+14#[jacquard_derive::lexicon]
15#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
16#[serde(rename_all = "camelCase")]
17+pub struct SendInteractionsOutput<'a> {}
···000001///Allow replies from actors who follow you.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···16 #[serde(borrow)]
17 pub list: jacquard_common::types::string::AtUri<'a>,
18}
019///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.
20#[jacquard_derive::lexicon]
21#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
22#[serde(rename_all = "camelCase")]
23pub struct Threadgate<'a> {
024 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26 pub allow: std::option::Option<Vec<jacquard_common::types::value::Data<'a>>>,
27 pub created_at: jacquard_common::types::string::Datetime,
028 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30 pub hidden_replies: std::option::Option<
31 Vec<jacquard_common::types::string::AtUri<'a>>,
32 >,
033 #[serde(borrow)]
34 pub post: jacquard_common::types::string::AtUri<'a>,
35}
036///Allow replies from actors mentioned in your post.
37#[jacquard_derive::lexicon]
38#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
39#[serde(rename_all = "camelCase")]
40-pub struct MentionRule<'a> {}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Allow replies from actors who follow you.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···21 #[serde(borrow)]
22 pub list: jacquard_common::types::string::AtUri<'a>,
23}
24+25///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.
26#[jacquard_derive::lexicon]
27#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
28#[serde(rename_all = "camelCase")]
29pub struct Threadgate<'a> {
30+ ///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.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33 pub allow: std::option::Option<Vec<jacquard_common::types::value::Data<'a>>>,
34 pub created_at: jacquard_common::types::string::Datetime,
35+ ///List of hidden reply URIs.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38 pub hidden_replies: std::option::Option<
39 Vec<jacquard_common::types::string::AtUri<'a>>,
40 >,
41+ ///Reference (AT-URI) to the post record.
42 #[serde(borrow)]
43 pub post: jacquard_common::types::string::AtUri<'a>,
44}
45+46///Allow replies from actors mentioned in your post.
47#[jacquard_derive::lexicon]
48#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
49#[serde(rename_all = "camelCase")]
50+pub struct MentionRule<'a> {}
+59-37
crates/jacquard-api/src/app_bsky/graph.rs
···0000000000000000000000000000000000001#[jacquard_derive::lexicon]
2#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
3#[serde(rename_all = "camelCase")]
···7 #[serde(borrow)]
8 pub uri: jacquard_common::types::string::AtUri<'a>,
9}
010#[derive(Debug, Clone, PartialEq, Eq, Hash)]
11pub enum ListPurpose<'a> {
12 AppBskyGraphDefsModlist,
···14 AppBskyGraphDefsReferencelist,
15 Other(jacquard_common::CowStr<'a>),
16}
017impl<'a> ListPurpose<'a> {
18 pub fn as_str(&self) -> &str {
19 match self {
···24 }
25 }
26}
027impl<'a> From<&'a str> for ListPurpose<'a> {
28 fn from(s: &'a str) -> Self {
29 match s {
···34 }
35 }
36}
037impl<'a> From<String> for ListPurpose<'a> {
38 fn from(s: String) -> Self {
39 match s.as_str() {
···44 }
45 }
46}
047impl<'a> AsRef<str> for ListPurpose<'a> {
48 fn as_ref(&self) -> &str {
49 self.as_str()
50 }
51}
052impl<'a> serde::Serialize for ListPurpose<'a> {
53 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
54 where
···57 serializer.serialize_str(self.as_str())
58 }
59}
060impl<'de, 'a> serde::Deserialize<'de> for ListPurpose<'a>
61where
62 'de: 'a,
···69 Ok(Self::from(s))
70 }
71}
072#[jacquard_derive::lexicon]
73#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
74#[serde(rename_all = "camelCase")]
···97 #[serde(borrow)]
98 pub name: jacquard_common::CowStr<'a>,
99 #[serde(borrow)]
100- pub purpose: jacquard_common::types::value::Data<'a>,
101 #[serde(borrow)]
102 pub uri: jacquard_common::types::string::AtUri<'a>,
103 #[serde(skip_serializing_if = "std::option::Option::is_none")]
104 #[serde(borrow)]
105- pub viewer: std::option::Option<jacquard_common::types::value::Data<'a>>,
106}
0107#[jacquard_derive::lexicon]
108#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
109#[serde(rename_all = "camelCase")]
···123 #[serde(borrow)]
124 pub name: jacquard_common::CowStr<'a>,
125 #[serde(borrow)]
126- pub purpose: jacquard_common::types::value::Data<'a>,
127 #[serde(borrow)]
128 pub uri: jacquard_common::types::string::AtUri<'a>,
129 #[serde(skip_serializing_if = "std::option::Option::is_none")]
130 #[serde(borrow)]
131- pub viewer: std::option::Option<jacquard_common::types::value::Data<'a>>,
132}
0133#[jacquard_derive::lexicon]
134#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
135#[serde(rename_all = "camelCase")]
···140 #[serde(skip_serializing_if = "std::option::Option::is_none")]
141 pub muted: std::option::Option<bool>,
142}
0143///indicates that a handle or DID could not be resolved
144#[jacquard_derive::lexicon]
145#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···149 pub actor: jacquard_common::types::ident::AtIdentifier<'a>,
150 pub not_found: bool,
151}
0152///lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)
153#[jacquard_derive::lexicon]
154#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···156pub struct Relationship<'a> {
157 #[serde(borrow)]
158 pub did: jacquard_common::types::string::Did<'a>,
0159 #[serde(skip_serializing_if = "std::option::Option::is_none")]
160 #[serde(borrow)]
161 pub followed_by: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
0162 #[serde(skip_serializing_if = "std::option::Option::is_none")]
163 #[serde(borrow)]
164 pub following: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
165}
0166#[jacquard_derive::lexicon]
167#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
168#[serde(rename_all = "camelCase")]
···184 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
185 #[serde(skip_serializing_if = "std::option::Option::is_none")]
186 #[serde(borrow)]
187- pub list: std::option::Option<jacquard_common::types::value::Data<'a>>,
188 #[serde(skip_serializing_if = "std::option::Option::is_none")]
189 #[serde(borrow)]
190 pub list_items_sample: std::option::Option<
191- Vec<jacquard_common::types::value::Data<'a>>,
192 >,
193 #[serde(borrow)]
194 pub record: jacquard_common::types::value::Data<'a>,
195 #[serde(borrow)]
196 pub uri: jacquard_common::types::string::AtUri<'a>,
197}
0198#[jacquard_derive::lexicon]
199#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
200#[serde(rename_all = "camelCase")]
···217 pub record: jacquard_common::types::value::Data<'a>,
218 #[serde(borrow)]
219 pub uri: jacquard_common::types::string::AtUri<'a>,
220-}
221-pub mod block;
222-pub mod follow;
223-pub mod get_actor_starter_packs;
224-pub mod get_blocks;
225-pub mod get_followers;
226-pub mod get_follows;
227-pub mod get_known_followers;
228-pub mod get_list;
229-pub mod get_list_blocks;
230-pub mod get_list_mutes;
231-pub mod get_lists;
232-pub mod get_lists_with_membership;
233-pub mod get_mutes;
234-pub mod get_relationships;
235-pub mod get_starter_pack;
236-pub mod get_starter_packs;
237-pub mod get_starter_packs_with_membership;
238-pub mod get_suggested_follows_by_actor;
239-pub mod list;
240-pub mod listblock;
241-pub mod listitem;
242-pub mod mute_actor;
243-pub mod mute_actor_list;
244-pub mod mute_thread;
245-pub mod search_starter_packs;
246-pub mod starterpack;
247-pub mod unmute_actor;
248-pub mod unmute_actor_list;
249-pub mod unmute_thread;
250-pub mod verification;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod block;
7+pub mod follow;
8+pub mod get_actor_starter_packs;
9+pub mod get_blocks;
10+pub mod get_followers;
11+pub mod get_follows;
12+pub mod get_known_followers;
13+pub mod get_list;
14+pub mod get_list_blocks;
15+pub mod get_list_mutes;
16+pub mod get_lists;
17+pub mod get_lists_with_membership;
18+pub mod get_mutes;
19+pub mod get_relationships;
20+pub mod get_starter_pack;
21+pub mod get_starter_packs;
22+pub mod get_starter_packs_with_membership;
23+pub mod get_suggested_follows_by_actor;
24+pub mod list;
25+pub mod listblock;
26+pub mod listitem;
27+pub mod mute_actor;
28+pub mod mute_actor_list;
29+pub mod mute_thread;
30+pub mod search_starter_packs;
31+pub mod starterpack;
32+pub mod unmute_actor;
33+pub mod unmute_actor_list;
34+pub mod unmute_thread;
35+pub mod verification;
36+37#[jacquard_derive::lexicon]
38#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
39#[serde(rename_all = "camelCase")]
···43 #[serde(borrow)]
44 pub uri: jacquard_common::types::string::AtUri<'a>,
45}
46+47#[derive(Debug, Clone, PartialEq, Eq, Hash)]
48pub enum ListPurpose<'a> {
49 AppBskyGraphDefsModlist,
···51 AppBskyGraphDefsReferencelist,
52 Other(jacquard_common::CowStr<'a>),
53}
54+55impl<'a> ListPurpose<'a> {
56 pub fn as_str(&self) -> &str {
57 match self {
···62 }
63 }
64}
65+66impl<'a> From<&'a str> for ListPurpose<'a> {
67 fn from(s: &'a str) -> Self {
68 match s {
···73 }
74 }
75}
76+77impl<'a> From<String> for ListPurpose<'a> {
78 fn from(s: String) -> Self {
79 match s.as_str() {
···84 }
85 }
86}
87+88impl<'a> AsRef<str> for ListPurpose<'a> {
89 fn as_ref(&self) -> &str {
90 self.as_str()
91 }
92}
93+94impl<'a> serde::Serialize for ListPurpose<'a> {
95 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
96 where
···99 serializer.serialize_str(self.as_str())
100 }
101}
102+103impl<'de, 'a> serde::Deserialize<'de> for ListPurpose<'a>
104where
105 'de: 'a,
···112 Ok(Self::from(s))
113 }
114}
115+116#[jacquard_derive::lexicon]
117#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
118#[serde(rename_all = "camelCase")]
···141 #[serde(borrow)]
142 pub name: jacquard_common::CowStr<'a>,
143 #[serde(borrow)]
144+ pub purpose: crate::app_bsky::graph::ListPurpose<'a>,
145 #[serde(borrow)]
146 pub uri: jacquard_common::types::string::AtUri<'a>,
147 #[serde(skip_serializing_if = "std::option::Option::is_none")]
148 #[serde(borrow)]
149+ pub viewer: std::option::Option<crate::app_bsky::graph::ListViewerState<'a>>,
150}
151+152#[jacquard_derive::lexicon]
153#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
154#[serde(rename_all = "camelCase")]
···168 #[serde(borrow)]
169 pub name: jacquard_common::CowStr<'a>,
170 #[serde(borrow)]
171+ pub purpose: crate::app_bsky::graph::ListPurpose<'a>,
172 #[serde(borrow)]
173 pub uri: jacquard_common::types::string::AtUri<'a>,
174 #[serde(skip_serializing_if = "std::option::Option::is_none")]
175 #[serde(borrow)]
176+ pub viewer: std::option::Option<crate::app_bsky::graph::ListViewerState<'a>>,
177}
178+179#[jacquard_derive::lexicon]
180#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
181#[serde(rename_all = "camelCase")]
···186 #[serde(skip_serializing_if = "std::option::Option::is_none")]
187 pub muted: std::option::Option<bool>,
188}
189+190///indicates that a handle or DID could not be resolved
191#[jacquard_derive::lexicon]
192#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···196 pub actor: jacquard_common::types::ident::AtIdentifier<'a>,
197 pub not_found: bool,
198}
199+200///lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)
201#[jacquard_derive::lexicon]
202#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···204pub struct Relationship<'a> {
205 #[serde(borrow)]
206 pub did: jacquard_common::types::string::Did<'a>,
207+ ///if the actor is followed by this DID, contains the AT-URI of the follow record
208 #[serde(skip_serializing_if = "std::option::Option::is_none")]
209 #[serde(borrow)]
210 pub followed_by: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
211+ ///if the actor follows this DID, this is the AT-URI of the follow record
212 #[serde(skip_serializing_if = "std::option::Option::is_none")]
213 #[serde(borrow)]
214 pub following: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
215}
216+217#[jacquard_derive::lexicon]
218#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
219#[serde(rename_all = "camelCase")]
···235 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
236 #[serde(skip_serializing_if = "std::option::Option::is_none")]
237 #[serde(borrow)]
238+ pub list: std::option::Option<crate::app_bsky::graph::ListViewBasic<'a>>,
239 #[serde(skip_serializing_if = "std::option::Option::is_none")]
240 #[serde(borrow)]
241 pub list_items_sample: std::option::Option<
242+ Vec<crate::app_bsky::graph::ListItemView<'a>>,
243 >,
244 #[serde(borrow)]
245 pub record: jacquard_common::types::value::Data<'a>,
246 #[serde(borrow)]
247 pub uri: jacquard_common::types::string::AtUri<'a>,
248}
249+250#[jacquard_derive::lexicon]
251#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
252#[serde(rename_all = "camelCase")]
···269 pub record: jacquard_common::types::value::Data<'a>,
270 #[serde(borrow)]
271 pub uri: jacquard_common::types::string::AtUri<'a>,
272+}000000000000000000000000000000
+7-1
crates/jacquard-api/src/app_bsky/graph/block.rs
···000001///Record declaring a 'block' relationship against another account. NOTE: blocks are public in Bluesky; see blog posts for details.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct Block<'a> {
6 pub created_at: jacquard_common::types::string::Datetime,
07 #[serde(borrow)]
8 pub subject: jacquard_common::types::string::Did<'a>,
9-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Record declaring a 'block' relationship against another account. NOTE: blocks are public in Bluesky; see blog posts for details.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct Block<'a> {
11 pub created_at: jacquard_common::types::string::Datetime,
12+ ///DID of the account to be blocked.
13 #[serde(borrow)]
14 pub subject: jacquard_common::types::string::Did<'a>,
15+}
+6-1
crates/jacquard-api/src/app_bsky/graph/follow.rs
···000001///Record declaring a social 'follow' relationship of another account. Duplicate follows will be ignored by the AppView.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···6 pub created_at: jacquard_common::types::string::Datetime,
7 #[serde(borrow)]
8 pub subject: jacquard_common::types::string::Did<'a>,
9-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Record declaring a social 'follow' relationship of another account. Duplicate follows will be ignored by the AppView.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···11 pub created_at: jacquard_common::types::string::Datetime,
12 #[serde(borrow)]
13 pub subject: jacquard_common::types::string::Did<'a>,
14+}
···000001///A list and an optional list item indicating membership of a target user to that list.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···9 #[serde(borrow)]
10 pub list_item: std::option::Option<crate::app_bsky::graph::ListItemView<'a>>,
11}
012#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
13#[serde(rename_all = "camelCase")]
14pub struct GetListsWithMembershipParams<'a> {
···23 #[serde(borrow)]
24 pub purposes: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
25}
026#[jacquard_derive::lexicon]
27#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
28#[serde(rename_all = "camelCase")]
···32 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
33 #[serde(borrow)]
34 pub lists_with_membership: Vec<jacquard_common::types::value::Data<'a>>,
35-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///A list and an optional list item indicating membership of a target user to that list.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···14 #[serde(borrow)]
15 pub list_item: std::option::Option<crate::app_bsky::graph::ListItemView<'a>>,
16}
17+18#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
19#[serde(rename_all = "camelCase")]
20pub struct GetListsWithMembershipParams<'a> {
···29 #[serde(borrow)]
30 pub purposes: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
31}
32+33#[jacquard_derive::lexicon]
34#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
35#[serde(rename_all = "camelCase")]
···39 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
40 #[serde(borrow)]
41 pub lists_with_membership: Vec<jacquard_common::types::value::Data<'a>>,
42+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct GetSuggestedFollowsByActorParams<'a> {
9 #[serde(borrow)]
10 pub actor: jacquard_common::types::ident::AtIdentifier<'a>,
11}
12+13#[jacquard_derive::lexicon]
14#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
15#[serde(rename_all = "camelCase")]
16pub struct GetSuggestedFollowsByActorOutput<'a> {
17+ ///If true, response has fallen-back to generic results, and is not scoped using relativeToDid
18 #[serde(skip_serializing_if = "std::option::Option::is_none")]
19 pub is_fallback: std::option::Option<bool>,
20+ ///Snowflake for this recommendation, use when submitting recommendation events.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 pub rec_id: std::option::Option<i64>,
23 #[serde(borrow)]
24 pub suggestions: Vec<crate::app_bsky::actor::ProfileView<'a>>,
25+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Record representing a list of accounts (actors). Scope includes both moderation-oriented lists and curration-oriented lists.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25 pub labels: std::option::Option<ListRecordLabels<'a>>,
26+ ///Display name for list; can not be empty.
27 #[serde(borrow)]
28 pub name: jacquard_common::CowStr<'a>,
29+ ///Defines the purpose of the list (aka, moderation-oriented or curration-oriented)
30 #[serde(borrow)]
31 pub purpose: crate::app_bsky::graph::ListPurpose<'a>,
32}
33+34#[jacquard_derive::open_union]
35#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
36#[serde(tag = "$type")]
···38pub enum ListRecordLabels<'a> {
39 #[serde(rename = "com.atproto.label.defs#selfLabels")]
40 DefsSelfLabels(Box<crate::com_atproto::label::SelfLabels<'a>>),
41+}
···000001///Record representing a block relationship against an entire an entire list of accounts (actors).
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct Listblock<'a> {
6 pub created_at: jacquard_common::types::string::Datetime,
07 #[serde(borrow)]
8 pub subject: jacquard_common::types::string::AtUri<'a>,
9-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Record representing a block relationship against an entire an entire list of accounts (actors).
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct Listblock<'a> {
11 pub created_at: jacquard_common::types::string::Datetime,
12+ ///Reference (AT-URI) to the mod list record.
13 #[serde(borrow)]
14 pub subject: jacquard_common::types::string::AtUri<'a>,
15+}
···000001///Record representing an account's inclusion on a specific list. The AppView will ignore duplicate listitem records.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct Listitem<'a> {
6 pub created_at: jacquard_common::types::string::Datetime,
07 #[serde(borrow)]
8 pub list: jacquard_common::types::string::AtUri<'a>,
09 #[serde(borrow)]
10 pub subject: jacquard_common::types::string::Did<'a>,
11-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Record representing an account's inclusion on a specific list. The AppView will ignore duplicate listitem records.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct Listitem<'a> {
11 pub created_at: jacquard_common::types::string::Datetime,
12+ ///Reference (AT-URI) to the list record (app.bsky.graph.list).
13 #[serde(borrow)]
14 pub list: jacquard_common::types::string::AtUri<'a>,
15+ ///The account which is included on the list.
16 #[serde(borrow)]
17 pub subject: jacquard_common::types::string::Did<'a>,
18+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct MuteActorInput<'a> {
10 #[serde(borrow)]
11 pub actor: jacquard_common::types::ident::AtIdentifier<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct MuteActorListInput<'a> {
10 #[serde(borrow)]
11 pub list: jacquard_common::types::string::AtUri<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct MuteThreadInput<'a> {
10 #[serde(borrow)]
11 pub root: jacquard_common::types::string::AtUri<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···10 #[serde(borrow)]
11 pub uri: jacquard_common::types::string::AtUri<'a>,
12}
13+14///Record defining a starter pack of actors and feeds for new users.
15#[jacquard_derive::lexicon]
16#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···27 >,
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30+ pub feeds: std::option::Option<
31+ Vec<crate::app_bsky::graph::starterpack::FeedItem<'a>>,
32+ >,
33+ ///Reference (AT-URI) to the list record.
34 #[serde(borrow)]
35 pub list: jacquard_common::types::string::AtUri<'a>,
36+ ///Display name for starter pack; can not be empty.
37 #[serde(borrow)]
38 pub name: jacquard_common::CowStr<'a>,
39+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct UnmuteActorInput<'a> {
10 #[serde(borrow)]
11 pub actor: jacquard_common::types::ident::AtIdentifier<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct UnmuteActorListInput<'a> {
10 #[serde(borrow)]
11 pub list: jacquard_common::types::string::AtUri<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct UnmuteThreadInput<'a> {
10 #[serde(borrow)]
11 pub root: jacquard_common::types::string::AtUri<'a>,
12+}
···000001///Record declaring a verification relationship between two accounts. Verifications are only considered valid by an app if issued by an account the app considers trusted.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct Verification<'a> {
06 pub created_at: jacquard_common::types::string::Datetime,
07 #[serde(borrow)]
8 pub display_name: jacquard_common::CowStr<'a>,
09 #[serde(borrow)]
10 pub handle: jacquard_common::types::string::Handle<'a>,
011 #[serde(borrow)]
12 pub subject: jacquard_common::types::string::Did<'a>,
13-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Record declaring a verification relationship between two accounts. Verifications are only considered valid by an app if issued by an account the app considers trusted.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct Verification<'a> {
11+ ///Date of when the verification was created.
12 pub created_at: jacquard_common::types::string::Datetime,
13+ ///Display name of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current displayName matches the one at the time of verifying.
14 #[serde(borrow)]
15 pub display_name: jacquard_common::CowStr<'a>,
16+ ///Handle of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current handle matches the one at the time of verifying.
17 #[serde(borrow)]
18 pub handle: jacquard_common::types::string::Handle<'a>,
19+ ///DID of the subject the verification applies to.
20 #[serde(borrow)]
21 pub subject: jacquard_common::types::string::Did<'a>,
22+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod get_services;
7+pub mod service;
8+9#[jacquard_derive::lexicon]
10#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
11#[serde(rename_all = "camelCase")]
12pub struct LabelerPolicies<'a> {
13+ ///Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler.
14 #[serde(skip_serializing_if = "std::option::Option::is_none")]
15 #[serde(borrow)]
16 pub label_value_definitions: std::option::Option<
17 Vec<crate::com_atproto::label::LabelValueDefinition<'a>>,
18 >,
19+ ///The label values which this labeler publishes. May include global or custom labels.
20 #[serde(borrow)]
21 pub label_values: Vec<crate::com_atproto::label::LabelValue<'a>>,
22}
23+24#[jacquard_derive::lexicon]
25#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
26#[serde(rename_all = "camelCase")]
···39 pub uri: jacquard_common::types::string::AtUri<'a>,
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[serde(borrow)]
42+ pub viewer: std::option::Option<crate::app_bsky::labeler::LabelerViewerState<'a>>,
43}
44+45#[jacquard_derive::lexicon]
46#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
47#[serde(rename_all = "camelCase")]
···58 pub like_count: std::option::Option<i64>,
59 #[serde(borrow)]
60 pub policies: crate::app_bsky::labeler::LabelerPolicies<'a>,
61+ ///The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.
62 #[serde(skip_serializing_if = "std::option::Option::is_none")]
63 #[serde(borrow)]
64 pub reason_types: std::option::Option<
65 Vec<crate::com_atproto::moderation::ReasonType<'a>>,
66 >,
67+ ///Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.
68 #[serde(skip_serializing_if = "std::option::Option::is_none")]
69 #[serde(borrow)]
70 pub subject_collections: std::option::Option<
71 Vec<jacquard_common::types::string::Nsid<'a>>,
72 >,
73+ ///The set of subject types (account, record, etc) this service accepts reports on.
74 #[serde(skip_serializing_if = "std::option::Option::is_none")]
75 #[serde(borrow)]
76 pub subject_types: std::option::Option<
···80 pub uri: jacquard_common::types::string::AtUri<'a>,
81 #[serde(skip_serializing_if = "std::option::Option::is_none")]
82 #[serde(borrow)]
83+ pub viewer: std::option::Option<crate::app_bsky::labeler::LabelerViewerState<'a>>,
84}
85+86#[jacquard_derive::lexicon]
87#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
88#[serde(rename_all = "camelCase")]
···90 #[serde(skip_serializing_if = "std::option::Option::is_none")]
91 #[serde(borrow)]
92 pub like: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
93+}00
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///A declaration of the existence of labeler service.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···14 pub labels: std::option::Option<ServiceRecordLabels<'a>>,
15 #[serde(borrow)]
16 pub policies: crate::app_bsky::labeler::LabelerPolicies<'a>,
17+ ///The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.
18 #[serde(skip_serializing_if = "std::option::Option::is_none")]
19 #[serde(borrow)]
20 pub reason_types: std::option::Option<
21 Vec<crate::com_atproto::moderation::ReasonType<'a>>,
22 >,
23+ ///Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26 pub subject_collections: std::option::Option<
27 Vec<jacquard_common::types::string::Nsid<'a>>,
28 >,
29+ ///The set of subject types (account, record, etc) this service accepts reports on.
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32 pub subject_types: std::option::Option<
33 Vec<crate::com_atproto::moderation::SubjectType<'a>>,
34 >,
35}
36+37#[jacquard_derive::open_union]
38#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
39#[serde(tag = "$type")]
···41pub enum ServiceRecordLabels<'a> {
42 #[serde(rename = "com.atproto.label.defs#selfLabels")]
43 DefsSelfLabels(Box<crate::com_atproto::label::SelfLabels<'a>>),
44+}
···000001///A declaration of the user's choices related to notifications that can be produced by them.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct Declaration<'a> {
06 #[serde(borrow)]
7 pub allow_subscriptions: jacquard_common::CowStr<'a>,
8-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///A declaration of the user's choices related to notifications that can be produced by them.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct Declaration<'a> {
11+ ///A declaration of the user's preference for allowing activity subscriptions from other users. Absence of a record implies 'followers'.
12 #[serde(borrow)]
13 pub allow_subscriptions: jacquard_common::CowStr<'a>,
14+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct GetPreferencesParams {}
···12pub struct GetPreferencesOutput<'a> {
13 #[serde(borrow)]
14 pub preferences: crate::app_bsky::notification::Preferences<'a>,
15+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct PutPreferencesInput<'a> {
10 pub priority: bool,
11+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct RegisterPushInput<'a> {
10+ ///Set to true when the actor is age restricted
11 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12 pub age_restricted: std::option::Option<bool>,
13 #[serde(borrow)]
···18 pub service_did: jacquard_common::types::string::Did<'a>,
19 #[serde(borrow)]
20 pub token: jacquard_common::CowStr<'a>,
21+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···15 pub service_did: jacquard_common::types::string::Did<'a>,
16 #[serde(borrow)]
17 pub token: jacquard_common::CowStr<'a>,
18+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct UpdateSeenInput<'a> {
10 pub seen_at: jacquard_common::types::string::Datetime,
11+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod facet;
···000001///Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···6 pub byte_end: i64,
7 pub byte_start: i64,
8}
09///Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.
10#[jacquard_derive::lexicon]
11#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···14 #[serde(borrow)]
15 pub uri: jacquard_common::types::string::Uri<'a>,
16}
017///Annotation of a sub-string within rich text.
18#[jacquard_derive::lexicon]
19#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···22 #[serde(borrow)]
23 pub features: Vec<jacquard_common::types::value::Data<'a>>,
24 #[serde(borrow)]
25- pub index: jacquard_common::types::value::Data<'a>,
26}
027///Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.
28#[jacquard_derive::lexicon]
29#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···32 #[serde(borrow)]
33 pub did: jacquard_common::types::string::Did<'a>,
34}
035///Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').
36#[jacquard_derive::lexicon]
37#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···39pub struct Tag<'a> {
40 #[serde(borrow)]
41 pub tag: jacquard_common::CowStr<'a>,
42-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···11 pub byte_end: i64,
12 pub byte_start: i64,
13}
14+15///Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.
16#[jacquard_derive::lexicon]
17#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···20 #[serde(borrow)]
21 pub uri: jacquard_common::types::string::Uri<'a>,
22}
23+24///Annotation of a sub-string within rich text.
25#[jacquard_derive::lexicon]
26#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···29 #[serde(borrow)]
30 pub features: Vec<jacquard_common::types::value::Data<'a>>,
31 #[serde(borrow)]
32+ pub index: crate::app_bsky::richtext::facet::ByteSlice<'a>,
33}
34+35///Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.
36#[jacquard_derive::lexicon]
37#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···40 #[serde(borrow)]
41 pub did: jacquard_common::types::string::Did<'a>,
42}
43+44///Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').
45#[jacquard_derive::lexicon]
46#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···48pub struct Tag<'a> {
49 #[serde(borrow)]
50 pub tag: jacquard_common::CowStr<'a>,
51+}
+53-23
crates/jacquard-api/src/app_bsky/unspecced.rs
···00000000000000000000000000001///Object used to store age assurance data in stash.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct AgeAssuranceEvent<'a> {
06 #[serde(borrow)]
7 pub attempt_id: jacquard_common::CowStr<'a>,
08 #[serde(skip_serializing_if = "std::option::Option::is_none")]
9 #[serde(borrow)]
10 pub complete_ip: std::option::Option<jacquard_common::CowStr<'a>>,
011 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12 #[serde(borrow)]
13 pub complete_ua: std::option::Option<jacquard_common::CowStr<'a>>,
014 pub created_at: jacquard_common::types::string::Datetime,
015 #[serde(skip_serializing_if = "std::option::Option::is_none")]
16 #[serde(borrow)]
17 pub email: std::option::Option<jacquard_common::CowStr<'a>>,
018 #[serde(skip_serializing_if = "std::option::Option::is_none")]
19 #[serde(borrow)]
20 pub init_ip: std::option::Option<jacquard_common::CowStr<'a>>,
021 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23 pub init_ua: std::option::Option<jacquard_common::CowStr<'a>>,
024 #[serde(borrow)]
25 pub status: jacquard_common::CowStr<'a>,
26}
027///The computed state of the age assurance process, returned to the user in question on certain authenticated requests.
28#[jacquard_derive::lexicon]
29#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
30#[serde(rename_all = "camelCase")]
31pub struct AgeAssuranceState<'a> {
032 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 pub last_initiated_at: std::option::Option<jacquard_common::types::string::Datetime>,
034 #[serde(borrow)]
35 pub status: jacquard_common::CowStr<'a>,
36}
037#[jacquard_derive::lexicon]
38#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
39#[serde(rename_all = "camelCase")]
···41 #[serde(borrow)]
42 pub did: jacquard_common::types::string::Did<'a>,
43}
044#[jacquard_derive::lexicon]
45#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
46#[serde(rename_all = "camelCase")]
···48 #[serde(borrow)]
49 pub uri: jacquard_common::types::string::AtUri<'a>,
50}
051#[jacquard_derive::lexicon]
52#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
53#[serde(rename_all = "camelCase")]
···55 #[serde(borrow)]
56 pub uri: jacquard_common::types::string::AtUri<'a>,
57}
058#[jacquard_derive::lexicon]
59#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
60#[serde(rename_all = "camelCase")]
···76 #[serde(borrow)]
77 pub topic: jacquard_common::CowStr<'a>,
78}
079#[jacquard_derive::lexicon]
80#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
81#[serde(rename_all = "camelCase")]
···83 #[serde(borrow)]
84 pub author: crate::app_bsky::feed::BlockedAuthor<'a>,
85}
086#[jacquard_derive::lexicon]
87#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
88#[serde(rename_all = "camelCase")]
···95#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
96#[serde(rename_all = "camelCase")]
97pub struct ThreadItemPost<'a> {
098 pub hidden_by_threadgate: bool,
099 pub more_parents: bool,
0100 pub more_replies: i64,
0101 pub muted_by_viewer: bool,
0102 pub op_thread: bool,
103 #[serde(borrow)]
104 pub post: crate::app_bsky::feed::PostView<'a>,
105}
0106#[jacquard_derive::lexicon]
107#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
108#[serde(rename_all = "camelCase")]
···124 #[serde(borrow)]
125 pub topic: jacquard_common::CowStr<'a>,
126}
0127#[jacquard_derive::lexicon]
128#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
129#[serde(rename_all = "camelCase")]
···138 pub link: jacquard_common::CowStr<'a>,
139 #[serde(borrow)]
140 pub topic: jacquard_common::CowStr<'a>,
141-}
142-pub mod get_age_assurance_state;
143-pub mod get_config;
144-pub mod get_onboarding_suggested_starter_packs;
145-pub mod get_onboarding_suggested_starter_packs_skeleton;
146-pub mod get_popular_feed_generators;
147-pub mod get_post_thread_other_v2;
148-pub mod get_post_thread_v2;
149-pub mod get_suggested_feeds;
150-pub mod get_suggested_feeds_skeleton;
151-pub mod get_suggested_starter_packs;
152-pub mod get_suggested_starter_packs_skeleton;
153-pub mod get_suggested_users;
154-pub mod get_suggested_users_skeleton;
155-pub mod get_suggestions_skeleton;
156-pub mod get_tagged_suggestions;
157-pub mod get_trending_topics;
158-pub mod get_trends;
159-pub mod get_trends_skeleton;
160-pub mod init_age_assurance;
161-pub mod search_actors_skeleton;
162-pub mod search_posts_skeleton;
163-pub mod search_starter_packs_skeleton;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod get_age_assurance_state;
7+pub mod get_config;
8+pub mod get_onboarding_suggested_starter_packs;
9+pub mod get_onboarding_suggested_starter_packs_skeleton;
10+pub mod get_popular_feed_generators;
11+pub mod get_post_thread_other_v2;
12+pub mod get_post_thread_v2;
13+pub mod get_suggested_feeds;
14+pub mod get_suggested_feeds_skeleton;
15+pub mod get_suggested_starter_packs;
16+pub mod get_suggested_starter_packs_skeleton;
17+pub mod get_suggested_users;
18+pub mod get_suggested_users_skeleton;
19+pub mod get_suggestions_skeleton;
20+pub mod get_tagged_suggestions;
21+pub mod get_trending_topics;
22+pub mod get_trends;
23+pub mod get_trends_skeleton;
24+pub mod init_age_assurance;
25+pub mod search_actors_skeleton;
26+pub mod search_posts_skeleton;
27+pub mod search_starter_packs_skeleton;
28+29///Object used to store age assurance data in stash.
30#[jacquard_derive::lexicon]
31#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
32#[serde(rename_all = "camelCase")]
33pub struct AgeAssuranceEvent<'a> {
34+ ///The unique identifier for this instance of the age assurance flow, in UUID format.
35 #[serde(borrow)]
36 pub attempt_id: jacquard_common::CowStr<'a>,
37+ ///The IP address used when completing the AA flow.
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39 #[serde(borrow)]
40 pub complete_ip: std::option::Option<jacquard_common::CowStr<'a>>,
41+ ///The user agent used when completing the AA flow.
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44 pub complete_ua: std::option::Option<jacquard_common::CowStr<'a>>,
45+ ///The date and time of this write operation.
46 pub created_at: jacquard_common::types::string::Datetime,
47+ ///The email used for AA.
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49 #[serde(borrow)]
50 pub email: std::option::Option<jacquard_common::CowStr<'a>>,
51+ ///The IP address used when initiating the AA flow.
52 #[serde(skip_serializing_if = "std::option::Option::is_none")]
53 #[serde(borrow)]
54 pub init_ip: std::option::Option<jacquard_common::CowStr<'a>>,
55+ ///The user agent used when initiating the AA flow.
56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 #[serde(borrow)]
58 pub init_ua: std::option::Option<jacquard_common::CowStr<'a>>,
59+ ///The status of the age assurance process.
60 #[serde(borrow)]
61 pub status: jacquard_common::CowStr<'a>,
62}
63+64///The computed state of the age assurance process, returned to the user in question on certain authenticated requests.
65#[jacquard_derive::lexicon]
66#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
67#[serde(rename_all = "camelCase")]
68pub struct AgeAssuranceState<'a> {
69+ ///The timestamp when this state was last updated.
70 #[serde(skip_serializing_if = "std::option::Option::is_none")]
71 pub last_initiated_at: std::option::Option<jacquard_common::types::string::Datetime>,
72+ ///The status of the age assurance process.
73 #[serde(borrow)]
74 pub status: jacquard_common::CowStr<'a>,
75}
76+77#[jacquard_derive::lexicon]
78#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
79#[serde(rename_all = "camelCase")]
···81 #[serde(borrow)]
82 pub did: jacquard_common::types::string::Did<'a>,
83}
84+85#[jacquard_derive::lexicon]
86#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
87#[serde(rename_all = "camelCase")]
···89 #[serde(borrow)]
90 pub uri: jacquard_common::types::string::AtUri<'a>,
91}
92+93#[jacquard_derive::lexicon]
94#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
95#[serde(rename_all = "camelCase")]
···97 #[serde(borrow)]
98 pub uri: jacquard_common::types::string::AtUri<'a>,
99}
100+101#[jacquard_derive::lexicon]
102#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
103#[serde(rename_all = "camelCase")]
···119 #[serde(borrow)]
120 pub topic: jacquard_common::CowStr<'a>,
121}
122+123#[jacquard_derive::lexicon]
124#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
125#[serde(rename_all = "camelCase")]
···127 #[serde(borrow)]
128 pub author: crate::app_bsky::feed::BlockedAuthor<'a>,
129}
130+131#[jacquard_derive::lexicon]
132#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
133#[serde(rename_all = "camelCase")]
···140#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
141#[serde(rename_all = "camelCase")]
142pub struct ThreadItemPost<'a> {
143+ ///The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread.
144 pub hidden_by_threadgate: bool,
145+ ///This post has more parents that were not present in the response. This is just a boolean, without the number of parents.
146 pub more_parents: bool,
147+ ///This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate.
148 pub more_replies: i64,
149+ ///This is by an account muted by the viewer requesting it.
150 pub muted_by_viewer: bool,
151+ ///This post is part of a contiguous thread by the OP from the thread root. Many different OP threads can happen in the same thread.
152 pub op_thread: bool,
153 #[serde(borrow)]
154 pub post: crate::app_bsky::feed::PostView<'a>,
155}
156+157#[jacquard_derive::lexicon]
158#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
159#[serde(rename_all = "camelCase")]
···175 #[serde(borrow)]
176 pub topic: jacquard_common::CowStr<'a>,
177}
178+179#[jacquard_derive::lexicon]
180#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
181#[serde(rename_all = "camelCase")]
···190 pub link: jacquard_common::CowStr<'a>,
191 #[serde(borrow)]
192 pub topic: jacquard_common::CowStr<'a>,
193+}0000000000000000000000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···10 #[serde(flatten)]
11 #[serde(borrow)]
12 pub value: crate::app_bsky::unspecced::AgeAssuranceState<'a>,
13+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct GetSuggestionsSkeletonParams<'a> {
···18 #[serde(borrow)]
19 pub viewer: std::option::Option<jacquard_common::types::string::Did<'a>>,
20}
21+22#[jacquard_derive::lexicon]
23#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
24#[serde(rename_all = "camelCase")]
···28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
31+ ///Snowflake for this recommendation, use when submitting recommendation events.
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 pub rec_id: std::option::Option<i64>,
34+ ///DID of the account these suggestions are relative to. If this is returned undefined, suggestions are based on the viewer.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37 pub relative_to_did: std::option::Option<jacquard_common::types::string::Did<'a>>,
38+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod get_job_status;
7+pub mod get_upload_limits;
8+pub mod upload_video;
9+10#[jacquard_derive::lexicon]
11#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
12#[serde(rename_all = "camelCase")]
···24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26 pub message: std::option::Option<jacquard_common::CowStr<'a>>,
27+ ///Progress within the current processing state.
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 pub progress: std::option::Option<i64>,
30+ ///The state of the video processing job. All values not listed as a known value indicate that the job is in process.
31 #[serde(borrow)]
32 pub state: jacquard_common::CowStr<'a>,
33+}000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···18 pub remaining_daily_bytes: std::option::Option<i64>,
19 #[serde(skip_serializing_if = "std::option::Option::is_none")]
20 pub remaining_daily_videos: std::option::Option<i64>,
21+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···13pub struct UploadVideoOutput<'a> {
14 #[serde(borrow)]
15 pub job_status: crate::app_bsky::video::JobStatus<'a>,
16+}
+6-1
crates/jacquard-api/src/chat_bsky.rs
···000001pub mod actor;
2pub mod convo;
3-pub mod moderation;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6pub mod actor;
7pub mod convo;
8+pub mod moderation;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod declaration;
7+pub mod delete_account;
8+pub mod export_account_data;
9+10#[jacquard_derive::lexicon]
11#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
12#[serde(rename_all = "camelCase")]
···17 #[serde(skip_serializing_if = "std::option::Option::is_none")]
18 #[serde(borrow)]
19 pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
20+ ///Set to true when the actor cannot actively participate in conversations
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 pub chat_disabled: std::option::Option<bool>,
23 #[serde(borrow)]
···36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38 pub viewer: std::option::Option<crate::app_bsky::actor::ViewerState<'a>>,
39+}000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///A declaration of a Bluesky chat account.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···10pub struct Declaration<'a> {
11 #[serde(borrow)]
12 pub allow_incoming: jacquard_common::CowStr<'a>,
13+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9+pub struct DeleteAccountOutput<'a> {}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9+pub struct ExportAccountDataOutput<'a> {}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···10 #[serde(borrow)]
11 pub convo_id: jacquard_common::CowStr<'a>,
12}
13+14#[jacquard_derive::lexicon]
15#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
16#[serde(rename_all = "camelCase")]
17pub struct AcceptConvoOutput<'a> {
18+ ///Rev when the convo was accepted. If not present, the convo was already accepted.
19 #[serde(skip_serializing_if = "std::option::Option::is_none")]
20 #[serde(borrow)]
21 pub rev: std::option::Option<jacquard_common::CowStr<'a>>,
22+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···13 #[serde(borrow)]
14 pub message_id: std::option::Option<jacquard_common::CowStr<'a>>,
15}
16+17#[jacquard_derive::lexicon]
18#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
19#[serde(rename_all = "camelCase")]
20pub struct UpdateReadOutput<'a> {
21 #[serde(borrow)]
22 pub convo: crate::chat_bsky::convo::ConvoView<'a>,
23+}
+6-1
crates/jacquard-api/src/chat_bsky/moderation.rs
···000001pub mod get_actor_metadata;
2pub mod get_message_context;
3-pub mod update_actor_access;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6pub mod get_actor_metadata;
7pub mod get_message_context;
8+pub mod update_actor_access;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···13 #[serde(skip_serializing_if = "std::option::Option::is_none")]
14 #[serde(borrow)]
15 pub r#ref: std::option::Option<jacquard_common::CowStr<'a>>,
16+}
+6-1
crates/jacquard-api/src/com_atproto.rs
···000001pub mod admin;
2pub mod identity;
3pub mod label;
···6pub mod repo;
7pub mod server;
8pub mod sync;
9-pub mod temp;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6pub mod admin;
7pub mod identity;
8pub mod label;
···11pub mod repo;
12pub mod server;
13pub mod sync;
14+pub mod temp;
+27-17
crates/jacquard-api/src/com_atproto/admin.rs
···0000000000000000000001#[jacquard_derive::lexicon]
2#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
3#[serde(rename_all = "camelCase")]
···35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37 pub threat_signatures: std::option::Option<
38- Vec<jacquard_common::types::value::Data<'a>>,
39 >,
40}
041#[jacquard_derive::lexicon]
42#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
43#[serde(rename_all = "camelCase")]
···50 #[serde(borrow)]
51 pub record_uri: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
52}
053#[jacquard_derive::lexicon]
54#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
55#[serde(rename_all = "camelCase")]
···57 #[serde(borrow)]
58 pub did: jacquard_common::types::string::Did<'a>,
59}
060#[jacquard_derive::lexicon]
61#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
62#[serde(rename_all = "camelCase")]
···66 #[serde(borrow)]
67 pub r#ref: std::option::Option<jacquard_common::CowStr<'a>>,
68}
069#[jacquard_derive::lexicon]
70#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
71#[serde(rename_all = "camelCase")]
···74 pub property: jacquard_common::CowStr<'a>,
75 #[serde(borrow)]
76 pub value: jacquard_common::CowStr<'a>,
77-}
78-pub mod delete_account;
79-pub mod disable_account_invites;
80-pub mod disable_invite_codes;
81-pub mod enable_account_invites;
82-pub mod get_account_info;
83-pub mod get_account_infos;
84-pub mod get_invite_codes;
85-pub mod get_subject_status;
86-pub mod search_accounts;
87-pub mod send_email;
88-pub mod update_account_email;
89-pub mod update_account_handle;
90-pub mod update_account_password;
91-pub mod update_account_signing_key;
92-pub mod update_subject_status;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod delete_account;
7+pub mod disable_account_invites;
8+pub mod disable_invite_codes;
9+pub mod enable_account_invites;
10+pub mod get_account_info;
11+pub mod get_account_infos;
12+pub mod get_invite_codes;
13+pub mod get_subject_status;
14+pub mod search_accounts;
15+pub mod send_email;
16+pub mod update_account_email;
17+pub mod update_account_handle;
18+pub mod update_account_password;
19+pub mod update_account_signing_key;
20+pub mod update_subject_status;
21+22#[jacquard_derive::lexicon]
23#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
24#[serde(rename_all = "camelCase")]
···56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 #[serde(borrow)]
58 pub threat_signatures: std::option::Option<
59+ Vec<crate::com_atproto::admin::ThreatSignature<'a>>,
60 >,
61}
62+63#[jacquard_derive::lexicon]
64#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
65#[serde(rename_all = "camelCase")]
···72 #[serde(borrow)]
73 pub record_uri: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
74}
75+76#[jacquard_derive::lexicon]
77#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
78#[serde(rename_all = "camelCase")]
···80 #[serde(borrow)]
81 pub did: jacquard_common::types::string::Did<'a>,
82}
83+84#[jacquard_derive::lexicon]
85#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
86#[serde(rename_all = "camelCase")]
···90 #[serde(borrow)]
91 pub r#ref: std::option::Option<jacquard_common::CowStr<'a>>,
92}
93+94#[jacquard_derive::lexicon]
95#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
96#[serde(rename_all = "camelCase")]
···99 pub property: jacquard_common::CowStr<'a>,
100 #[serde(borrow)]
101 pub value: jacquard_common::CowStr<'a>,
102+}000000000000000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct DeleteAccountInput<'a> {
10 #[serde(borrow)]
11 pub did: jacquard_common::types::string::Did<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct DisableAccountInvitesInput<'a> {
10 #[serde(borrow)]
11 pub account: jacquard_common::types::string::Did<'a>,
12+ ///Optional reason for disabled invites.
13 #[serde(skip_serializing_if = "std::option::Option::is_none")]
14 #[serde(borrow)]
15 pub note: std::option::Option<jacquard_common::CowStr<'a>>,
16+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···13 #[serde(skip_serializing_if = "std::option::Option::is_none")]
14 #[serde(borrow)]
15 pub codes: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
16+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct EnableAccountInvitesInput<'a> {
10 #[serde(borrow)]
11 pub account: jacquard_common::types::string::Did<'a>,
12+ ///Optional reason for enabled invites.
13 #[serde(skip_serializing_if = "std::option::Option::is_none")]
14 #[serde(borrow)]
15 pub note: std::option::Option<jacquard_common::CowStr<'a>>,
16+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct SendEmailInput<'a> {
10+ ///Additional comment by the sender that won't be used in the email itself but helpful to provide more context for moderators/reviewers
11 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12 #[serde(borrow)]
13 pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
···21 #[serde(borrow)]
22 pub subject: std::option::Option<jacquard_common::CowStr<'a>>,
23}
24+25#[jacquard_derive::lexicon]
26#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
27#[serde(rename_all = "camelCase")]
28pub struct SendEmailOutput<'a> {
29 pub sent: bool,
30+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct UpdateAccountEmailInput<'a> {
10+ ///The handle or DID of the repo.
11 #[serde(borrow)]
12 pub account: jacquard_common::types::ident::AtIdentifier<'a>,
13 #[serde(borrow)]
14 pub email: jacquard_common::CowStr<'a>,
15+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···11 pub did: jacquard_common::types::string::Did<'a>,
12 #[serde(borrow)]
13 pub handle: jacquard_common::types::string::Handle<'a>,
14+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···11 pub did: jacquard_common::types::string::Did<'a>,
12 #[serde(borrow)]
13 pub password: jacquard_common::CowStr<'a>,
14+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct UpdateAccountSigningKeyInput<'a> {
10 #[serde(borrow)]
11 pub did: jacquard_common::types::string::Did<'a>,
12+ ///Did-key formatted public key
13 #[serde(borrow)]
14 pub signing_key: jacquard_common::types::string::Did<'a>,
15+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···16 #[serde(borrow)]
17 pub takedown: std::option::Option<crate::com_atproto::admin::StatusAttr<'a>>,
18}
19+20#[jacquard_derive::open_union]
21#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
22#[serde(tag = "$type")]
···29 #[serde(rename = "com.atproto.admin.defs#repoBlobRef")]
30 DefsRepoBlobRef(Box<crate::com_atproto::admin::RepoBlobRef<'a>>),
31}
32+33#[jacquard_derive::lexicon]
34#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
35#[serde(rename_all = "camelCase")]
···40 #[serde(borrow)]
41 pub takedown: std::option::Option<crate::com_atproto::admin::StatusAttr<'a>>,
42}
43+44#[jacquard_derive::open_union]
45#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
46#[serde(tag = "$type")]
···52 StrongRef(Box<crate::com_atproto::repo::strong_ref::StrongRef<'a>>),
53 #[serde(rename = "com.atproto.admin.defs#repoBlobRef")]
54 DefsRepoBlobRef(Box<crate::com_atproto::admin::RepoBlobRef<'a>>),
55+}
+18-10
crates/jacquard-api/src/com_atproto/identity.rs
···0000000000000001#[jacquard_derive::lexicon]
2#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
3#[serde(rename_all = "camelCase")]
4pub struct IdentityInfo<'a> {
5 #[serde(borrow)]
6 pub did: jacquard_common::types::string::Did<'a>,
07 #[serde(borrow)]
8 pub did_doc: jacquard_common::types::value::Data<'a>,
09 #[serde(borrow)]
10 pub handle: jacquard_common::types::string::Handle<'a>,
11-}
12-pub mod get_recommended_did_credentials;
13-pub mod refresh_identity;
14-pub mod request_plc_operation_signature;
15-pub mod resolve_did;
16-pub mod resolve_handle;
17-pub mod resolve_identity;
18-pub mod sign_plc_operation;
19-pub mod submit_plc_operation;
20-pub mod update_handle;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod get_recommended_did_credentials;
7+pub mod refresh_identity;
8+pub mod request_plc_operation_signature;
9+pub mod resolve_did;
10+pub mod resolve_handle;
11+pub mod resolve_identity;
12+pub mod sign_plc_operation;
13+pub mod submit_plc_operation;
14+pub mod update_handle;
15+16#[jacquard_derive::lexicon]
17#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
18#[serde(rename_all = "camelCase")]
19pub struct IdentityInfo<'a> {
20 #[serde(borrow)]
21 pub did: jacquard_common::types::string::Did<'a>,
22+ ///The complete DID document for the identity.
23 #[serde(borrow)]
24 pub did_doc: jacquard_common::types::value::Data<'a>,
25+ ///The validated handle of the account; or 'handle.invalid' if the handle did not bi-directionally match the DID document.
26 #[serde(borrow)]
27 pub handle: jacquard_common::types::string::Handle<'a>,
28+}000000000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct SubmitPlcOperationInput<'a> {
10 #[serde(borrow)]
11 pub operation: jacquard_common::types::value::Data<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct UpdateHandleInput<'a> {
10+ ///The new handle.
11 #[serde(borrow)]
12 pub handle: jacquard_common::types::string::Handle<'a>,
13+}
+40-5
crates/jacquard-api/src/com_atproto/label.rs
···000000001///Metadata tag on an atproto resource (eg, repo or record).
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct Label<'a> {
06 #[serde(skip_serializing_if = "std::option::Option::is_none")]
7 #[serde(borrow)]
8 pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>,
09 pub cts: jacquard_common::types::string::Datetime,
010 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11 pub exp: std::option::Option<jacquard_common::types::string::Datetime>,
012 #[serde(skip_serializing_if = "std::option::Option::is_none")]
13 pub neg: std::option::Option<bool>,
014 #[serde(skip_serializing_if = "std::option::Option::is_none")]
15 pub sig: std::option::Option<bytes::Bytes>,
016 #[serde(borrow)]
17 pub src: jacquard_common::types::string::Did<'a>,
018 #[serde(borrow)]
19 pub uri: jacquard_common::types::string::Uri<'a>,
020 #[serde(borrow)]
21 pub val: jacquard_common::CowStr<'a>,
022 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 pub ver: std::option::Option<i64>,
24}
025#[derive(Debug, Clone, PartialEq, Eq, Hash)]
26pub enum LabelValue<'a> {
27 Hide,
···37 Gore,
38 Other(jacquard_common::CowStr<'a>),
39}
040impl<'a> LabelValue<'a> {
41 pub fn as_str(&self) -> &str {
42 match self {
···55 }
56 }
57}
058impl<'a> From<&'a str> for LabelValue<'a> {
59 fn from(s: &'a str) -> Self {
60 match s {
···73 }
74 }
75}
076impl<'a> From<String> for LabelValue<'a> {
77 fn from(s: String) -> Self {
78 match s.as_str() {
···91 }
92 }
93}
094impl<'a> AsRef<str> for LabelValue<'a> {
95 fn as_ref(&self) -> &str {
96 self.as_str()
97 }
98}
099impl<'a> serde::Serialize for LabelValue<'a> {
100 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
101 where
···104 serializer.serialize_str(self.as_str())
105 }
106}
0107impl<'de, 'a> serde::Deserialize<'de> for LabelValue<'a>
108where
109 'de: 'a,
···116 Ok(Self::from(s))
117 }
118}
0119///Declares a label value and its expected interpretations and behaviors.
120#[jacquard_derive::lexicon]
121#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
122#[serde(rename_all = "camelCase")]
123pub struct LabelValueDefinition<'a> {
0124 #[serde(skip_serializing_if = "std::option::Option::is_none")]
125 pub adult_only: std::option::Option<bool>,
0126 #[serde(borrow)]
127 pub blurs: jacquard_common::CowStr<'a>,
0128 #[serde(skip_serializing_if = "std::option::Option::is_none")]
129 #[serde(borrow)]
130 pub default_setting: std::option::Option<jacquard_common::CowStr<'a>>,
0131 #[serde(borrow)]
132 pub identifier: jacquard_common::CowStr<'a>,
133 #[serde(borrow)]
134- pub locales: Vec<jacquard_common::types::value::Data<'a>>,
0135 #[serde(borrow)]
136 pub severity: jacquard_common::CowStr<'a>,
137}
0138///Strings which describe the label in the UI, localized into a specific language.
139#[jacquard_derive::lexicon]
140#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
141#[serde(rename_all = "camelCase")]
142pub struct LabelValueDefinitionStrings<'a> {
0143 #[serde(borrow)]
144 pub description: jacquard_common::CowStr<'a>,
0145 pub lang: jacquard_common::types::string::Language,
0146 #[serde(borrow)]
147 pub name: jacquard_common::CowStr<'a>,
148}
0149///Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.
150#[jacquard_derive::lexicon]
151#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
152#[serde(rename_all = "camelCase")]
153pub struct SelfLabel<'a> {
0154 #[serde(borrow)]
155 pub val: jacquard_common::CowStr<'a>,
156}
0157///Metadata tags on an atproto record, published by the author within the record.
158#[jacquard_derive::lexicon]
159#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
160#[serde(rename_all = "camelCase")]
161pub struct SelfLabels<'a> {
162 #[serde(borrow)]
163- pub values: Vec<jacquard_common::types::value::Data<'a>>,
164-}
165-pub mod query_labels;
166-pub mod subscribe_labels;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod query_labels;
7+pub mod subscribe_labels;
8+9///Metadata tag on an atproto resource (eg, repo or record).
10#[jacquard_derive::lexicon]
11#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
12#[serde(rename_all = "camelCase")]
13pub struct Label<'a> {
14+ ///Optionally, CID specifying the specific version of 'uri' resource this label applies to.
15 #[serde(skip_serializing_if = "std::option::Option::is_none")]
16 #[serde(borrow)]
17 pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>,
18+ ///Timestamp when this label was created.
19 pub cts: jacquard_common::types::string::Datetime,
20+ ///Timestamp at which this label expires (no longer applies).
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 pub exp: std::option::Option<jacquard_common::types::string::Datetime>,
23+ ///If true, this is a negation label, overwriting a previous label.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 pub neg: std::option::Option<bool>,
26+ ///Signature of dag-cbor encoded label.
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 pub sig: std::option::Option<bytes::Bytes>,
29+ ///DID of the actor who created this label.
30 #[serde(borrow)]
31 pub src: jacquard_common::types::string::Did<'a>,
32+ ///AT URI of the record, repository (account), or other resource that this label applies to.
33 #[serde(borrow)]
34 pub uri: jacquard_common::types::string::Uri<'a>,
35+ ///The short string name of the value or type of this label.
36 #[serde(borrow)]
37 pub val: jacquard_common::CowStr<'a>,
38+ ///The AT Protocol version of the label object.
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 pub ver: std::option::Option<i64>,
41}
42+43#[derive(Debug, Clone, PartialEq, Eq, Hash)]
44pub enum LabelValue<'a> {
45 Hide,
···55 Gore,
56 Other(jacquard_common::CowStr<'a>),
57}
58+59impl<'a> LabelValue<'a> {
60 pub fn as_str(&self) -> &str {
61 match self {
···74 }
75 }
76}
77+78impl<'a> From<&'a str> for LabelValue<'a> {
79 fn from(s: &'a str) -> Self {
80 match s {
···93 }
94 }
95}
96+97impl<'a> From<String> for LabelValue<'a> {
98 fn from(s: String) -> Self {
99 match s.as_str() {
···112 }
113 }
114}
115+116impl<'a> AsRef<str> for LabelValue<'a> {
117 fn as_ref(&self) -> &str {
118 self.as_str()
119 }
120}
121+122impl<'a> serde::Serialize for LabelValue<'a> {
123 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
124 where
···127 serializer.serialize_str(self.as_str())
128 }
129}
130+131impl<'de, 'a> serde::Deserialize<'de> for LabelValue<'a>
132where
133 'de: 'a,
···140 Ok(Self::from(s))
141 }
142}
143+144///Declares a label value and its expected interpretations and behaviors.
145#[jacquard_derive::lexicon]
146#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
147#[serde(rename_all = "camelCase")]
148pub struct LabelValueDefinition<'a> {
149+ ///Does the user need to have adult content enabled in order to configure this label?
150 #[serde(skip_serializing_if = "std::option::Option::is_none")]
151 pub adult_only: std::option::Option<bool>,
152+ ///What should this label hide in the UI, if applied? 'content' hides all of the target; 'media' hides the images/video/audio; 'none' hides nothing.
153 #[serde(borrow)]
154 pub blurs: jacquard_common::CowStr<'a>,
155+ ///The default setting for this label.
156 #[serde(skip_serializing_if = "std::option::Option::is_none")]
157 #[serde(borrow)]
158 pub default_setting: std::option::Option<jacquard_common::CowStr<'a>>,
159+ ///The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+).
160 #[serde(borrow)]
161 pub identifier: jacquard_common::CowStr<'a>,
162 #[serde(borrow)]
163+ pub locales: Vec<crate::com_atproto::label::LabelValueDefinitionStrings<'a>>,
164+ ///How should a client visually convey this label? 'inform' means neutral and informational; 'alert' means negative and warning; 'none' means show nothing.
165 #[serde(borrow)]
166 pub severity: jacquard_common::CowStr<'a>,
167}
168+169///Strings which describe the label in the UI, localized into a specific language.
170#[jacquard_derive::lexicon]
171#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
172#[serde(rename_all = "camelCase")]
173pub struct LabelValueDefinitionStrings<'a> {
174+ ///A longer description of what the label means and why it might be applied.
175 #[serde(borrow)]
176 pub description: jacquard_common::CowStr<'a>,
177+ ///The code of the language these strings are written in.
178 pub lang: jacquard_common::types::string::Language,
179+ ///A short human-readable name for the label.
180 #[serde(borrow)]
181 pub name: jacquard_common::CowStr<'a>,
182}
183+184///Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.
185#[jacquard_derive::lexicon]
186#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
187#[serde(rename_all = "camelCase")]
188pub struct SelfLabel<'a> {
189+ ///The short string name of the value or type of this label.
190 #[serde(borrow)]
191 pub val: jacquard_common::CowStr<'a>,
192}
193+194///Metadata tags on an atproto record, published by the author within the record.
195#[jacquard_derive::lexicon]
196#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
197#[serde(rename_all = "camelCase")]
198pub struct SelfLabels<'a> {
199 #[serde(borrow)]
200+ pub values: Vec<crate::com_atproto::label::SelfLabel<'a>>,
201+}00
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod schema;
···000001///Representation of Lexicon schemas themselves, when published as atproto records. Note that the schema language is not defined in Lexicon; this meta schema currently only includes a single version field ('lexicon'). See the atproto specifications for description of the other expected top-level fields ('id', 'defs', etc).
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct Schema<'a> {
06 pub lexicon: i64,
7-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Representation of Lexicon schemas themselves, when published as atproto records. Note that the schema language is not defined in Lexicon; this meta schema currently only includes a single version field ('lexicon'). See the atproto specifications for description of the other expected top-level fields ('id', 'defs', etc).
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct Schema<'a> {
11+ ///Indicates the 'version' of the Lexicon language. Must be '1' for the current atproto/Lexicon schema system.
12 pub lexicon: i64,
13+}
+21-2
crates/jacquard-api/src/com_atproto/moderation.rs
···00000001#[derive(Debug, Clone, PartialEq, Eq, Hash)]
2pub enum ReasonType<'a> {
3 ComAtprotoModerationDefsReasonSpam,
···54 ToolsOzoneReportDefsReasonCivicImpersonation,
55 Other(jacquard_common::CowStr<'a>),
56}
057impl<'a> ReasonType<'a> {
58 pub fn as_str(&self) -> &str {
59 match self {
···217 }
218 }
219}
0220impl<'a> From<&'a str> for ReasonType<'a> {
221 fn from(s: &'a str) -> Self {
222 match s {
···380 }
381 }
382}
0383impl<'a> From<String> for ReasonType<'a> {
384 fn from(s: String) -> Self {
385 match s.as_str() {
···543 }
544 }
545}
0546impl<'a> AsRef<str> for ReasonType<'a> {
547 fn as_ref(&self) -> &str {
548 self.as_str()
549 }
550}
0551impl<'a> serde::Serialize for ReasonType<'a> {
552 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
553 where
···556 serializer.serialize_str(self.as_str())
557 }
558}
0559impl<'de, 'a> serde::Deserialize<'de> for ReasonType<'a>
560where
561 'de: 'a,
···568 Ok(Self::from(s))
569 }
570}
0571///Tag describing a type of subject that might be reported.
572#[derive(Debug, Clone, PartialEq, Eq, Hash)]
573pub enum SubjectType<'a> {
···576 Chat,
577 Other(jacquard_common::CowStr<'a>),
578}
0579impl<'a> SubjectType<'a> {
580 pub fn as_str(&self) -> &str {
581 match self {
···586 }
587 }
588}
0589impl<'a> From<&'a str> for SubjectType<'a> {
590 fn from(s: &'a str) -> Self {
591 match s {
···596 }
597 }
598}
0599impl<'a> From<String> for SubjectType<'a> {
600 fn from(s: String) -> Self {
601 match s.as_str() {
···606 }
607 }
608}
0609impl<'a> AsRef<str> for SubjectType<'a> {
610 fn as_ref(&self) -> &str {
611 self.as_str()
612 }
613}
0614impl<'a> serde::Serialize for SubjectType<'a> {
615 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
616 where
···619 serializer.serialize_str(self.as_str())
620 }
621}
0622impl<'de, 'a> serde::Deserialize<'de> for SubjectType<'a>
623where
624 'de: 'a,
···630 let s = <&'de str>::deserialize(deserializer)?;
631 Ok(Self::from(s))
632 }
633-}
634-pub mod create_report;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod create_report;
7+8#[derive(Debug, Clone, PartialEq, Eq, Hash)]
9pub enum ReasonType<'a> {
10 ComAtprotoModerationDefsReasonSpam,
···61 ToolsOzoneReportDefsReasonCivicImpersonation,
62 Other(jacquard_common::CowStr<'a>),
63}
64+65impl<'a> ReasonType<'a> {
66 pub fn as_str(&self) -> &str {
67 match self {
···225 }
226 }
227}
228+229impl<'a> From<&'a str> for ReasonType<'a> {
230 fn from(s: &'a str) -> Self {
231 match s {
···389 }
390 }
391}
392+393impl<'a> From<String> for ReasonType<'a> {
394 fn from(s: String) -> Self {
395 match s.as_str() {
···553 }
554 }
555}
556+557impl<'a> AsRef<str> for ReasonType<'a> {
558 fn as_ref(&self) -> &str {
559 self.as_str()
560 }
561}
562+563impl<'a> serde::Serialize for ReasonType<'a> {
564 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
565 where
···568 serializer.serialize_str(self.as_str())
569 }
570}
571+572impl<'de, 'a> serde::Deserialize<'de> for ReasonType<'a>
573where
574 'de: 'a,
···581 Ok(Self::from(s))
582 }
583}
584+585///Tag describing a type of subject that might be reported.
586#[derive(Debug, Clone, PartialEq, Eq, Hash)]
587pub enum SubjectType<'a> {
···590 Chat,
591 Other(jacquard_common::CowStr<'a>),
592}
593+594impl<'a> SubjectType<'a> {
595 pub fn as_str(&self) -> &str {
596 match self {
···601 }
602 }
603}
604+605impl<'a> From<&'a str> for SubjectType<'a> {
606 fn from(s: &'a str) -> Self {
607 match s {
···612 }
613 }
614}
615+616impl<'a> From<String> for SubjectType<'a> {
617 fn from(s: String) -> Self {
618 match s.as_str() {
···623 }
624 }
625}
626+627impl<'a> AsRef<str> for SubjectType<'a> {
628 fn as_ref(&self) -> &str {
629 self.as_str()
630 }
631}
632+633impl<'a> serde::Serialize for SubjectType<'a> {
634 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
635 where
···638 serializer.serialize_str(self.as_str())
639 }
640}
641+642impl<'de, 'a> serde::Deserialize<'de> for SubjectType<'a>
643where
644 'de: 'a,
···650 let s = <&'de str>::deserialize(deserializer)?;
651 Ok(Self::from(s))
652 }
653+}0
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···10 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11 #[serde(borrow)]
12 pub mod_tool: std::option::Option<jacquard_common::types::value::Data<'a>>,
13+ ///Additional context about the content and violation.
14 #[serde(skip_serializing_if = "std::option::Option::is_none")]
15 #[serde(borrow)]
16 pub reason: std::option::Option<jacquard_common::CowStr<'a>>,
17+ ///Indicates the broad category of violation the report is for.
18 #[serde(borrow)]
19 pub reason_type: crate::com_atproto::moderation::ReasonType<'a>,
20 #[serde(borrow)]
21 pub subject: CreateReportInputRecordSubject<'a>,
22}
23+24#[jacquard_derive::open_union]
25#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
26#[serde(tag = "$type")]
···31 #[serde(rename = "com.atproto.repo.strongRef")]
32 StrongRef(Box<crate::com_atproto::repo::strong_ref::StrongRef<'a>>),
33}
34+35#[jacquard_derive::lexicon]
36#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
37#[serde(rename_all = "camelCase")]
···48 #[serde(borrow)]
49 pub subject: CreateReportOutputRecordSubject<'a>,
50}
51+52#[jacquard_derive::open_union]
53#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
54#[serde(tag = "$type")]
···59 #[serde(rename = "com.atproto.repo.strongRef")]
60 StrongRef(Box<crate::com_atproto::repo::strong_ref::StrongRef<'a>>),
61}
62+63///Moderation tool information for tracing the source of the action
64#[jacquard_derive::lexicon]
65#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
66#[serde(rename_all = "camelCase")]
67pub struct ModTool<'a> {
68+ ///Additional arbitrary metadata about the source
69 #[serde(skip_serializing_if = "std::option::Option::is_none")]
70 #[serde(borrow)]
71 pub meta: std::option::Option<jacquard_common::types::value::Data<'a>>,
72+ ///Name/identifier of the source (e.g., 'bsky-app/android', 'bsky-web/chrome')
73 #[serde(borrow)]
74 pub name: jacquard_common::CowStr<'a>,
75+}
+14-8
crates/jacquard-api/src/com_atproto/repo.rs
···1-#[jacquard_derive::lexicon]
2-#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
3-#[serde(rename_all = "camelCase")]
4-pub struct CommitMeta<'a> {
5- #[serde(borrow)]
6- pub cid: jacquard_common::types::string::Cid<'a>,
7- pub rev: jacquard_common::types::string::Tid,
8-}
9pub mod apply_writes;
10pub mod create_record;
11pub mod delete_record;
···17pub mod put_record;
18pub mod strong_ref;
19pub mod upload_blob;
000000000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+0006pub mod apply_writes;
7pub mod create_record;
8pub mod delete_record;
···14pub mod put_record;
15pub mod strong_ref;
16pub mod upload_blob;
17+18+#[jacquard_derive::lexicon]
19+#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
20+#[serde(rename_all = "camelCase")]
21+pub struct CommitMeta<'a> {
22+ #[serde(borrow)]
23+ pub cid: jacquard_common::types::string::Cid<'a>,
24+ pub rev: jacquard_common::types::string::Tid,
25+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct DescribeRepoParams<'a> {
9 #[serde(borrow)]
10 pub repo: jacquard_common::types::ident::AtIdentifier<'a>,
11}
12+13#[jacquard_derive::lexicon]
14#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
15#[serde(rename_all = "camelCase")]
16pub struct DescribeRepoOutput<'a> {
17+ ///List of all the collections (NSIDs) for which this repo contains at least one record.
18 #[serde(borrow)]
19 pub collections: Vec<jacquard_common::types::string::Nsid<'a>>,
20 #[serde(borrow)]
21 pub did: jacquard_common::types::string::Did<'a>,
22+ ///The complete DID document for this account.
23 #[serde(borrow)]
24 pub did_doc: jacquard_common::types::value::Data<'a>,
25 #[serde(borrow)]
26 pub handle: jacquard_common::types::string::Handle<'a>,
27+ ///Indicates if handle is currently valid (resolves bi-directionally)
28 pub handle_is_correct: bool,
29+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9+pub struct ImportRepoInput<'a> {}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct PutRecordInput<'a> {
10+ ///The NSID of the record collection.
11 #[serde(borrow)]
12 pub collection: jacquard_common::types::string::Nsid<'a>,
13+ ///The record to write.
14 #[serde(borrow)]
15 pub record: jacquard_common::types::value::Data<'a>,
16+ ///The handle or DID of the repo (aka, current account).
17 #[serde(borrow)]
18 pub repo: jacquard_common::types::ident::AtIdentifier<'a>,
19+ ///The Record Key.
20 #[serde(borrow)]
21 pub rkey: jacquard_common::types::string::RecordKey<
22 jacquard_common::types::string::Rkey<'a>,
23 >,
24+ ///Compare and swap with the previous commit by CID.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27 pub swap_commit: std::option::Option<jacquard_common::types::string::Cid<'a>>,
28+ ///Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31 pub swap_record: std::option::Option<jacquard_common::types::string::Cid<'a>>,
32+ ///Can be set to 'false' to skip Lexicon schema validation of record data, 'true' to require it, or leave unset to validate only for known Lexicons.
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 pub validate: std::option::Option<bool>,
35}
36+37#[jacquard_derive::lexicon]
38#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
39#[serde(rename_all = "camelCase")]
···49 #[serde(borrow)]
50 pub validation_status: std::option::Option<jacquard_common::CowStr<'a>>,
51}
52+53#[jacquard_derive::open_union]
54#[derive(
55 serde::Serialize,
···67 #[serde(rename = "InvalidSwap")]
68 InvalidSwap(std::option::Option<String>),
69}
70+71impl std::fmt::Display for PutRecordError<'_> {
72 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
73 match self {
···78 }
79 Ok(())
80 }
81+ Self::Unknown(err) => write!(f, "Unknown error: {:?}", err),
82 }
83 }
84+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···11 pub cid: jacquard_common::types::string::Cid<'a>,
12 #[serde(borrow)]
13 pub uri: jacquard_common::types::string::AtUri<'a>,
14+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···13pub struct UploadBlobOutput<'a> {
14 #[serde(borrow)]
15 pub blob: jacquard_common::types::blob::Blob<'a>,
16+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···18 #[serde(borrow)]
19 pub repo_rev: jacquard_common::CowStr<'a>,
20 pub valid_did: bool,
21+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct CreateSessionInput<'a> {
10+ ///When true, instead of throwing error for takendown accounts, a valid response with a narrow scoped token will be returned
11 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12 pub allow_takendown: std::option::Option<bool>,
13 #[serde(skip_serializing_if = "std::option::Option::is_none")]
14 #[serde(borrow)]
15 pub auth_factor_token: std::option::Option<jacquard_common::CowStr<'a>>,
16+ ///Handle or other identifier supported by the server for the authenticating user.
17 #[serde(borrow)]
18 pub identifier: jacquard_common::CowStr<'a>,
19 #[serde(borrow)]
20 pub password: jacquard_common::CowStr<'a>,
21}
22+23#[jacquard_derive::lexicon]
24#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
25#[serde(rename_all = "camelCase")]
···44 pub handle: jacquard_common::types::string::Handle<'a>,
45 #[serde(borrow)]
46 pub refresh_jwt: jacquard_common::CowStr<'a>,
47+ ///If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted.
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49 #[serde(borrow)]
50 pub status: std::option::Option<jacquard_common::CowStr<'a>>,
51}
52+53#[jacquard_derive::open_union]
54#[derive(
55 serde::Serialize,
···69 #[serde(rename = "AuthFactorTokenRequired")]
70 AuthFactorTokenRequired(std::option::Option<String>),
71}
72+73impl std::fmt::Display for CreateSessionError<'_> {
74 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
75 match self {
···87 }
88 Ok(())
89 }
90+ Self::Unknown(err) => write!(f, "Unknown error: {:?}", err),
91 }
92 }
93+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct DeactivateAccountInput<'a> {
10+ ///A recommendation to server as to how long they should hold onto the deactivated account before deleting.
11 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12 pub delete_after: std::option::Option<jacquard_common::types::string::Datetime>,
13+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···23 pub email_confirmed: std::option::Option<bool>,
24 #[serde(borrow)]
25 pub handle: jacquard_common::types::string::Handle<'a>,
26+ ///If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted.
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29 pub status: std::option::Option<jacquard_common::CowStr<'a>>,
30+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct RequestEmailUpdateOutput<'a> {
10 pub token_required: bool,
11+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct RequestPasswordResetInput<'a> {
10 #[serde(borrow)]
11 pub email: jacquard_common::CowStr<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct ReserveSigningKeyInput<'a> {
10+ ///The DID to reserve a key for.
11 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12 #[serde(borrow)]
13 pub did: std::option::Option<jacquard_common::types::string::Did<'a>>,
14}
15+16#[jacquard_derive::lexicon]
17#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
18#[serde(rename_all = "camelCase")]
19pub struct ReserveSigningKeyOutput<'a> {
20+ ///The public key for the reserved signing key, in did:key serialization.
21 #[serde(borrow)]
22 pub signing_key: jacquard_common::CowStr<'a>,
23+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct RevokeAppPasswordInput<'a> {
10 #[serde(borrow)]
11 pub name: jacquard_common::CowStr<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct GetRepoStatusParams<'a> {
9 #[serde(borrow)]
10 pub did: jacquard_common::types::string::Did<'a>,
11}
12+13#[jacquard_derive::lexicon]
14#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
15#[serde(rename_all = "camelCase")]
···17 pub active: bool,
18 #[serde(borrow)]
19 pub did: jacquard_common::types::string::Did<'a>,
20+ ///Optional field, the current rev of the repo, if active=true
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 pub rev: std::option::Option<jacquard_common::types::string::Tid>,
23+ ///If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26 pub status: std::option::Option<jacquard_common::CowStr<'a>>,
27}
28+29#[jacquard_derive::open_union]
30#[derive(
31 serde::Serialize,
···43 #[serde(rename = "RepoNotFound")]
44 RepoNotFound(std::option::Option<String>),
45}
46+47impl std::fmt::Display for GetRepoStatusError<'_> {
48 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
49 match self {
···54 }
55 Ok(())
56 }
57+ Self::Unknown(err) => write!(f, "Unknown error: {:?}", err),
58 }
59 }
60+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct ListReposParams<'a> {
···12 #[serde(skip_serializing_if = "std::option::Option::is_none")]
13 pub limit: std::option::Option<i64>,
14}
15+16#[jacquard_derive::lexicon]
17#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
18#[serde(rename_all = "camelCase")]
···23 #[serde(borrow)]
24 pub repos: Vec<jacquard_common::types::value::Data<'a>>,
25}
26+27#[jacquard_derive::lexicon]
28#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
29#[serde(rename_all = "camelCase")]
···32 pub active: std::option::Option<bool>,
33 #[serde(borrow)]
34 pub did: jacquard_common::types::string::Did<'a>,
35+ ///Current repo commit CID
36 #[serde(borrow)]
37 pub head: jacquard_common::types::string::Cid<'a>,
38 pub rev: jacquard_common::types::string::Tid,
39+ ///If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted.
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[serde(borrow)]
42 pub status: std::option::Option<jacquard_common::CowStr<'a>>,
43+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct NotifyOfUpdateInput<'a> {
10+ ///Hostname of the current service (usually a PDS) that is notifying of update.
11 #[serde(borrow)]
12 pub hostname: jacquard_common::CowStr<'a>,
13+}
···000001///Represents a change to an account's status on a host (eg, PDS or Relay). The semantics of this event are that the status is at the host which emitted the event, not necessarily that at the currently active PDS. Eg, a Relay takedown would emit a takedown with active=false, even if the PDS is still active.
2#[jacquard_derive::lexicon]
3#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
4#[serde(rename_all = "camelCase")]
5pub struct Account<'a> {
06 pub active: bool,
7 #[serde(borrow)]
8 pub did: jacquard_common::types::string::Did<'a>,
9 pub seq: i64,
010 #[serde(skip_serializing_if = "std::option::Option::is_none")]
11 #[serde(borrow)]
12 pub status: std::option::Option<jacquard_common::CowStr<'a>>,
13 pub time: jacquard_common::types::string::Datetime,
14}
015///Represents an update of repository state. Note that empty commits are allowed, which include no repo data changes, but an update to rev and signature.
16#[jacquard_derive::lexicon]
17#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···19pub struct Commit<'a> {
20 #[serde(borrow)]
21 pub blobs: Vec<jacquard_common::types::cid::CidLink<'a>>,
022 pub blocks: bytes::Bytes,
023 #[serde(borrow)]
24 pub commit: jacquard_common::types::cid::CidLink<'a>,
25 #[serde(borrow)]
26- pub ops: Vec<jacquard_common::types::value::Data<'a>>,
027 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29 pub prev_data: std::option::Option<jacquard_common::types::cid::CidLink<'a>>,
030 pub rebase: bool,
031 #[serde(borrow)]
32 pub repo: jacquard_common::types::string::Did<'a>,
033 pub rev: jacquard_common::types::string::Tid,
034 pub seq: i64,
035 pub since: jacquard_common::types::string::Tid,
036 pub time: jacquard_common::types::string::Datetime,
037 pub too_big: bool,
38}
039///Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache.
40#[jacquard_derive::lexicon]
41#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···43pub struct Identity<'a> {
44 #[serde(borrow)]
45 pub did: jacquard_common::types::string::Did<'a>,
046 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47 #[serde(borrow)]
48 pub handle: std::option::Option<jacquard_common::types::string::Handle<'a>>,
49 pub seq: i64,
50 pub time: jacquard_common::types::string::Datetime,
51}
052#[jacquard_derive::lexicon]
53#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
54#[serde(rename_all = "camelCase")]
···59 #[serde(borrow)]
60 pub name: jacquard_common::CowStr<'a>,
61}
062#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
63#[serde(rename_all = "camelCase")]
64pub struct SubscribeReposParams {
65 #[serde(skip_serializing_if = "std::option::Option::is_none")]
66 pub cursor: std::option::Option<i64>,
67}
068#[jacquard_derive::open_union]
69#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
70#[serde(tag = "$type")]
···81 #[serde(rename = "#info")]
82 Info(Box<jacquard_common::types::value::Data<'a>>),
83}
084#[jacquard_derive::open_union]
85#[derive(
86 serde::Serialize,
···101 #[serde(rename = "ConsumerTooSlow")]
102 ConsumerTooSlow(std::option::Option<String>),
103}
0104impl std::fmt::Display for SubscribeReposError<'_> {
105 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
106 match self {
···118 }
119 Ok(())
120 }
121- Self::Unknown(_) => write!(f, "Unknown error"),
122 }
123 }
124}
0125///A repo operation, ie a mutation of a single record.
126#[jacquard_derive::lexicon]
127#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···129pub struct RepoOp<'a> {
130 #[serde(borrow)]
131 pub action: jacquard_common::CowStr<'a>,
0132 #[serde(borrow)]
133 pub cid: jacquard_common::types::cid::CidLink<'a>,
134 #[serde(borrow)]
135 pub path: jacquard_common::CowStr<'a>,
0136 #[serde(skip_serializing_if = "std::option::Option::is_none")]
137 #[serde(borrow)]
138 pub prev: std::option::Option<jacquard_common::types::cid::CidLink<'a>>,
139}
0140///Updates the repo to a new state, without necessarily including that state on the firehose. Used to recover from broken commit streams, data loss incidents, or in situations where upstream host does not know recent state of the repository.
141#[jacquard_derive::lexicon]
142#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
143#[serde(rename_all = "camelCase")]
144pub struct Sync<'a> {
0145 pub blocks: bytes::Bytes,
0146 #[serde(borrow)]
147 pub did: jacquard_common::types::string::Did<'a>,
0148 #[serde(borrow)]
149 pub rev: jacquard_common::CowStr<'a>,
0150 pub seq: i64,
0151 pub time: jacquard_common::types::string::Datetime,
152-}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Represents a change to an account's status on a host (eg, PDS or Relay). The semantics of this event are that the status is at the host which emitted the event, not necessarily that at the currently active PDS. Eg, a Relay takedown would emit a takedown with active=false, even if the PDS is still active.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct Account<'a> {
11+ ///Indicates that the account has a repository which can be fetched from the host that emitted this event.
12 pub active: bool,
13 #[serde(borrow)]
14 pub did: jacquard_common::types::string::Did<'a>,
15 pub seq: i64,
16+ ///If active=false, this optional field indicates a reason for why the account is not active.
17 #[serde(skip_serializing_if = "std::option::Option::is_none")]
18 #[serde(borrow)]
19 pub status: std::option::Option<jacquard_common::CowStr<'a>>,
20 pub time: jacquard_common::types::string::Datetime,
21}
22+23///Represents an update of repository state. Note that empty commits are allowed, which include no repo data changes, but an update to rev and signature.
24#[jacquard_derive::lexicon]
25#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···27pub struct Commit<'a> {
28 #[serde(borrow)]
29 pub blobs: Vec<jacquard_common::types::cid::CidLink<'a>>,
30+ ///CAR file containing relevant blocks, as a diff since the previous repo state. The commit must be included as a block, and the commit block CID must be the first entry in the CAR header 'roots' list.
31 pub blocks: bytes::Bytes,
32+ ///Repo commit object CID.
33 #[serde(borrow)]
34 pub commit: jacquard_common::types::cid::CidLink<'a>,
35 #[serde(borrow)]
36+ pub ops: Vec<crate::com_atproto::sync::subscribe_repos::RepoOp<'a>>,
37+ ///The root CID of the MST tree for the previous commit from this repo (indicated by the 'since' revision field in this message). Corresponds to the 'data' field in the repo commit object. NOTE: this field is effectively required for the 'inductive' version of firehose.
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39 #[serde(borrow)]
40 pub prev_data: std::option::Option<jacquard_common::types::cid::CidLink<'a>>,
41+ ///DEPRECATED -- unused
42 pub rebase: bool,
43+ ///The repo this event comes from. Note that all other message types name this field 'did'.
44 #[serde(borrow)]
45 pub repo: jacquard_common::types::string::Did<'a>,
46+ ///The rev of the emitted commit. Note that this information is also in the commit object included in blocks, unless this is a tooBig event.
47 pub rev: jacquard_common::types::string::Tid,
48+ ///The stream sequence number of this message.
49 pub seq: i64,
50+ ///The rev of the last emitted commit from this repo (if any).
51 pub since: jacquard_common::types::string::Tid,
52+ ///Timestamp of when this message was originally broadcast.
53 pub time: jacquard_common::types::string::Datetime,
54+ ///DEPRECATED -- replaced by #sync event and data limits. Indicates that this commit contained too many ops, or data size was too large. Consumers will need to make a separate request to get missing data.
55 pub too_big: bool,
56}
57+58///Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache.
59#[jacquard_derive::lexicon]
60#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···62pub struct Identity<'a> {
63 #[serde(borrow)]
64 pub did: jacquard_common::types::string::Did<'a>,
65+ ///The current handle for the account, or 'handle.invalid' if validation fails. This field is optional, might have been validated or passed-through from an upstream source. Semantics and behaviors for PDS vs Relay may evolve in the future; see atproto specs for more details.
66 #[serde(skip_serializing_if = "std::option::Option::is_none")]
67 #[serde(borrow)]
68 pub handle: std::option::Option<jacquard_common::types::string::Handle<'a>>,
69 pub seq: i64,
70 pub time: jacquard_common::types::string::Datetime,
71}
72+73#[jacquard_derive::lexicon]
74#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
75#[serde(rename_all = "camelCase")]
···80 #[serde(borrow)]
81 pub name: jacquard_common::CowStr<'a>,
82}
83+84#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
85#[serde(rename_all = "camelCase")]
86pub struct SubscribeReposParams {
87 #[serde(skip_serializing_if = "std::option::Option::is_none")]
88 pub cursor: std::option::Option<i64>,
89}
90+91#[jacquard_derive::open_union]
92#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
93#[serde(tag = "$type")]
···104 #[serde(rename = "#info")]
105 Info(Box<jacquard_common::types::value::Data<'a>>),
106}
107+108#[jacquard_derive::open_union]
109#[derive(
110 serde::Serialize,
···125 #[serde(rename = "ConsumerTooSlow")]
126 ConsumerTooSlow(std::option::Option<String>),
127}
128+129impl std::fmt::Display for SubscribeReposError<'_> {
130 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
131 match self {
···143 }
144 Ok(())
145 }
146+ Self::Unknown(err) => write!(f, "Unknown error: {:?}", err),
147 }
148 }
149}
150+151///A repo operation, ie a mutation of a single record.
152#[jacquard_derive::lexicon]
153#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
···155pub struct RepoOp<'a> {
156 #[serde(borrow)]
157 pub action: jacquard_common::CowStr<'a>,
158+ ///For creates and updates, the new record CID. For deletions, null.
159 #[serde(borrow)]
160 pub cid: jacquard_common::types::cid::CidLink<'a>,
161 #[serde(borrow)]
162 pub path: jacquard_common::CowStr<'a>,
163+ ///For updates and deletes, the previous record CID (required for inductive firehose). For creations, field should not be defined.
164 #[serde(skip_serializing_if = "std::option::Option::is_none")]
165 #[serde(borrow)]
166 pub prev: std::option::Option<jacquard_common::types::cid::CidLink<'a>>,
167}
168+169///Updates the repo to a new state, without necessarily including that state on the firehose. Used to recover from broken commit streams, data loss incidents, or in situations where upstream host does not know recent state of the repository.
170#[jacquard_derive::lexicon]
171#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
172#[serde(rename_all = "camelCase")]
173pub struct Sync<'a> {
174+ ///CAR file containing the commit, as a block. The CAR header must include the commit block CID as the first 'root'.
175 pub blocks: bytes::Bytes,
176+ ///The account this repo event corresponds to. Must match that in the commit object.
177 #[serde(borrow)]
178 pub did: jacquard_common::types::string::Did<'a>,
179+ ///The rev of the commit. This value must match that in the commit object.
180 #[serde(borrow)]
181 pub rev: jacquard_common::CowStr<'a>,
182+ ///The stream sequence number of this message.
183 pub seq: i64,
184+ ///Timestamp of when this message was originally broadcast.
185 pub time: jacquard_common::types::string::Datetime,
186+}
+6-1
crates/jacquard-api/src/com_atproto/temp.rs
···000001pub mod add_reserved_handle;
2pub mod check_handle_availability;
3pub mod check_signup_queue;
4pub mod dereference_scope;
5pub mod fetch_labels;
6pub mod request_phone_verification;
7-pub mod revoke_account_credentials;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6pub mod add_reserved_handle;
7pub mod check_handle_availability;
8pub mod check_signup_queue;
9pub mod dereference_scope;
10pub mod fetch_labels;
11pub mod request_phone_verification;
12+pub mod revoke_account_credentials;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···10 #[serde(borrow)]
11 pub handle: jacquard_common::CowStr<'a>,
12}
13+14#[jacquard_derive::lexicon]
15#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
16#[serde(rename_all = "camelCase")]
17+pub struct AddReservedHandleOutput<'a> {}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···12 pub estimated_time_ms: std::option::Option<i64>,
13 #[serde(skip_serializing_if = "std::option::Option::is_none")]
14 pub place_in_queue: std::option::Option<i64>,
15+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct RequestPhoneVerificationInput<'a> {
10 #[serde(borrow)]
11 pub phone_number: jacquard_common::CowStr<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct RevokeAccountCredentialsInput<'a> {
10 #[serde(borrow)]
11 pub account: jacquard_common::types::ident::AtIdentifier<'a>,
12+}
+6-1
crates/jacquard-api/src/lib.rs
···000001pub mod app_bsky;
2pub mod chat_bsky;
3pub mod com_atproto;
4-pub mod tools_ozone;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6pub mod app_bsky;
7pub mod chat_bsky;
8pub mod com_atproto;
9+pub mod tools_ozone;
+6-1
crates/jacquard-api/src/tools_ozone.rs
···000001pub mod communication;
2pub mod hosting;
3pub mod moderation;
···8pub mod setting;
9pub mod signature;
10pub mod team;
11-pub mod verification;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6pub mod communication;
7pub mod hosting;
8pub mod moderation;
···13pub mod setting;
14pub mod signature;
15pub mod team;
16+pub mod verification;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod create_template;
7+pub mod delete_template;
8+pub mod list_templates;
9+pub mod update_template;
10+11#[jacquard_derive::lexicon]
12#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
13#[serde(rename_all = "camelCase")]
14pub struct TemplateView<'a> {
15+ ///Subject of the message, used in emails.
16 #[serde(borrow)]
17 pub content_markdown: jacquard_common::CowStr<'a>,
18 pub created_at: jacquard_common::types::string::Datetime,
19 pub disabled: bool,
20 #[serde(borrow)]
21 pub id: jacquard_common::CowStr<'a>,
22+ ///Message language.
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 pub lang: std::option::Option<jacquard_common::types::string::Language>,
25+ ///DID of the user who last updated the template.
26 #[serde(borrow)]
27 pub last_updated_by: jacquard_common::types::string::Did<'a>,
28+ ///Name of the template.
29 #[serde(borrow)]
30 pub name: jacquard_common::CowStr<'a>,
31+ ///Content of the template, can contain markdown and variable placeholders.
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34 pub subject: std::option::Option<jacquard_common::CowStr<'a>>,
35 pub updated_at: jacquard_common::types::string::Datetime,
36+}0000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct DeleteTemplateInput<'a> {
10 #[serde(borrow)]
11 pub id: jacquard_common::CowStr<'a>,
12+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···11 pub communication_templates: Vec<
12 crate::tools_ozone::communication::TemplateView<'a>,
13 >,
14+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod get_account_history;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod get_config;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···19 #[serde(skip_serializing_if = "std::option::Option::is_none")]
20 #[serde(borrow)]
21 pub pds: std::option::Option<jacquard_common::types::value::Data<'a>>,
22+ ///The did of the verifier used for verification.
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25 pub verifier_did: std::option::Option<jacquard_common::types::string::Did<'a>>,
···27 #[serde(borrow)]
28 pub viewer: std::option::Option<jacquard_common::types::value::Data<'a>>,
29}
30+31#[jacquard_derive::lexicon]
32#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
33#[serde(rename_all = "camelCase")]
···36 #[serde(borrow)]
37 pub url: std::option::Option<jacquard_common::types::string::Uri<'a>>,
38}
39+40#[jacquard_derive::lexicon]
41#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
42#[serde(rename_all = "camelCase")]
···44 #[serde(skip_serializing_if = "std::option::Option::is_none")]
45 #[serde(borrow)]
46 pub role: std::option::Option<jacquard_common::CowStr<'a>>,
47+}
+14-7
crates/jacquard-api/src/tools_ozone/set.rs
···0000000000001#[jacquard_derive::lexicon]
2#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
3#[serde(rename_all = "camelCase")]
···8 #[serde(borrow)]
9 pub name: jacquard_common::CowStr<'a>,
10}
011#[jacquard_derive::lexicon]
12#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
13#[serde(rename_all = "camelCase")]
···20 pub name: jacquard_common::CowStr<'a>,
21 pub set_size: i64,
22 pub updated_at: jacquard_common::types::string::Datetime,
23-}
24-pub mod add_values;
25-pub mod delete_set;
26-pub mod delete_values;
27-pub mod get_values;
28-pub mod query_sets;
29-pub mod upsert_set;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod add_values;
7+pub mod delete_set;
8+pub mod delete_values;
9+pub mod get_values;
10+pub mod query_sets;
11+pub mod upsert_set;
12+13#[jacquard_derive::lexicon]
14#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
15#[serde(rename_all = "camelCase")]
···20 #[serde(borrow)]
21 pub name: jacquard_common::CowStr<'a>,
22}
23+24#[jacquard_derive::lexicon]
25#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
26#[serde(rename_all = "camelCase")]
···33 pub name: jacquard_common::CowStr<'a>,
34 pub set_size: i64,
35 pub updated_at: jacquard_common::types::string::Datetime,
36+}000000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct AddValuesInput<'a> {
10+ ///Name of the set to add values to
11 #[serde(borrow)]
12 pub name: jacquard_common::CowStr<'a>,
13+ ///Array of string values to add to the set
14 #[serde(borrow)]
15 pub values: Vec<jacquard_common::CowStr<'a>>,
16+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···11 #[serde(borrow)]
12 pub value: crate::tools_ozone::set::Set<'a>,
13}
14+15#[jacquard_derive::lexicon]
16#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
17#[serde(rename_all = "camelCase")]
···19 #[serde(flatten)]
20 #[serde(borrow)]
21 pub value: crate::tools_ozone::set::SetView<'a>,
22+}
+10-4
crates/jacquard-api/src/tools_ozone/setting.rs
···0000000001#[jacquard_derive::lexicon]
2#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
3#[serde(rename_all = "camelCase")]
···24 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
25 #[serde(borrow)]
26 pub value: jacquard_common::types::value::Data<'a>,
27-}
28-pub mod list_options;
29-pub mod remove_options;
30-pub mod upsert_option;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod list_options;
7+pub mod remove_options;
8+pub mod upsert_option;
9+10#[jacquard_derive::lexicon]
11#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
12#[serde(rename_all = "camelCase")]
···33 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
34 #[serde(borrow)]
35 pub value: jacquard_common::types::value::Data<'a>,
36+}000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···12 #[serde(borrow)]
13 pub scope: jacquard_common::CowStr<'a>,
14}
15+16#[jacquard_derive::lexicon]
17#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
18#[serde(rename_all = "camelCase")]
19+pub struct RemoveOptionsOutput<'a> {}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
···20 #[serde(borrow)]
21 pub value: jacquard_common::types::value::Data<'a>,
22}
23+24#[jacquard_derive::lexicon]
25#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
26#[serde(rename_all = "camelCase")]
27pub struct UpsertOptionOutput<'a> {
28 #[serde(borrow)]
29 pub option: crate::tools_ozone::setting::Option<'a>,
30+}
+10-4
crates/jacquard-api/src/tools_ozone/signature.rs
···0000000001#[jacquard_derive::lexicon]
2#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
3#[serde(rename_all = "camelCase")]
···6 pub property: jacquard_common::CowStr<'a>,
7 #[serde(borrow)]
8 pub value: jacquard_common::CowStr<'a>,
9-}
10-pub mod find_correlation;
11-pub mod find_related_accounts;
12-pub mod search_accounts;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod find_correlation;
7+pub mod find_related_accounts;
8+pub mod search_accounts;
9+10#[jacquard_derive::lexicon]
11#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
12#[serde(rename_all = "camelCase")]
···15 pub property: jacquard_common::CowStr<'a>,
16 #[serde(borrow)]
17 pub value: jacquard_common::CowStr<'a>,
18+}000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
7#[serde(rename_all = "camelCase")]
8pub struct SearchAccountsParams<'a> {
···14 #[serde(borrow)]
15 pub values: Vec<jacquard_common::CowStr<'a>>,
16}
17+18#[jacquard_derive::lexicon]
19#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
20#[serde(rename_all = "camelCase")]
···24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
27+}
+11-5
crates/jacquard-api/src/tools_ozone/team.rs
···00000000001#[jacquard_derive::lexicon]
2#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
3#[serde(rename_all = "camelCase")]
···18 pub role: jacquard_common::CowStr<'a>,
19 #[serde(skip_serializing_if = "std::option::Option::is_none")]
20 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
21-}
22-pub mod add_member;
23-pub mod delete_member;
24-pub mod list_members;
25-pub mod update_member;
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod add_member;
7+pub mod delete_member;
8+pub mod list_members;
9+pub mod update_member;
10+11#[jacquard_derive::lexicon]
12#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
13#[serde(rename_all = "camelCase")]
···28 pub role: jacquard_common::CowStr<'a>,
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
31+}0000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6+pub mod grant_verifications;
7+pub mod list_verifications;
8+pub mod revoke_verifications;
9+10///Verification data for the associated subject.
11#[jacquard_derive::lexicon]
12#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
13#[serde(rename_all = "camelCase")]
14pub struct VerificationView<'a> {
15+ ///Timestamp when the verification was created.
16 pub created_at: jacquard_common::types::string::Datetime,
17+ ///Display name of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current displayName matches the one at the time of verifying.
18 #[serde(borrow)]
19 pub display_name: jacquard_common::CowStr<'a>,
20+ ///Handle of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current handle matches the one at the time of verifying.
21 #[serde(borrow)]
22 pub handle: jacquard_common::types::string::Handle<'a>,
23+ ///The user who issued this verification.
24 #[serde(borrow)]
25 pub issuer: jacquard_common::types::string::Did<'a>,
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
···29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31 pub issuer_repo: std::option::Option<VerificationViewRecordIssuerRepo<'a>>,
32+ ///Describes the reason for revocation, also indicating that the verification is no longer valid.
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35 pub revoke_reason: std::option::Option<jacquard_common::CowStr<'a>>,
36+ ///Timestamp when the verification was revoked.
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38 pub revoked_at: std::option::Option<jacquard_common::types::string::Datetime>,
39+ ///The user who revoked this verification.
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[serde(borrow)]
42 pub revoked_by: std::option::Option<jacquard_common::types::string::Did<'a>>,
43+ ///The subject of the verification.
44 #[serde(borrow)]
45 pub subject: jacquard_common::types::string::Did<'a>,
46 #[serde(skip_serializing_if = "std::option::Option::is_none")]
···49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51 pub subject_repo: std::option::Option<VerificationViewRecordSubjectRepo<'a>>,
52+ ///The AT-URI of the verification record.
53 #[serde(borrow)]
54 pub uri: jacquard_common::types::string::AtUri<'a>,
55}
56+57#[jacquard_derive::open_union]
58#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
59#[serde(tag = "$type")]
···69 #[serde(rename = "tools.ozone.moderation.defs#repoViewNotFound")]
70 DefsRepoViewNotFound(Box<crate::tools_ozone::moderation::RepoViewNotFound<'a>>),
71}
72+73#[jacquard_derive::open_union]
74#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
75#[serde(tag = "$type")]
···84 DefsRepoViewDetail(Box<crate::tools_ozone::moderation::RepoViewDetail<'a>>),
85 #[serde(rename = "tools.ozone.moderation.defs#repoViewNotFound")]
86 DefsRepoViewNotFound(Box<crate::tools_ozone::moderation::RepoViewNotFound<'a>>),
87+}000
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6///Error object for failed verifications.
7#[jacquard_derive::lexicon]
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
9#[serde(rename_all = "camelCase")]
10pub struct GrantError<'a> {
11+ ///Error message describing the reason for failure.
12 #[serde(borrow)]
13 pub error: jacquard_common::CowStr<'a>,
14+ ///The did of the subject being verified
15 #[serde(borrow)]
16 pub subject: jacquard_common::types::string::Did<'a>,
17}
18+19#[jacquard_derive::lexicon]
20#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
21#[serde(rename_all = "camelCase")]
22pub struct GrantVerificationsInput<'a> {
23+ ///Array of verification requests to process
24 #[serde(borrow)]
25 pub verifications: Vec<jacquard_common::types::value::Data<'a>>,
26}
27+28#[jacquard_derive::lexicon]
29#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
30#[serde(rename_all = "camelCase")]
···34 #[serde(borrow)]
35 pub verifications: Vec<crate::tools_ozone::verification::VerificationView<'a>>,
36}
37+38#[jacquard_derive::lexicon]
39#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
40#[serde(rename_all = "camelCase")]
41pub struct VerificationInput<'a> {
42+ ///Timestamp for verification record. Defaults to current time when not specified.
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
45+ ///Display name of the subject the verification applies to at the moment of verifying.
46 #[serde(borrow)]
47 pub display_name: jacquard_common::CowStr<'a>,
48+ ///Handle of the subject the verification applies to at the moment of verifying.
49 #[serde(borrow)]
50 pub handle: jacquard_common::types::string::Handle<'a>,
51+ ///The did of the subject being verified
52 #[serde(borrow)]
53 pub subject: jacquard_common::types::string::Did<'a>,
54+}
···1+// @generated by jacquard-lexicon. DO NOT EDIT.
2+//
3+// This file was automatically generated from Lexicon schemas.
4+// Any manual changes will be overwritten on the next regeneration.
5+6#[jacquard_derive::lexicon]
7#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct RevokeVerificationsInput<'a> {
10+ ///Reason for revoking the verification. This is optional and can be omitted if not needed.
11 #[serde(skip_serializing_if = "std::option::Option::is_none")]
12 #[serde(borrow)]
13 pub revoke_reason: std::option::Option<jacquard_common::CowStr<'a>>,
14+ ///Array of verification record uris to revoke
15 #[serde(borrow)]
16 pub uris: Vec<jacquard_common::types::string::AtUri<'a>>,
17}
18+19#[jacquard_derive::lexicon]
20#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
21#[serde(rename_all = "camelCase")]
22pub struct RevokeVerificationsOutput<'a> {
23+ ///List of verification uris that couldn't be revoked, including failure reasons
24 #[serde(borrow)]
25 pub failed_revocations: Vec<jacquard_common::types::value::Data<'a>>,
26+ ///List of verification uris successfully revoked
27 #[serde(borrow)]
28 pub revoked_verifications: Vec<jacquard_common::types::string::AtUri<'a>>,
29}
30+31///Error object for failed revocations
32#[jacquard_derive::lexicon]
33#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
34#[serde(rename_all = "camelCase")]
35pub struct RevokeError<'a> {
36+ ///Description of the error that occurred during revocation.
37 #[serde(borrow)]
38 pub error: jacquard_common::CowStr<'a>,
39+ ///The AT-URI of the verification record that failed to revoke.
40 #[serde(borrow)]
41 pub uri: jacquard_common::types::string::AtUri<'a>,
42+}