A better Rust ATProto crate
at lifetimes 5.9 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: pub.leaflet.publication 4// 5// This file was automatically generated from Lexicon schemas. 6// Any manual changes will be overwritten on the next regeneration. 7 8///Record declaring a publication 9#[jacquard_derive::lexicon] 10#[derive( 11 serde::Serialize, 12 serde::Deserialize, 13 Debug, 14 Clone, 15 PartialEq, 16 Eq, 17 jacquard_derive::IntoStatic 18)] 19#[serde(rename_all = "camelCase")] 20pub struct Publication<'a> { 21 #[serde(skip_serializing_if = "std::option::Option::is_none")] 22 #[serde(borrow)] 23 pub base_path: std::option::Option<jacquard_common::types::string::Uri<'a>>, 24 #[serde(skip_serializing_if = "std::option::Option::is_none")] 25 #[serde(borrow)] 26 pub description: std::option::Option<jacquard_common::CowStr<'a>>, 27 #[serde(skip_serializing_if = "std::option::Option::is_none")] 28 #[serde(borrow)] 29 pub icon: std::option::Option<jacquard_common::types::blob::Blob<'a>>, 30 #[serde(borrow)] 31 pub name: jacquard_common::CowStr<'a>, 32 #[serde(skip_serializing_if = "std::option::Option::is_none")] 33 #[serde(borrow)] 34 pub preferences: std::option::Option< 35 crate::pub_leaflet::publication::Preferences<'a>, 36 >, 37 #[serde(skip_serializing_if = "std::option::Option::is_none")] 38 #[serde(borrow)] 39 pub theme: std::option::Option<crate::pub_leaflet::publication::Theme<'a>>, 40} 41 42impl jacquard_common::types::collection::Collection for Publication<'_> { 43 const NSID: &'static str = "pub.leaflet.publication"; 44} 45 46#[jacquard_derive::lexicon] 47#[derive( 48 serde::Serialize, 49 serde::Deserialize, 50 Debug, 51 Clone, 52 PartialEq, 53 Eq, 54 jacquard_derive::IntoStatic 55)] 56#[serde(rename_all = "camelCase")] 57pub struct Preferences<'a> { 58 #[serde(skip_serializing_if = "std::option::Option::is_none")] 59 pub show_comments: std::option::Option<bool>, 60 #[serde(skip_serializing_if = "std::option::Option::is_none")] 61 pub show_in_discover: std::option::Option<bool>, 62} 63 64#[jacquard_derive::lexicon] 65#[derive( 66 serde::Serialize, 67 serde::Deserialize, 68 Debug, 69 Clone, 70 PartialEq, 71 Eq, 72 jacquard_derive::IntoStatic 73)] 74#[serde(rename_all = "camelCase")] 75pub struct Theme<'a> { 76 #[serde(skip_serializing_if = "std::option::Option::is_none")] 77 #[serde(borrow)] 78 pub accent_background: std::option::Option<ThemeRecordAccentBackground<'a>>, 79 #[serde(skip_serializing_if = "std::option::Option::is_none")] 80 #[serde(borrow)] 81 pub accent_text: std::option::Option<ThemeRecordAccentText<'a>>, 82 #[serde(skip_serializing_if = "std::option::Option::is_none")] 83 #[serde(borrow)] 84 pub background_color: std::option::Option<ThemeRecordBackgroundColor<'a>>, 85 #[serde(skip_serializing_if = "std::option::Option::is_none")] 86 #[serde(borrow)] 87 pub background_image: std::option::Option< 88 crate::pub_leaflet::theme::background_image::BackgroundImage<'a>, 89 >, 90 #[serde(skip_serializing_if = "std::option::Option::is_none")] 91 #[serde(borrow)] 92 pub page_background: std::option::Option<ThemeRecordPageBackground<'a>>, 93 #[serde(skip_serializing_if = "std::option::Option::is_none")] 94 #[serde(borrow)] 95 pub primary: std::option::Option<ThemeRecordPrimary<'a>>, 96 #[serde(skip_serializing_if = "std::option::Option::is_none")] 97 pub show_page_background: std::option::Option<bool>, 98} 99 100#[jacquard_derive::open_union] 101#[derive( 102 serde::Serialize, 103 serde::Deserialize, 104 Debug, 105 Clone, 106 PartialEq, 107 Eq, 108 jacquard_derive::IntoStatic 109)] 110#[serde(tag = "$type")] 111#[serde(bound(deserialize = "'de: 'a"))] 112pub enum ThemeRecordAccentBackground<'a> { 113 #[serde(rename = "pub.leaflet.theme.color#rgba")] 114 ColorRgba(Box<crate::pub_leaflet::theme::color::Rgba<'a>>), 115 #[serde(rename = "pub.leaflet.theme.color#rgb")] 116 ColorRgb(Box<crate::pub_leaflet::theme::color::Rgb<'a>>), 117} 118 119#[jacquard_derive::open_union] 120#[derive( 121 serde::Serialize, 122 serde::Deserialize, 123 Debug, 124 Clone, 125 PartialEq, 126 Eq, 127 jacquard_derive::IntoStatic 128)] 129#[serde(tag = "$type")] 130#[serde(bound(deserialize = "'de: 'a"))] 131pub enum ThemeRecordAccentText<'a> { 132 #[serde(rename = "pub.leaflet.theme.color#rgba")] 133 ColorRgba(Box<crate::pub_leaflet::theme::color::Rgba<'a>>), 134 #[serde(rename = "pub.leaflet.theme.color#rgb")] 135 ColorRgb(Box<crate::pub_leaflet::theme::color::Rgb<'a>>), 136} 137 138#[jacquard_derive::open_union] 139#[derive( 140 serde::Serialize, 141 serde::Deserialize, 142 Debug, 143 Clone, 144 PartialEq, 145 Eq, 146 jacquard_derive::IntoStatic 147)] 148#[serde(tag = "$type")] 149#[serde(bound(deserialize = "'de: 'a"))] 150pub enum ThemeRecordBackgroundColor<'a> { 151 #[serde(rename = "pub.leaflet.theme.color#rgba")] 152 ColorRgba(Box<crate::pub_leaflet::theme::color::Rgba<'a>>), 153 #[serde(rename = "pub.leaflet.theme.color#rgb")] 154 ColorRgb(Box<crate::pub_leaflet::theme::color::Rgb<'a>>), 155} 156 157#[jacquard_derive::open_union] 158#[derive( 159 serde::Serialize, 160 serde::Deserialize, 161 Debug, 162 Clone, 163 PartialEq, 164 Eq, 165 jacquard_derive::IntoStatic 166)] 167#[serde(tag = "$type")] 168#[serde(bound(deserialize = "'de: 'a"))] 169pub enum ThemeRecordPageBackground<'a> { 170 #[serde(rename = "pub.leaflet.theme.color#rgba")] 171 ColorRgba(Box<crate::pub_leaflet::theme::color::Rgba<'a>>), 172 #[serde(rename = "pub.leaflet.theme.color#rgb")] 173 ColorRgb(Box<crate::pub_leaflet::theme::color::Rgb<'a>>), 174} 175 176#[jacquard_derive::open_union] 177#[derive( 178 serde::Serialize, 179 serde::Deserialize, 180 Debug, 181 Clone, 182 PartialEq, 183 Eq, 184 jacquard_derive::IntoStatic 185)] 186#[serde(tag = "$type")] 187#[serde(bound(deserialize = "'de: 'a"))] 188pub enum ThemeRecordPrimary<'a> { 189 #[serde(rename = "pub.leaflet.theme.color#rgba")] 190 ColorRgba(Box<crate::pub_leaflet::theme::color::Rgba<'a>>), 191 #[serde(rename = "pub.leaflet.theme.color#rgb")] 192 ColorRgb(Box<crate::pub_leaflet::theme::color::Rgb<'a>>), 193}