···326 "type": "string",
327 "description": "The content of the email sent to the user."
328 },
0000329 "policies": {
330 "type": "array",
331 "description": "Names/Keywords of the policies that necessitated the email.",
···555 "type": "string",
556 "description": "When the strike should expire. If not provided, the strike never expires.",
557 "format": "datetime"
00000000000558 }
559 }
560 },
···326 "type": "string",
327 "description": "The content of the email sent to the user."
328 },
329+ "isDelivered": {
330+ "type": "boolean",
331+ "description": "Indicates whether the email was successfully delivered to the user's inbox."
332+ },
333 "policies": {
334 "type": "array",
335 "description": "Names/Keywords of the policies that necessitated the email.",
···559 "type": "string",
560 "description": "When the strike should expire. If not provided, the strike never expires.",
561 "format": "datetime"
562+ },
563+ "targetServices": {
564+ "type": "array",
565+ "description": "List of services where the takedown should be applied. If empty or not provided, takedown is applied on all configured services.",
566+ "items": {
567+ "type": "string",
568+ "knownValues": [
569+ "appview",
570+ "pds"
571+ ]
572+ }
573 }
574 }
575 },
···133 "type": "integer",
134 "description": "Indicates how long the takedown should be in effect before automatically expiring."
135 },
00000000136 "policies": {
137 "type": "array",
138 "description": "Names/Keywords of the policies that drove the decision.",
···140 "type": "string"
141 },
142 "maxLength": 5
0000000000000143 }
144 }
145 }
···133 "type": "integer",
134 "description": "Indicates how long the takedown should be in effect before automatically expiring."
135 },
136+ "emailContent": {
137+ "type": "string",
138+ "description": "Email content to be sent to the user upon takedown."
139+ },
140+ "emailSubject": {
141+ "type": "string",
142+ "description": "Subject of the email to be sent to the user upon takedown."
143+ },
144 "policies": {
145 "type": "array",
146 "description": "Names/Keywords of the policies that drove the decision.",
···148 "type": "string"
149 },
150 "maxLength": 5
151+ },
152+ "severityLevel": {
153+ "type": "string",
154+ "description": "Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.)."
155+ },
156+ "strikeCount": {
157+ "type": "integer",
158+ "description": "Number of strikes to assign to the user when takedown is applied."
159+ },
160+ "strikeExpiresAt": {
161+ "type": "string",
162+ "description": "When the strike should expire. If not provided, the strike never expires.",
163+ "format": "datetime"
164 }
165 }
166 }
+52-50
crates/weaver-api/src/app_bsky/actor.rs
···3502 /// Groups of users to apply the muted word to. If undefined, applies to all users.
3503 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3504 #[serde(borrow)]
3505- pub actor_target: Option<jacquard_common::CowStr<'a>>,
3506 /// The date and time at which the muted word will expire and no longer be applied.
3507 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3508- pub expires_at: Option<jacquard_common::types::string::Datetime>,
3509 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3510 #[serde(borrow)]
3511- pub id: Option<jacquard_common::CowStr<'a>>,
3512 /// The intended targets of the muted word.
3513 #[serde(borrow)]
3514 pub targets: Vec<crate::app_bsky::actor::MutedWordTarget<'a>>,
···3998 /// Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters.
3999 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4000 #[serde(borrow)]
4001- pub data: Option<jacquard_common::CowStr<'a>>,
4002 /// The date and time at which the NUX will expire and should be considered completed.
4003 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4004- pub expires_at: Option<jacquard_common::types::string::Datetime>,
4005 #[serde(borrow)]
4006 pub id: jacquard_common::CowStr<'a>,
4007}
···4551pub struct ProfileView<'a> {
4552 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4553 #[serde(borrow)]
4554- pub associated: Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
4555 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4556 #[serde(borrow)]
4557- pub avatar: Option<jacquard_common::types::string::Uri<'a>>,
4558 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4559- pub created_at: Option<jacquard_common::types::string::Datetime>,
4560 /// Debug information for internal development
4561 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4562 #[serde(borrow)]
4563- pub debug: Option<jacquard_common::types::value::Data<'a>>,
4564 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4565 #[serde(borrow)]
4566- pub description: Option<jacquard_common::CowStr<'a>>,
4567 #[serde(borrow)]
4568 pub did: jacquard_common::types::string::Did<'a>,
4569 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4570 #[serde(borrow)]
4571- pub display_name: Option<jacquard_common::CowStr<'a>>,
4572 #[serde(borrow)]
4573 pub handle: jacquard_common::types::string::Handle<'a>,
4574 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4575- pub indexed_at: Option<jacquard_common::types::string::Datetime>,
4576 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4577 #[serde(borrow)]
4578- pub labels: Option<Vec<crate::com_atproto::label::Label<'a>>>,
4579 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4580 #[serde(borrow)]
4581- pub pronouns: Option<jacquard_common::CowStr<'a>>,
4582 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4583 #[serde(borrow)]
4584- pub status: Option<crate::app_bsky::actor::StatusView<'a>>,
4585 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4586 #[serde(borrow)]
4587- pub verification: Option<crate::app_bsky::actor::VerificationState<'a>>,
4588 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4589 #[serde(borrow)]
4590- pub viewer: Option<crate::app_bsky::actor::ViewerState<'a>>,
4591}
45924593pub mod profile_view_state {
···5097pub struct ProfileViewBasic<'a> {
5098 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5099 #[serde(borrow)]
5100- pub associated: Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
5101 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5102 #[serde(borrow)]
5103- pub avatar: Option<jacquard_common::types::string::Uri<'a>>,
5104 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5105- pub created_at: Option<jacquard_common::types::string::Datetime>,
5106 /// Debug information for internal development
5107 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5108 #[serde(borrow)]
5109- pub debug: Option<jacquard_common::types::value::Data<'a>>,
5110 #[serde(borrow)]
5111 pub did: jacquard_common::types::string::Did<'a>,
5112 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5113 #[serde(borrow)]
5114- pub display_name: Option<jacquard_common::CowStr<'a>>,
5115 #[serde(borrow)]
5116 pub handle: jacquard_common::types::string::Handle<'a>,
5117 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5118 #[serde(borrow)]
5119- pub labels: Option<Vec<crate::com_atproto::label::Label<'a>>>,
5120 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5121 #[serde(borrow)]
5122- pub pronouns: Option<jacquard_common::CowStr<'a>>,
5123 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5124 #[serde(borrow)]
5125- pub status: Option<crate::app_bsky::actor::StatusView<'a>>,
5126 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5127 #[serde(borrow)]
5128- pub verification: Option<crate::app_bsky::actor::VerificationState<'a>>,
5129 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5130 #[serde(borrow)]
5131- pub viewer: Option<crate::app_bsky::actor::ViewerState<'a>>,
5132}
51335134pub mod profile_view_basic_state {
···5562pub struct ProfileViewDetailed<'a> {
5563 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5564 #[serde(borrow)]
5565- pub associated: Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
5566 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5567 #[serde(borrow)]
5568- pub avatar: Option<jacquard_common::types::string::Uri<'a>>,
5569 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5570 #[serde(borrow)]
5571- pub banner: Option<jacquard_common::types::string::Uri<'a>>,
5572 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5573- pub created_at: Option<jacquard_common::types::string::Datetime>,
5574 /// Debug information for internal development
5575 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5576 #[serde(borrow)]
5577- pub debug: Option<jacquard_common::types::value::Data<'a>>,
5578 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5579 #[serde(borrow)]
5580- pub description: Option<jacquard_common::CowStr<'a>>,
5581 #[serde(borrow)]
5582 pub did: jacquard_common::types::string::Did<'a>,
5583 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5584 #[serde(borrow)]
5585- pub display_name: Option<jacquard_common::CowStr<'a>>,
5586 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5587- pub followers_count: Option<i64>,
5588 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5589- pub follows_count: Option<i64>,
5590 #[serde(borrow)]
5591 pub handle: jacquard_common::types::string::Handle<'a>,
5592 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5593- pub indexed_at: Option<jacquard_common::types::string::Datetime>,
5594 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5595 #[serde(borrow)]
5596- pub joined_via_starter_pack: Option<
5597 crate::app_bsky::graph::StarterPackViewBasic<'a>,
5598 >,
5599 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5600 #[serde(borrow)]
5601- pub labels: Option<Vec<crate::com_atproto::label::Label<'a>>>,
5602 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5603 #[serde(borrow)]
5604- pub pinned_post: Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>,
005605 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5606- pub posts_count: Option<i64>,
5607 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5608 #[serde(borrow)]
5609- pub pronouns: Option<jacquard_common::CowStr<'a>>,
5610 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5611 #[serde(borrow)]
5612- pub status: Option<crate::app_bsky::actor::StatusView<'a>>,
5613 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5614 #[serde(borrow)]
5615- pub verification: Option<crate::app_bsky::actor::VerificationState<'a>>,
5616 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5617 #[serde(borrow)]
5618- pub viewer: Option<crate::app_bsky::actor::ViewerState<'a>>,
5619 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5620 #[serde(borrow)]
5621- pub website: Option<jacquard_common::types::string::Uri<'a>>,
5622}
56235624pub mod profile_view_detailed_state {
···6528 #[serde(borrow)]
6529 pub saved: Vec<jacquard_common::types::string::AtUri<'a>>,
6530 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6531- pub timeline_index: Option<i64>,
6532}
65336534pub mod saved_feeds_pref_state {
···6857 /// An optional embed associated with the status.
6858 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6859 #[serde(borrow)]
6860- pub embed: Option<crate::app_bsky::embed::external::View<'a>>,
6861 /// The date when this status will expire. The application might choose to no longer return the status after expiration.
6862 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6863- pub expires_at: Option<jacquard_common::types::string::Datetime>,
6864 /// True if the status is not expired, false if it is expired. Only present if expiration was set.
6865 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6866- pub is_active: Option<bool>,
6867 #[serde(borrow)]
6868 pub record: jacquard_common::types::value::Data<'a>,
6869 /// The status for the account.
···3502 /// Groups of users to apply the muted word to. If undefined, applies to all users.
3503 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3504 #[serde(borrow)]
3505+ pub actor_target: std::option::Option<jacquard_common::CowStr<'a>>,
3506 /// The date and time at which the muted word will expire and no longer be applied.
3507 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3508+ pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
3509 #[serde(skip_serializing_if = "std::option::Option::is_none")]
3510 #[serde(borrow)]
3511+ pub id: std::option::Option<jacquard_common::CowStr<'a>>,
3512 /// The intended targets of the muted word.
3513 #[serde(borrow)]
3514 pub targets: Vec<crate::app_bsky::actor::MutedWordTarget<'a>>,
···3998 /// Arbitrary data for the NUX. The structure is defined by the NUX itself. Limited to 300 characters.
3999 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4000 #[serde(borrow)]
4001+ pub data: std::option::Option<jacquard_common::CowStr<'a>>,
4002 /// The date and time at which the NUX will expire and should be considered completed.
4003 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4004+ pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
4005 #[serde(borrow)]
4006 pub id: jacquard_common::CowStr<'a>,
4007}
···4551pub struct ProfileView<'a> {
4552 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4553 #[serde(borrow)]
4554+ pub associated: std::option::Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
4555 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4556 #[serde(borrow)]
4557+ pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
4558 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4559+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
4560 /// Debug information for internal development
4561 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4562 #[serde(borrow)]
4563+ pub debug: std::option::Option<jacquard_common::types::value::Data<'a>>,
4564 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4565 #[serde(borrow)]
4566+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
4567 #[serde(borrow)]
4568 pub did: jacquard_common::types::string::Did<'a>,
4569 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4570 #[serde(borrow)]
4571+ pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
4572 #[serde(borrow)]
4573 pub handle: jacquard_common::types::string::Handle<'a>,
4574 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4575+ pub indexed_at: std::option::Option<jacquard_common::types::string::Datetime>,
4576 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4577 #[serde(borrow)]
4578+ pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
4579 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4580 #[serde(borrow)]
4581+ pub pronouns: std::option::Option<jacquard_common::CowStr<'a>>,
4582 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4583 #[serde(borrow)]
4584+ pub status: std::option::Option<crate::app_bsky::actor::StatusView<'a>>,
4585 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4586 #[serde(borrow)]
4587+ pub verification: std::option::Option<crate::app_bsky::actor::VerificationState<'a>>,
4588 #[serde(skip_serializing_if = "std::option::Option::is_none")]
4589 #[serde(borrow)]
4590+ pub viewer: std::option::Option<crate::app_bsky::actor::ViewerState<'a>>,
4591}
45924593pub mod profile_view_state {
···5097pub struct ProfileViewBasic<'a> {
5098 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5099 #[serde(borrow)]
5100+ pub associated: std::option::Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
5101 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5102 #[serde(borrow)]
5103+ pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
5104 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5105+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
5106 /// Debug information for internal development
5107 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5108 #[serde(borrow)]
5109+ pub debug: std::option::Option<jacquard_common::types::value::Data<'a>>,
5110 #[serde(borrow)]
5111 pub did: jacquard_common::types::string::Did<'a>,
5112 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5113 #[serde(borrow)]
5114+ pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
5115 #[serde(borrow)]
5116 pub handle: jacquard_common::types::string::Handle<'a>,
5117 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5118 #[serde(borrow)]
5119+ pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
5120 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5121 #[serde(borrow)]
5122+ pub pronouns: std::option::Option<jacquard_common::CowStr<'a>>,
5123 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5124 #[serde(borrow)]
5125+ pub status: std::option::Option<crate::app_bsky::actor::StatusView<'a>>,
5126 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5127 #[serde(borrow)]
5128+ pub verification: std::option::Option<crate::app_bsky::actor::VerificationState<'a>>,
5129 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5130 #[serde(borrow)]
5131+ pub viewer: std::option::Option<crate::app_bsky::actor::ViewerState<'a>>,
5132}
51335134pub mod profile_view_basic_state {
···5562pub struct ProfileViewDetailed<'a> {
5563 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5564 #[serde(borrow)]
5565+ pub associated: std::option::Option<crate::app_bsky::actor::ProfileAssociated<'a>>,
5566 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5567 #[serde(borrow)]
5568+ pub avatar: std::option::Option<jacquard_common::types::string::Uri<'a>>,
5569 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5570 #[serde(borrow)]
5571+ pub banner: std::option::Option<jacquard_common::types::string::Uri<'a>>,
5572 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5573+ pub created_at: std::option::Option<jacquard_common::types::string::Datetime>,
5574 /// Debug information for internal development
5575 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5576 #[serde(borrow)]
5577+ pub debug: std::option::Option<jacquard_common::types::value::Data<'a>>,
5578 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5579 #[serde(borrow)]
5580+ pub description: std::option::Option<jacquard_common::CowStr<'a>>,
5581 #[serde(borrow)]
5582 pub did: jacquard_common::types::string::Did<'a>,
5583 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5584 #[serde(borrow)]
5585+ pub display_name: std::option::Option<jacquard_common::CowStr<'a>>,
5586 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5587+ pub followers_count: std::option::Option<i64>,
5588 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5589+ pub follows_count: std::option::Option<i64>,
5590 #[serde(borrow)]
5591 pub handle: jacquard_common::types::string::Handle<'a>,
5592 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5593+ pub indexed_at: std::option::Option<jacquard_common::types::string::Datetime>,
5594 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5595 #[serde(borrow)]
5596+ pub joined_via_starter_pack: std::option::Option<
5597 crate::app_bsky::graph::StarterPackViewBasic<'a>,
5598 >,
5599 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5600 #[serde(borrow)]
5601+ pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
5602 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5603 #[serde(borrow)]
5604+ pub pinned_post: std::option::Option<
5605+ crate::com_atproto::repo::strong_ref::StrongRef<'a>,
5606+ >,
5607 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5608+ pub posts_count: std::option::Option<i64>,
5609 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5610 #[serde(borrow)]
5611+ pub pronouns: std::option::Option<jacquard_common::CowStr<'a>>,
5612 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5613 #[serde(borrow)]
5614+ pub status: std::option::Option<crate::app_bsky::actor::StatusView<'a>>,
5615 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5616 #[serde(borrow)]
5617+ pub verification: std::option::Option<crate::app_bsky::actor::VerificationState<'a>>,
5618 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5619 #[serde(borrow)]
5620+ pub viewer: std::option::Option<crate::app_bsky::actor::ViewerState<'a>>,
5621 #[serde(skip_serializing_if = "std::option::Option::is_none")]
5622 #[serde(borrow)]
5623+ pub website: std::option::Option<jacquard_common::types::string::Uri<'a>>,
5624}
56255626pub mod profile_view_detailed_state {
···6530 #[serde(borrow)]
6531 pub saved: Vec<jacquard_common::types::string::AtUri<'a>>,
6532 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6533+ pub timeline_index: std::option::Option<i64>,
6534}
65356536pub mod saved_feeds_pref_state {
···6859 /// An optional embed associated with the status.
6860 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6861 #[serde(borrow)]
6862+ pub embed: std::option::Option<crate::app_bsky::embed::external::View<'a>>,
6863 /// The date when this status will expire. The application might choose to no longer return the status after expiration.
6864 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6865+ pub expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
6866 /// True if the status is not expired, false if it is expired. Only present if expiration was set.
6867 #[serde(skip_serializing_if = "std::option::Option::is_none")]
6868+ pub is_active: std::option::Option<bool>,
6869 #[serde(borrow)]
6870 pub record: jacquard_common::types::value::Data<'a>,
6871 /// The status for the account.
···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/weaver-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/weaver-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 {
+10-4
crates/weaver-api/src/app_bsky/labeler/service.rs
···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/weaver-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/weaver-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>,
···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>,
41 /// 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+ pub sig: std::option::Option<bytes::Bytes>,
41 /// 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: std::option::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: std::option::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: std::option::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>,
···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···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'.
···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}
···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 {
···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···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: std::option::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'.
···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: std::option::Option<jacquard_common::types::string::Handle<'a>>,
1590 pub seq: i64,
1591 pub time: jacquard_common::types::string::Datetime,
1592}
···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: std::option::Option<jacquard_common::types::cid::CidLink<'a>>,
2089}
20902091pub mod repo_op_state {
···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>,
···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}
···574 }),
575 );
576 map.insert(
000000000000000000000000000000000000000000577 ::jacquard_common::smol_str::SmolStr::new_static("policies"),
578 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
579 description: Some(
···597 max_length: Some(5usize),
598 }),
599 );
000000000000000000000000000000000000000000000000000000000600 map
601 },
602 }),
···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,
···1198 /// Indicates how long the takedown should be in effect before automatically expiring.
1199 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1200 pub duration_in_hours: std::option::Option<i64>,
000000001201 /// Names/Keywords of the policies that drove the decision.
1202 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1203 #[serde(borrow)]
1204 pub policies: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
00000000001205}
12061207impl<'a> ::jacquard_lexicon::schema::LexiconSchema for Takedown<'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}
···574 }),
575 );
576 map.insert(
577+ ::jacquard_common::smol_str::SmolStr::new_static(
578+ "emailContent",
579+ ),
580+ ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
581+ description: Some(
582+ ::jacquard_common::CowStr::new_static(
583+ "Email content to be sent to the user upon takedown.",
584+ ),
585+ ),
586+ format: None,
587+ default: None,
588+ min_length: None,
589+ max_length: None,
590+ min_graphemes: None,
591+ max_graphemes: None,
592+ r#enum: None,
593+ r#const: None,
594+ known_values: None,
595+ }),
596+ );
597+ map.insert(
598+ ::jacquard_common::smol_str::SmolStr::new_static(
599+ "emailSubject",
600+ ),
601+ ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
602+ description: Some(
603+ ::jacquard_common::CowStr::new_static(
604+ "Subject of the email to be sent to the user upon takedown.",
605+ ),
606+ ),
607+ format: None,
608+ default: None,
609+ min_length: None,
610+ max_length: None,
611+ min_graphemes: None,
612+ max_graphemes: None,
613+ r#enum: None,
614+ r#const: None,
615+ known_values: None,
616+ }),
617+ );
618+ map.insert(
619 ::jacquard_common::smol_str::SmolStr::new_static("policies"),
620 ::jacquard_lexicon::lexicon::LexObjectProperty::Array(::jacquard_lexicon::lexicon::LexArray {
621 description: Some(
···639 max_length: Some(5usize),
640 }),
641 );
642+ map.insert(
643+ ::jacquard_common::smol_str::SmolStr::new_static(
644+ "severityLevel",
645+ ),
646+ ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
647+ description: Some(
648+ ::jacquard_common::CowStr::new_static(
649+ "Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.).",
650+ ),
651+ ),
652+ format: None,
653+ default: None,
654+ min_length: None,
655+ max_length: None,
656+ min_graphemes: None,
657+ max_graphemes: None,
658+ r#enum: None,
659+ r#const: None,
660+ known_values: None,
661+ }),
662+ );
663+ map.insert(
664+ ::jacquard_common::smol_str::SmolStr::new_static(
665+ "strikeCount",
666+ ),
667+ ::jacquard_lexicon::lexicon::LexObjectProperty::Integer(::jacquard_lexicon::lexicon::LexInteger {
668+ description: None,
669+ default: None,
670+ minimum: None,
671+ maximum: None,
672+ r#enum: None,
673+ r#const: None,
674+ }),
675+ );
676+ map.insert(
677+ ::jacquard_common::smol_str::SmolStr::new_static(
678+ "strikeExpiresAt",
679+ ),
680+ ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
681+ description: Some(
682+ ::jacquard_common::CowStr::new_static(
683+ "When the strike should expire. If not provided, the strike never expires.",
684+ ),
685+ ),
686+ format: Some(
687+ ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
688+ ),
689+ default: None,
690+ min_length: None,
691+ max_length: None,
692+ min_graphemes: None,
693+ max_graphemes: None,
694+ r#enum: None,
695+ r#const: None,
696+ known_values: None,
697+ }),
698+ );
699 map
700 },
701 }),
···741 /// This will be propagated to the moderation event when it is applied
742 #[serde(skip_serializing_if = "std::option::Option::is_none")]
743 #[serde(borrow)]
744+ pub mod_tool: std::option::Option<crate::tools_ozone::moderation::ModTool<'a>>,
745 #[serde(borrow)]
746 pub scheduling: crate::tools_ozone::moderation::schedule_action::SchedulingConfig<
747 'a,
···1297 /// Indicates how long the takedown should be in effect before automatically expiring.
1298 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1299 pub duration_in_hours: std::option::Option<i64>,
1300+ /// Email content to be sent to the user upon takedown.
1301+ #[serde(skip_serializing_if = "std::option::Option::is_none")]
1302+ #[serde(borrow)]
1303+ pub email_content: std::option::Option<jacquard_common::CowStr<'a>>,
1304+ /// Subject of the email to be sent to the user upon takedown.
1305+ #[serde(skip_serializing_if = "std::option::Option::is_none")]
1306+ #[serde(borrow)]
1307+ pub email_subject: std::option::Option<jacquard_common::CowStr<'a>>,
1308 /// Names/Keywords of the policies that drove the decision.
1309 #[serde(skip_serializing_if = "std::option::Option::is_none")]
1310 #[serde(borrow)]
1311 pub policies: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
1312+ /// Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.).
1313+ #[serde(skip_serializing_if = "std::option::Option::is_none")]
1314+ #[serde(borrow)]
1315+ pub severity_level: std::option::Option<jacquard_common::CowStr<'a>>,
1316+ /// Number of strikes to assign to the user when takedown is applied.
1317+ #[serde(skip_serializing_if = "std::option::Option::is_none")]
1318+ pub strike_count: std::option::Option<i64>,
1319+ /// When the strike should expire. If not provided, the strike never expires.
1320+ #[serde(skip_serializing_if = "std::option::Option::is_none")]
1321+ pub strike_expires_at: std::option::Option<jacquard_common::types::string::Datetime>,
1322}
13231324impl<'a> ::jacquard_lexicon::schema::LexiconSchema for Takedown<'a> {
+2-2
crates/weaver-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>>,
···78mod entry;
9#[allow(unused_imports)]
10-pub use entry::{Entry, EntryCard, EntryMarkdown};
1112pub mod identity;
13#[allow(unused_imports)]
···21pub use notebook_cover::NotebookCover;
2223pub mod login;
0002425use dioxus::prelude::*;
26···121 .with_hash_suffix(false)
122 .into_asset_options()
123);
124-pub mod input;
125-pub mod dialog;
126-pub mod button;
127pub mod accordion;
000
···78mod entry;
9#[allow(unused_imports)]
10+pub use entry::{Entry, EntryCard, EntryMarkdown, EntryPage};
1112pub mod identity;
13#[allow(unused_imports)]
···21pub use notebook_cover::NotebookCover;
2223pub mod login;
24+25+pub mod record_editor;
26+pub mod record_view;
2728use dioxus::prelude::*;
29···124 .with_hash_suffix(false)
125 .into_asset_options()
126);
000127pub mod accordion;
128+pub mod button;
129+pub mod dialog;
130+pub mod input;