A better Rust ATProto crate
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: buzz.bookhive.defs 4// 5// This file was automatically generated from Lexicon schemas. 6// Any manual changes will be overwritten on the next regeneration. 7 8pub mod book; 9pub mod buzz; 10pub mod get_book; 11pub mod get_profile; 12pub mod hive_book; 13pub mod search_books; 14 15///User has abandoned the book 16#[derive( 17 serde::Serialize, 18 serde::Deserialize, 19 Debug, 20 Clone, 21 PartialEq, 22 Eq, 23 Hash, 24 jacquard_derive::IntoStatic 25)] 26pub struct Abandoned; 27impl std::fmt::Display for Abandoned { 28 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 29 write!(f, "abandoned") 30 } 31} 32 33#[jacquard_derive::lexicon] 34#[derive( 35 serde::Serialize, 36 serde::Deserialize, 37 Debug, 38 Clone, 39 PartialEq, 40 Eq, 41 jacquard_derive::IntoStatic 42)] 43#[serde(rename_all = "camelCase")] 44pub struct Activity<'a> { 45 pub created_at: jacquard_common::types::string::Datetime, 46 ///The hive id of the book 47 #[serde(borrow)] 48 pub hive_id: jacquard_common::CowStr<'a>, 49 ///The title of the book 50 #[serde(borrow)] 51 pub title: jacquard_common::CowStr<'a>, 52 #[serde(borrow)] 53 pub r#type: jacquard_common::CowStr<'a>, 54} 55 56#[jacquard_derive::lexicon] 57#[derive( 58 serde::Serialize, 59 serde::Deserialize, 60 Debug, 61 Clone, 62 PartialEq, 63 Eq, 64 jacquard_derive::IntoStatic 65)] 66#[serde(rename_all = "camelCase")] 67pub struct Comment<'a> { 68 #[serde(borrow)] 69 pub book: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 70 ///The content of the comment. 71 #[serde(borrow)] 72 pub comment: jacquard_common::CowStr<'a>, 73 ///Client-declared timestamp when this comment was originally created. 74 pub created_at: jacquard_common::types::string::Datetime, 75 ///The DID of the user who made the comment 76 #[serde(borrow)] 77 pub did: jacquard_common::CowStr<'a>, 78 ///The handle of the user who made the comment 79 #[serde(borrow)] 80 pub handle: jacquard_common::CowStr<'a>, 81 #[serde(borrow)] 82 pub parent: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 83} 84 85///User has finished reading the book 86#[derive( 87 serde::Serialize, 88 serde::Deserialize, 89 Debug, 90 Clone, 91 PartialEq, 92 Eq, 93 Hash, 94 jacquard_derive::IntoStatic 95)] 96pub struct Finished; 97impl std::fmt::Display for Finished { 98 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 99 write!(f, "finished") 100 } 101} 102 103///User owns the book 104#[derive( 105 serde::Serialize, 106 serde::Deserialize, 107 Debug, 108 Clone, 109 PartialEq, 110 Eq, 111 Hash, 112 jacquard_derive::IntoStatic 113)] 114pub struct Owned; 115impl std::fmt::Display for Owned { 116 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 117 write!(f, "owned") 118 } 119} 120 121#[jacquard_derive::lexicon] 122#[derive( 123 serde::Serialize, 124 serde::Deserialize, 125 Debug, 126 Clone, 127 PartialEq, 128 Eq, 129 jacquard_derive::IntoStatic 130)] 131#[serde(rename_all = "camelCase")] 132pub struct Profile<'a> { 133 #[serde(skip_serializing_if = "std::option::Option::is_none")] 134 #[serde(borrow)] 135 pub avatar: std::option::Option<jacquard_common::CowStr<'a>>, 136 pub books_read: i64, 137 #[serde(skip_serializing_if = "std::option::Option::is_none")] 138 #[serde(borrow)] 139 pub description: std::option::Option<jacquard_common::CowStr<'a>>, 140 #[serde(borrow)] 141 pub display_name: jacquard_common::CowStr<'a>, 142 #[serde(borrow)] 143 pub handle: jacquard_common::CowStr<'a>, 144 pub reviews: i64, 145} 146 147///User is currently reading the book 148#[derive( 149 serde::Serialize, 150 serde::Deserialize, 151 Debug, 152 Clone, 153 PartialEq, 154 Eq, 155 Hash, 156 jacquard_derive::IntoStatic 157)] 158pub struct Reading; 159impl std::fmt::Display for Reading { 160 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 161 write!(f, "reading") 162 } 163} 164 165#[jacquard_derive::lexicon] 166#[derive( 167 serde::Serialize, 168 serde::Deserialize, 169 Debug, 170 Clone, 171 PartialEq, 172 Eq, 173 jacquard_derive::IntoStatic 174)] 175#[serde(rename_all = "camelCase")] 176pub struct Review<'a> { 177 ///The date the review was created 178 pub created_at: jacquard_common::types::string::Datetime, 179 ///The DID of the user who made the review 180 #[serde(borrow)] 181 pub did: jacquard_common::CowStr<'a>, 182 ///The handle of the user who made the review 183 #[serde(borrow)] 184 pub handle: jacquard_common::CowStr<'a>, 185 ///The review content 186 #[serde(borrow)] 187 pub review: jacquard_common::CowStr<'a>, 188 ///The number of stars given to the book 189 #[serde(skip_serializing_if = "std::option::Option::is_none")] 190 pub stars: std::option::Option<i64>, 191} 192 193#[jacquard_derive::lexicon] 194#[derive( 195 serde::Serialize, 196 serde::Deserialize, 197 Debug, 198 Clone, 199 PartialEq, 200 Eq, 201 jacquard_derive::IntoStatic 202)] 203#[serde(rename_all = "camelCase")] 204pub struct UserBook<'a> { 205 ///The authors of the book (tab separated) 206 #[serde(borrow)] 207 pub authors: jacquard_common::CowStr<'a>, 208 ///Cover image of the book 209 #[serde(skip_serializing_if = "std::option::Option::is_none")] 210 #[serde(borrow)] 211 pub cover: std::option::Option<jacquard_common::CowStr<'a>>, 212 pub created_at: jacquard_common::types::string::Datetime, 213 ///Book description/summary 214 #[serde(skip_serializing_if = "std::option::Option::is_none")] 215 #[serde(borrow)] 216 pub description: std::option::Option<jacquard_common::CowStr<'a>>, 217 ///The date the user finished reading the book 218 #[serde(skip_serializing_if = "std::option::Option::is_none")] 219 pub finished_at: std::option::Option<jacquard_common::types::string::Datetime>, 220 ///The book's hive id, used to correlate user's books with the hive 221 #[serde(borrow)] 222 pub hive_id: jacquard_common::CowStr<'a>, 223 ///Average rating (0-1000) 224 #[serde(skip_serializing_if = "std::option::Option::is_none")] 225 pub rating: std::option::Option<i64>, 226 ///The book's review 227 #[serde(skip_serializing_if = "std::option::Option::is_none")] 228 #[serde(borrow)] 229 pub review: std::option::Option<jacquard_common::CowStr<'a>>, 230 ///Number of stars given to the book (1-10) which will be mapped to 1-5 stars 231 #[serde(skip_serializing_if = "std::option::Option::is_none")] 232 pub stars: std::option::Option<i64>, 233 ///The date the user started reading the book 234 #[serde(skip_serializing_if = "std::option::Option::is_none")] 235 pub started_at: std::option::Option<jacquard_common::types::string::Datetime>, 236 #[serde(skip_serializing_if = "std::option::Option::is_none")] 237 #[serde(borrow)] 238 pub status: std::option::Option<jacquard_common::CowStr<'a>>, 239 ///Cover image of the book 240 #[serde(borrow)] 241 pub thumbnail: jacquard_common::CowStr<'a>, 242 ///The title of the book 243 #[serde(borrow)] 244 pub title: jacquard_common::CowStr<'a>, 245} 246 247///User wants to read the book 248#[derive( 249 serde::Serialize, 250 serde::Deserialize, 251 Debug, 252 Clone, 253 PartialEq, 254 Eq, 255 Hash, 256 jacquard_derive::IntoStatic 257)] 258pub struct WantToRead; 259impl std::fmt::Display for WantToRead { 260 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 261 write!(f, "wantToRead") 262 } 263}