A better Rust ATProto crate
at main 2.9 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: net.mmatt.vitals.car 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 bon::Builder 18)] 19#[serde(rename_all = "camelCase")] 20pub struct Car<'a> { 21 /// The car fuel amount remaining value (floating point string) 22 #[serde(borrow)] 23 #[builder(into)] 24 pub amount_remaining: jacquard_common::CowStr<'a>, 25 /// The car fuel range value in miles 26 pub car_fuel_range: i64, 27 /// The car make value 28 #[serde(skip_serializing_if = "std::option::Option::is_none")] 29 #[builder(into)] 30 #[serde(borrow)] 31 pub car_make: Option<jacquard_common::CowStr<'a>>, 32 /// The car model value 33 #[serde(skip_serializing_if = "std::option::Option::is_none")] 34 #[builder(into)] 35 #[serde(borrow)] 36 pub car_model: Option<jacquard_common::CowStr<'a>>, 37 /// The car fuel level value in percentage (floating point string) 38 #[serde(borrow)] 39 #[builder(into)] 40 pub car_percent_fuel_remaining: jacquard_common::CowStr<'a>, 41 /// The car traveled distance value 42 pub car_traveled_distance: i64, 43 /// The car year value 44 #[serde(skip_serializing_if = "std::option::Option::is_none")] 45 #[builder(into)] 46 pub car_year: Option<i64>, 47 /// The unix timestamp of when the vital was recorded 48 pub created_at: jacquard_common::types::string::Datetime, 49} 50 51/// Typed wrapper for GetRecord response with this collection's record type. 52#[derive( 53 serde::Serialize, 54 serde::Deserialize, 55 Debug, 56 Clone, 57 PartialEq, 58 Eq, 59 jacquard_derive::IntoStatic 60)] 61#[serde(rename_all = "camelCase")] 62pub struct CarGetRecordOutput<'a> { 63 #[serde(skip_serializing_if = "std::option::Option::is_none")] 64 #[serde(borrow)] 65 pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 66 #[serde(borrow)] 67 pub uri: jacquard_common::types::string::AtUri<'a>, 68 #[serde(borrow)] 69 pub value: Car<'a>, 70} 71 72/// Marker type for deserializing records from this collection. 73pub struct CarRecord; 74impl jacquard_common::xrpc::XrpcResp for CarRecord { 75 const NSID: &'static str = "net.mmatt.vitals.car"; 76 const ENCODING: &'static str = "application/json"; 77 type Output<'de> = CarGetRecordOutput<'de>; 78 type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 79} 80 81impl jacquard_common::types::collection::Collection for Car<'_> { 82 const NSID: &'static str = "net.mmatt.vitals.car"; 83 type Record = CarRecord; 84} 85 86impl From<CarGetRecordOutput<'_>> for Car<'_> { 87 fn from(output: CarGetRecordOutput<'_>) -> Self { 88 use jacquard_common::IntoStatic; 89 output.value.into_static() 90 } 91}