A better Rust ATProto crate
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: blog.pckt.blog 4// 5// This file was automatically generated from Lexicon schemas. 6// Any manual changes will be overwritten on the next regeneration. 7 8#[jacquard_derive::lexicon] 9#[derive( 10 serde::Serialize, 11 serde::Deserialize, 12 Debug, 13 Clone, 14 PartialEq, 15 Eq, 16 jacquard_derive::IntoStatic 17)] 18#[serde(rename_all = "camelCase")] 19pub struct Blog<'a> { 20 #[serde(skip_serializing_if = "std::option::Option::is_none")] 21 #[serde(borrow)] 22 pub description: std::option::Option<jacquard_common::CowStr<'a>>, 23 #[serde(skip_serializing_if = "std::option::Option::is_none")] 24 #[serde(borrow)] 25 pub icon: std::option::Option<jacquard_common::types::blob::Blob<'a>>, 26 #[serde(borrow)] 27 pub name: jacquard_common::CowStr<'a>, 28 #[serde(skip_serializing_if = "std::option::Option::is_none")] 29 #[serde(borrow)] 30 pub rss: std::option::Option<jacquard_common::types::string::Uri<'a>>, 31 #[serde(skip_serializing_if = "std::option::Option::is_none")] 32 #[serde(borrow)] 33 pub theme: std::option::Option<crate::blog_pckt::blog::Theme<'a>>, 34 #[serde(skip_serializing_if = "std::option::Option::is_none")] 35 pub updated_at: std::option::Option<jacquard_common::types::string::Datetime>, 36 #[serde(skip_serializing_if = "std::option::Option::is_none")] 37 #[serde(borrow)] 38 pub url: std::option::Option<jacquard_common::types::string::Uri<'a>>, 39} 40 41/// Typed wrapper for GetRecord response with this collection's record type. 42#[derive( 43 serde::Serialize, 44 serde::Deserialize, 45 Debug, 46 Clone, 47 PartialEq, 48 Eq, 49 jacquard_derive::IntoStatic 50)] 51#[serde(rename_all = "camelCase")] 52pub struct BlogGetRecordOutput<'a> { 53 #[serde(skip_serializing_if = "std::option::Option::is_none")] 54 #[serde(borrow)] 55 pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 56 #[serde(borrow)] 57 pub uri: jacquard_common::types::string::AtUri<'a>, 58 #[serde(borrow)] 59 pub value: Blog<'a>, 60} 61 62/// Marker type for deserializing records from this collection. 63pub struct BlogRecord; 64impl jacquard_common::xrpc::XrpcResp for BlogRecord { 65 const NSID: &'static str = "blog.pckt.blog"; 66 const ENCODING: &'static str = "application/json"; 67 type Output<'de> = BlogGetRecordOutput<'de>; 68 type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 69} 70 71impl jacquard_common::types::collection::Collection for Blog<'_> { 72 const NSID: &'static str = "blog.pckt.blog"; 73 type Record = BlogRecord; 74} 75 76impl From<BlogGetRecordOutput<'_>> for Blog<'_> { 77 fn from(output: BlogGetRecordOutput<'_>) -> Self { 78 use jacquard_common::IntoStatic; 79 output.value.into_static() 80 } 81} 82 83#[jacquard_derive::lexicon] 84#[derive( 85 serde::Serialize, 86 serde::Deserialize, 87 Debug, 88 Clone, 89 PartialEq, 90 Eq, 91 jacquard_derive::IntoStatic 92)] 93#[serde(rename_all = "camelCase")] 94pub struct Palette<'a> { 95 #[serde(skip_serializing_if = "std::option::Option::is_none")] 96 #[serde(borrow)] 97 pub accent: std::option::Option<jacquard_common::CowStr<'a>>, 98 #[serde(skip_serializing_if = "std::option::Option::is_none")] 99 #[serde(borrow)] 100 pub background: std::option::Option<jacquard_common::CowStr<'a>>, 101 #[serde(skip_serializing_if = "std::option::Option::is_none")] 102 #[serde(borrow)] 103 pub link: std::option::Option<jacquard_common::CowStr<'a>>, 104 #[serde(skip_serializing_if = "std::option::Option::is_none")] 105 #[serde(borrow)] 106 pub surface_hover: std::option::Option<jacquard_common::CowStr<'a>>, 107 #[serde(skip_serializing_if = "std::option::Option::is_none")] 108 #[serde(borrow)] 109 pub text: std::option::Option<jacquard_common::CowStr<'a>>, 110} 111 112#[jacquard_derive::lexicon] 113#[derive( 114 serde::Serialize, 115 serde::Deserialize, 116 Debug, 117 Clone, 118 PartialEq, 119 Eq, 120 jacquard_derive::IntoStatic 121)] 122#[serde(rename_all = "camelCase")] 123pub struct Theme<'a> { 124 #[serde(skip_serializing_if = "std::option::Option::is_none")] 125 #[serde(borrow)] 126 pub dark: std::option::Option<crate::blog_pckt::blog::Palette<'a>>, 127 #[serde(skip_serializing_if = "std::option::Option::is_none")] 128 #[serde(borrow)] 129 pub font: std::option::Option<jacquard_common::CowStr<'a>>, 130 #[serde(skip_serializing_if = "std::option::Option::is_none")] 131 #[serde(borrow)] 132 pub light: std::option::Option<crate::blog_pckt::blog::Palette<'a>>, 133}