A better Rust ATProto crate
at main 2.7 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: blue.linkat.board 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 Default 18)] 19#[serde(rename_all = "camelCase")] 20pub struct Card<'a> { 21 /// Emoji of the card 22 #[serde(skip_serializing_if = "std::option::Option::is_none")] 23 #[serde(borrow)] 24 pub emoji: std::option::Option<jacquard_common::CowStr<'a>>, 25 /// Text of the card 26 #[serde(skip_serializing_if = "std::option::Option::is_none")] 27 #[serde(borrow)] 28 pub text: std::option::Option<jacquard_common::CowStr<'a>>, 29 /// URL of the link 30 #[serde(skip_serializing_if = "std::option::Option::is_none")] 31 #[serde(borrow)] 32 pub url: std::option::Option<jacquard_common::CowStr<'a>>, 33} 34 35/// Record containing a cards of your profile. 36#[jacquard_derive::lexicon] 37#[derive( 38 serde::Serialize, 39 serde::Deserialize, 40 Debug, 41 Clone, 42 PartialEq, 43 Eq, 44 jacquard_derive::IntoStatic, 45 bon::Builder 46)] 47#[serde(rename_all = "camelCase")] 48pub struct Board<'a> { 49 /// List of cards in the board. 50 #[serde(borrow)] 51 pub cards: Vec<crate::blue_linkat::board::Card<'a>>, 52} 53 54/// Typed wrapper for GetRecord response with this collection's record type. 55#[derive( 56 serde::Serialize, 57 serde::Deserialize, 58 Debug, 59 Clone, 60 PartialEq, 61 Eq, 62 jacquard_derive::IntoStatic 63)] 64#[serde(rename_all = "camelCase")] 65pub struct BoardGetRecordOutput<'a> { 66 #[serde(skip_serializing_if = "std::option::Option::is_none")] 67 #[serde(borrow)] 68 pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 69 #[serde(borrow)] 70 pub uri: jacquard_common::types::string::AtUri<'a>, 71 #[serde(borrow)] 72 pub value: Board<'a>, 73} 74 75/// Marker type for deserializing records from this collection. 76pub struct BoardRecord; 77impl jacquard_common::xrpc::XrpcResp for BoardRecord { 78 const NSID: &'static str = "blue.linkat.board"; 79 const ENCODING: &'static str = "application/json"; 80 type Output<'de> = BoardGetRecordOutput<'de>; 81 type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 82} 83 84impl jacquard_common::types::collection::Collection for Board<'_> { 85 const NSID: &'static str = "blue.linkat.board"; 86 type Record = BoardRecord; 87} 88 89impl From<BoardGetRecordOutput<'_>> for Board<'_> { 90 fn from(output: BoardGetRecordOutput<'_>) -> Self { 91 use jacquard_common::IntoStatic; 92 output.value.into_static() 93 } 94}