// @generated by jacquard-lexicon. DO NOT EDIT. // // Lexicon: net.anisota.feed.repost // // This file was automatically generated from Lexicon schemas. // Any manual changes will be overwritten on the next regeneration. ///Record representing a 'repost' of an existing piece of content published in the Anisota feed. The target of the repost is the 'subject' of the record. #[jacquard_derive::lexicon] #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic )] #[serde(rename_all = "camelCase")] pub struct Repost<'a> { ///Client-declared timestamp when this repost was created. pub created_at: jacquard_common::types::string::Datetime, ///The subject of the repost. #[serde(borrow)] pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>, } /// Typed wrapper for GetRecord response with this collection's record type. #[derive( serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic )] #[serde(rename_all = "camelCase")] pub struct RepostGetRecordOutput<'a> { #[serde(skip_serializing_if = "std::option::Option::is_none")] #[serde(borrow)] pub cid: std::option::Option>, #[serde(borrow)] pub uri: jacquard_common::types::string::AtUri<'a>, #[serde(borrow)] pub value: Repost<'a>, } /// Marker type for deserializing records from this collection. pub struct RepostRecord; impl jacquard_common::xrpc::XrpcResp for RepostRecord { const NSID: &'static str = "net.anisota.feed.repost"; const ENCODING: &'static str = "application/json"; type Output<'de> = RepostGetRecordOutput<'de>; type Err<'de> = jacquard_common::types::collection::RecordError<'de>; } impl jacquard_common::types::collection::Collection for Repost<'_> { const NSID: &'static str = "net.anisota.feed.repost"; type Record = RepostRecord; } impl From> for Repost<'_> { fn from(output: RepostGetRecordOutput<'_>) -> Self { use jacquard_common::IntoStatic; output.value.into_static() } }