···39 pub created_at: jacquard_common::types::string::Datetime,
40 /// The duration of the status in minutes. Applications can choose to impose minimum and maximum limits.
41 #[serde(skip_serializing_if = "std::option::Option::is_none")]
42- pub duration_minutes: Option<i64>,
43 /// An optional embed associated with the status.
44 #[serde(skip_serializing_if = "std::option::Option::is_none")]
45 #[serde(borrow)]
46- pub embed: Option<crate::app_bsky::embed::external::ExternalRecord<'a>>,
47 /// The status for the account.
48 #[serde(borrow)]
49 pub status: jacquard_common::CowStr<'a>,
···39 pub created_at: jacquard_common::types::string::Datetime,
40 /// The duration of the status in minutes. Applications can choose to impose minimum and maximum limits.
41 #[serde(skip_serializing_if = "std::option::Option::is_none")]
42+ pub duration_minutes: std::option::Option<i64>,
43 /// An optional embed associated with the status.
44 #[serde(skip_serializing_if = "std::option::Option::is_none")]
45 #[serde(borrow)]
46+ pub embed: std::option::Option<crate::app_bsky::embed::external::ExternalRecord<'a>>,
47 /// The status for the account.
48 #[serde(borrow)]
49 pub status: jacquard_common::CowStr<'a>,
+1-1
crates/jacquard-api/src/app_bsky/bookmark.rs
···263#[serde(rename_all = "camelCase")]
264pub struct BookmarkView<'a> {
265 #[serde(skip_serializing_if = "std::option::Option::is_none")]
266- pub created_at: Option<jacquard_common::types::string::Datetime>,
267 #[serde(borrow)]
268 pub item: BookmarkViewItem<'a>,
269 /// A strong ref to the bookmarked record.
···263#[serde(rename_all = "camelCase")]
264pub struct BookmarkView<'a> {
265 #[serde(skip_serializing_if = "std::option::Option::is_none")]
266+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
267 #[serde(borrow)]
268 pub item: BookmarkViewItem<'a>,
269 /// A strong ref to the bookmarked record.
···22 pub alt: jacquard_common::CowStr<'a>,
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25- pub aspect_ratio: Option<crate::app_bsky::embed::AspectRatio<'a>>,
26 #[serde(borrow)]
27 pub image: jacquard_common::types::blob::BlobRef<'a>,
28}
···741 pub alt: jacquard_common::CowStr<'a>,
742 #[serde(skip_serializing_if = "std::option::Option::is_none")]
743 #[serde(borrow)]
744- pub aspect_ratio: Option<crate::app_bsky::embed::AspectRatio<'a>>,
745 /// 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.
746 #[serde(borrow)]
747 pub fullsize: jacquard_common::types::string::Uri<'a>,
···22 pub alt: jacquard_common::CowStr<'a>,
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25+ pub aspect_ratio: std::option::Option<crate::app_bsky::embed::AspectRatio<'a>>,
26 #[serde(borrow)]
27 pub image: jacquard_common::types::blob::BlobRef<'a>,
28}
···741 pub alt: jacquard_common::CowStr<'a>,
742 #[serde(skip_serializing_if = "std::option::Option::is_none")]
743 #[serde(borrow)]
744+ pub aspect_ratio: std::option::Option<crate::app_bsky::embed::AspectRatio<'a>>,
745 /// 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.
746 #[serde(borrow)]
747 pub fullsize: jacquard_common::types::string::Uri<'a>,
···584 pub created_at: jacquard_common::types::string::Datetime,
585 #[serde(skip_serializing_if = "std::option::Option::is_none")]
586 #[serde(borrow)]
587- pub embed: Option<PostEmbed<'a>>,
588 /// DEPRECATED: replaced by app.bsky.richtext.facet.
589 #[serde(skip_serializing_if = "std::option::Option::is_none")]
590 #[serde(borrow)]
591- pub entities: Option<Vec<crate::app_bsky::feed::post::Entity<'a>>>,
592 /// Annotations of text (mentions, URLs, hashtags, etc)
593 #[serde(skip_serializing_if = "std::option::Option::is_none")]
594 #[serde(borrow)]
595- pub facets: Option<Vec<crate::app_bsky::richtext::facet::Facet<'a>>>,
596 /// Self-label values for this post. Effectively content warnings.
597 #[serde(skip_serializing_if = "std::option::Option::is_none")]
598 #[serde(borrow)]
599- pub labels: Option<crate::com_atproto::label::SelfLabels<'a>>,
600 /// Indicates human language of post primary text content.
601 #[serde(skip_serializing_if = "std::option::Option::is_none")]
602- pub langs: Option<Vec<jacquard_common::types::string::Language>>,
603 #[serde(skip_serializing_if = "std::option::Option::is_none")]
604 #[serde(borrow)]
605- pub reply: Option<crate::app_bsky::feed::post::ReplyRef<'a>>,
606 /// Additional hashtags, in addition to any included in post text and facets.
607 #[serde(skip_serializing_if = "std::option::Option::is_none")]
608 #[serde(borrow)]
609- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
610 /// The primary post content. May be an empty string, if there are embeds.
611 #[serde(borrow)]
612 pub text: jacquard_common::CowStr<'a>,
···584 pub created_at: jacquard_common::types::string::Datetime,
585 #[serde(skip_serializing_if = "std::option::Option::is_none")]
586 #[serde(borrow)]
587+ pub embed: std::option::Option<PostEmbed<'a>>,
588 /// DEPRECATED: replaced by app.bsky.richtext.facet.
589 #[serde(skip_serializing_if = "std::option::Option::is_none")]
590 #[serde(borrow)]
591+ pub entities: std::option::Option<Vec<crate::app_bsky::feed::post::Entity<'a>>>,
592 /// Annotations of text (mentions, URLs, hashtags, etc)
593 #[serde(skip_serializing_if = "std::option::Option::is_none")]
594 #[serde(borrow)]
595+ pub facets: std::option::Option<Vec<crate::app_bsky::richtext::facet::Facet<'a>>>,
596 /// Self-label values for this post. Effectively content warnings.
597 #[serde(skip_serializing_if = "std::option::Option::is_none")]
598 #[serde(borrow)]
599+ pub labels: std::option::Option<crate::com_atproto::label::SelfLabels<'a>>,
600 /// Indicates human language of post primary text content.
601 #[serde(skip_serializing_if = "std::option::Option::is_none")]
602+ pub langs: std::option::Option<Vec<jacquard_common::types::string::Language>>,
603 #[serde(skip_serializing_if = "std::option::Option::is_none")]
604 #[serde(borrow)]
605+ pub reply: std::option::Option<crate::app_bsky::feed::post::ReplyRef<'a>>,
606 /// Additional hashtags, in addition to any included in post text and facets.
607 #[serde(skip_serializing_if = "std::option::Option::is_none")]
608 #[serde(borrow)]
609+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
610 /// The primary post content. May be an empty string, if there are embeds.
611 #[serde(borrow)]
612 pub text: jacquard_common::CowStr<'a>,
+6-2
crates/jacquard-api/src/app_bsky/feed/postgate.rs
···200 /// List of AT-URIs embedding this post that the author has detached from.
201 #[serde(skip_serializing_if = "std::option::Option::is_none")]
202 #[serde(borrow)]
203- pub detached_embedding_uris: Option<Vec<jacquard_common::types::string::AtUri<'a>>>,
00204 /// 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.
205 #[serde(skip_serializing_if = "std::option::Option::is_none")]
206 #[serde(borrow)]
207- pub embedding_rules: Option<Vec<crate::app_bsky::feed::postgate::DisableRule<'a>>>,
00208 /// Reference (AT-URI) to the post record.
209 #[serde(borrow)]
210 pub post: jacquard_common::types::string::AtUri<'a>,
···200 /// List of AT-URIs embedding this post that the author has detached from.
201 #[serde(skip_serializing_if = "std::option::Option::is_none")]
202 #[serde(borrow)]
203+ pub detached_embedding_uris: std::option::Option<
204+ Vec<jacquard_common::types::string::AtUri<'a>>,
205+ >,
206 /// 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.
207 #[serde(skip_serializing_if = "std::option::Option::is_none")]
208 #[serde(borrow)]
209+ pub embedding_rules: std::option::Option<
210+ Vec<crate::app_bsky::feed::postgate::DisableRule<'a>>,
211+ >,
212 /// Reference (AT-URI) to the post record.
213 #[serde(borrow)]
214 pub post: jacquard_common::types::string::AtUri<'a>,
···440 /// 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.
441 #[serde(skip_serializing_if = "std::option::Option::is_none")]
442 #[serde(borrow)]
443- pub allow: Option<Vec<ThreadgateAllowItem<'a>>>,
444 pub created_at: jacquard_common::types::string::Datetime,
445 /// List of hidden reply URIs.
446 #[serde(skip_serializing_if = "std::option::Option::is_none")]
447 #[serde(borrow)]
448- pub hidden_replies: Option<Vec<jacquard_common::types::string::AtUri<'a>>>,
00449 /// Reference (AT-URI) to the post record.
450 #[serde(borrow)]
451 pub post: jacquard_common::types::string::AtUri<'a>,
···440 /// 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.
441 #[serde(skip_serializing_if = "std::option::Option::is_none")]
442 #[serde(borrow)]
443+ pub allow: std::option::Option<Vec<ThreadgateAllowItem<'a>>>,
444 pub created_at: jacquard_common::types::string::Datetime,
445 /// List of hidden reply URIs.
446 #[serde(skip_serializing_if = "std::option::Option::is_none")]
447 #[serde(borrow)]
448+ pub hidden_replies: std::option::Option<
449+ Vec<jacquard_common::types::string::AtUri<'a>>,
450+ >,
451 /// Reference (AT-URI) to the post record.
452 #[serde(borrow)]
453 pub post: jacquard_common::types::string::AtUri<'a>,
···23 /// Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub label_value_definitions: Option<
27 Vec<crate::com_atproto::label::LabelValueDefinition<'a>>,
28 >,
29 /// The label values which this labeler publishes. May include global or custom labels.
···612 pub indexed_at: jacquard_common::types::string::Datetime,
613 #[serde(skip_serializing_if = "std::option::Option::is_none")]
614 #[serde(borrow)]
615- pub labels: Option<Vec<crate::com_atproto::label::Label<'a>>>,
616 #[serde(skip_serializing_if = "std::option::Option::is_none")]
617- pub like_count: Option<i64>,
618 #[serde(borrow)]
619 pub uri: jacquard_common::types::string::AtUri<'a>,
620 #[serde(skip_serializing_if = "std::option::Option::is_none")]
621 #[serde(borrow)]
622- pub viewer: Option<crate::app_bsky::labeler::LabelerViewerState<'a>>,
623}
624625pub mod labeler_view_state {
···945 pub indexed_at: jacquard_common::types::string::Datetime,
946 #[serde(skip_serializing_if = "std::option::Option::is_none")]
947 #[serde(borrow)]
948- pub labels: Option<Vec<crate::com_atproto::label::Label<'a>>>,
949 #[serde(skip_serializing_if = "std::option::Option::is_none")]
950- pub like_count: Option<i64>,
951 #[serde(borrow)]
952 pub policies: crate::app_bsky::labeler::LabelerPolicies<'a>,
953 /// 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.
954 #[serde(skip_serializing_if = "std::option::Option::is_none")]
955 #[serde(borrow)]
956- pub reason_types: Option<Vec<crate::com_atproto::moderation::ReasonType<'a>>>,
00957 /// 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.
958 #[serde(skip_serializing_if = "std::option::Option::is_none")]
959 #[serde(borrow)]
960- pub subject_collections: Option<Vec<jacquard_common::types::string::Nsid<'a>>>,
00961 /// The set of subject types (account, record, etc) this service accepts reports on.
962 #[serde(skip_serializing_if = "std::option::Option::is_none")]
963 #[serde(borrow)]
964- pub subject_types: Option<Vec<crate::com_atproto::moderation::SubjectType<'a>>>,
00965 #[serde(borrow)]
966 pub uri: jacquard_common::types::string::AtUri<'a>,
967 #[serde(skip_serializing_if = "std::option::Option::is_none")]
968 #[serde(borrow)]
969- pub viewer: Option<crate::app_bsky::labeler::LabelerViewerState<'a>>,
970}
971972pub mod labeler_view_detailed_state {
···23 /// Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub label_value_definitions: std::option::Option<
27 Vec<crate::com_atproto::label::LabelValueDefinition<'a>>,
28 >,
29 /// The label values which this labeler publishes. May include global or custom labels.
···612 pub indexed_at: jacquard_common::types::string::Datetime,
613 #[serde(skip_serializing_if = "std::option::Option::is_none")]
614 #[serde(borrow)]
615+ pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
616 #[serde(skip_serializing_if = "std::option::Option::is_none")]
617+ pub like_count: std::option::Option<i64>,
618 #[serde(borrow)]
619 pub uri: jacquard_common::types::string::AtUri<'a>,
620 #[serde(skip_serializing_if = "std::option::Option::is_none")]
621 #[serde(borrow)]
622+ pub viewer: std::option::Option<crate::app_bsky::labeler::LabelerViewerState<'a>>,
623}
624625pub mod labeler_view_state {
···945 pub indexed_at: jacquard_common::types::string::Datetime,
946 #[serde(skip_serializing_if = "std::option::Option::is_none")]
947 #[serde(borrow)]
948+ pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
949 #[serde(skip_serializing_if = "std::option::Option::is_none")]
950+ pub like_count: std::option::Option<i64>,
951 #[serde(borrow)]
952 pub policies: crate::app_bsky::labeler::LabelerPolicies<'a>,
953 /// 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.
954 #[serde(skip_serializing_if = "std::option::Option::is_none")]
955 #[serde(borrow)]
956+ pub reason_types: std::option::Option<
957+ Vec<crate::com_atproto::moderation::ReasonType<'a>>,
958+ >,
959 /// 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.
960 #[serde(skip_serializing_if = "std::option::Option::is_none")]
961 #[serde(borrow)]
962+ pub subject_collections: std::option::Option<
963+ Vec<jacquard_common::types::string::Nsid<'a>>,
964+ >,
965 /// The set of subject types (account, record, etc) this service accepts reports on.
966 #[serde(skip_serializing_if = "std::option::Option::is_none")]
967 #[serde(borrow)]
968+ pub subject_types: std::option::Option<
969+ Vec<crate::com_atproto::moderation::SubjectType<'a>>,
970+ >,
971 #[serde(borrow)]
972 pub uri: jacquard_common::types::string::AtUri<'a>,
973 #[serde(skip_serializing_if = "std::option::Option::is_none")]
974 #[serde(borrow)]
975+ pub viewer: std::option::Option<crate::app_bsky::labeler::LabelerViewerState<'a>>,
976}
977978pub mod labeler_view_detailed_state {
···21 pub created_at: jacquard_common::types::string::Datetime,
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24- pub labels: Option<crate::com_atproto::label::SelfLabels<'a>>,
25 #[serde(borrow)]
26 pub policies: crate::app_bsky::labeler::LabelerPolicies<'a>,
27 /// 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.
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30- pub reason_types: Option<Vec<crate::com_atproto::moderation::ReasonType<'a>>>,
0031 /// 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.
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34- pub subject_collections: Option<Vec<jacquard_common::types::string::Nsid<'a>>>,
0035 /// The set of subject types (account, record, etc) this service accepts reports on.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38- pub subject_types: Option<Vec<crate::com_atproto::moderation::SubjectType<'a>>>,
0039}
4041pub mod service_state {
···21 pub created_at: jacquard_common::types::string::Datetime,
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24+ pub labels: std::option::Option<crate::com_atproto::label::SelfLabels<'a>>,
25 #[serde(borrow)]
26 pub policies: crate::app_bsky::labeler::LabelerPolicies<'a>,
27 /// 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.
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30+ pub reason_types: std::option::Option<
31+ Vec<crate::com_atproto::moderation::ReasonType<'a>>,
32+ >,
33 /// 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.
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36+ pub subject_collections: std::option::Option<
37+ Vec<jacquard_common::types::string::Nsid<'a>>,
38+ >,
39 /// The set of subject types (account, record, etc) this service accepts reports on.
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[serde(borrow)]
42+ pub subject_types: std::option::Option<
43+ Vec<crate::com_atproto::moderation::SubjectType<'a>>,
44+ >,
45}
4647pub mod service_state {
···248 pub is_read: bool,
249 #[serde(skip_serializing_if = "std::option::Option::is_none")]
250 #[serde(borrow)]
251- pub labels: Option<Vec<crate::com_atproto::label::Label<'a>>>,
252 /// The reason why this notification was delivered - e.g. your post was liked, or you received a new follower.
253 #[serde(borrow)]
254 pub reason: jacquard_common::CowStr<'a>,
255 #[serde(skip_serializing_if = "std::option::Option::is_none")]
256 #[serde(borrow)]
257- pub reason_subject: Option<jacquard_common::types::string::AtUri<'a>>,
258 #[serde(borrow)]
259 pub record: jacquard_common::types::value::Data<'a>,
260 #[serde(borrow)]
···248 pub is_read: bool,
249 #[serde(skip_serializing_if = "std::option::Option::is_none")]
250 #[serde(borrow)]
251+ pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
252 /// The reason why this notification was delivered - e.g. your post was liked, or you received a new follower.
253 #[serde(borrow)]
254 pub reason: jacquard_common::CowStr<'a>,
255 #[serde(skip_serializing_if = "std::option::Option::is_none")]
256 #[serde(borrow)]
257+ pub reason_subject: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
258 #[serde(borrow)]
259 pub record: jacquard_common::types::value::Data<'a>,
260 #[serde(borrow)]
···19pub struct RegisterPush<'a> {
20 /// Set to true when the actor is age restricted
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22- pub age_restricted: Option<bool>,
23 #[serde(borrow)]
24 pub app_id: jacquard_common::CowStr<'a>,
25 #[serde(borrow)]
···19pub struct RegisterPush<'a> {
20 /// Set to true when the actor is age restricted
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22+ pub age_restricted: std::option::Option<bool>,
23 #[serde(borrow)]
24 pub app_id: jacquard_common::CowStr<'a>,
25 #[serde(borrow)]
+9-9
crates/jacquard-api/src/app_bsky/unspecced.rs
···47 /// The IP address used when completing the AA flow.
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49 #[serde(borrow)]
50- pub complete_ip: Option<jacquard_common::CowStr<'a>>,
51 /// The user agent used when completing the AA flow.
52 #[serde(skip_serializing_if = "std::option::Option::is_none")]
53 #[serde(borrow)]
54- pub complete_ua: Option<jacquard_common::CowStr<'a>>,
55 /// The date and time of this write operation.
56 pub created_at: jacquard_common::types::string::Datetime,
57 /// The email used for AA.
58 #[serde(skip_serializing_if = "std::option::Option::is_none")]
59 #[serde(borrow)]
60- pub email: Option<jacquard_common::CowStr<'a>>,
61 /// The IP address used when initiating the AA flow.
62 #[serde(skip_serializing_if = "std::option::Option::is_none")]
63 #[serde(borrow)]
64- pub init_ip: Option<jacquard_common::CowStr<'a>>,
65 /// The user agent used when initiating the AA flow.
66 #[serde(skip_serializing_if = "std::option::Option::is_none")]
67 #[serde(borrow)]
68- pub init_ua: Option<jacquard_common::CowStr<'a>>,
69 /// The status of the age assurance process.
70 #[serde(borrow)]
71 pub status: jacquard_common::CowStr<'a>,
···1717pub struct SkeletonTrend<'a> {
1718 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1719 #[serde(borrow)]
1720- pub category: Option<jacquard_common::CowStr<'a>>,
1721 #[serde(borrow)]
1722 pub dids: Vec<jacquard_common::types::string::Did<'a>>,
1723 #[serde(borrow)]
···1728 pub started_at: jacquard_common::types::string::Datetime,
1729 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1730 #[serde(borrow)]
1731- pub status: Option<jacquard_common::CowStr<'a>>,
1732 #[serde(borrow)]
1733 pub topic: jacquard_common::CowStr<'a>,
1734}
···2645 pub actors: Vec<crate::app_bsky::actor::ProfileViewBasic<'a>>,
2646 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2647 #[serde(borrow)]
2648- pub category: Option<jacquard_common::CowStr<'a>>,
2649 #[serde(borrow)]
2650 pub display_name: jacquard_common::CowStr<'a>,
2651 #[serde(borrow)]
···2654 pub started_at: jacquard_common::types::string::Datetime,
2655 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2656 #[serde(borrow)]
2657- pub status: Option<jacquard_common::CowStr<'a>>,
2658 #[serde(borrow)]
2659 pub topic: jacquard_common::CowStr<'a>,
2660}
···47 /// The IP address used when completing the AA flow.
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49 #[serde(borrow)]
50+ pub complete_ip: std::option::Option<jacquard_common::CowStr<'a>>,
51 /// The user agent used when completing the AA flow.
52 #[serde(skip_serializing_if = "std::option::Option::is_none")]
53 #[serde(borrow)]
54+ pub complete_ua: std::option::Option<jacquard_common::CowStr<'a>>,
55 /// The date and time of this write operation.
56 pub created_at: jacquard_common::types::string::Datetime,
57 /// The email used for AA.
58 #[serde(skip_serializing_if = "std::option::Option::is_none")]
59 #[serde(borrow)]
60+ pub email: std::option::Option<jacquard_common::CowStr<'a>>,
61 /// The IP address used when initiating the AA flow.
62 #[serde(skip_serializing_if = "std::option::Option::is_none")]
63 #[serde(borrow)]
64+ pub init_ip: std::option::Option<jacquard_common::CowStr<'a>>,
65 /// The user agent used when initiating the AA flow.
66 #[serde(skip_serializing_if = "std::option::Option::is_none")]
67 #[serde(borrow)]
68+ pub init_ua: std::option::Option<jacquard_common::CowStr<'a>>,
69 /// The status of the age assurance process.
70 #[serde(borrow)]
71 pub status: jacquard_common::CowStr<'a>,
···1717pub struct SkeletonTrend<'a> {
1718 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1719 #[serde(borrow)]
1720+ pub category: std::option::Option<jacquard_common::CowStr<'a>>,
1721 #[serde(borrow)]
1722 pub dids: Vec<jacquard_common::types::string::Did<'a>>,
1723 #[serde(borrow)]
···1728 pub started_at: jacquard_common::types::string::Datetime,
1729 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1730 #[serde(borrow)]
1731+ pub status: std::option::Option<jacquard_common::CowStr<'a>>,
1732 #[serde(borrow)]
1733 pub topic: jacquard_common::CowStr<'a>,
1734}
···2645 pub actors: Vec<crate::app_bsky::actor::ProfileViewBasic<'a>>,
2646 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2647 #[serde(borrow)]
2648+ pub category: std::option::Option<jacquard_common::CowStr<'a>>,
2649 #[serde(borrow)]
2650 pub display_name: jacquard_common::CowStr<'a>,
2651 #[serde(borrow)]
···2654 pub started_at: jacquard_common::types::string::Datetime,
2655 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2656 #[serde(borrow)]
2657+ pub status: std::option::Option<jacquard_common::CowStr<'a>>,
2658 #[serde(borrow)]
2659 pub topic: jacquard_common::CowStr<'a>,
2660}
+4-4
crates/jacquard-api/src/app_bsky/video.rs
···23pub struct JobStatus<'a> {
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub blob: Option<jacquard_common::types::blob::BlobRef<'a>>,
27 #[serde(borrow)]
28 pub did: jacquard_common::types::string::Did<'a>,
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31- pub error: Option<jacquard_common::CowStr<'a>>,
32 #[serde(borrow)]
33 pub job_id: jacquard_common::CowStr<'a>,
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36- pub message: Option<jacquard_common::CowStr<'a>>,
37 /// Progress within the current processing state.
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39- pub progress: Option<i64>,
40 /// The state of the video processing job. All values not listed as a known value indicate that the job is in process.
41 #[serde(borrow)]
42 pub state: jacquard_common::CowStr<'a>,
···23pub struct JobStatus<'a> {
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub blob: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
27 #[serde(borrow)]
28 pub did: jacquard_common::types::string::Did<'a>,
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31+ pub error: std::option::Option<jacquard_common::CowStr<'a>>,
32 #[serde(borrow)]
33 pub job_id: jacquard_common::CowStr<'a>,
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36+ pub message: std::option::Option<jacquard_common::CowStr<'a>>,
37 /// Progress within the current processing state.
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39+ pub progress: std::option::Option<i64>,
40 /// The state of the video processing job. All values not listed as a known value indicate that the job is in process.
41 #[serde(borrow)]
42 pub state: jacquard_common::CowStr<'a>,
+1-1
crates/jacquard-api/src/app_ocho/plugin.rs
···1127 pub r#type: jacquard_common::CowStr<'a>,
1128 /// The date and time when this asset was last updated. Used to reset the jetstream cache, among other things.
1129 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1130- pub updated_at: Option<jacquard_common::types::string::Datetime>,
1131}
11321133pub mod asset_state {
···1127 pub r#type: jacquard_common::CowStr<'a>,
1128 /// The date and time when this asset was last updated. Used to reset the jetstream cache, among other things.
1129 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1130+ pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
1131}
11321133pub mod asset_state {
···20pub struct Service<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub db: Option<crate::app_ocho::plugin::Db<'a>>,
24 /// Additional metadata for the plugin, including Expo client and Go configurations.
25 #[serde(borrow)]
26 pub permissions: Vec<jacquard_common::CowStr<'a>>,
···20pub struct Service<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub db: std::option::Option<crate::app_ocho::plugin::Db<'a>>,
24 /// Additional metadata for the plugin, including Expo client and Go configurations.
25 #[serde(borrow)]
26 pub permissions: Vec<jacquard_common::CowStr<'a>>,
+10-10
crates/jacquard-api/src/app_rocksky/album.rs
···25 /// The album art of the album.
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28- pub album_art: Option<jacquard_common::types::blob::BlobRef<'a>>,
29 /// The Apple Music link of the album.
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32- pub apple_music_link: Option<jacquard_common::types::string::Uri<'a>>,
33 /// The artist of the album.
34 #[serde(borrow)]
35 pub artist: jacquard_common::CowStr<'a>,
···37 pub created_at: jacquard_common::types::string::Datetime,
38 /// The duration of the album in seconds.
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40- pub duration: Option<i64>,
41 /// The genre of the album.
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44- pub genre: Option<jacquard_common::CowStr<'a>>,
45 /// The release date of the album.
46 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47- pub release_date: Option<jacquard_common::types::string::Datetime>,
48 /// The Spotify link of the album.
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51- pub spotify_link: Option<jacquard_common::types::string::Uri<'a>>,
52 /// The tags of the album.
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54 #[serde(borrow)]
55- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
56 /// The tidal link of the album.
57 #[serde(skip_serializing_if = "std::option::Option::is_none")]
58 #[serde(borrow)]
59- pub tidal_link: Option<jacquard_common::types::string::Uri<'a>>,
60 /// The title of the album.
61 #[serde(borrow)]
62 pub title: jacquard_common::CowStr<'a>,
63 /// The year the album was released.
64 #[serde(skip_serializing_if = "std::option::Option::is_none")]
65- pub year: Option<i64>,
66 /// The YouTube link of the album.
67 #[serde(skip_serializing_if = "std::option::Option::is_none")]
68 #[serde(borrow)]
69- pub youtube_link: Option<jacquard_common::types::string::Uri<'a>>,
70}
7172pub mod album_state {
···25 /// The album art of the album.
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28+ pub album_art: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
29 /// The Apple Music link of the album.
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32+ pub apple_music_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
33 /// The artist of the album.
34 #[serde(borrow)]
35 pub artist: jacquard_common::CowStr<'a>,
···37 pub created_at: jacquard_common::types::string::Datetime,
38 /// The duration of the album in seconds.
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40+ pub duration: std::option::Option<i64>,
41 /// The genre of the album.
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44+ pub genre: std::option::Option<jacquard_common::CowStr<'a>>,
45 /// The release date of the album.
46 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47+ pub release_date: std::option::Option<jacquard_common::types::string::Datetime>,
48 /// The Spotify link of the album.
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51+ pub spotify_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
52 /// The tags of the album.
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54 #[serde(borrow)]
55+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
56 /// The tidal link of the album.
57 #[serde(skip_serializing_if = "std::option::Option::is_none")]
58 #[serde(borrow)]
59+ pub tidal_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
60 /// The title of the album.
61 #[serde(borrow)]
62 pub title: jacquard_common::CowStr<'a>,
63 /// The year the album was released.
64 #[serde(skip_serializing_if = "std::option::Option::is_none")]
65+ pub year: std::option::Option<i64>,
66 /// The YouTube link of the album.
67 #[serde(skip_serializing_if = "std::option::Option::is_none")]
68 #[serde(borrow)]
69+ pub youtube_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
70}
7172pub mod album_state {
+6-6
crates/jacquard-api/src/app_rocksky/artist.rs
···26 /// The biography of the artist.
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29- pub bio: Option<jacquard_common::CowStr<'a>>,
30 /// The birth date of the artist.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32- pub born: Option<jacquard_common::types::string::Datetime>,
33 /// The birth place of the artist.
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36- pub born_in: Option<jacquard_common::CowStr<'a>>,
37 /// The date when the artist was created.
38 pub created_at: jacquard_common::types::string::Datetime,
39 /// The death date of the artist.
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41- pub died: Option<jacquard_common::types::string::Datetime>,
42 /// The name of the artist.
43 #[serde(borrow)]
44 pub name: jacquard_common::CowStr<'a>,
45 /// The picture of the artist.
46 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47 #[serde(borrow)]
48- pub picture: Option<jacquard_common::types::blob::BlobRef<'a>>,
49 /// The tags of the artist.
50 #[serde(skip_serializing_if = "std::option::Option::is_none")]
51 #[serde(borrow)]
52- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
53}
5455pub mod artist_state {
···26 /// The biography of the artist.
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29+ pub bio: std::option::Option<jacquard_common::CowStr<'a>>,
30 /// The birth date of the artist.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32+ pub born: std::option::Option<jacquard_common::types::string::Datetime>,
33 /// The birth place of the artist.
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36+ pub born_in: std::option::Option<jacquard_common::CowStr<'a>>,
37 /// The date when the artist was created.
38 pub created_at: jacquard_common::types::string::Datetime,
39 /// The death date of the artist.
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41+ pub died: std::option::Option<jacquard_common::types::string::Datetime>,
42 /// The name of the artist.
43 #[serde(borrow)]
44 pub name: jacquard_common::CowStr<'a>,
45 /// The picture of the artist.
46 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47 #[serde(borrow)]
48+ pub picture: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
49 /// The tags of the artist.
50 #[serde(skip_serializing_if = "std::option::Option::is_none")]
51 #[serde(borrow)]
52+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
53}
5455pub mod artist_state {
+7-7
crates/jacquard-api/src/app_rocksky/playlist.rs
···24 /// The Apple Music link of the playlist.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub apple_music_link: Option<jacquard_common::CowStr<'a>>,
28 /// The date the playlist was created.
29 pub created_at: jacquard_common::types::string::Datetime,
30 /// The playlist description.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33- pub description: Option<jacquard_common::CowStr<'a>>,
34 /// The name of the playlist.
35 #[serde(borrow)]
36 pub name: jacquard_common::CowStr<'a>,
37 /// The picture of the playlist.
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39 #[serde(borrow)]
40- pub picture: Option<jacquard_common::types::blob::BlobRef<'a>>,
41 /// The Spotify link of the playlist.
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44- pub spotify_link: Option<jacquard_common::CowStr<'a>>,
45 /// The Tidal link of the playlist.
46 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47 #[serde(borrow)]
48- pub tidal_link: Option<jacquard_common::CowStr<'a>>,
49 /// The tracks in the playlist.
50 #[serde(skip_serializing_if = "std::option::Option::is_none")]
51 #[serde(borrow)]
52- pub tracks: Option<Vec<jacquard_common::types::value::Data<'a>>>,
53 /// The YouTube link of the playlist.
54 #[serde(skip_serializing_if = "std::option::Option::is_none")]
55 #[serde(borrow)]
56- pub youtube_link: Option<jacquard_common::CowStr<'a>>,
57}
5859pub mod playlist_state {
···24 /// The Apple Music link of the playlist.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub apple_music_link: std::option::Option<jacquard_common::CowStr<'a>>,
28 /// The date the playlist was created.
29 pub created_at: jacquard_common::types::string::Datetime,
30 /// The playlist description.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
34 /// The name of the playlist.
35 #[serde(borrow)]
36 pub name: jacquard_common::CowStr<'a>,
37 /// The picture of the playlist.
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39 #[serde(borrow)]
40+ pub picture: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
41 /// The Spotify link of the playlist.
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44+ pub spotify_link: std::option::Option<jacquard_common::CowStr<'a>>,
45 /// The Tidal link of the playlist.
46 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47 #[serde(borrow)]
48+ pub tidal_link: std::option::Option<jacquard_common::CowStr<'a>>,
49 /// The tracks in the playlist.
50 #[serde(skip_serializing_if = "std::option::Option::is_none")]
51 #[serde(borrow)]
52+ pub tracks: std::option::Option<Vec<jacquard_common::types::value::Data<'a>>>,
53 /// The YouTube link of the playlist.
54 #[serde(skip_serializing_if = "std::option::Option::is_none")]
55 #[serde(borrow)]
56+ pub youtube_link: std::option::Option<jacquard_common::CowStr<'a>>,
57}
5859pub mod playlist_state {
+4-4
crates/jacquard-api/src/app_rocksky/radio.rs
···23 /// A description of the radio station.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub description: Option<jacquard_common::CowStr<'a>>,
27 /// The genre of the radio station.
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30- pub genre: Option<jacquard_common::CowStr<'a>>,
31 /// The logo of the radio station.
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34- pub logo: Option<jacquard_common::types::blob::BlobRef<'a>>,
35 /// The name of the radio station.
36 #[serde(borrow)]
37 pub name: jacquard_common::CowStr<'a>,
···41 /// The website of the radio station.
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44- pub website: Option<jacquard_common::types::string::Uri<'a>>,
45}
4647pub mod radio_state {
···23 /// A description of the radio station.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
27 /// The genre of the radio station.
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30+ pub genre: std::option::Option<jacquard_common::CowStr<'a>>,
31 /// The logo of the radio station.
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34+ pub logo: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
35 /// The name of the radio station.
36 #[serde(borrow)]
37 pub name: jacquard_common::CowStr<'a>,
···41 /// The website of the radio station.
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44+ pub website: std::option::Option<jacquard_common::types::string::Uri<'a>>,
45}
4647pub mod radio_state {
+17-17
crates/jacquard-api/src/app_rocksky/scrobble.rs
···28 /// The album art of the song.
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31- pub album_art: Option<jacquard_common::types::blob::BlobRef<'a>>,
32 /// The album artist of the song.
33 #[serde(borrow)]
34 pub album_artist: jacquard_common::CowStr<'a>,
35 /// The Apple Music link of the song.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38- pub apple_music_link: Option<jacquard_common::types::string::Uri<'a>>,
39 /// The artist of the song.
40 #[serde(borrow)]
41 pub artist: jacquard_common::CowStr<'a>,
42 /// The composer of the song.
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45- pub composer: Option<jacquard_common::CowStr<'a>>,
46 /// The copyright message of the song.
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48 #[serde(borrow)]
49- pub copyright_message: Option<jacquard_common::CowStr<'a>>,
50 /// The date when the song was created.
51 pub created_at: jacquard_common::types::string::Datetime,
52 /// The disc number of the song in the album.
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54- pub disc_number: Option<i64>,
55 /// The duration of the song in seconds.
56 pub duration: i64,
57 /// The genre of the song.
58 #[serde(skip_serializing_if = "std::option::Option::is_none")]
59 #[serde(borrow)]
60- pub genre: Option<jacquard_common::CowStr<'a>>,
61 /// The label of the song.
62 #[serde(skip_serializing_if = "std::option::Option::is_none")]
63 #[serde(borrow)]
64- pub label: Option<jacquard_common::CowStr<'a>>,
65 /// The lyrics of the song.
66 #[serde(skip_serializing_if = "std::option::Option::is_none")]
67 #[serde(borrow)]
68- pub lyrics: Option<jacquard_common::CowStr<'a>>,
69 /// The MusicBrainz ID of the song.
70 #[serde(skip_serializing_if = "std::option::Option::is_none")]
71 #[serde(borrow)]
72- pub mbid: Option<jacquard_common::CowStr<'a>>,
73 /// The release date of the song.
74 #[serde(skip_serializing_if = "std::option::Option::is_none")]
75- pub release_date: Option<jacquard_common::types::string::Datetime>,
76 /// The Spotify link of the song.
77 #[serde(skip_serializing_if = "std::option::Option::is_none")]
78 #[serde(borrow)]
79- pub spotify_link: Option<jacquard_common::types::string::Uri<'a>>,
80 /// The tags of the song.
81 #[serde(skip_serializing_if = "std::option::Option::is_none")]
82 #[serde(borrow)]
83- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
84 /// The Tidal link of the song.
85 #[serde(skip_serializing_if = "std::option::Option::is_none")]
86 #[serde(borrow)]
87- pub tidal_link: Option<jacquard_common::types::string::Uri<'a>>,
88 /// The title of the song.
89 #[serde(borrow)]
90 pub title: jacquard_common::CowStr<'a>,
91 /// The track number of the song in the album.
92 #[serde(skip_serializing_if = "std::option::Option::is_none")]
93- pub track_number: Option<i64>,
94 /// Informations about the song
95 #[serde(skip_serializing_if = "std::option::Option::is_none")]
96 #[serde(borrow)]
97- pub wiki: Option<jacquard_common::CowStr<'a>>,
98 /// The year the song was released.
99 #[serde(skip_serializing_if = "std::option::Option::is_none")]
100- pub year: Option<i64>,
101 /// The YouTube link of the song.
102 #[serde(skip_serializing_if = "std::option::Option::is_none")]
103 #[serde(borrow)]
104- pub youtube_link: Option<jacquard_common::types::string::Uri<'a>>,
105}
106107pub mod scrobble_state {
···28 /// The album art of the song.
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31+ pub album_art: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
32 /// The album artist of the song.
33 #[serde(borrow)]
34 pub album_artist: jacquard_common::CowStr<'a>,
35 /// The Apple Music link of the song.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38+ pub apple_music_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
39 /// The artist of the song.
40 #[serde(borrow)]
41 pub artist: jacquard_common::CowStr<'a>,
42 /// The composer of the song.
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45+ pub composer: std::option::Option<jacquard_common::CowStr<'a>>,
46 /// The copyright message of the song.
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48 #[serde(borrow)]
49+ pub copyright_message: std::option::Option<jacquard_common::CowStr<'a>>,
50 /// The date when the song was created.
51 pub created_at: jacquard_common::types::string::Datetime,
52 /// The disc number of the song in the album.
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54+ pub disc_number: std::option::Option<i64>,
55 /// The duration of the song in seconds.
56 pub duration: i64,
57 /// The genre of the song.
58 #[serde(skip_serializing_if = "std::option::Option::is_none")]
59 #[serde(borrow)]
60+ pub genre: std::option::Option<jacquard_common::CowStr<'a>>,
61 /// The label of the song.
62 #[serde(skip_serializing_if = "std::option::Option::is_none")]
63 #[serde(borrow)]
64+ pub label: std::option::Option<jacquard_common::CowStr<'a>>,
65 /// The lyrics of the song.
66 #[serde(skip_serializing_if = "std::option::Option::is_none")]
67 #[serde(borrow)]
68+ pub lyrics: std::option::Option<jacquard_common::CowStr<'a>>,
69 /// The MusicBrainz ID of the song.
70 #[serde(skip_serializing_if = "std::option::Option::is_none")]
71 #[serde(borrow)]
72+ pub mbid: std::option::Option<jacquard_common::CowStr<'a>>,
73 /// The release date of the song.
74 #[serde(skip_serializing_if = "std::option::Option::is_none")]
75+ pub release_date: std::option::Option<jacquard_common::types::string::Datetime>,
76 /// The Spotify link of the song.
77 #[serde(skip_serializing_if = "std::option::Option::is_none")]
78 #[serde(borrow)]
79+ pub spotify_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
80 /// The tags of the song.
81 #[serde(skip_serializing_if = "std::option::Option::is_none")]
82 #[serde(borrow)]
83+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
84 /// The Tidal link of the song.
85 #[serde(skip_serializing_if = "std::option::Option::is_none")]
86 #[serde(borrow)]
87+ pub tidal_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
88 /// The title of the song.
89 #[serde(borrow)]
90 pub title: jacquard_common::CowStr<'a>,
91 /// The track number of the song in the album.
92 #[serde(skip_serializing_if = "std::option::Option::is_none")]
93+ pub track_number: std::option::Option<i64>,
94 /// Informations about the song
95 #[serde(skip_serializing_if = "std::option::Option::is_none")]
96 #[serde(borrow)]
97+ pub wiki: std::option::Option<jacquard_common::CowStr<'a>>,
98 /// The year the song was released.
99 #[serde(skip_serializing_if = "std::option::Option::is_none")]
100+ pub year: std::option::Option<i64>,
101 /// The YouTube link of the song.
102 #[serde(skip_serializing_if = "std::option::Option::is_none")]
103 #[serde(borrow)]
104+ pub youtube_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
105}
106107pub mod scrobble_state {
···28 /// The album art of the song.
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31- pub album_art: Option<jacquard_common::types::blob::BlobRef<'a>>,
32 /// The album artist of the song.
33 #[serde(borrow)]
34 pub album_artist: jacquard_common::CowStr<'a>,
35 /// The Apple Music link of the song.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38- pub apple_music_link: Option<jacquard_common::types::string::Uri<'a>>,
39 /// The artist of the song.
40 #[serde(borrow)]
41 pub artist: jacquard_common::CowStr<'a>,
42 /// The composer of the song.
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45- pub composer: Option<jacquard_common::CowStr<'a>>,
46 /// The copyright message of the song.
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48 #[serde(borrow)]
49- pub copyright_message: Option<jacquard_common::CowStr<'a>>,
50 /// The date when the song was created.
51 pub created_at: jacquard_common::types::string::Datetime,
52 /// The disc number of the song in the album.
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54- pub disc_number: Option<i64>,
55 /// The duration of the song in seconds.
56 pub duration: i64,
57 /// The genre of the song.
58 #[serde(skip_serializing_if = "std::option::Option::is_none")]
59 #[serde(borrow)]
60- pub genre: Option<jacquard_common::CowStr<'a>>,
61 /// The label of the song.
62 #[serde(skip_serializing_if = "std::option::Option::is_none")]
63 #[serde(borrow)]
64- pub label: Option<jacquard_common::CowStr<'a>>,
65 /// The lyrics of the song.
66 #[serde(skip_serializing_if = "std::option::Option::is_none")]
67 #[serde(borrow)]
68- pub lyrics: Option<jacquard_common::CowStr<'a>>,
69 /// The MusicBrainz ID of the song.
70 #[serde(skip_serializing_if = "std::option::Option::is_none")]
71 #[serde(borrow)]
72- pub mbid: Option<jacquard_common::CowStr<'a>>,
73 /// The release date of the song.
74 #[serde(skip_serializing_if = "std::option::Option::is_none")]
75- pub release_date: Option<jacquard_common::types::string::Datetime>,
76 /// The Spotify link of the song.
77 #[serde(skip_serializing_if = "std::option::Option::is_none")]
78 #[serde(borrow)]
79- pub spotify_link: Option<jacquard_common::types::string::Uri<'a>>,
80 /// The tags of the song.
81 #[serde(skip_serializing_if = "std::option::Option::is_none")]
82 #[serde(borrow)]
83- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
84 /// The Tidal link of the song.
85 #[serde(skip_serializing_if = "std::option::Option::is_none")]
86 #[serde(borrow)]
87- pub tidal_link: Option<jacquard_common::types::string::Uri<'a>>,
88 /// The title of the song.
89 #[serde(borrow)]
90 pub title: jacquard_common::CowStr<'a>,
91 /// The track number of the song in the album.
92 #[serde(skip_serializing_if = "std::option::Option::is_none")]
93- pub track_number: Option<i64>,
94 /// Informations about the song
95 #[serde(skip_serializing_if = "std::option::Option::is_none")]
96 #[serde(borrow)]
97- pub wiki: Option<jacquard_common::CowStr<'a>>,
98 /// The year the song was released.
99 #[serde(skip_serializing_if = "std::option::Option::is_none")]
100- pub year: Option<i64>,
101 /// The YouTube link of the song.
102 #[serde(skip_serializing_if = "std::option::Option::is_none")]
103 #[serde(borrow)]
104- pub youtube_link: Option<jacquard_common::types::string::Uri<'a>>,
105}
106107pub mod song_state {
···28 /// The album art of the song.
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31+ pub album_art: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
32 /// The album artist of the song.
33 #[serde(borrow)]
34 pub album_artist: jacquard_common::CowStr<'a>,
35 /// The Apple Music link of the song.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38+ pub apple_music_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
39 /// The artist of the song.
40 #[serde(borrow)]
41 pub artist: jacquard_common::CowStr<'a>,
42 /// The composer of the song.
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45+ pub composer: std::option::Option<jacquard_common::CowStr<'a>>,
46 /// The copyright message of the song.
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48 #[serde(borrow)]
49+ pub copyright_message: std::option::Option<jacquard_common::CowStr<'a>>,
50 /// The date when the song was created.
51 pub created_at: jacquard_common::types::string::Datetime,
52 /// The disc number of the song in the album.
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54+ pub disc_number: std::option::Option<i64>,
55 /// The duration of the song in seconds.
56 pub duration: i64,
57 /// The genre of the song.
58 #[serde(skip_serializing_if = "std::option::Option::is_none")]
59 #[serde(borrow)]
60+ pub genre: std::option::Option<jacquard_common::CowStr<'a>>,
61 /// The label of the song.
62 #[serde(skip_serializing_if = "std::option::Option::is_none")]
63 #[serde(borrow)]
64+ pub label: std::option::Option<jacquard_common::CowStr<'a>>,
65 /// The lyrics of the song.
66 #[serde(skip_serializing_if = "std::option::Option::is_none")]
67 #[serde(borrow)]
68+ pub lyrics: std::option::Option<jacquard_common::CowStr<'a>>,
69 /// The MusicBrainz ID of the song.
70 #[serde(skip_serializing_if = "std::option::Option::is_none")]
71 #[serde(borrow)]
72+ pub mbid: std::option::Option<jacquard_common::CowStr<'a>>,
73 /// The release date of the song.
74 #[serde(skip_serializing_if = "std::option::Option::is_none")]
75+ pub release_date: std::option::Option<jacquard_common::types::string::Datetime>,
76 /// The Spotify link of the song.
77 #[serde(skip_serializing_if = "std::option::Option::is_none")]
78 #[serde(borrow)]
79+ pub spotify_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
80 /// The tags of the song.
81 #[serde(skip_serializing_if = "std::option::Option::is_none")]
82 #[serde(borrow)]
83+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
84 /// The Tidal link of the song.
85 #[serde(skip_serializing_if = "std::option::Option::is_none")]
86 #[serde(borrow)]
87+ pub tidal_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
88 /// The title of the song.
89 #[serde(borrow)]
90 pub title: jacquard_common::CowStr<'a>,
91 /// The track number of the song in the album.
92 #[serde(skip_serializing_if = "std::option::Option::is_none")]
93+ pub track_number: std::option::Option<i64>,
94 /// Informations about the song
95 #[serde(skip_serializing_if = "std::option::Option::is_none")]
96 #[serde(borrow)]
97+ pub wiki: std::option::Option<jacquard_common::CowStr<'a>>,
98 /// The year the song was released.
99 #[serde(skip_serializing_if = "std::option::Option::is_none")]
100+ pub year: std::option::Option<i64>,
101 /// The YouTube link of the song.
102 #[serde(skip_serializing_if = "std::option::Option::is_none")]
103 #[serde(borrow)]
104+ pub youtube_link: std::option::Option<jacquard_common::types::string::Uri<'a>>,
105}
106107pub mod song_state {
···23 /// The detailed review text
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub description: Option<jacquard_common::CowStr<'a>>,
27 /// Rating score from 1 to 5
28 pub rating: i64,
29 /// Whether this review is from the service provider or consumer
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32- pub reviewer_role: Option<jacquard_common::CowStr<'a>>,
33 /// The title of the review
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36- pub title: Option<jacquard_common::CowStr<'a>>,
37 /// AT URI reference to the transaction record (at://did/beauty.cybernetic.trustcow.transaction/rkey)
38 #[serde(borrow)]
39 pub transaction: jacquard_common::CowStr<'a>,
···23 /// The detailed review text
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
27 /// Rating score from 1 to 5
28 pub rating: i64,
29 /// Whether this review is from the service provider or consumer
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32+ pub reviewer_role: std::option::Option<jacquard_common::CowStr<'a>>,
33 /// The title of the review
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36+ pub title: std::option::Option<jacquard_common::CowStr<'a>>,
37 /// AT URI reference to the transaction record (at://did/beauty.cybernetic.trustcow.transaction/rkey)
38 #[serde(borrow)]
39 pub transaction: jacquard_common::CowStr<'a>,
···21 /// Pre-rendered HTML content of the embedded post
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24- pub html: Option<jacquard_common::CowStr<'a>>,
25 /// URL of the Bluesky post to embed
26 #[serde(borrow)]
27 pub url: jacquard_common::types::string::Uri<'a>,
···21 /// Pre-rendered HTML content of the embedded post
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24+ pub html: std::option::Option<jacquard_common::CowStr<'a>>,
25 /// URL of the Bluesky post to embed
26 #[serde(borrow)]
27 pub url: jacquard_common::types::string::Uri<'a>,
···26 /// Plain text representation of the document content for search and preview
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29- pub body_plain: Option<jacquard_common::CowStr<'a>>,
30 /// Optional cover/featured image (10MB max)
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33- pub cover: Option<jacquard_common::types::blob::BlobRef<'a>>,
34 /// Blob references for images used within the document content
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37- pub images: Option<Vec<jacquard_common::types::blob::BlobRef<'a>>>,
38 /// Timestamp when the document was first published
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40- pub published_at: Option<jacquard_common::types::string::Datetime>,
41 /// Optional tags for categorization and discovery
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
45 /// Document title/headline
46 #[serde(borrow)]
47 pub title: jacquard_common::CowStr<'a>,
48 /// Timestamp when the document was last modified
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50- pub updated_at: Option<jacquard_common::types::string::Datetime>,
51 /// Canonical URL where this document is published
52 #[serde(borrow)]
53 pub url: jacquard_common::types::string::Uri<'a>,
···26 /// Plain text representation of the document content for search and preview
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29+ pub body_plain: std::option::Option<jacquard_common::CowStr<'a>>,
30 /// Optional cover/featured image (10MB max)
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33+ pub cover: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
34 /// Blob references for images used within the document content
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37+ pub images: std::option::Option<Vec<jacquard_common::types::blob::BlobRef<'a>>>,
38 /// Timestamp when the document was first published
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40+ pub published_at: std::option::Option<jacquard_common::types::string::Datetime>,
41 /// Optional tags for categorization and discovery
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43 #[serde(borrow)]
44+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
45 /// Document title/headline
46 #[serde(borrow)]
47 pub title: jacquard_common::CowStr<'a>,
48 /// Timestamp when the document was last modified
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50+ pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
51 /// Canonical URL where this document is published
52 #[serde(borrow)]
53 pub url: jacquard_common::types::string::Uri<'a>,
+3-3
crates/jacquard-api/src/blog_pckt/mark/link.rs
···24 /// Defines the relationship between the current document and the linked resource (e.g., nofollow, noopener)
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub rel: Option<jacquard_common::CowStr<'a>>,
28 /// Specifies where to open the linked document (e.g., _blank, _self)
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31- pub target: Option<jacquard_common::CowStr<'a>>,
32 /// Additional information about the link, typically shown as a tooltip on hover
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35- pub title: Option<jacquard_common::CowStr<'a>>,
36}
3738pub mod link_attrs_state {
···24 /// Defines the relationship between the current document and the linked resource (e.g., nofollow, noopener)
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub rel: std::option::Option<jacquard_common::CowStr<'a>>,
28 /// Specifies where to open the linked document (e.g., _blank, _self)
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31+ pub target: std::option::Option<jacquard_common::CowStr<'a>>,
32 /// Additional information about the link, typically shown as a tooltip on hover
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35+ pub title: std::option::Option<jacquard_common::CowStr<'a>>,
36}
3738pub mod link_attrs_state {
···19#[serde(rename_all = "camelCase")]
20pub struct Game<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22- pub created_at: Option<jacquard_common::types::string::Datetime>,
23 /// This is the record that holds the publicly verifiable signature of a game record
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub verified_ref: Option<crate::blue__2048::verification::VerificationRef<'a>>,
0027}
2829pub mod game_state {
···19#[serde(rename_all = "camelCase")]
20pub struct Game<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
23 /// This is the record that holds the publicly verifiable signature of a game record
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub verified_ref: std::option::Option<
27+ crate::blue__2048::verification::VerificationRef<'a>,
28+ >,
29}
3031pub mod game_state {
···19#[serde(rename_all = "camelCase")]
20pub struct Stats<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22- pub created_at: Option<jacquard_common::types::string::Datetime>,
23 /// This is the record that holds the publicly verifiable signature of a stats record
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub verified_ref: Option<crate::blue__2048::verification::VerificationRef<'a>>,
0027}
2829pub mod stats_state {
···19#[serde(rename_all = "camelCase")]
20pub struct Stats<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
23 /// This is the record that holds the publicly verifiable signature of a stats record
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub verified_ref: std::option::Option<
27+ crate::blue__2048::verification::VerificationRef<'a>,
28+ >,
29}
3031pub mod stats_state {
···1444pub struct Profile<'a> {
1445 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1446 #[serde(borrow)]
1447- pub avatar: Option<jacquard_common::CowStr<'a>>,
1448 pub books_read: i64,
1449 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1450 #[serde(borrow)]
1451- pub description: Option<jacquard_common::CowStr<'a>>,
1452 #[serde(borrow)]
1453 pub display_name: jacquard_common::CowStr<'a>,
1454 #[serde(borrow)]
···1797 pub review: jacquard_common::CowStr<'a>,
1798 /// The number of stars given to the book
1799 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1800- pub stars: Option<i64>,
1801}
18021803pub mod review_state {
···2067 /// Cover image of the book
2068 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2069 #[serde(borrow)]
2070- pub cover: Option<jacquard_common::CowStr<'a>>,
2071 pub created_at: jacquard_common::types::string::Datetime,
2072 /// Book description/summary
2073 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2074 #[serde(borrow)]
2075- pub description: Option<jacquard_common::CowStr<'a>>,
2076 /// The date the user finished reading the book
2077 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2078- pub finished_at: Option<jacquard_common::types::string::Datetime>,
2079 /// The book's hive id, used to correlate user's books with the hive
2080 #[serde(borrow)]
2081 pub hive_id: jacquard_common::CowStr<'a>,
2082 /// Average rating (0-1000)
2083 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2084- pub rating: Option<i64>,
2085 /// The book's review
2086 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2087 #[serde(borrow)]
2088- pub review: Option<jacquard_common::CowStr<'a>>,
2089 /// Number of stars given to the book (1-10) which will be mapped to 1-5 stars
2090 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2091- pub stars: Option<i64>,
2092 /// The date the user started reading the book
2093 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2094- pub started_at: Option<jacquard_common::types::string::Datetime>,
2095 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2096 #[serde(borrow)]
2097- pub status: Option<jacquard_common::CowStr<'a>>,
2098 /// Cover image of the book
2099 #[serde(borrow)]
2100 pub thumbnail: jacquard_common::CowStr<'a>,
···1444pub struct Profile<'a> {
1445 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1446 #[serde(borrow)]
1447+ pub avatar: std::option::Option<jacquard_common::CowStr<'a>>,
1448 pub books_read: i64,
1449 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1450 #[serde(borrow)]
1451+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
1452 #[serde(borrow)]
1453 pub display_name: jacquard_common::CowStr<'a>,
1454 #[serde(borrow)]
···1797 pub review: jacquard_common::CowStr<'a>,
1798 /// The number of stars given to the book
1799 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1800+ pub stars: std::option::Option<i64>,
1801}
18021803pub mod review_state {
···2067 /// Cover image of the book
2068 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2069 #[serde(borrow)]
2070+ pub cover: std::option::Option<jacquard_common::CowStr<'a>>,
2071 pub created_at: jacquard_common::types::string::Datetime,
2072 /// Book description/summary
2073 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2074 #[serde(borrow)]
2075+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
2076 /// The date the user finished reading the book
2077 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2078+ pub finished_at: std::option::Option<jacquard_common::types::string::Datetime>,
2079 /// The book's hive id, used to correlate user's books with the hive
2080 #[serde(borrow)]
2081 pub hive_id: jacquard_common::CowStr<'a>,
2082 /// Average rating (0-1000)
2083 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2084+ pub rating: std::option::Option<i64>,
2085 /// The book's review
2086 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2087 #[serde(borrow)]
2088+ pub review: std::option::Option<jacquard_common::CowStr<'a>>,
2089 /// Number of stars given to the book (1-10) which will be mapped to 1-5 stars
2090 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2091+ pub stars: std::option::Option<i64>,
2092 /// The date the user started reading the book
2093 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2094+ pub started_at: std::option::Option<jacquard_common::types::string::Datetime>,
2095 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2096 #[serde(borrow)]
2097+ pub status: std::option::Option<jacquard_common::CowStr<'a>>,
2098 /// Cover image of the book
2099 #[serde(borrow)]
2100 pub thumbnail: jacquard_common::CowStr<'a>,
+6-6
crates/jacquard-api/src/buzz_bookhive/book.rs
···24 /// Cover image of the book
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub cover: Option<jacquard_common::types::blob::BlobRef<'a>>,
28 pub created_at: jacquard_common::types::string::Datetime,
29 /// The date the user finished reading the book
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31- pub finished_at: Option<jacquard_common::types::string::Datetime>,
32 /// The book's hive id, used to correlate user's books with the hive
33 #[serde(borrow)]
34 pub hive_id: jacquard_common::CowStr<'a>,
35 /// The book's review
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38- pub review: Option<jacquard_common::CowStr<'a>>,
39 /// Number of stars given to the book (1-10) which will be mapped to 1-5 stars
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41- pub stars: Option<i64>,
42 /// The date the user started reading the book
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44- pub started_at: Option<jacquard_common::types::string::Datetime>,
45 #[serde(skip_serializing_if = "std::option::Option::is_none")]
46 #[serde(borrow)]
47- pub status: Option<jacquard_common::CowStr<'a>>,
48 /// The title of the book
49 #[serde(borrow)]
50 pub title: jacquard_common::CowStr<'a>,
···24 /// Cover image of the book
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub cover: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
28 pub created_at: jacquard_common::types::string::Datetime,
29 /// The date the user finished reading the book
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31+ pub finished_at: std::option::Option<jacquard_common::types::string::Datetime>,
32 /// The book's hive id, used to correlate user's books with the hive
33 #[serde(borrow)]
34 pub hive_id: jacquard_common::CowStr<'a>,
35 /// The book's review
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38+ pub review: std::option::Option<jacquard_common::CowStr<'a>>,
39 /// Number of stars given to the book (1-10) which will be mapped to 1-5 stars
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41+ pub stars: std::option::Option<i64>,
42 /// The date the user started reading the book
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44+ pub started_at: std::option::Option<jacquard_common::types::string::Datetime>,
45 #[serde(skip_serializing_if = "std::option::Option::is_none")]
46 #[serde(borrow)]
47+ pub status: std::option::Option<jacquard_common::CowStr<'a>>,
48 /// The title of the book
49 #[serde(borrow)]
50 pub title: jacquard_common::CowStr<'a>,
···18#[serde(rename_all = "camelCase")]
19pub struct AddressControl<'a> {
20 /// Ethereum address as bytes (20 bytes)
021 pub address: bytes::Bytes,
22 /// List of all Chain IDs (besides the one in the sign-in message, though you can include it) that the holder of this address is also active on & accepts tokens thru.
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24- pub also_on: Option<Vec<i64>>,
25 /// Sign in With Ethereum message signature as bytes
026 pub signature: bytes::Bytes,
27 #[serde(borrow)]
28 pub siwe: crate::club_stellz::evm::address_control::SiweMessage<'a>,
···18#[serde(rename_all = "camelCase")]
19pub struct AddressControl<'a> {
20 /// Ethereum address as bytes (20 bytes)
21+ #[serde(with = "jacquard_common::serde_bytes_helper")]
22 pub address: bytes::Bytes,
23 /// List of all Chain IDs (besides the one in the sign-in message, though you can include it) that the holder of this address is also active on & accepts tokens thru.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25+ pub also_on: std::option::Option<Vec<i64>>,
26 /// Sign in With Ethereum message signature as bytes
27+ #[serde(with = "jacquard_common::serde_bytes_helper")]
28 pub signature: bytes::Bytes,
29 #[serde(borrow)]
30 pub siwe: crate::club_stellz::evm::address_control::SiweMessage<'a>,
···20 /// Additional comment by the sender that won't be used in the email itself but helpful to provide more context for moderators/reviewers
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub comment: Option<jacquard_common::CowStr<'a>>,
24 #[serde(borrow)]
25 pub content: jacquard_common::CowStr<'a>,
26 #[serde(borrow)]
···29 pub sender_did: jacquard_common::types::string::Did<'a>,
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32- pub subject: Option<jacquard_common::CowStr<'a>>,
33}
3435pub mod send_email_state {
···20 /// Additional comment by the sender that won't be used in the email itself but helpful to provide more context for moderators/reviewers
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
24 #[serde(borrow)]
25 pub content: jacquard_common::CowStr<'a>,
26 #[serde(borrow)]
···29 pub sender_did: jacquard_common::types::string::Did<'a>,
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32+ pub subject: std::option::Option<jacquard_common::CowStr<'a>>,
33}
3435pub mod send_email_state {
···26 /// Optionally, CID specifying the specific version of 'uri' resource this label applies to.
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29- pub cid: Option<jacquard_common::types::string::Cid<'a>>,
30 /// Timestamp when this label was created.
31 pub cts: jacquard_common::types::string::Datetime,
32 /// Timestamp at which this label expires (no longer applies).
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34- pub exp: Option<jacquard_common::types::string::Datetime>,
35 /// If true, this is a negation label, overwriting a previous label.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37- pub neg: Option<bool>,
38 /// Signature of dag-cbor encoded label.
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40- pub sig: Option<bytes::Bytes>,
041 /// DID of the actor who created this label.
42 #[serde(borrow)]
43 pub src: jacquard_common::types::string::Did<'a>,
···49 pub val: jacquard_common::CowStr<'a>,
50 /// The AT Protocol version of the label object.
51 #[serde(skip_serializing_if = "std::option::Option::is_none")]
52- pub ver: Option<i64>,
53}
5455pub mod label_state {
···1024pub struct LabelValueDefinition<'a> {
1025 /// Does the user need to have adult content enabled in order to configure this label?
1026 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1027- pub adult_only: Option<bool>,
1028 /// 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.
1029 #[serde(borrow)]
1030 pub blurs: jacquard_common::CowStr<'a>,
1031 /// The default setting for this label.
1032 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1033 #[serde(borrow)]
1034- pub default_setting: Option<jacquard_common::CowStr<'a>>,
1035 /// The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+).
1036 #[serde(borrow)]
1037 pub identifier: jacquard_common::CowStr<'a>,
···26 /// Optionally, CID specifying the specific version of 'uri' resource this label applies to.
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29+ pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>,
30 /// Timestamp when this label was created.
31 pub cts: jacquard_common::types::string::Datetime,
32 /// Timestamp at which this label expires (no longer applies).
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34+ pub exp: std::option::Option<jacquard_common::types::string::Datetime>,
35 /// If true, this is a negation label, overwriting a previous label.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37+ pub neg: std::option::Option<bool>,
38 /// Signature of dag-cbor encoded label.
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40+ #[serde(with = "jacquard_common::opt_serde_bytes_helper")]
41+ pub sig: std::option::Option<bytes::Bytes>,
42 /// DID of the actor who created this label.
43 #[serde(borrow)]
44 pub src: jacquard_common::types::string::Did<'a>,
···50 pub val: jacquard_common::CowStr<'a>,
51 /// The AT Protocol version of the label object.
52 #[serde(skip_serializing_if = "std::option::Option::is_none")]
53+ pub ver: std::option::Option<i64>,
54}
5556pub mod label_state {
···1025pub struct LabelValueDefinition<'a> {
1026 /// Does the user need to have adult content enabled in order to configure this label?
1027 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1028+ pub adult_only: std::option::Option<bool>,
1029 /// 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.
1030 #[serde(borrow)]
1031 pub blurs: jacquard_common::CowStr<'a>,
1032 /// The default setting for this label.
1033 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1034 #[serde(borrow)]
1035+ pub default_setting: std::option::Option<jacquard_common::CowStr<'a>>,
1036 /// The value of the label being defined. Must only include lowercase ascii and the '-' character ([a-z-]+).
1037 #[serde(borrow)]
1038 pub identifier: jacquard_common::CowStr<'a>,
···23 /// NOTE: maxLength is redundant with record-key format. Keeping it temporarily to ensure backwards compatibility.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub rkey: Option<
27 jacquard_common::types::string::RecordKey<
28 jacquard_common::types::string::Rkey<'a>,
29 >,
···715 pub uri: jacquard_common::types::string::AtUri<'a>,
716 #[serde(skip_serializing_if = "std::option::Option::is_none")]
717 #[serde(borrow)]
718- pub validation_status: Option<jacquard_common::CowStr<'a>>,
719}
720721pub mod create_result_state {
···1131 /// If provided, the entire operation will fail if the current repo commit CID does not match this value. Used to prevent conflicting repo mutations.
1132 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1133 #[serde(borrow)]
1134- pub swap_commit: Option<jacquard_common::types::string::Cid<'a>>,
1135 /// Can be set to 'false' to skip Lexicon schema validation of record data across all operations, 'true' to require it, or leave unset to validate only for known Lexicons.
1136 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1137- pub validate: Option<bool>,
1138 #[serde(borrow)]
1139 pub writes: Vec<ApplyWritesWritesItem<'a>>,
1140}
···1686 pub uri: jacquard_common::types::string::AtUri<'a>,
1687 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1688 #[serde(borrow)]
1689- pub validation_status: Option<jacquard_common::CowStr<'a>>,
1690}
16911692pub mod update_result_state {
···23 /// NOTE: maxLength is redundant with record-key format. Keeping it temporarily to ensure backwards compatibility.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub rkey: std::option::Option<
27 jacquard_common::types::string::RecordKey<
28 jacquard_common::types::string::Rkey<'a>,
29 >,
···715 pub uri: jacquard_common::types::string::AtUri<'a>,
716 #[serde(skip_serializing_if = "std::option::Option::is_none")]
717 #[serde(borrow)]
718+ pub validation_status: std::option::Option<jacquard_common::CowStr<'a>>,
719}
720721pub mod create_result_state {
···1131 /// If provided, the entire operation will fail if the current repo commit CID does not match this value. Used to prevent conflicting repo mutations.
1132 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1133 #[serde(borrow)]
1134+ pub swap_commit: std::option::Option<jacquard_common::types::string::Cid<'a>>,
1135 /// Can be set to 'false' to skip Lexicon schema validation of record data across all operations, 'true' to require it, or leave unset to validate only for known Lexicons.
1136 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1137+ pub validate: std::option::Option<bool>,
1138 #[serde(borrow)]
1139 pub writes: Vec<ApplyWritesWritesItem<'a>>,
1140}
···1686 pub uri: jacquard_common::types::string::AtUri<'a>,
1687 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1688 #[serde(borrow)]
1689+ pub validation_status: std::option::Option<jacquard_common::CowStr<'a>>,
1690}
16911692pub mod update_result_state {
···29 /// The Record Key.
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32- pub rkey: Option<
33 jacquard_common::types::string::RecordKey<
34 jacquard_common::types::string::Rkey<'a>,
35 >,
···37 /// Compare and swap with the previous commit by CID.
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39 #[serde(borrow)]
40- pub swap_commit: Option<jacquard_common::types::string::Cid<'a>>,
41 /// 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.
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43- pub validate: Option<bool>,
44}
4546pub mod create_record_state {
···29 /// The Record Key.
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32+ pub rkey: std::option::Option<
33 jacquard_common::types::string::RecordKey<
34 jacquard_common::types::string::Rkey<'a>,
35 >,
···37 /// Compare and swap with the previous commit by CID.
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39 #[serde(borrow)]
40+ pub swap_commit: std::option::Option<jacquard_common::types::string::Cid<'a>>,
41 /// 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.
42 #[serde(skip_serializing_if = "std::option::Option::is_none")]
43+ pub validate: std::option::Option<bool>,
44}
4546pub mod create_record_state {
···31 /// Compare and swap with the previous commit by CID.
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34- pub swap_commit: Option<jacquard_common::types::string::Cid<'a>>,
35 /// Compare and swap with the previous record by CID.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38- pub swap_record: Option<jacquard_common::types::string::Cid<'a>>,
39}
4041pub mod delete_record_state {
···31 /// Compare and swap with the previous commit by CID.
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34+ pub swap_commit: std::option::Option<jacquard_common::types::string::Cid<'a>>,
35 /// Compare and swap with the previous record by CID.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38+ pub swap_record: std::option::Option<jacquard_common::types::string::Cid<'a>>,
39}
4041pub mod delete_record_state {
···34 /// Compare and swap with the previous commit by CID.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37- pub swap_commit: Option<jacquard_common::types::string::Cid<'a>>,
38 /// Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 #[serde(borrow)]
41- pub swap_record: Option<jacquard_common::types::string::Cid<'a>>,
42 /// 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.
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44- pub validate: Option<bool>,
45}
4647pub mod put_record_state {
···34 /// Compare and swap with the previous commit by CID.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37+ pub swap_commit: std::option::Option<jacquard_common::types::string::Cid<'a>>,
38 /// Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 #[serde(borrow)]
41+ pub swap_record: std::option::Option<jacquard_common::types::string::Cid<'a>>,
42 /// 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.
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44+ pub validate: std::option::Option<bool>,
45}
4647pub mod put_record_state {
···171#[serde(rename_all = "camelCase")]
172pub struct Repo<'a> {
173 #[serde(skip_serializing_if = "std::option::Option::is_none")]
174- pub active: Option<bool>,
175 #[serde(borrow)]
176 pub did: jacquard_common::types::string::Did<'a>,
177 /// Current repo commit CID
···181 /// 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.
182 #[serde(skip_serializing_if = "std::option::Option::is_none")]
183 #[serde(borrow)]
184- pub status: Option<jacquard_common::CowStr<'a>>,
185}
186187pub mod repo_state {
···171#[serde(rename_all = "camelCase")]
172pub struct Repo<'a> {
173 #[serde(skip_serializing_if = "std::option::Option::is_none")]
174+ pub active: std::option::Option<bool>,
175 #[serde(borrow)]
176 pub did: jacquard_common::types::string::Did<'a>,
177 /// Current repo commit CID
···181 /// 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.
182 #[serde(skip_serializing_if = "std::option::Option::is_none")]
183 #[serde(borrow)]
184+ pub status: std::option::Option<jacquard_common::CowStr<'a>>,
185}
186187pub mod repo_state {
···26 /// If active=false, this optional field indicates a reason for why the account is not active.
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29- pub status: Option<jacquard_common::CowStr<'a>>,
30 pub time: jacquard_common::types::string::Datetime,
31}
32···929 #[serde(borrow)]
930 pub blobs: Vec<jacquard_common::types::cid::CidLink<'a>>,
931 /// 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.
0932 pub blocks: bytes::Bytes,
933 /// Repo commit object CID.
934 #[serde(borrow)]
···938 /// 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.
939 #[serde(skip_serializing_if = "std::option::Option::is_none")]
940 #[serde(borrow)]
941- pub prev_data: Option<jacquard_common::types::cid::CidLink<'a>>,
942 /// DEPRECATED -- unused
943 pub rebase: bool,
944 /// The repo this event comes from. Note that all other message types name this field 'did'.
···949 /// The stream sequence number of this message.
950 pub seq: i64,
951 /// The rev of the last emitted commit from this repo (if any).
952- pub since: jacquard_common::types::string::Tid,
953 /// Timestamp of when this message was originally broadcast.
954 pub time: jacquard_common::types::string::Datetime,
955 /// 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.
···1586 /// 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.
1587 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1588 #[serde(borrow)]
1589- pub handle: Option<jacquard_common::types::string::Handle<'a>>,
1590 pub seq: i64,
1591 pub time: jacquard_common::types::string::Datetime,
1592}
···2079 pub action: jacquard_common::CowStr<'a>,
2080 /// For creates and updates, the new record CID. For deletions, null.
2081 #[serde(borrow)]
2082- pub cid: jacquard_common::types::cid::CidLink<'a>,
2083 #[serde(borrow)]
2084 pub path: jacquard_common::CowStr<'a>,
2085 /// For updates and deletes, the previous record CID (required for inductive firehose). For creations, field should not be defined.
2086 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2087 #[serde(borrow)]
2088- pub prev: Option<jacquard_common::types::cid::CidLink<'a>>,
2089}
20902091pub mod repo_op_state {
···2318#[serde(rename_all = "camelCase")]
2319pub struct Sync<'a> {
2320 /// CAR file containing the commit, as a block. The CAR header must include the commit block CID as the first 'root'.
02321 pub blocks: bytes::Bytes,
2322 /// The account this repo event corresponds to. Must match that in the commit object.
2323 #[serde(borrow)]
···26 /// If active=false, this optional field indicates a reason for why the account is not active.
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29+ pub status: std::option::Option<jacquard_common::CowStr<'a>>,
30 pub time: jacquard_common::types::string::Datetime,
31}
32···929 #[serde(borrow)]
930 pub blobs: Vec<jacquard_common::types::cid::CidLink<'a>>,
931 /// 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.
932+ #[serde(with = "jacquard_common::serde_bytes_helper")]
933 pub blocks: bytes::Bytes,
934 /// Repo commit object CID.
935 #[serde(borrow)]
···939 /// 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.
940 #[serde(skip_serializing_if = "std::option::Option::is_none")]
941 #[serde(borrow)]
942+ pub prev_data: std::option::Option<jacquard_common::types::cid::CidLink<'a>>,
943 /// DEPRECATED -- unused
944 pub rebase: bool,
945 /// The repo this event comes from. Note that all other message types name this field 'did'.
···950 /// The stream sequence number of this message.
951 pub seq: i64,
952 /// The rev of the last emitted commit from this repo (if any).
953+ pub since: std::option::Option<jacquard_common::types::string::Tid>,
954 /// Timestamp of when this message was originally broadcast.
955 pub time: jacquard_common::types::string::Datetime,
956 /// 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.
···1587 /// 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.
1588 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1589 #[serde(borrow)]
1590+ pub handle: std::option::Option<jacquard_common::types::string::Handle<'a>>,
1591 pub seq: i64,
1592 pub time: jacquard_common::types::string::Datetime,
1593}
···2080 pub action: jacquard_common::CowStr<'a>,
2081 /// For creates and updates, the new record CID. For deletions, null.
2082 #[serde(borrow)]
2083+ pub cid: std::option::Option<jacquard_common::types::cid::CidLink<'a>>,
2084 #[serde(borrow)]
2085 pub path: jacquard_common::CowStr<'a>,
2086 /// For updates and deletes, the previous record CID (required for inductive firehose). For creations, field should not be defined.
2087 #[serde(skip_serializing_if = "std::option::Option::is_none")]
2088 #[serde(borrow)]
2089+ pub prev: std::option::Option<jacquard_common::types::cid::CidLink<'a>>,
2090}
20912092pub mod repo_op_state {
···2319#[serde(rename_all = "camelCase")]
2320pub struct Sync<'a> {
2321 /// CAR file containing the commit, as a block. The CAR header must include the commit block CID as the first 'root'.
2322+ #[serde(with = "jacquard_common::serde_bytes_helper")]
2323 pub blocks: bytes::Bytes,
2324 /// The account this repo event corresponds to. Must match that in the commit object.
2325 #[serde(borrow)]
···23 pub created_at: jacquard_common::types::string::Datetime,
24 /// Whether the post is published or draft
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26- pub published: Option<bool>,
27 /// Optional summary/excerpt of the post
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30- pub summary: Option<jacquard_common::CowStr<'a>>,
31 /// Tags for categorizing the post
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
35 /// The title of the blog post
36 #[serde(borrow)]
37 pub title: jacquard_common::CowStr<'a>,
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39- pub updated_at: Option<jacquard_common::types::string::Datetime>,
40}
4142pub mod post_state {
···23 pub created_at: jacquard_common::types::string::Datetime,
24 /// Whether the post is published or draft
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26+ pub published: std::option::Option<bool>,
27 /// Optional summary/excerpt of the post
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30+ pub summary: std::option::Option<jacquard_common::CowStr<'a>>,
31 /// Tags for categorizing the post
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
35 /// The title of the blog post
36 #[serde(borrow)]
37 pub title: jacquard_common::CowStr<'a>,
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39+ pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
40}
4142pub mod post_state {
···421 /// What this oekaki post is a response to.
422 #[serde(skip_serializing_if = "std::option::Option::is_none")]
423 #[serde(borrow)]
424- pub in_response_to: Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
00425 /// Is this oekaki NSFW?
426 #[serde(skip_serializing_if = "std::option::Option::is_none")]
427- pub nsfw: Option<bool>,
428 /// An array of tags this image had.
429 #[serde(skip_serializing_if = "std::option::Option::is_none")]
430 #[serde(borrow)]
431- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
432}
433434pub mod oekaki_state {
···421 /// What this oekaki post is a response to.
422 #[serde(skip_serializing_if = "std::option::Option::is_none")]
423 #[serde(borrow)]
424+ pub in_response_to: std::option::Option<
425+ crate::com_atproto::repo::strong_ref::StrongRef<'a>,
426+ >,
427 /// Is this oekaki NSFW?
428 #[serde(skip_serializing_if = "std::option::Option::is_none")]
429+ pub nsfw: std::option::Option<bool>,
430 /// An array of tags this image had.
431 #[serde(skip_serializing_if = "std::option::Option::is_none")]
432 #[serde(borrow)]
433+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
434}
435436pub mod oekaki_state {
···21 /// The oekaki image that's the avatar of this profile.
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24- pub avatar: Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
25 /// The bio of the user.
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28- pub bio: Option<jacquard_common::CowStr<'a>>,
29 /// The links to outside platforms for this user
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32- pub links: Option<Vec<crate::com_shinolabs::pinksea::profile::ProfileLink<'a>>>,
0033 /// The display name of the user.
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36- pub nickname: Option<jacquard_common::CowStr<'a>>,
37}
3839pub mod profile_state {
···21 /// The oekaki image that's the avatar of this profile.
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24+ pub avatar: std::option::Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
25 /// The bio of the user.
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28+ pub bio: std::option::Option<jacquard_common::CowStr<'a>>,
29 /// The links to outside platforms for this user
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32+ pub links: std::option::Option<
33+ Vec<crate::com_shinolabs::pinksea::profile::ProfileLink<'a>>,
34+ >,
35 /// The display name of the user.
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38+ pub nickname: std::option::Option<jacquard_common::CowStr<'a>>,
39}
4041pub mod profile_state {
···24 /// Tags for content the bookmark may be related to, for example 'news' or 'funny videos'
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
28}
2930pub mod bookmark_state {
···24 /// Tags for content the bookmark may be related to, for example 'news' or 'funny videos'
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
28}
2930pub mod bookmark_state {
···24 /// Short, human-readable description of how this wallet is related to this account.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub note: Option<jacquard_common::CowStr<'a>>,
28}
2930pub mod web_monetization_state {
···24 /// Short, human-readable description of how this wallet is related to this account.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub note: std::option::Option<jacquard_common::CowStr<'a>>,
28}
2930pub mod web_monetization_state {
···20 /// The post's attachment blob. Must be present if parent is dev.ocbwoy3.blueboard.board, otherwise AppView will ignore it.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub attachment: Option<jacquard_common::types::blob::BlobRef<'a>>,
24 /// The date and time when the post was created
25 pub created_at: jacquard_common::types::string::Datetime,
26 /// Determines the parent of the post. Must either be a `dev.ocbwoy3.blueboard.board` or a `dev.ocbwoy3.blueboard.post`.
···20 /// The post's attachment blob. Must be present if parent is dev.ocbwoy3.blueboard.board, otherwise AppView will ignore it.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub attachment: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
24 /// The date and time when the post was created
25 pub created_at: jacquard_common::types::string::Datetime,
26 /// Determines the parent of the post. Must either be a `dev.ocbwoy3.blueboard.board` or a `dev.ocbwoy3.blueboard.post`.
···23 pub completed_onboarding: jacquard_common::CowStr<'a>,
24 /// The timestamp when this status was created
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26- pub created_at: Option<jacquard_common::types::string::Datetime>,
27 /// The timestamp when this status was last updated
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29- pub updated_at: Option<jacquard_common::types::string::Datetime>,
30}
3132pub mod profile_status_state {
···23 pub completed_onboarding: jacquard_common::CowStr<'a>,
24 /// The timestamp when this status was created
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
27 /// The timestamp when this status was last updated
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29+ pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
30}
3132pub mod profile_status_state {
···20pub struct Status<'a> {
21 /// The unix timestamp of the expiry time of the item. If unavailable, default to 10 minutes past the start time.
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23- pub expiry: Option<jacquard_common::types::string::Datetime>,
24 #[serde(borrow)]
25 pub item: crate::fm_teal::alpha::feed::PlayView<'a>,
26 /// The unix timestamp of when the item was recorded
···20pub struct Status<'a> {
21 /// The unix timestamp of the expiry time of the item. If unavailable, default to 10 minutes past the start time.
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23+ pub expiry: std::option::Option<jacquard_common::types::string::Datetime>,
24 #[serde(borrow)]
25 pub item: crate::fm_teal::alpha::feed::PlayView<'a>,
26 /// The unix timestamp of when the item was recorded
+10-10
crates/jacquard-api/src/fm_teal/alpha/feed.rs
···439 pub artists: Vec<crate::fm_teal::alpha::feed::Artist<'a>>,
440 /// The length of the track in seconds
441 #[serde(skip_serializing_if = "std::option::Option::is_none")]
442- pub duration: Option<i64>,
443 /// The ISRC code associated with the recording
444 #[serde(skip_serializing_if = "std::option::Option::is_none")]
445 #[serde(borrow)]
446- pub isrc: Option<jacquard_common::CowStr<'a>>,
447 /// The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. Defaults to 'local' if not provided.
448 #[serde(skip_serializing_if = "std::option::Option::is_none")]
449 #[serde(borrow)]
450- pub music_service_base_domain: Option<jacquard_common::CowStr<'a>>,
451 /// The URL associated with this track
452 #[serde(skip_serializing_if = "std::option::Option::is_none")]
453 #[serde(borrow)]
454- pub origin_url: Option<jacquard_common::CowStr<'a>>,
455 /// The unix timestamp of when the track was played
456 #[serde(skip_serializing_if = "std::option::Option::is_none")]
457- pub played_time: Option<jacquard_common::types::string::Datetime>,
458 /// The Musicbrainz recording ID of the track
459 #[serde(skip_serializing_if = "std::option::Option::is_none")]
460 #[serde(borrow)]
461- pub recording_mb_id: Option<jacquard_common::CowStr<'a>>,
462 /// The Musicbrainz release ID
463 #[serde(skip_serializing_if = "std::option::Option::is_none")]
464 #[serde(borrow)]
465- pub release_mb_id: Option<jacquard_common::CowStr<'a>>,
466 /// The name of the release/album
467 #[serde(skip_serializing_if = "std::option::Option::is_none")]
468 #[serde(borrow)]
469- pub release_name: Option<jacquard_common::CowStr<'a>>,
470 /// A user-agent style string specifying the user agent. e.g. tealtracker/0.0.1b (Linux; Android 13; SM-A715F). Defaults to 'manual/unknown' if not provided.
471 #[serde(skip_serializing_if = "std::option::Option::is_none")]
472 #[serde(borrow)]
473- pub submission_client_agent: Option<jacquard_common::CowStr<'a>>,
474 /// The Musicbrainz ID of the track
475 #[serde(skip_serializing_if = "std::option::Option::is_none")]
476 #[serde(borrow)]
477- pub track_mb_id: Option<jacquard_common::CowStr<'a>>,
478 /// The name of the track
479 #[serde(borrow)]
480 pub track_name: jacquard_common::CowStr<'a>,
···439 pub artists: Vec<crate::fm_teal::alpha::feed::Artist<'a>>,
440 /// The length of the track in seconds
441 #[serde(skip_serializing_if = "std::option::Option::is_none")]
442+ pub duration: std::option::Option<i64>,
443 /// The ISRC code associated with the recording
444 #[serde(skip_serializing_if = "std::option::Option::is_none")]
445 #[serde(borrow)]
446+ pub isrc: std::option::Option<jacquard_common::CowStr<'a>>,
447 /// The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. Defaults to 'local' if not provided.
448 #[serde(skip_serializing_if = "std::option::Option::is_none")]
449 #[serde(borrow)]
450+ pub music_service_base_domain: std::option::Option<jacquard_common::CowStr<'a>>,
451 /// The URL associated with this track
452 #[serde(skip_serializing_if = "std::option::Option::is_none")]
453 #[serde(borrow)]
454+ pub origin_url: std::option::Option<jacquard_common::CowStr<'a>>,
455 /// The unix timestamp of when the track was played
456 #[serde(skip_serializing_if = "std::option::Option::is_none")]
457+ pub played_time: std::option::Option<jacquard_common::types::string::Datetime>,
458 /// The Musicbrainz recording ID of the track
459 #[serde(skip_serializing_if = "std::option::Option::is_none")]
460 #[serde(borrow)]
461+ pub recording_mb_id: std::option::Option<jacquard_common::CowStr<'a>>,
462 /// The Musicbrainz release ID
463 #[serde(skip_serializing_if = "std::option::Option::is_none")]
464 #[serde(borrow)]
465+ pub release_mb_id: std::option::Option<jacquard_common::CowStr<'a>>,
466 /// The name of the release/album
467 #[serde(skip_serializing_if = "std::option::Option::is_none")]
468 #[serde(borrow)]
469+ pub release_name: std::option::Option<jacquard_common::CowStr<'a>>,
470 /// A user-agent style string specifying the user agent. e.g. tealtracker/0.0.1b (Linux; Android 13; SM-A715F). Defaults to 'manual/unknown' if not provided.
471 #[serde(skip_serializing_if = "std::option::Option::is_none")]
472 #[serde(borrow)]
473+ pub submission_client_agent: std::option::Option<jacquard_common::CowStr<'a>>,
474 /// The Musicbrainz ID of the track
475 #[serde(skip_serializing_if = "std::option::Option::is_none")]
476 #[serde(borrow)]
477+ pub track_mb_id: std::option::Option<jacquard_common::CowStr<'a>>,
478 /// The name of the track
479 #[serde(borrow)]
480 pub track_name: jacquard_common::CowStr<'a>,
···20 /// Array of Musicbrainz artist IDs. Prefer using 'artists'.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub artist_mb_ids: Option<Vec<jacquard_common::CowStr<'a>>>,
24 /// Array of artist names in order of original appearance. Prefer using 'artists'.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub artist_names: Option<Vec<jacquard_common::CowStr<'a>>>,
28 /// Array of artists in order of original appearance.
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31- pub artists: Option<Vec<crate::fm_teal::alpha::feed::Artist<'a>>>,
32 /// The length of the track in seconds
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34- pub duration: Option<i64>,
35 /// The ISRC code associated with the recording
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38- pub isrc: Option<jacquard_common::CowStr<'a>>,
39 /// The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. Defaults to 'local' if unavailable or not provided.
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[serde(borrow)]
42- pub music_service_base_domain: Option<jacquard_common::CowStr<'a>>,
43 /// The URL associated with this track
44 #[serde(skip_serializing_if = "std::option::Option::is_none")]
45 #[serde(borrow)]
46- pub origin_url: Option<jacquard_common::CowStr<'a>>,
47 /// The unix timestamp of when the track was played
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49- pub played_time: Option<jacquard_common::types::string::Datetime>,
50 /// The Musicbrainz recording ID of the track
51 #[serde(skip_serializing_if = "std::option::Option::is_none")]
52 #[serde(borrow)]
53- pub recording_mb_id: Option<jacquard_common::CowStr<'a>>,
54 /// Distinguishing information for release variants (e.g. 'Deluxe Edition', 'Remastered', '2023 Remaster', 'Special Edition'). Used to differentiate between different versions of the same base release while maintaining grouping capabilities.
55 #[serde(skip_serializing_if = "std::option::Option::is_none")]
56 #[serde(borrow)]
57- pub release_discriminant: Option<jacquard_common::CowStr<'a>>,
58 /// The Musicbrainz release ID
59 #[serde(skip_serializing_if = "std::option::Option::is_none")]
60 #[serde(borrow)]
61- pub release_mb_id: Option<jacquard_common::CowStr<'a>>,
62 /// The name of the release/album
63 #[serde(skip_serializing_if = "std::option::Option::is_none")]
64 #[serde(borrow)]
65- pub release_name: Option<jacquard_common::CowStr<'a>>,
66 /// A metadata string specifying the user agent where the format is `<app-identifier>/<version> (<kernel/OS-base>; <platform/OS-version>; <device-model>)`. If string is provided, only `app-identifier` and `version` are required. `app-identifier` is recommended to be in reverse dns format. Defaults to 'manual/unknown' if unavailable or not provided.
67 #[serde(skip_serializing_if = "std::option::Option::is_none")]
68 #[serde(borrow)]
69- pub submission_client_agent: Option<jacquard_common::CowStr<'a>>,
70 /// Distinguishing information for track variants (e.g. 'Acoustic Version', 'Live at Wembley', 'Radio Edit', 'Demo'). Used to differentiate between different versions of the same base track while maintaining grouping capabilities.
71 #[serde(skip_serializing_if = "std::option::Option::is_none")]
72 #[serde(borrow)]
73- pub track_discriminant: Option<jacquard_common::CowStr<'a>>,
74 /// The Musicbrainz ID of the track
75 #[serde(skip_serializing_if = "std::option::Option::is_none")]
76 #[serde(borrow)]
77- pub track_mb_id: Option<jacquard_common::CowStr<'a>>,
78 /// The name of the track
79 #[serde(borrow)]
80 pub track_name: jacquard_common::CowStr<'a>,
···20 /// Array of Musicbrainz artist IDs. Prefer using 'artists'.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub artist_mb_ids: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
24 /// Array of artist names in order of original appearance. Prefer using 'artists'.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub artist_names: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
28 /// Array of artists in order of original appearance.
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31+ pub artists: std::option::Option<Vec<crate::fm_teal::alpha::feed::Artist<'a>>>,
32 /// The length of the track in seconds
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34+ pub duration: std::option::Option<i64>,
35 /// The ISRC code associated with the recording
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38+ pub isrc: std::option::Option<jacquard_common::CowStr<'a>>,
39 /// The base domain of the music service. e.g. music.apple.com, tidal.com, spotify.com. Defaults to 'local' if unavailable or not provided.
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[serde(borrow)]
42+ pub music_service_base_domain: std::option::Option<jacquard_common::CowStr<'a>>,
43 /// The URL associated with this track
44 #[serde(skip_serializing_if = "std::option::Option::is_none")]
45 #[serde(borrow)]
46+ pub origin_url: std::option::Option<jacquard_common::CowStr<'a>>,
47 /// The unix timestamp of when the track was played
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49+ pub played_time: std::option::Option<jacquard_common::types::string::Datetime>,
50 /// The Musicbrainz recording ID of the track
51 #[serde(skip_serializing_if = "std::option::Option::is_none")]
52 #[serde(borrow)]
53+ pub recording_mb_id: std::option::Option<jacquard_common::CowStr<'a>>,
54 /// Distinguishing information for release variants (e.g. 'Deluxe Edition', 'Remastered', '2023 Remaster', 'Special Edition'). Used to differentiate between different versions of the same base release while maintaining grouping capabilities.
55 #[serde(skip_serializing_if = "std::option::Option::is_none")]
56 #[serde(borrow)]
57+ pub release_discriminant: std::option::Option<jacquard_common::CowStr<'a>>,
58 /// The Musicbrainz release ID
59 #[serde(skip_serializing_if = "std::option::Option::is_none")]
60 #[serde(borrow)]
61+ pub release_mb_id: std::option::Option<jacquard_common::CowStr<'a>>,
62 /// The name of the release/album
63 #[serde(skip_serializing_if = "std::option::Option::is_none")]
64 #[serde(borrow)]
65+ pub release_name: std::option::Option<jacquard_common::CowStr<'a>>,
66 /// A metadata string specifying the user agent where the format is `<app-identifier>/<version> (<kernel/OS-base>; <platform/OS-version>; <device-model>)`. If string is provided, only `app-identifier` and `version` are required. `app-identifier` is recommended to be in reverse dns format. Defaults to 'manual/unknown' if unavailable or not provided.
67 #[serde(skip_serializing_if = "std::option::Option::is_none")]
68 #[serde(borrow)]
69+ pub submission_client_agent: std::option::Option<jacquard_common::CowStr<'a>>,
70 /// Distinguishing information for track variants (e.g. 'Acoustic Version', 'Live at Wembley', 'Radio Edit', 'Demo'). Used to differentiate between different versions of the same base track while maintaining grouping capabilities.
71 #[serde(skip_serializing_if = "std::option::Option::is_none")]
72 #[serde(borrow)]
73+ pub track_discriminant: std::option::Option<jacquard_common::CowStr<'a>>,
74 /// The Musicbrainz ID of the track
75 #[serde(skip_serializing_if = "std::option::Option::is_none")]
76 #[serde(borrow)]
77+ pub track_mb_id: std::option::Option<jacquard_common::CowStr<'a>>,
78 /// The name of the track
79 #[serde(borrow)]
80 pub track_name: jacquard_common::CowStr<'a>,
···23 /// The piece of content that this Frontpage post is about.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub subject: Option<crate::fyi_frontpage::feed::post::UrlSubject<'a>>,
27 /// The title of the post.
28 #[serde(borrow)]
29 pub title: jacquard_common::CowStr<'a>,
···23 /// The piece of content that this Frontpage post is about.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub subject: std::option::Option<crate::fyi_frontpage::feed::post::UrlSubject<'a>>,
27 /// The title of the post.
28 #[serde(borrow)]
29 pub title: jacquard_common::CowStr<'a>,
···28 /// Display name of the item
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31- pub item_name: Option<jacquard_common::CowStr<'a>>,
32 /// Type category of the item (consumable, tool, equipment, etc.)
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35- pub item_type: Option<jacquard_common::CowStr<'a>>,
36 /// Base value of the item in game currency
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38- pub item_value: Option<i64>,
39 /// When the record was last modified
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41- pub last_modified: Option<jacquard_common::types::string::Datetime>,
42 /// URI of the game.log record that documents the acquisition of this item
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45- pub log_record_uri: Option<jacquard_common::CowStr<'a>>,
46 /// Maximum stack size for this item
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48- pub max_stack: Option<i64>,
49 /// Additional item-specific data (stats, attributes, enchantments, etc.)
50 #[serde(skip_serializing_if = "std::option::Option::is_none")]
51 #[serde(borrow)]
52- pub metadata: Option<jacquard_common::types::value::Data<'a>>,
53 /// Number of items in the stack
54 pub quantity: i64,
55 /// Rarity level of the item
56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 #[serde(borrow)]
58- pub rarity: Option<jacquard_common::CowStr<'a>>,
59 /// How the item was acquired
60 #[serde(skip_serializing_if = "std::option::Option::is_none")]
61 #[serde(borrow)]
62- pub source: Option<jacquard_common::CowStr<'a>>,
63 #[serde(skip_serializing_if = "std::option::Option::is_none")]
64 #[serde(borrow)]
65- pub source_details: Option<
66 crate::net_anisota::beta::game::inventory::SourceDetails<'a>,
67 >,
68 /// Whether this item can be stacked with others of the same type
69 #[serde(skip_serializing_if = "std::option::Option::is_none")]
70- pub stackable: Option<bool>,
71}
7273pub mod inventory_state {
···28 /// Display name of the item
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31+ pub item_name: std::option::Option<jacquard_common::CowStr<'a>>,
32 /// Type category of the item (consumable, tool, equipment, etc.)
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35+ pub item_type: std::option::Option<jacquard_common::CowStr<'a>>,
36 /// Base value of the item in game currency
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38+ pub item_value: std::option::Option<i64>,
39 /// When the record was last modified
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41+ pub last_modified: std::option::Option<jacquard_common::types::string::Datetime>,
42 /// URI of the game.log record that documents the acquisition of this item
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45+ pub log_record_uri: std::option::Option<jacquard_common::CowStr<'a>>,
46 /// Maximum stack size for this item
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48+ pub max_stack: std::option::Option<i64>,
49 /// Additional item-specific data (stats, attributes, enchantments, etc.)
50 #[serde(skip_serializing_if = "std::option::Option::is_none")]
51 #[serde(borrow)]
52+ pub metadata: std::option::Option<jacquard_common::types::value::Data<'a>>,
53 /// Number of items in the stack
54 pub quantity: i64,
55 /// Rarity level of the item
56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 #[serde(borrow)]
58+ pub rarity: std::option::Option<jacquard_common::CowStr<'a>>,
59 /// How the item was acquired
60 #[serde(skip_serializing_if = "std::option::Option::is_none")]
61 #[serde(borrow)]
62+ pub source: std::option::Option<jacquard_common::CowStr<'a>>,
63 #[serde(skip_serializing_if = "std::option::Option::is_none")]
64 #[serde(borrow)]
65+ pub source_details: std::option::Option<
66 crate::net_anisota::beta::game::inventory::SourceDetails<'a>,
67 >,
68 /// Whether this item can be stacked with others of the same type
69 #[serde(skip_serializing_if = "std::option::Option::is_none")]
70+ pub stackable: std::option::Option<bool>,
71}
7273pub mod inventory_state {
···21 /// URI of the card that was advanced when triggerSource is card_advance
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24- pub card_uri: Option<jacquard_common::CowStr<'a>>,
25 /// When the progress record was created
26 pub created_at: jacquard_common::types::string::Datetime,
27 /// Current stamina level when this progress was recorded (decimal string, e.g. '85.5')
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30- pub current_stamina: Option<jacquard_common::CowStr<'a>>,
31 /// Current player level
32 pub level: i64,
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35- pub metadata: Option<crate::net_anisota::beta::game::progress::Metadata<'a>>,
0036 /// Previous level before this update (for tracking level progression)
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38- pub previous_level: Option<i64>,
39 /// Progress percentage to the next level (decimal string, e.g. '75.5')
40 #[serde(borrow)]
41 pub progress_percentage: jacquard_common::CowStr<'a>,
42 /// URIs of related game log records that contributed to this progress
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45- pub related_log_uris: Option<Vec<jacquard_common::CowStr<'a>>>,
46 /// Session ID when this progress was recorded (for linking with log records)
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48 #[serde(borrow)]
49- pub session_id: Option<jacquard_common::CowStr<'a>>,
50 /// URI of the session record when this progress was recorded
51 #[serde(skip_serializing_if = "std::option::Option::is_none")]
52 #[serde(borrow)]
53- pub session_uri: Option<jacquard_common::CowStr<'a>>,
54 #[serde(skip_serializing_if = "std::option::Option::is_none")]
55 #[serde(borrow)]
56- pub stats: Option<crate::net_anisota::beta::game::progress::Stats<'a>>,
57 /// Total experience points accumulated
58 pub total_xp: i64,
59 /// What action triggered this progress save
60 #[serde(skip_serializing_if = "std::option::Option::is_none")]
61 #[serde(borrow)]
62- pub trigger_source: Option<jacquard_common::CowStr<'a>>,
63 /// Experience points gained since the last progress save
64 #[serde(skip_serializing_if = "std::option::Option::is_none")]
65- pub xp_gained_since_last_save: Option<i64>,
66 /// Experience points needed to reach the next level
67 pub xp_to_next_level: i64,
68}
···21 /// URI of the card that was advanced when triggerSource is card_advance
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24+ pub card_uri: std::option::Option<jacquard_common::CowStr<'a>>,
25 /// When the progress record was created
26 pub created_at: jacquard_common::types::string::Datetime,
27 /// Current stamina level when this progress was recorded (decimal string, e.g. '85.5')
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30+ pub current_stamina: std::option::Option<jacquard_common::CowStr<'a>>,
31 /// Current player level
32 pub level: i64,
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35+ pub metadata: std::option::Option<
36+ crate::net_anisota::beta::game::progress::Metadata<'a>,
37+ >,
38 /// Previous level before this update (for tracking level progression)
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40+ pub previous_level: std::option::Option<i64>,
41 /// Progress percentage to the next level (decimal string, e.g. '75.5')
42 #[serde(borrow)]
43 pub progress_percentage: jacquard_common::CowStr<'a>,
44 /// URIs of related game log records that contributed to this progress
45 #[serde(skip_serializing_if = "std::option::Option::is_none")]
46 #[serde(borrow)]
47+ pub related_log_uris: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
48 /// Session ID when this progress was recorded (for linking with log records)
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51+ pub session_id: std::option::Option<jacquard_common::CowStr<'a>>,
52 /// URI of the session record when this progress was recorded
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54 #[serde(borrow)]
55+ pub session_uri: std::option::Option<jacquard_common::CowStr<'a>>,
56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 #[serde(borrow)]
58+ pub stats: std::option::Option<crate::net_anisota::beta::game::progress::Stats<'a>>,
59 /// Total experience points accumulated
60 pub total_xp: i64,
61 /// What action triggered this progress save
62 #[serde(skip_serializing_if = "std::option::Option::is_none")]
63 #[serde(borrow)]
64+ pub trigger_source: std::option::Option<jacquard_common::CowStr<'a>>,
65 /// Experience points gained since the last progress save
66 #[serde(skip_serializing_if = "std::option::Option::is_none")]
67+ pub xp_gained_since_last_save: std::option::Option<i64>,
68 /// Experience points needed to reach the next level
69 pub xp_to_next_level: i64,
70}
···1009pub struct Session<'a> {
1010 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1011 #[serde(borrow)]
1012- pub activity_summary: Option<
1013 crate::net_anisota::beta::game::session::ActivitySummary<'a>,
1014 >,
1015 /// Version of the client application
···1017 pub client_version: jacquard_common::CowStr<'a>,
1018 /// When the session record was created
1019 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1020- pub created_at: Option<jacquard_common::types::string::Datetime>,
1021 /// Total session duration in milliseconds (calculated when session ends)
1022 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1023- pub duration: Option<i64>,
1024 /// Why the session ended
1025 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1026 #[serde(borrow)]
1027- pub end_reason: Option<jacquard_common::CowStr<'a>>,
1028 /// When the session ended (ISO 8601)
1029 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1030- pub ended_at: Option<jacquard_common::types::string::Datetime>,
1031 /// Timestamp of the last recorded activity in this session
1032 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1033- pub last_activity_at: Option<jacquard_common::types::string::Datetime>,
1034 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1035 #[serde(borrow)]
1036- pub metadata: Option<crate::net_anisota::beta::game::session::Metadata<'a>>,
001037 /// URI of the previous session if this is a continuation (e.g., after brief inactivity)
1038 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1039 #[serde(borrow)]
1040- pub parent_session_uri: Option<jacquard_common::CowStr<'a>>,
1041 /// Platform where the session occurred
1042 #[serde(borrow)]
1043 pub platform: jacquard_common::CowStr<'a>,
1044 /// URIs of log records that occurred during this session
1045 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1046 #[serde(borrow)]
1047- pub related_log_uris: Option<Vec<jacquard_common::CowStr<'a>>>,
1048 /// URIs of progress records created during this session
1049 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1050 #[serde(borrow)]
1051- pub related_progress_uris: Option<Vec<jacquard_common::CowStr<'a>>>,
1052 /// URIs of related sessions (e.g., same day, same device)
1053 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1054 #[serde(borrow)]
1055- pub related_session_uris: Option<Vec<jacquard_common::CowStr<'a>>>,
1056 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1057 #[serde(borrow)]
1058- pub session_context: Option<
1059 crate::net_anisota::beta::game::session::SessionContext<'a>,
1060 >,
1061 /// When the session began (ISO 8601)
···1065 pub status: jacquard_common::CowStr<'a>,
1066 /// When the session record was last updated
1067 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1068- pub updated_at: Option<jacquard_common::types::string::Datetime>,
1069}
10701071pub mod session_state {
···1009pub struct Session<'a> {
1010 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1011 #[serde(borrow)]
1012+ pub activity_summary: std::option::Option<
1013 crate::net_anisota::beta::game::session::ActivitySummary<'a>,
1014 >,
1015 /// Version of the client application
···1017 pub client_version: jacquard_common::CowStr<'a>,
1018 /// When the session record was created
1019 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1020+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
1021 /// Total session duration in milliseconds (calculated when session ends)
1022 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1023+ pub duration: std::option::Option<i64>,
1024 /// Why the session ended
1025 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1026 #[serde(borrow)]
1027+ pub end_reason: std::option::Option<jacquard_common::CowStr<'a>>,
1028 /// When the session ended (ISO 8601)
1029 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1030+ pub ended_at: std::option::Option<jacquard_common::types::string::Datetime>,
1031 /// Timestamp of the last recorded activity in this session
1032 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1033+ pub last_activity_at: std::option::Option<jacquard_common::types::string::Datetime>,
1034 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1035 #[serde(borrow)]
1036+ pub metadata: std::option::Option<
1037+ crate::net_anisota::beta::game::session::Metadata<'a>,
1038+ >,
1039 /// URI of the previous session if this is a continuation (e.g., after brief inactivity)
1040 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1041 #[serde(borrow)]
1042+ pub parent_session_uri: std::option::Option<jacquard_common::CowStr<'a>>,
1043 /// Platform where the session occurred
1044 #[serde(borrow)]
1045 pub platform: jacquard_common::CowStr<'a>,
1046 /// URIs of log records that occurred during this session
1047 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1048 #[serde(borrow)]
1049+ pub related_log_uris: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
1050 /// URIs of progress records created during this session
1051 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1052 #[serde(borrow)]
1053+ pub related_progress_uris: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
1054 /// URIs of related sessions (e.g., same day, same device)
1055 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1056 #[serde(borrow)]
1057+ pub related_session_uris: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
1058 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1059 #[serde(borrow)]
1060+ pub session_context: std::option::Option<
1061 crate::net_anisota::beta::game::session::SessionContext<'a>,
1062 >,
1063 /// When the session began (ISO 8601)
···1067 pub status: jacquard_common::CowStr<'a>,
1068 /// When the session record was last updated
1069 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1070+ pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
1071}
10721073pub mod session_state {
+7-7
crates/jacquard-api/src/net_anisota/feed/draft.rs
···22 pub created_at: jacquard_common::types::string::Datetime,
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25- pub embed: Option<DraftEmbed<'a>>,
26 /// Annotations of text (mentions, URLs, hashtags, etc)
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29- pub facets: Option<Vec<crate::app_bsky::richtext::facet::Facet<'a>>>,
30 /// Self-label values for this post. Effectively content warnings.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33- pub labels: Option<crate::com_atproto::label::SelfLabels<'a>>,
34 /// Indicates human language of post primary text content.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36- pub langs: Option<Vec<jacquard_common::types::string::Language>>,
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38 #[serde(borrow)]
39- pub reply: Option<crate::net_anisota::feed::draft::ReplyRef<'a>>,
40 /// Additional hashtags, in addition to any included in post text and facets.
41 #[serde(skip_serializing_if = "std::option::Option::is_none")]
42 #[serde(borrow)]
43- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
44 /// The primary post content. May be an empty string, if there are embeds.
45 #[serde(borrow)]
46 pub text: jacquard_common::CowStr<'a>,
47 /// Client-declared timestamp when this draft was last updated.
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49- pub updated_at: Option<jacquard_common::types::string::Datetime>,
50}
5152pub mod draft_state {
···22 pub created_at: jacquard_common::types::string::Datetime,
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25+ pub embed: std::option::Option<DraftEmbed<'a>>,
26 /// Annotations of text (mentions, URLs, hashtags, etc)
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29+ pub facets: std::option::Option<Vec<crate::app_bsky::richtext::facet::Facet<'a>>>,
30 /// Self-label values for this post. Effectively content warnings.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33+ pub labels: std::option::Option<crate::com_atproto::label::SelfLabels<'a>>,
34 /// Indicates human language of post primary text content.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36+ pub langs: std::option::Option<Vec<jacquard_common::types::string::Language>>,
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38 #[serde(borrow)]
39+ pub reply: std::option::Option<crate::net_anisota::feed::draft::ReplyRef<'a>>,
40 /// Additional hashtags, in addition to any included in post text and facets.
41 #[serde(skip_serializing_if = "std::option::Option::is_none")]
42 #[serde(borrow)]
43+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
44 /// The primary post content. May be an empty string, if there are embeds.
45 #[serde(borrow)]
46 pub text: jacquard_common::CowStr<'a>,
47 /// Client-declared timestamp when this draft was last updated.
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49+ pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
50}
5152pub mod draft_state {
+3-3
crates/jacquard-api/src/net_anisota/feed/list.rs
···21 /// Optional avatar image for the list
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24- pub avatar: Option<jacquard_common::types::blob::BlobRef<'a>>,
25 /// When the list was created
26 pub created_at: jacquard_common::types::string::Datetime,
27 /// Optional description of the list
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30- pub description: Option<jacquard_common::CowStr<'a>>,
31 /// Display name for the list
32 #[serde(borrow)]
33 pub name: jacquard_common::CowStr<'a>,
34 /// Tags for categorizing the list
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
38}
3940pub mod list_state {
···21 /// Optional avatar image for the list
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24+ pub avatar: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
25 /// When the list was created
26 pub created_at: jacquard_common::types::string::Datetime,
27 /// Optional description of the list
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
31 /// Display name for the list
32 #[serde(borrow)]
33 pub name: jacquard_common::CowStr<'a>,
34 /// Tags for categorizing the list
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
38}
3940pub mod list_state {
+6-6
crates/jacquard-api/src/net_anisota/feed/post.rs
···22 pub created_at: jacquard_common::types::string::Datetime,
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25- pub embed: Option<PostEmbed<'a>>,
26 /// Annotations of text (mentions, URLs, hashtags, etc)
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29- pub facets: Option<Vec<crate::app_bsky::richtext::facet::Facet<'a>>>,
30 /// Self-label values for this post. Effectively content warnings.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33- pub labels: Option<crate::com_atproto::label::SelfLabels<'a>>,
34 /// Indicates human language of post primary text content.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36- pub langs: Option<Vec<jacquard_common::types::string::Language>>,
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38 #[serde(borrow)]
39- pub reply: Option<crate::net_anisota::feed::post::ReplyRef<'a>>,
40 /// Additional hashtags, in addition to any included in post text and facets.
41 #[serde(skip_serializing_if = "std::option::Option::is_none")]
42 #[serde(borrow)]
43- pub tags: Option<Vec<jacquard_common::CowStr<'a>>>,
44 /// The primary post content. May be an empty string, if there are embeds.
45 #[serde(borrow)]
46 pub text: jacquard_common::CowStr<'a>,
···22 pub created_at: jacquard_common::types::string::Datetime,
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25+ pub embed: std::option::Option<PostEmbed<'a>>,
26 /// Annotations of text (mentions, URLs, hashtags, etc)
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29+ pub facets: std::option::Option<Vec<crate::app_bsky::richtext::facet::Facet<'a>>>,
30 /// Self-label values for this post. Effectively content warnings.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33+ pub labels: std::option::Option<crate::com_atproto::label::SelfLabels<'a>>,
34 /// Indicates human language of post primary text content.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36+ pub langs: std::option::Option<Vec<jacquard_common::types::string::Language>>,
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38 #[serde(borrow)]
39+ pub reply: std::option::Option<crate::net_anisota::feed::post::ReplyRef<'a>>,
40 /// Additional hashtags, in addition to any included in post text and facets.
41 #[serde(skip_serializing_if = "std::option::Option::is_none")]
42 #[serde(borrow)]
43+ pub tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
44 /// The primary post content. May be an empty string, if there are embeds.
45 #[serde(borrow)]
46 pub text: jacquard_common::CowStr<'a>,
···281 /// Types of content to mute from accounts on this list
282 #[serde(skip_serializing_if = "std::option::Option::is_none")]
283 #[serde(borrow)]
284- pub content_types: Option<crate::net_anisota::graph::list_mute::ContentTypes<'a>>,
00285 /// When the mute was created
286 pub created_at: jacquard_common::types::string::Datetime,
287 /// When this mute expires. If not set, mute is permanent
288 #[serde(skip_serializing_if = "std::option::Option::is_none")]
289- pub expires_at: Option<jacquard_common::types::string::Datetime>,
290 /// Optional reason for muting this list
291 #[serde(skip_serializing_if = "std::option::Option::is_none")]
292 #[serde(borrow)]
293- pub reason: Option<jacquard_common::CowStr<'a>>,
294 /// AT-URI of the list to mute (app.bsky.graph.list record)
295 #[serde(borrow)]
296 pub subject: jacquard_common::types::string::AtUri<'a>,
297 /// Specific feeds where this mute should apply. If empty, applies to all feeds
298 #[serde(skip_serializing_if = "std::option::Option::is_none")]
299 #[serde(borrow)]
300- pub target_feeds: Option<Vec<jacquard_common::types::string::AtUri<'a>>>,
00301}
302303pub mod list_mute_state {
···281 /// Types of content to mute from accounts on this list
282 #[serde(skip_serializing_if = "std::option::Option::is_none")]
283 #[serde(borrow)]
284+ pub content_types: std::option::Option<
285+ crate::net_anisota::graph::list_mute::ContentTypes<'a>,
286+ >,
287 /// When the mute was created
288 pub created_at: jacquard_common::types::string::Datetime,
289 /// When this mute expires. If not set, mute is permanent
290 #[serde(skip_serializing_if = "std::option::Option::is_none")]
291+ pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
292 /// Optional reason for muting this list
293 #[serde(skip_serializing_if = "std::option::Option::is_none")]
294 #[serde(borrow)]
295+ pub reason: std::option::Option<jacquard_common::CowStr<'a>>,
296 /// AT-URI of the list to mute (app.bsky.graph.list record)
297 #[serde(borrow)]
298 pub subject: jacquard_common::types::string::AtUri<'a>,
299 /// Specific feeds where this mute should apply. If empty, applies to all feeds
300 #[serde(skip_serializing_if = "std::option::Option::is_none")]
301 #[serde(borrow)]
302+ pub target_feeds: std::option::Option<
303+ Vec<jacquard_common::types::string::AtUri<'a>>,
304+ >,
305}
306307pub mod list_mute_state {
+8-4
crates/jacquard-api/src/net_anisota/graph/mute.rs
···281 /// Types of content to mute from this account
282 #[serde(skip_serializing_if = "std::option::Option::is_none")]
283 #[serde(borrow)]
284- pub content_types: Option<crate::net_anisota::graph::mute::ContentTypes<'a>>,
00285 /// When the mute was created
286 pub created_at: jacquard_common::types::string::Datetime,
287 /// When this mute expires. If not set, mute is permanent
288 #[serde(skip_serializing_if = "std::option::Option::is_none")]
289- pub expires_at: Option<jacquard_common::types::string::Datetime>,
290 /// Optional reason for muting this account
291 #[serde(skip_serializing_if = "std::option::Option::is_none")]
292 #[serde(borrow)]
293- pub reason: Option<jacquard_common::CowStr<'a>>,
294 /// DID of the account to mute
295 #[serde(borrow)]
296 pub subject: jacquard_common::types::string::Did<'a>,
297 /// Specific feeds where this mute should apply. If empty, applies to all feeds
298 #[serde(skip_serializing_if = "std::option::Option::is_none")]
299 #[serde(borrow)]
300- pub target_feeds: Option<Vec<jacquard_common::types::string::AtUri<'a>>>,
00301}
302303pub mod mute_state {
···281 /// Types of content to mute from this account
282 #[serde(skip_serializing_if = "std::option::Option::is_none")]
283 #[serde(borrow)]
284+ pub content_types: std::option::Option<
285+ crate::net_anisota::graph::mute::ContentTypes<'a>,
286+ >,
287 /// When the mute was created
288 pub created_at: jacquard_common::types::string::Datetime,
289 /// When this mute expires. If not set, mute is permanent
290 #[serde(skip_serializing_if = "std::option::Option::is_none")]
291+ pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
292 /// Optional reason for muting this account
293 #[serde(skip_serializing_if = "std::option::Option::is_none")]
294 #[serde(borrow)]
295+ pub reason: std::option::Option<jacquard_common::CowStr<'a>>,
296 /// DID of the account to mute
297 #[serde(borrow)]
298 pub subject: jacquard_common::types::string::Did<'a>,
299 /// Specific feeds where this mute should apply. If empty, applies to all feeds
300 #[serde(skip_serializing_if = "std::option::Option::is_none")]
301 #[serde(borrow)]
302+ pub target_feeds: std::option::Option<
303+ Vec<jacquard_common::types::string::AtUri<'a>>,
304+ >,
305}
306307pub mod mute_state {
+9-5
crates/jacquard-api/src/net_anisota/settings.rs
···3793pub struct Settings<'a> {
3794 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3795 #[serde(borrow)]
3796- pub behavior_settings: Option<crate::net_anisota::settings::BehaviorSettings<'a>>,
003797 /// Order of control buttons
3798 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3799 #[serde(borrow)]
3800- pub control_order: Option<Vec<jacquard_common::CowStr<'a>>>,
3801 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3802 #[serde(borrow)]
3803- pub control_settings: Option<crate::net_anisota::settings::ControlSettings<'a>>,
003804 /// When the settings record was first created
3805 pub created_at: jacquard_common::types::string::Datetime,
3806 /// Selected color theme
3807 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3808 #[serde(borrow)]
3809- pub theme: Option<jacquard_common::CowStr<'a>>,
3810 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3811 #[serde(borrow)]
3812- pub ui_settings: Option<crate::net_anisota::settings::UiSettings<'a>>,
3813 /// When the settings were last updated
3814 pub updated_at: jacquard_common::types::string::Datetime,
3815 /// Settings schema version for backward compatibility
···3793pub struct Settings<'a> {
3794 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3795 #[serde(borrow)]
3796+ pub behavior_settings: std::option::Option<
3797+ crate::net_anisota::settings::BehaviorSettings<'a>,
3798+ >,
3799 /// Order of control buttons
3800 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3801 #[serde(borrow)]
3802+ pub control_order: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
3803 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3804 #[serde(borrow)]
3805+ pub control_settings: std::option::Option<
3806+ crate::net_anisota::settings::ControlSettings<'a>,
3807+ >,
3808 /// When the settings record was first created
3809 pub created_at: jacquard_common::types::string::Datetime,
3810 /// Selected color theme
3811 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3812 #[serde(borrow)]
3813+ pub theme: std::option::Option<jacquard_common::CowStr<'a>>,
3814 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3815 #[serde(borrow)]
3816+ pub ui_settings: std::option::Option<crate::net_anisota::settings::UiSettings<'a>>,
3817 /// When the settings were last updated
3818 pub updated_at: jacquard_common::types::string::Datetime,
3819 /// Settings schema version for backward compatibility
···23 /// The emoji of the status update
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub emoji: Option<jacquard_common::CowStr<'a>>,
27 /// The text of the status update
28 #[serde(borrow)]
29 pub text: jacquard_common::CowStr<'a>,
···23 /// The emoji of the status update
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub emoji: std::option::Option<jacquard_common::CowStr<'a>>,
27 /// The text of the status update
28 #[serde(borrow)]
29 pub text: jacquard_common::CowStr<'a>,
+3-3
crates/jacquard-api/src/net_mmatt/vitals/car.rs
···25 /// The car make value
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28- pub car_make: Option<jacquard_common::CowStr<'a>>,
29 /// The car model value
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32- pub car_model: Option<jacquard_common::CowStr<'a>>,
33 /// The car fuel level value in percentage (floating point string)
34 #[serde(borrow)]
35 pub car_percent_fuel_remaining: jacquard_common::CowStr<'a>,
···37 pub car_traveled_distance: i64,
38 /// The car year value
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40- pub car_year: Option<i64>,
41 /// The unix timestamp of when the vital was recorded
42 pub created_at: jacquard_common::types::string::Datetime,
43}
···25 /// The car make value
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28+ pub car_make: std::option::Option<jacquard_common::CowStr<'a>>,
29 /// The car model value
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32+ pub car_model: std::option::Option<jacquard_common::CowStr<'a>>,
33 /// The car fuel level value in percentage (floating point string)
34 #[serde(borrow)]
35 pub car_percent_fuel_remaining: jacquard_common::CowStr<'a>,
···37 pub car_traveled_distance: i64,
38 /// The car year value
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40+ pub car_year: std::option::Option<i64>,
41 /// The unix timestamp of when the vital was recorded
42 pub created_at: jacquard_common::types::string::Datetime,
43}
···21 /// Small image to be displayed next to posts from account. AKA, 'profile picture'
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24- pub avatar: Option<jacquard_common::types::blob::BlobRef<'a>>,
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26- pub created_at: Option<jacquard_common::types::string::Datetime>,
27 /// Free-form profile description text.
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30- pub description: Option<jacquard_common::CowStr<'a>>,
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33- pub display_name: Option<jacquard_common::CowStr<'a>>,
34}
3536pub mod profile_state {
···21 /// Small image to be displayed next to posts from account. AKA, 'profile picture'
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24+ pub avatar: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
27 /// Free-form profile description text.
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33+ pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
34}
3536pub mod profile_state {
+3-3
crates/jacquard-api/src/network_slices/lexicon.rs
···25 /// Human-readable description of the lexicon
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28- pub description: Option<jacquard_common::CowStr<'a>>,
29 /// Whether this lexicon should be excluded from sync operations
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31- pub excluded_from_sync: Option<bool>,
32 /// Namespaced identifier for the lexicon
33 #[serde(borrow)]
34 pub nsid: jacquard_common::CowStr<'a>,
···37 pub slice: jacquard_common::types::string::AtUri<'a>,
38 /// When the lexicon was last updated
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40- pub updated_at: Option<jacquard_common::types::string::Datetime>,
41}
4243pub mod lexicon_state {
···25 /// Human-readable description of the lexicon
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
29 /// Whether this lexicon should be excluded from sync operations
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31+ pub excluded_from_sync: std::option::Option<bool>,
32 /// Namespaced identifier for the lexicon
33 #[serde(borrow)]
34 pub nsid: jacquard_common::CowStr<'a>,
···37 pub slice: jacquard_common::types::string::AtUri<'a>,
38 /// When the lexicon was last updated
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40+ pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
41}
4243pub mod lexicon_state {
+8-6
crates/jacquard-api/src/network_slices/slice.rs
···445 pub domain: jacquard_common::CowStr<'a>,
446 /// Total number of unique indexed actors in this slice
447 #[serde(skip_serializing_if = "std::option::Option::is_none")]
448- pub indexed_actor_count: Option<i64>,
449 /// Number of collections with indexed records
450 #[serde(skip_serializing_if = "std::option::Option::is_none")]
451- pub indexed_collection_count: Option<i64>,
452 /// Total number of indexed records in this slice
453 #[serde(skip_serializing_if = "std::option::Option::is_none")]
454- pub indexed_record_count: Option<i64>,
455 /// Display name of the slice
456 #[serde(borrow)]
457 pub name: jacquard_common::CowStr<'a>,
458 /// Recent activity sparkline data points for the last 24 hours
459 #[serde(skip_serializing_if = "std::option::Option::is_none")]
460 #[serde(borrow)]
461- pub sparkline: Option<Vec<crate::network_slices::slice::SparklinePoint<'a>>>,
00462 #[serde(borrow)]
463 pub uri: jacquard_common::types::string::AtUri<'a>,
464 /// Total number of waitlist invites for this slice
465 #[serde(skip_serializing_if = "std::option::Option::is_none")]
466- pub waitlist_invite_count: Option<i64>,
467 /// Total number of waitlist requests for this slice
468 #[serde(skip_serializing_if = "std::option::Option::is_none")]
469- pub waitlist_request_count: Option<i64>,
470}
471472pub mod slice_view_state {
···445 pub domain: jacquard_common::CowStr<'a>,
446 /// Total number of unique indexed actors in this slice
447 #[serde(skip_serializing_if = "std::option::Option::is_none")]
448+ pub indexed_actor_count: std::option::Option<i64>,
449 /// Number of collections with indexed records
450 #[serde(skip_serializing_if = "std::option::Option::is_none")]
451+ pub indexed_collection_count: std::option::Option<i64>,
452 /// Total number of indexed records in this slice
453 #[serde(skip_serializing_if = "std::option::Option::is_none")]
454+ pub indexed_record_count: std::option::Option<i64>,
455 /// Display name of the slice
456 #[serde(borrow)]
457 pub name: jacquard_common::CowStr<'a>,
458 /// Recent activity sparkline data points for the last 24 hours
459 #[serde(skip_serializing_if = "std::option::Option::is_none")]
460 #[serde(borrow)]
461+ pub sparkline: std::option::Option<
462+ Vec<crate::network_slices::slice::SparklinePoint<'a>>,
463+ >,
464 #[serde(borrow)]
465 pub uri: jacquard_common::types::string::AtUri<'a>,
466 /// Total number of waitlist invites for this slice
467 #[serde(skip_serializing_if = "std::option::Option::is_none")]
468+ pub waitlist_invite_count: std::option::Option<i64>,
469 /// Total number of waitlist requests for this slice
470 #[serde(skip_serializing_if = "std::option::Option::is_none")]
471+ pub waitlist_request_count: std::option::Option<i64>,
472}
473474pub mod slice_view_state {
···23 /// Human-readable handle of the actor
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub handle: Option<jacquard_common::types::string::Handle<'a>>,
27 /// When this actor was indexed
28 pub indexed_at: jacquard_common::types::string::Datetime,
29 /// AT-URI of the slice this actor is indexed in
···23 /// Human-readable handle of the actor
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub handle: std::option::Option<jacquard_common::types::string::Handle<'a>>,
27 /// When this actor was indexed
28 pub indexed_at: jacquard_common::types::string::Datetime,
29 /// AT-URI of the slice this actor is indexed in
···19pub struct JobStatus<'a> {
20 /// When the job completed
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22- pub completed_at: Option<jacquard_common::types::string::Datetime>,
23 /// When the job was created
24 pub created_at: jacquard_common::types::string::Datetime,
25 /// Error message if job failed
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28- pub error: Option<jacquard_common::CowStr<'a>>,
29 /// UUID of the job
30 #[serde(borrow)]
31 pub job_id: jacquard_common::CowStr<'a>,
32 /// Job result if completed successfully
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35- pub result: Option<crate::network_slices::slice::get_job_status::SyncJobResult<'a>>,
0036 /// Number of times the job has been retried
37 pub retry_count: i64,
38 /// When the job started executing
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40- pub started_at: Option<jacquard_common::types::string::Datetime>,
41 /// Current status of the job
42 #[serde(borrow)]
43 pub status: jacquard_common::CowStr<'a>,
···19pub struct JobStatus<'a> {
20 /// When the job completed
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22+ pub completed_at: std::option::Option<jacquard_common::types::string::Datetime>,
23 /// When the job was created
24 pub created_at: jacquard_common::types::string::Datetime,
25 /// Error message if job failed
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28+ pub error: std::option::Option<jacquard_common::CowStr<'a>>,
29 /// UUID of the job
30 #[serde(borrow)]
31 pub job_id: jacquard_common::CowStr<'a>,
32 /// Job result if completed successfully
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35+ pub result: std::option::Option<
36+ crate::network_slices::slice::get_job_status::SyncJobResult<'a>,
37+ >,
38 /// Number of times the job has been retried
39 pub retry_count: i64,
40 /// When the job started executing
41 #[serde(skip_serializing_if = "std::option::Option::is_none")]
42+ pub started_at: std::option::Option<jacquard_common::types::string::Datetime>,
43 /// Current status of the job
44 #[serde(borrow)]
45 pub status: jacquard_common::CowStr<'a>,
···174 /// OAuth client secret (only returned on creation)
175 #[serde(skip_serializing_if = "std::option::Option::is_none")]
176 #[serde(borrow)]
177- pub client_secret: Option<jacquard_common::CowStr<'a>>,
178 /// URI of the client application
179 #[serde(skip_serializing_if = "std::option::Option::is_none")]
180 #[serde(borrow)]
181- pub client_uri: Option<jacquard_common::types::string::Uri<'a>>,
182 /// When the OAuth client was created
183 pub created_at: jacquard_common::types::string::Datetime,
184 /// DID of the user who created this client
···190 /// URI of the client logo
191 #[serde(skip_serializing_if = "std::option::Option::is_none")]
192 #[serde(borrow)]
193- pub logo_uri: Option<jacquard_common::types::string::Uri<'a>>,
194 /// URI of the privacy policy
195 #[serde(skip_serializing_if = "std::option::Option::is_none")]
196 #[serde(borrow)]
197- pub policy_uri: Option<jacquard_common::types::string::Uri<'a>>,
198 /// Allowed redirect URIs for OAuth flow
199 #[serde(borrow)]
200 pub redirect_uris: Vec<jacquard_common::types::string::Uri<'a>>,
···204 /// OAuth scope
205 #[serde(skip_serializing_if = "std::option::Option::is_none")]
206 #[serde(borrow)]
207- pub scope: Option<jacquard_common::CowStr<'a>>,
208 /// URI of the terms of service
209 #[serde(skip_serializing_if = "std::option::Option::is_none")]
210 #[serde(borrow)]
211- pub tos_uri: Option<jacquard_common::types::string::Uri<'a>>,
212}
213214pub mod oauth_client_details_state {
···174 /// OAuth client secret (only returned on creation)
175 #[serde(skip_serializing_if = "std::option::Option::is_none")]
176 #[serde(borrow)]
177+ pub client_secret: std::option::Option<jacquard_common::CowStr<'a>>,
178 /// URI of the client application
179 #[serde(skip_serializing_if = "std::option::Option::is_none")]
180 #[serde(borrow)]
181+ pub client_uri: std::option::Option<jacquard_common::types::string::Uri<'a>>,
182 /// When the OAuth client was created
183 pub created_at: jacquard_common::types::string::Datetime,
184 /// DID of the user who created this client
···190 /// URI of the client logo
191 #[serde(skip_serializing_if = "std::option::Option::is_none")]
192 #[serde(borrow)]
193+ pub logo_uri: std::option::Option<jacquard_common::types::string::Uri<'a>>,
194 /// URI of the privacy policy
195 #[serde(skip_serializing_if = "std::option::Option::is_none")]
196 #[serde(borrow)]
197+ pub policy_uri: std::option::Option<jacquard_common::types::string::Uri<'a>>,
198 /// Allowed redirect URIs for OAuth flow
199 #[serde(borrow)]
200 pub redirect_uris: Vec<jacquard_common::types::string::Uri<'a>>,
···204 /// OAuth scope
205 #[serde(skip_serializing_if = "std::option::Option::is_none")]
206 #[serde(borrow)]
207+ pub scope: std::option::Option<jacquard_common::CowStr<'a>>,
208 /// URI of the terms of service
209 #[serde(skip_serializing_if = "std::option::Option::is_none")]
210 #[serde(borrow)]
211+ pub tos_uri: std::option::Option<jacquard_common::types::string::Uri<'a>>,
212}
213214pub mod oauth_client_details_state {
···20 /// Time range to fetch data for
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub duration: Option<jacquard_common::CowStr<'a>>,
24 /// Time interval for data points
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub interval: Option<jacquard_common::CowStr<'a>>,
28 /// Array of slice AT-URIs to get sparkline data for
29 #[serde(borrow)]
30 pub slices: Vec<jacquard_common::CowStr<'a>>,
···20 /// Time range to fetch data for
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub duration: std::option::Option<jacquard_common::CowStr<'a>>,
24 /// Time interval for data points
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub interval: std::option::Option<jacquard_common::CowStr<'a>>,
28 /// Array of slice AT-URIs to get sparkline data for
29 #[serde(borrow)]
30 pub slices: Vec<jacquard_common::CowStr<'a>>,
···28 pub did: jacquard_common::types::string::Did<'a>,
29 /// Optional expiration date for this invitation
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31- pub expires_at: Option<jacquard_common::types::string::Datetime>,
32 /// Profile of the invitee
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35- pub profile: Option<crate::app_bsky::actor::ProfileViewBasic<'a>>,
36 /// The AT URI of the slice this invite is for
37 #[serde(borrow)]
38 pub slice: jacquard_common::types::string::AtUri<'a>,
39 /// The AT URI of this invite record
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[serde(borrow)]
42- pub uri: Option<jacquard_common::types::string::AtUri<'a>>,
43}
4445pub mod invite_view_state {
···551 /// Profile of the requester
552 #[serde(skip_serializing_if = "std::option::Option::is_none")]
553 #[serde(borrow)]
554- pub profile: Option<crate::app_bsky::actor::ProfileViewBasic<'a>>,
555 /// The AT URI of the slice being requested access to
556 #[serde(borrow)]
557 pub slice: jacquard_common::types::string::AtUri<'a>,
···28 pub did: jacquard_common::types::string::Did<'a>,
29 /// Optional expiration date for this invitation
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31+ pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
32 /// Profile of the invitee
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35+ pub profile: std::option::Option<crate::app_bsky::actor::ProfileViewBasic<'a>>,
36 /// The AT URI of the slice this invite is for
37 #[serde(borrow)]
38 pub slice: jacquard_common::types::string::AtUri<'a>,
39 /// The AT URI of this invite record
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[serde(borrow)]
42+ pub uri: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
43}
4445pub mod invite_view_state {
···551 /// Profile of the requester
552 #[serde(skip_serializing_if = "std::option::Option::is_none")]
553 #[serde(borrow)]
554+ pub profile: std::option::Option<crate::app_bsky::actor::ProfileViewBasic<'a>>,
555 /// The AT URI of the slice being requested access to
556 #[serde(borrow)]
557 pub slice: jacquard_common::types::string::AtUri<'a>,
···25 pub did: jacquard_common::types::string::Did<'a>,
26 /// Optional expiration date for this invitation
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28- pub expires_at: Option<jacquard_common::types::string::Datetime>,
29 /// The AT URI of the slice this invite is for
30 #[serde(borrow)]
31 pub slice: jacquard_common::types::string::AtUri<'a>,
···25 pub did: jacquard_common::types::string::Did<'a>,
26 /// Optional expiration date for this invitation
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28+ pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
29 /// The AT URI of the slice this invite is for
30 #[serde(borrow)]
31 pub slice: jacquard_common::types::string::AtUri<'a>,
+4-4
crates/jacquard-api/src/org_devcon/event/test.rs
···18#[serde(rename_all = "camelCase")]
19pub struct Test<'a> {
20 #[serde(skip_serializing_if = "std::option::Option::is_none")]
21- pub created_at: Option<jacquard_common::types::string::Datetime>,
22 /// Description of the event
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25- pub description: Option<jacquard_common::CowStr<'a>>,
26 /// End time of the event
27 pub end: jacquard_common::types::string::Datetime,
28 /// Location of the event
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31- pub location: Option<jacquard_common::CowStr<'a>>,
32 /// Start time of the event
33 pub start: jacquard_common::types::string::Datetime,
34 /// Title of the event
···37 /// URL of the event
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39 #[serde(borrow)]
40- pub url: Option<jacquard_common::CowStr<'a>>,
41}
4243pub mod test_state {
···18#[serde(rename_all = "camelCase")]
19pub struct Test<'a> {
20 #[serde(skip_serializing_if = "std::option::Option::is_none")]
21+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
22 /// Description of the event
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[serde(borrow)]
25+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
26 /// End time of the event
27 pub end: jacquard_common::types::string::Datetime,
28 /// Location of the event
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31+ pub location: std::option::Option<jacquard_common::CowStr<'a>>,
32 /// Start time of the event
33 pub start: jacquard_common::types::string::Datetime,
34 /// Title of the event
···37 /// URL of the event
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39 #[serde(borrow)]
40+ pub url: std::option::Option<jacquard_common::CowStr<'a>>,
41}
4243pub mod test_state {
···21 /// did of the broadcaster that operates the server syndicating the livestream
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24- pub broadcaster: Option<jacquard_common::types::string::Did<'a>>,
25 /// Iroh ticket that can be used to access the livestream from the server
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28- pub iroh_ticket: Option<jacquard_common::CowStr<'a>>,
29 /// did of the server that's currently rebroadcasting the livestream
30 #[serde(borrow)]
31 pub server: jacquard_common::types::string::Did<'a>,
···37 /// URL of the websocket endpoint for the livestream
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39 #[serde(borrow)]
40- pub websocket_url: Option<jacquard_common::types::string::Uri<'a>>,
41}
4243pub mod origin_state {
···21 /// did of the broadcaster that operates the server syndicating the livestream
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24+ pub broadcaster: std::option::Option<jacquard_common::types::string::Did<'a>>,
25 /// Iroh ticket that can be used to access the livestream from the server
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28+ pub iroh_ticket: std::option::Option<jacquard_common::CowStr<'a>>,
29 /// did of the server that's currently rebroadcasting the livestream
30 #[serde(borrow)]
31 pub server: jacquard_common::types::string::Did<'a>,
···37 /// URL of the websocket endpoint for the livestream
38 #[serde(skip_serializing_if = "std::option::Option::is_none")]
39 #[serde(borrow)]
40+ pub websocket_url: std::option::Option<jacquard_common::types::string::Uri<'a>>,
41}
4243pub mod origin_state {
+5-3
crates/jacquard-api/src/place_stream/chat.rs
···25 pub author: crate::app_bsky::actor::ProfileViewBasic<'a>,
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28- pub chat_profile: Option<crate::place_stream::chat::profile::Profile<'a>>,
0029 #[serde(borrow)]
30 pub cid: jacquard_common::types::string::Cid<'a>,
31 /// If true, this message has been deleted or labeled and should be cleared from the cache
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33- pub deleted: Option<bool>,
34 pub indexed_at: jacquard_common::types::string::Datetime,
35 #[serde(borrow)]
36 pub record: jacquard_common::types::value::Data<'a>,
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38 #[serde(borrow)]
39- pub reply_to: Option<MessageViewReplyTo<'a>>,
40 #[serde(borrow)]
41 pub uri: jacquard_common::types::string::AtUri<'a>,
42}
···25 pub author: crate::app_bsky::actor::ProfileViewBasic<'a>,
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28+ pub chat_profile: std::option::Option<
29+ crate::place_stream::chat::profile::Profile<'a>,
30+ >,
31 #[serde(borrow)]
32 pub cid: jacquard_common::types::string::Cid<'a>,
33 /// If true, this message has been deleted or labeled and should be cleared from the cache
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35+ pub deleted: std::option::Option<bool>,
36 pub indexed_at: jacquard_common::types::string::Datetime,
37 #[serde(borrow)]
38 pub record: jacquard_common::types::value::Data<'a>,
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 #[serde(borrow)]
41+ pub reply_to: std::option::Option<MessageViewReplyTo<'a>>,
42 #[serde(borrow)]
43 pub uri: jacquard_common::types::string::AtUri<'a>,
44}
···23 /// The name of the client that created this key.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub created_by: Option<jacquard_common::CowStr<'a>>,
27 /// The did:key signing key for the stream.
28 #[serde(borrow)]
29 pub signing_key: jacquard_common::CowStr<'a>,
···23 /// The name of the client that created this key.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub created_by: std::option::Option<jacquard_common::CowStr<'a>>,
27 /// The did:key signing key for the stream.
28 #[serde(borrow)]
29 pub signing_key: jacquard_common::CowStr<'a>,
···29 /// The number of viewers watching this livestream. Use when you can't reasonably use #viewerCount directly.
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32- pub viewer_count: Option<crate::place_stream::livestream::ViewerCount<'a>>,
0033}
3435pub mod livestream_view_state {
···699 /// The source of the livestream, if available, in a User Agent format: `<product> / <product-version> <comment>` e.g. Streamplace/0.7.5 iOS
700 #[serde(skip_serializing_if = "std::option::Option::is_none")]
701 #[serde(borrow)]
702- pub agent: Option<jacquard_common::CowStr<'a>>,
703 /// The primary URL where this livestream can be viewed, if available.
704 #[serde(skip_serializing_if = "std::option::Option::is_none")]
705 #[serde(borrow)]
706- pub canonical_url: Option<jacquard_common::types::string::Uri<'a>>,
707 /// Client-declared timestamp when this livestream started.
708 pub created_at: jacquard_common::types::string::Datetime,
709 #[serde(skip_serializing_if = "std::option::Option::is_none")]
710 #[serde(borrow)]
711- pub notification_settings: Option<
712 crate::place_stream::livestream::NotificationSettings<'a>,
713 >,
714 /// The post that announced this livestream.
715 #[serde(skip_serializing_if = "std::option::Option::is_none")]
716 #[serde(borrow)]
717- pub post: Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
718 #[serde(skip_serializing_if = "std::option::Option::is_none")]
719 #[serde(borrow)]
720- pub thumb: Option<jacquard_common::types::blob::BlobRef<'a>>,
721 /// The title of the livestream, as it will be announced to followers.
722 #[serde(borrow)]
723 pub title: jacquard_common::CowStr<'a>,
724 /// The URL where this stream can be found. This is primarily a hint for other Streamplace nodes to locate and replicate the stream.
725 #[serde(skip_serializing_if = "std::option::Option::is_none")]
726 #[serde(borrow)]
727- pub url: Option<jacquard_common::types::string::Uri<'a>>,
728}
729730pub mod livestream_state {
···29 /// The number of viewers watching this livestream. Use when you can't reasonably use #viewerCount directly.
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32+ pub viewer_count: std::option::Option<
33+ crate::place_stream::livestream::ViewerCount<'a>,
34+ >,
35}
3637pub mod livestream_view_state {
···701 /// The source of the livestream, if available, in a User Agent format: `<product> / <product-version> <comment>` e.g. Streamplace/0.7.5 iOS
702 #[serde(skip_serializing_if = "std::option::Option::is_none")]
703 #[serde(borrow)]
704+ pub agent: std::option::Option<jacquard_common::CowStr<'a>>,
705 /// The primary URL where this livestream can be viewed, if available.
706 #[serde(skip_serializing_if = "std::option::Option::is_none")]
707 #[serde(borrow)]
708+ pub canonical_url: std::option::Option<jacquard_common::types::string::Uri<'a>>,
709 /// Client-declared timestamp when this livestream started.
710 pub created_at: jacquard_common::types::string::Datetime,
711 #[serde(skip_serializing_if = "std::option::Option::is_none")]
712 #[serde(borrow)]
713+ pub notification_settings: std::option::Option<
714 crate::place_stream::livestream::NotificationSettings<'a>,
715 >,
716 /// The post that announced this livestream.
717 #[serde(skip_serializing_if = "std::option::Option::is_none")]
718 #[serde(borrow)]
719+ pub post: std::option::Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
720 #[serde(skip_serializing_if = "std::option::Option::is_none")]
721 #[serde(borrow)]
722+ pub thumb: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
723 /// The title of the livestream, as it will be announced to followers.
724 #[serde(borrow)]
725 pub title: jacquard_common::CowStr<'a>,
726 /// The URL where this stream can be found. This is primarily a hint for other Streamplace nodes to locate and replicate the stream.
727 #[serde(skip_serializing_if = "std::option::Option::is_none")]
728 #[serde(borrow)]
729+ pub url: std::option::Option<jacquard_common::types::string::Uri<'a>>,
730}
731732pub mod livestream_state {
···479 /// A description of what this webhook is used for.
480 #[serde(skip_serializing_if = "std::option::Option::is_none")]
481 #[serde(borrow)]
482- pub description: Option<jacquard_common::CowStr<'a>>,
483 /// Number of consecutive errors for this webhook.
484 #[serde(skip_serializing_if = "std::option::Option::is_none")]
485- pub error_count: Option<i64>,
486 /// The types of events this webhook should receive.
487 #[serde(borrow)]
488 pub events: Vec<jacquard_common::CowStr<'a>>,
···491 pub id: jacquard_common::CowStr<'a>,
492 /// When this webhook was last triggered.
493 #[serde(skip_serializing_if = "std::option::Option::is_none")]
494- pub last_triggered: Option<jacquard_common::types::string::Datetime>,
495 /// Words to filter out from chat messages. Messages containing any of these words will not be forwarded.
496 #[serde(skip_serializing_if = "std::option::Option::is_none")]
497 #[serde(borrow)]
498- pub mute_words: Option<Vec<jacquard_common::CowStr<'a>>>,
499 /// A user-friendly name for this webhook.
500 #[serde(skip_serializing_if = "std::option::Option::is_none")]
501 #[serde(borrow)]
502- pub name: Option<jacquard_common::CowStr<'a>>,
503 /// Text to prepend to webhook messages.
504 #[serde(skip_serializing_if = "std::option::Option::is_none")]
505 #[serde(borrow)]
506- pub prefix: Option<jacquard_common::CowStr<'a>>,
507 /// Text replacement rules for webhook messages.
508 #[serde(skip_serializing_if = "std::option::Option::is_none")]
509 #[serde(borrow)]
510- pub rewrite: Option<Vec<crate::place_stream::server::RewriteRule<'a>>>,
511 /// Text to append to webhook messages.
512 #[serde(skip_serializing_if = "std::option::Option::is_none")]
513 #[serde(borrow)]
514- pub suffix: Option<jacquard_common::CowStr<'a>>,
515 /// When this webhook was last updated.
516 #[serde(skip_serializing_if = "std::option::Option::is_none")]
517- pub updated_at: Option<jacquard_common::types::string::Datetime>,
518 /// The webhook URL where events will be sent.
519 #[serde(borrow)]
520 pub url: jacquard_common::types::string::Uri<'a>,
···479 /// A description of what this webhook is used for.
480 #[serde(skip_serializing_if = "std::option::Option::is_none")]
481 #[serde(borrow)]
482+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
483 /// Number of consecutive errors for this webhook.
484 #[serde(skip_serializing_if = "std::option::Option::is_none")]
485+ pub error_count: std::option::Option<i64>,
486 /// The types of events this webhook should receive.
487 #[serde(borrow)]
488 pub events: Vec<jacquard_common::CowStr<'a>>,
···491 pub id: jacquard_common::CowStr<'a>,
492 /// When this webhook was last triggered.
493 #[serde(skip_serializing_if = "std::option::Option::is_none")]
494+ pub last_triggered: std::option::Option<jacquard_common::types::string::Datetime>,
495 /// Words to filter out from chat messages. Messages containing any of these words will not be forwarded.
496 #[serde(skip_serializing_if = "std::option::Option::is_none")]
497 #[serde(borrow)]
498+ pub mute_words: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
499 /// A user-friendly name for this webhook.
500 #[serde(skip_serializing_if = "std::option::Option::is_none")]
501 #[serde(borrow)]
502+ pub name: std::option::Option<jacquard_common::CowStr<'a>>,
503 /// Text to prepend to webhook messages.
504 #[serde(skip_serializing_if = "std::option::Option::is_none")]
505 #[serde(borrow)]
506+ pub prefix: std::option::Option<jacquard_common::CowStr<'a>>,
507 /// Text replacement rules for webhook messages.
508 #[serde(skip_serializing_if = "std::option::Option::is_none")]
509 #[serde(borrow)]
510+ pub rewrite: std::option::Option<Vec<crate::place_stream::server::RewriteRule<'a>>>,
511 /// Text to append to webhook messages.
512 #[serde(skip_serializing_if = "std::option::Option::is_none")]
513 #[serde(borrow)]
514+ pub suffix: std::option::Option<jacquard_common::CowStr<'a>>,
515 /// When this webhook was last updated.
516 #[serde(skip_serializing_if = "std::option::Option::is_none")]
517+ pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>,
518 /// The webhook URL where events will be sent.
519 #[serde(borrow)]
520 pub url: jacquard_common::types::string::Uri<'a>,
···19pub struct CreateWebhook<'a> {
20 /// Whether this webhook should be active upon creation.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22- pub active: Option<bool>,
23 /// A description of what this webhook is used for.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub description: Option<jacquard_common::CowStr<'a>>,
27 /// The types of events this webhook should receive.
28 #[serde(borrow)]
29 pub events: Vec<jacquard_common::CowStr<'a>>,
30 /// Words to filter out from chat messages. Messages containing any of these words will not be forwarded.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33- pub mute_words: Option<Vec<jacquard_common::CowStr<'a>>>,
34 /// A user-friendly name for this webhook.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37- pub name: Option<jacquard_common::CowStr<'a>>,
38 /// Text to prepend to webhook messages.
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 #[serde(borrow)]
41- pub prefix: Option<jacquard_common::CowStr<'a>>,
42 /// Text replacement rules for webhook messages.
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45- pub rewrite: Option<Vec<crate::place_stream::server::RewriteRule<'a>>>,
46 /// Text to append to webhook messages.
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48 #[serde(borrow)]
49- pub suffix: Option<jacquard_common::CowStr<'a>>,
50 /// The webhook URL where events will be sent.
51 #[serde(borrow)]
52 pub url: jacquard_common::types::string::Uri<'a>,
···19pub struct CreateWebhook<'a> {
20 /// Whether this webhook should be active upon creation.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22+ pub active: std::option::Option<bool>,
23 /// A description of what this webhook is used for.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
27 /// The types of events this webhook should receive.
28 #[serde(borrow)]
29 pub events: Vec<jacquard_common::CowStr<'a>>,
30 /// Words to filter out from chat messages. Messages containing any of these words will not be forwarded.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33+ pub mute_words: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
34 /// A user-friendly name for this webhook.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37+ pub name: std::option::Option<jacquard_common::CowStr<'a>>,
38 /// Text to prepend to webhook messages.
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 #[serde(borrow)]
41+ pub prefix: std::option::Option<jacquard_common::CowStr<'a>>,
42 /// Text replacement rules for webhook messages.
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45+ pub rewrite: std::option::Option<Vec<crate::place_stream::server::RewriteRule<'a>>>,
46 /// Text to append to webhook messages.
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48 #[serde(borrow)]
49+ pub suffix: std::option::Option<jacquard_common::CowStr<'a>>,
50 /// The webhook URL where events will be sent.
51 #[serde(borrow)]
52 pub url: jacquard_common::types::string::Uri<'a>,
···20pub struct Settings<'a> {
21 /// Whether this node may archive your livestream for improving the service
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23- pub debug_recording: Option<bool>,
24}
2526pub mod settings_state {
···20pub struct Settings<'a> {
21 /// Whether this node may archive your livestream for improving the service
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23+ pub debug_recording: std::option::Option<bool>,
24}
2526pub mod settings_state {
···20 /// The hex value for the background color for the label. Appviews may choose to respect this.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub color: Option<jacquard_common::CowStr<'a>>,
24 pub created_at: jacquard_common::types::string::Datetime,
25 /// Whether this label can be repeated for a given entity, eg.: [reviewer:foo, reviewer:bar]
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27- pub multiple: Option<bool>,
28 /// The display name of this label.
29 #[serde(borrow)]
30 pub name: jacquard_common::CowStr<'a>,
···20 /// The hex value for the background color for the label. Appviews may choose to respect this.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub color: std::option::Option<jacquard_common::CowStr<'a>>,
24 pub created_at: jacquard_common::types::string::Datetime,
25 /// Whether this label can be repeated for a given entity, eg.: [reviewer:foo, reviewer:bar]
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27+ pub multiple: std::option::Option<bool>,
28 /// The display name of this label.
29 #[serde(borrow)]
30 pub name: jacquard_common::CowStr<'a>,
···48 pub created_at: jacquard_common::types::string::Datetime,
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51- pub description: Option<jacquard_common::CowStr<'a>>,
52 /// knot where the repo was created
53 #[serde(borrow)]
54 pub knot: jacquard_common::CowStr<'a>,
55 /// List of labels that this repo subscribes to
56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 #[serde(borrow)]
58- pub labels: Option<Vec<jacquard_common::types::string::AtUri<'a>>>,
59 /// name of the repo
60 #[serde(borrow)]
61 pub name: jacquard_common::CowStr<'a>,
62 /// source of the repo
63 #[serde(skip_serializing_if = "std::option::Option::is_none")]
64 #[serde(borrow)]
65- pub source: Option<jacquard_common::types::string::Uri<'a>>,
66 /// CI runner to send jobs to and receive results from
67 #[serde(skip_serializing_if = "std::option::Option::is_none")]
68 #[serde(borrow)]
69- pub spindle: Option<jacquard_common::CowStr<'a>>,
70 /// Topics related to the repo
71 #[serde(skip_serializing_if = "std::option::Option::is_none")]
72 #[serde(borrow)]
73- pub topics: Option<Vec<jacquard_common::CowStr<'a>>>,
74 /// Any URI related to the repo
75 #[serde(skip_serializing_if = "std::option::Option::is_none")]
76 #[serde(borrow)]
77- pub website: Option<jacquard_common::types::string::Uri<'a>>,
78}
7980pub mod repo_state {
···48 pub created_at: jacquard_common::types::string::Datetime,
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
52 /// knot where the repo was created
53 #[serde(borrow)]
54 pub knot: jacquard_common::CowStr<'a>,
55 /// List of labels that this repo subscribes to
56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 #[serde(borrow)]
58+ pub labels: std::option::Option<Vec<jacquard_common::types::string::AtUri<'a>>>,
59 /// name of the repo
60 #[serde(borrow)]
61 pub name: jacquard_common::CowStr<'a>,
62 /// source of the repo
63 #[serde(skip_serializing_if = "std::option::Option::is_none")]
64 #[serde(borrow)]
65+ pub source: std::option::Option<jacquard_common::types::string::Uri<'a>>,
66 /// CI runner to send jobs to and receive results from
67 #[serde(skip_serializing_if = "std::option::Option::is_none")]
68 #[serde(borrow)]
69+ pub spindle: std::option::Option<jacquard_common::CowStr<'a>>,
70 /// Topics related to the repo
71 #[serde(skip_serializing_if = "std::option::Option::is_none")]
72 #[serde(borrow)]
73+ pub topics: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
74 /// Any URI related to the repo
75 #[serde(skip_serializing_if = "std::option::Option::is_none")]
76 #[serde(borrow)]
77+ pub website: std::option::Option<jacquard_common::types::string::Uri<'a>>,
78}
7980pub mod repo_state {
···29 #[serde(borrow)]
30 pub repo: jacquard_common::types::string::AtUri<'a>,
31 /// hash of the tag object that this artifact is attached to (only annotated tags are supported)
032 pub tag: bytes::Bytes,
33}
34
···29 #[serde(borrow)]
30 pub repo: jacquard_common::types::string::AtUri<'a>,
31 /// hash of the tag object that this artifact is attached to (only annotated tags are supported)
32+ #[serde(with = "jacquard_common::serde_bytes_helper")]
33 pub tag: bytes::Bytes,
34}
35
···20 /// Hex color code for this language
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub color: Option<jacquard_common::CowStr<'a>>,
24 /// File extensions associated with this language
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub extensions: Option<Vec<jacquard_common::CowStr<'a>>>,
28 /// Number of files in this language
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30- pub file_count: Option<i64>,
31 /// Programming language name
32 #[serde(borrow)]
33 pub name: jacquard_common::CowStr<'a>,
···20 /// Hex color code for this language
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub color: std::option::Option<jacquard_common::CowStr<'a>>,
24 /// File extensions associated with this language
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub extensions: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
28 /// Number of files in this language
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30+ pub file_count: std::option::Option<i64>,
31 /// Programming language name
32 #[serde(borrow)]
33 pub name: jacquard_common::CowStr<'a>,
+4-4
crates/jacquard-api/src/sh_tangled/repo/merge.rs
···20 /// Author email for the merge commit
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub author_email: Option<jacquard_common::CowStr<'a>>,
24 /// Author name for the merge commit
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub author_name: Option<jacquard_common::CowStr<'a>>,
28 /// Target branch to merge into
29 #[serde(borrow)]
30 pub branch: jacquard_common::CowStr<'a>,
31 /// Additional commit message body
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34- pub commit_body: Option<jacquard_common::CowStr<'a>>,
35 /// Merge commit message
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38- pub commit_message: Option<jacquard_common::CowStr<'a>>,
39 /// DID of the repository owner
40 #[serde(borrow)]
41 pub did: jacquard_common::types::string::Did<'a>,
···20 /// Author email for the merge commit
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub author_email: std::option::Option<jacquard_common::CowStr<'a>>,
24 /// Author name for the merge commit
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub author_name: std::option::Option<jacquard_common::CowStr<'a>>,
28 /// Target branch to merge into
29 #[serde(borrow)]
30 pub branch: jacquard_common::CowStr<'a>,
31 /// Additional commit message body
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34+ pub commit_body: std::option::Option<jacquard_common::CowStr<'a>>,
35 /// Merge commit message
36 #[serde(skip_serializing_if = "std::option::Option::is_none")]
37 #[serde(borrow)]
38+ pub commit_message: std::option::Option<jacquard_common::CowStr<'a>>,
39 /// DID of the repository owner
40 #[serde(borrow)]
41 pub did: jacquard_common::types::string::Did<'a>,
···23 /// Blurhash string for the image, used for low-resolution placeholders. This must be a valid Blurhash string.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26- pub blurhash: Option<jacquard_common::CowStr<'a>>,
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29- pub dimensions: Option<ImageDimensions<'a>>,
30 #[serde(borrow)]
31 pub image: jacquard_common::types::blob::BlobRef<'a>,
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34- pub name: Option<jacquard_common::CowStr<'a>>,
35}
3637pub mod image_state {
···880 pub alt: jacquard_common::CowStr<'a>,
881 #[serde(skip_serializing_if = "std::option::Option::is_none")]
882 #[serde(borrow)]
883- pub dimensions: Option<ViewImageDimensions<'a>>,
884 /// 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.
885 #[serde(borrow)]
886 pub fullsize: jacquard_common::types::string::Uri<'a>,
887 #[serde(skip_serializing_if = "std::option::Option::is_none")]
888 #[serde(borrow)]
889- pub name: Option<jacquard_common::CowStr<'a>>,
890 /// Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View.
891 #[serde(borrow)]
892 pub thumb: jacquard_common::types::string::Uri<'a>,
···23 /// Blurhash string for the image, used for low-resolution placeholders. This must be a valid Blurhash string.
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26+ pub blurhash: std::option::Option<jacquard_common::CowStr<'a>>,
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29+ pub dimensions: std::option::Option<ImageDimensions<'a>>,
30 #[serde(borrow)]
31 pub image: jacquard_common::types::blob::BlobRef<'a>,
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34+ pub name: std::option::Option<jacquard_common::CowStr<'a>>,
35}
3637pub mod image_state {
···880 pub alt: jacquard_common::CowStr<'a>,
881 #[serde(skip_serializing_if = "std::option::Option::is_none")]
882 #[serde(borrow)]
883+ pub dimensions: std::option::Option<ViewImageDimensions<'a>>,
884 /// 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.
885 #[serde(borrow)]
886 pub fullsize: jacquard_common::types::string::Uri<'a>,
887 #[serde(skip_serializing_if = "std::option::Option::is_none")]
888 #[serde(borrow)]
889+ pub name: std::option::Option<jacquard_common::CowStr<'a>>,
890 /// Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View.
891 #[serde(borrow)]
892 pub thumb: jacquard_common::types::string::Uri<'a>,
···20pub struct Page<'a> {
21 /// Client-declared timestamp when this was originally created.
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23- pub created_at: Option<jacquard_common::types::string::Datetime>,
24 #[serde(borrow)]
25 pub entry_list: Vec<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
26 /// The notebook this page belongs to.
···28 pub notebook: crate::com_atproto::repo::strong_ref::StrongRef<'a>,
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31- pub tags: Option<crate::sh_weaver::notebook::Tags<'a>>,
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34- pub title: Option<crate::sh_weaver::notebook::Title<'a>>,
35}
3637pub mod page_state {
···20pub struct Page<'a> {
21 /// Client-declared timestamp when this was originally created.
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
24 #[serde(borrow)]
25 pub entry_list: Vec<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
26 /// The notebook this page belongs to.
···28 pub notebook: crate::com_atproto::repo::strong_ref::StrongRef<'a>,
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31+ pub tags: std::option::Option<crate::sh_weaver::notebook::Tags<'a>>,
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34+ pub title: std::option::Option<crate::sh_weaver::notebook::Title<'a>>,
35}
3637pub mod page_state {
+3-3
crates/jacquard-api/src/social_clippr/actor.rs
···48 /// A link to the profile's avatar
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51- pub avatar: Option<jacquard_common::types::string::Uri<'a>>,
52 /// When the profile record was first created
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54- pub created_at: Option<jacquard_common::types::string::Datetime>,
55 /// The biography associated to the profile
56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 #[serde(borrow)]
58- pub description: Option<jacquard_common::CowStr<'a>>,
59 /// The DID of the profile
60 #[serde(borrow)]
61 pub did: jacquard_common::types::string::Did<'a>,
···48 /// A link to the profile's avatar
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51+ pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
52 /// When the profile record was first created
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
55 /// The biography associated to the profile
56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 #[serde(borrow)]
58+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
59 /// The DID of the profile
60 #[serde(borrow)]
61 pub did: jacquard_common::types::string::Did<'a>,
···21 /// Image to show on user's profiles
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24- pub avatar: Option<jacquard_common::types::blob::BlobRef<'a>>,
25 /// The creation date of the profile
26 pub created_at: jacquard_common::types::string::Datetime,
27 /// Text for user to describe themselves
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30- pub description: Option<jacquard_common::CowStr<'a>>,
31 /// A display name to be shown on a profile
32 #[serde(borrow)]
33 pub display_name: jacquard_common::CowStr<'a>,
···21 /// Image to show on user's profiles
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24+ pub avatar: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
25 /// The creation date of the profile
26 pub created_at: jacquard_common::types::string::Datetime,
27 /// Text for user to describe themselves
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
31 /// A display name to be shown on a profile
32 #[serde(borrow)]
33 pub display_name: jacquard_common::CowStr<'a>,
···25 pub description: jacquard_common::CowStr<'a>,
26 /// Indicates human language of the given URL
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28- pub languages: Option<Vec<jacquard_common::types::string::Language>>,
29 /// User-written notes for the bookmark. Public and personal.
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32- pub notes: Option<jacquard_common::CowStr<'a>>,
33 /// An array of tags. A format of solely alphanumeric characters and dashes should be used.
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36- pub tags: Option<Vec<crate::com_atproto::repo::strong_ref::StrongRef<'a>>>,
0037 /// The title of the bookmark. If left empty, reuse the URL.
38 #[serde(borrow)]
39 pub title: jacquard_common::CowStr<'a>,
···41 pub unlisted: bool,
42 /// Whether the bookmark has been read by the user
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44- pub unread: Option<bool>,
45 /// The URL of the bookmark. Cannot be left empty or be modified after creation.
46 #[serde(borrow)]
47 pub url: jacquard_common::types::string::Uri<'a>,
···25 pub description: jacquard_common::CowStr<'a>,
26 /// Indicates human language of the given URL
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28+ pub languages: std::option::Option<Vec<jacquard_common::types::string::Language>>,
29 /// User-written notes for the bookmark. Public and personal.
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32+ pub notes: std::option::Option<jacquard_common::CowStr<'a>>,
33 /// An array of tags. A format of solely alphanumeric characters and dashes should be used.
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36+ pub tags: std::option::Option<
37+ Vec<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
38+ >,
39 /// The title of the bookmark. If left empty, reuse the URL.
40 #[serde(borrow)]
41 pub title: jacquard_common::CowStr<'a>,
···43 pub unlisted: bool,
44 /// Whether the bookmark has been read by the user
45 #[serde(skip_serializing_if = "std::option::Option::is_none")]
46+ pub unread: std::option::Option<bool>,
47 /// The URL of the bookmark. Cannot be left empty or be modified after creation.
48 #[serde(borrow)]
49 pub url: jacquard_common::types::string::Uri<'a>,
+2-2
crates/jacquard-api/src/social_clippr/feed/tag.rs
···21 /// A hexadecimal color code
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24- pub color: Option<jacquard_common::CowStr<'a>>,
25 /// A client-defined timestamp for the creation of the tag
26 pub created_at: jacquard_common::types::string::Datetime,
27 /// A description of the tag for additional context
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30- pub description: Option<jacquard_common::CowStr<'a>>,
31 /// A de-duplicated string containing the name of the tag
32 #[serde(borrow)]
33 pub name: jacquard_common::CowStr<'a>,
···21 /// A hexadecimal color code
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24+ pub color: std::option::Option<jacquard_common::CowStr<'a>>,
25 /// A client-defined timestamp for the creation of the tag
26 pub created_at: jacquard_common::types::string::Datetime,
27 /// A description of the tag for additional context
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
31 /// A de-duplicated string containing the name of the tag
32 #[serde(borrow)]
33 pub name: jacquard_common::CowStr<'a>,
···20 /// The persistent, anonymous identifier for the user creating the proposal.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub aid: Option<jacquard_common::CowStr<'a>>,
24 /// Optionally, CID specifying the specific version of 'uri' resource this proposal applies to.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub cid: Option<jacquard_common::types::string::Cid<'a>>,
28 /// Timestamp when this proposal was created.
29 pub cts: jacquard_common::types::string::Datetime,
30 /// For 'label' proposals where 'val' is 'needs-context', the full text of any proposed annotation (e.g. community note) to be shown below the post.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33- pub note: Option<jacquard_common::CowStr<'a>>,
34 /// An optional array of predefined reasons justifying the moderation action.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37- pub reasons: Option<Vec<jacquard_common::CowStr<'a>>>,
38 /// Signature of dag-cbor encoded proposal.
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40- pub sig: Option<bytes::Bytes>,
041 /// DID of the actor who created this proposal.
42 #[serde(borrow)]
43 pub src: jacquard_common::types::string::Did<'a>,
···52 pub val: jacquard_common::CowStr<'a>,
53 /// The AT Protocol version of the proposal object.
54 #[serde(skip_serializing_if = "std::option::Option::is_none")]
55- pub ver: Option<i64>,
56}
5758pub mod proposal_state {
···20 /// The persistent, anonymous identifier for the user creating the proposal.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub aid: std::option::Option<jacquard_common::CowStr<'a>>,
24 /// Optionally, CID specifying the specific version of 'uri' resource this proposal applies to.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>,
28 /// Timestamp when this proposal was created.
29 pub cts: jacquard_common::types::string::Datetime,
30 /// For 'label' proposals where 'val' is 'needs-context', the full text of any proposed annotation (e.g. community note) to be shown below the post.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33+ pub note: std::option::Option<jacquard_common::CowStr<'a>>,
34 /// An optional array of predefined reasons justifying the moderation action.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37+ pub reasons: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
38 /// Signature of dag-cbor encoded proposal.
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40+ #[serde(with = "jacquard_common::opt_serde_bytes_helper")]
41+ pub sig: std::option::Option<bytes::Bytes>,
42 /// DID of the actor who created this proposal.
43 #[serde(borrow)]
44 pub src: jacquard_common::types::string::Did<'a>,
···53 pub val: jacquard_common::CowStr<'a>,
54 /// The AT Protocol version of the proposal object.
55 #[serde(skip_serializing_if = "std::option::Option::is_none")]
56+ pub ver: std::option::Option<i64>,
57}
5859pub mod proposal_state {
+5-4
crates/jacquard-api/src/social_pmsky/vote.rs
···20 /// The persistent, anonymous identifier for the user casting the vote.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub aid: Option<jacquard_common::CowStr<'a>>,
24 /// Optionally, CID specifying the specific version of 'uri' resource this vote applies to.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub cid: Option<jacquard_common::types::string::Cid<'a>>,
28 /// Timestamp when this vote was created.
29 pub cts: jacquard_common::types::string::Datetime,
30 /// An optional array of predefined reasons justifying the vote.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33- pub reasons: Option<Vec<jacquard_common::CowStr<'a>>>,
34 /// Signature of dag-cbor encoded vote.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36- pub sig: Option<bytes::Bytes>,
037 /// the account creating the vote, not necessarily the same as the user who voted
38 #[serde(borrow)]
39 pub src: jacquard_common::types::string::Did<'a>,
···20 /// The persistent, anonymous identifier for the user casting the vote.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub aid: std::option::Option<jacquard_common::CowStr<'a>>,
24 /// Optionally, CID specifying the specific version of 'uri' resource this vote applies to.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>,
28 /// Timestamp when this vote was created.
29 pub cts: jacquard_common::types::string::Datetime,
30 /// An optional array of predefined reasons justifying the vote.
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33+ pub reasons: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
34 /// Signature of dag-cbor encoded vote.
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36+ #[serde(with = "jacquard_common::opt_serde_bytes_helper")]
37+ pub sig: std::option::Option<bytes::Bytes>,
38 /// the account creating the vote, not necessarily the same as the user who voted
39 #[serde(borrow)]
40 pub src: jacquard_common::types::string::Did<'a>,
···24 /// An optional external ID for the event, used to deduplicate events from external systems. Fails when an event of same type with the same external ID exists for the same subject.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub external_id: Option<jacquard_common::CowStr<'a>>,
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30- pub mod_tool: Option<crate::tools_ozone::moderation::ModTool<'a>>,
31 #[serde(borrow)]
32 pub subject: EmitEventSubject<'a>,
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35- pub subject_blob_cids: Option<Vec<jacquard_common::types::string::Cid<'a>>>,
0036}
3738pub mod emit_event_state {
···24 /// An optional external ID for the event, used to deduplicate events from external systems. Fails when an event of same type with the same external ID exists for the same subject.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub external_id: std::option::Option<jacquard_common::CowStr<'a>>,
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30+ pub mod_tool: std::option::Option<crate::tools_ozone::moderation::ModTool<'a>>,
31 #[serde(borrow)]
32 pub subject: EmitEventSubject<'a>,
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 #[serde(borrow)]
35+ pub subject_blob_cids: std::option::Option<
36+ Vec<jacquard_common::types::string::Cid<'a>>,
37+ >,
38}
3940pub mod emit_event_state {
···21 pub error: jacquard_common::CowStr<'a>,
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24- pub error_code: Option<jacquard_common::CowStr<'a>>,
25 #[serde(borrow)]
26 pub subject: jacquard_common::types::string::Did<'a>,
27}
···642 /// This will be propagated to the moderation event when it is applied
643 #[serde(skip_serializing_if = "std::option::Option::is_none")]
644 #[serde(borrow)]
645- pub mod_tool: Option<crate::tools_ozone::moderation::ModTool<'a>>,
646 #[serde(borrow)]
647 pub scheduling: crate::tools_ozone::moderation::schedule_action::SchedulingConfig<
648 'a,
···21 pub error: jacquard_common::CowStr<'a>,
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24+ pub error_code: std::option::Option<jacquard_common::CowStr<'a>>,
25 #[serde(borrow)]
26 pub subject: jacquard_common::types::string::Did<'a>,
27}
···642 /// This will be propagated to the moderation event when it is applied
643 #[serde(skip_serializing_if = "std::option::Option::is_none")]
644 #[serde(borrow)]
645+ pub mod_tool: std::option::Option<crate::tools_ozone::moderation::ModTool<'a>>,
646 #[serde(borrow)]
647 pub scheduling: crate::tools_ozone::moderation::schedule_action::SchedulingConfig<
648 'a,
+2-2
crates/jacquard-api/src/tools_ozone/safelink.rs
···110 /// Optional comment about the decision
111 #[serde(skip_serializing_if = "std::option::Option::is_none")]
112 #[serde(borrow)]
113- pub comment: Option<jacquard_common::CowStr<'a>>,
114 pub created_at: jacquard_common::types::string::Datetime,
115 /// DID of the user who created this rule
116 #[serde(borrow)]
···1206 /// Optional comment about the decision
1207 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1208 #[serde(borrow)]
1209- pub comment: Option<jacquard_common::CowStr<'a>>,
1210 /// Timestamp when the rule was created
1211 pub created_at: jacquard_common::types::string::Datetime,
1212 /// DID of the user added the rule.
···110 /// Optional comment about the decision
111 #[serde(skip_serializing_if = "std::option::Option::is_none")]
112 #[serde(borrow)]
113+ pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
114 pub created_at: jacquard_common::types::string::Datetime,
115 /// DID of the user who created this rule
116 #[serde(borrow)]
···1206 /// Optional comment about the decision
1207 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1208 #[serde(borrow)]
1209+ pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
1210 /// Timestamp when the rule was created
1211 pub created_at: jacquard_common::types::string::Datetime,
1212 /// DID of the user added the rule.
···20 /// Optional comment about why the rule is being removed
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub comment: Option<jacquard_common::CowStr<'a>>,
24 /// Optional DID of the user. Only respected when using admin auth.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27- pub created_by: Option<jacquard_common::types::string::Did<'a>>,
28 #[serde(borrow)]
29 pub pattern: crate::tools_ozone::safelink::PatternType<'a>,
30 /// The URL or domain to remove the rule for
···20 /// Optional comment about why the rule is being removed
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub comment: std::option::Option<jacquard_common::CowStr<'a>>,
24 /// Optional DID of the user. Only respected when using admin auth.
25 #[serde(skip_serializing_if = "std::option::Option::is_none")]
26 #[serde(borrow)]
27+ pub created_by: std::option::Option<jacquard_common::types::string::Did<'a>>,
28 #[serde(borrow)]
29 pub pattern: crate::tools_ozone::safelink::PatternType<'a>,
30 /// The URL or domain to remove the rule for
···618pub struct VerificationInput<'a> {
619 /// Timestamp for verification record. Defaults to current time when not specified.
620 #[serde(skip_serializing_if = "std::option::Option::is_none")]
621- pub created_at: Option<jacquard_common::types::string::Datetime>,
622 /// Display name of the subject the verification applies to at the moment of verifying.
623 #[serde(borrow)]
624 pub display_name: jacquard_common::CowStr<'a>,
···618pub struct VerificationInput<'a> {
619 /// Timestamp for verification record. Defaults to current time when not specified.
620 #[serde(skip_serializing_if = "std::option::Option::is_none")]
621+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
622 /// Display name of the subject the verification applies to at the moment of verifying.
623 #[serde(borrow)]
624 pub display_name: jacquard_common::CowStr<'a>,
···20 /// Reason for revoking the verification. This is optional and can be omitted if not needed.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub revoke_reason: Option<jacquard_common::CowStr<'a>>,
24 /// Array of verification record uris to revoke
25 #[serde(borrow)]
26 pub uris: Vec<jacquard_common::types::string::AtUri<'a>>,
···20 /// Reason for revoking the verification. This is optional and can be omitted if not needed.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub revoke_reason: std::option::Option<jacquard_common::CowStr<'a>>,
24 /// Array of verification record uris to revoke
25 #[serde(borrow)]
26 pub uris: Vec<jacquard_common::types::string::AtUri<'a>>,
···20 /// Alt text description of the content, for accessibility.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub alt: Option<jacquard_common::CowStr<'a>>,
24 #[serde(borrow)]
25 pub content: jacquard_common::types::blob::BlobRef<'a>,
26}
···338pub struct Post<'a> {
339 #[serde(skip_serializing_if = "std::option::Option::is_none")]
340 #[serde(borrow)]
341- pub attachments: Option<
342 Vec<crate::tools_smokesignal::blahg::content::post::Attachment<'a>>,
343 >,
344 /// The content of the post
345 #[serde(skip_serializing_if = "std::option::Option::is_none")]
346 #[serde(borrow)]
347- pub content: Option<jacquard_common::types::blob::BlobRef<'a>>,
348 /// Indicates human language of text content.
349 #[serde(skip_serializing_if = "std::option::Option::is_none")]
350- pub langs: Option<Vec<jacquard_common::types::string::Language>>,
351 #[serde(skip_serializing_if = "std::option::Option::is_none")]
352- pub published_at: Option<jacquard_common::types::string::Datetime>,
353 #[serde(skip_serializing_if = "std::option::Option::is_none")]
354 #[serde(borrow)]
355- pub title: Option<jacquard_common::CowStr<'a>>,
356}
357358pub mod post_state {
···20 /// Alt text description of the content, for accessibility.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub alt: std::option::Option<jacquard_common::CowStr<'a>>,
24 #[serde(borrow)]
25 pub content: jacquard_common::types::blob::BlobRef<'a>,
26}
···338pub struct Post<'a> {
339 #[serde(skip_serializing_if = "std::option::Option::is_none")]
340 #[serde(borrow)]
341+ pub attachments: std::option::Option<
342 Vec<crate::tools_smokesignal::blahg::content::post::Attachment<'a>>,
343 >,
344 /// The content of the post
345 #[serde(skip_serializing_if = "std::option::Option::is_none")]
346 #[serde(borrow)]
347+ pub content: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
348 /// Indicates human language of text content.
349 #[serde(skip_serializing_if = "std::option::Option::is_none")]
350+ pub langs: std::option::Option<Vec<jacquard_common::types::string::Language>>,
351 #[serde(skip_serializing_if = "std::option::Option::is_none")]
352+ pub published_at: std::option::Option<jacquard_common::types::string::Datetime>,
353 #[serde(skip_serializing_if = "std::option::Option::is_none")]
354 #[serde(borrow)]
355+ pub title: std::option::Option<jacquard_common::CowStr<'a>>,
356}
357358pub mod post_state {
+2-2
crates/jacquard-api/src/uk_skyblur/post.rs
···25 /// The post additional contents.
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28- pub additional: Option<jacquard_common::CowStr<'a>>,
29 /// Created date assigned by client
30 pub created_at: jacquard_common::types::string::Datetime,
31 /// Encrypted post body. It shoud be decrypted by the client with AES-256.
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34- pub encrypt_body: Option<jacquard_common::types::blob::BlobRef<'a>>,
35 /// The post main contents. Blurred text must be enclosed in brackets [].
36 #[serde(borrow)]
37 pub text: jacquard_common::CowStr<'a>,
···25 /// The post additional contents.
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28+ pub additional: std::option::Option<jacquard_common::CowStr<'a>>,
29 /// Created date assigned by client
30 pub created_at: jacquard_common::types::string::Datetime,
31 /// Encrypted post body. It shoud be decrypted by the client with AES-256.
32 #[serde(skip_serializing_if = "std::option::Option::is_none")]
33 #[serde(borrow)]
34+ pub encrypt_body: std::option::Option<jacquard_common::types::blob::BlobRef<'a>>,
35 /// The post main contents. Blurred text must be enclosed in brackets [].
36 #[serde(borrow)]
37 pub text: jacquard_common::CowStr<'a>,
···20 /// If the specified uri is password-protected, please provide the password. If no password is specified, the non-protected content will be returned.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23- pub password: Option<jacquard_common::CowStr<'a>>,
24 /// Skyblur post at-uri. It shoud be uk.skyblur.post collection.
25 #[serde(borrow)]
26 pub uri: jacquard_common::types::string::AtUri<'a>,
···20 /// If the specified uri is password-protected, please provide the password. If no password is specified, the non-protected content will be returned.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23+ pub password: std::option::Option<jacquard_common::CowStr<'a>>,
24 /// Skyblur post at-uri. It shoud be uk.skyblur.post collection.
25 #[serde(borrow)]
26 pub uri: jacquard_common::types::string::AtUri<'a>,
+1-1
crates/jacquard-api/src/uk_skyblur/preference.rs
···318 /// Define the description displayed on MyPage.
319 #[serde(skip_serializing_if = "std::option::Option::is_none")]
320 #[serde(borrow)]
321- pub description: Option<jacquard_common::CowStr<'a>>,
322 /// If this item is true, MyPage will be displayed.
323 pub is_use_my_page: bool,
324}
···318 /// Define the description displayed on MyPage.
319 #[serde(skip_serializing_if = "std::option::Option::is_none")]
320 #[serde(borrow)]
321+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
322 /// If this item is true, MyPage will be displayed.
323 pub is_use_my_page: bool,
324}