A better Rust ATProto crate
at lifetimes 4.0 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: com.atproto.server.refreshSession 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 RefreshSessionOutput<'a> { 20 #[serde(borrow)] 21 pub access_jwt: jacquard_common::CowStr<'a>, 22 #[serde(skip_serializing_if = "std::option::Option::is_none")] 23 pub active: std::option::Option<bool>, 24 #[serde(borrow)] 25 pub did: jacquard_common::types::string::Did<'a>, 26 #[serde(skip_serializing_if = "std::option::Option::is_none")] 27 #[serde(borrow)] 28 pub did_doc: std::option::Option<jacquard_common::types::value::Data<'a>>, 29 #[serde(borrow)] 30 pub handle: jacquard_common::types::string::Handle<'a>, 31 #[serde(borrow)] 32 pub refresh_jwt: jacquard_common::CowStr<'a>, 33 ///Hosting status of the account. If not specified, then assume 'active'. 34 #[serde(skip_serializing_if = "std::option::Option::is_none")] 35 #[serde(borrow)] 36 pub status: std::option::Option<jacquard_common::CowStr<'a>>, 37} 38 39#[jacquard_derive::open_union] 40#[derive( 41 serde::Serialize, 42 serde::Deserialize, 43 Debug, 44 Clone, 45 PartialEq, 46 Eq, 47 thiserror::Error, 48 miette::Diagnostic 49)] 50#[serde(tag = "error", content = "message")] 51#[serde(bound(deserialize = "'de: 'a"))] 52pub enum RefreshSessionError<'a> { 53 #[serde(rename = "AccountTakedown")] 54 AccountTakedown(std::option::Option<String>), 55} 56 57impl std::fmt::Display for RefreshSessionError<'_> { 58 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 59 match self { 60 Self::AccountTakedown(msg) => { 61 write!(f, "AccountTakedown")?; 62 if let Some(msg) = msg { 63 write!(f, ": {}", msg)?; 64 } 65 Ok(()) 66 } 67 Self::Unknown(err) => write!(f, "Unknown error: {:?}", err), 68 } 69 } 70} 71 72impl jacquard_common::IntoStatic for RefreshSessionError<'_> { 73 type Output = RefreshSessionError<'static>; 74 fn into_static(self) -> Self::Output { 75 match self { 76 RefreshSessionError::AccountTakedown(v) => { 77 RefreshSessionError::AccountTakedown(v.into_static()) 78 } 79 RefreshSessionError::Unknown(v) => { 80 RefreshSessionError::Unknown(v.into_static()) 81 } 82 } 83 } 84} 85 86/// XRPC request marker type 87#[derive( 88 Debug, 89 Clone, 90 Copy, 91 PartialEq, 92 Eq, 93 serde::Serialize, 94 serde::Deserialize, 95 jacquard_derive::IntoStatic 96)] 97pub struct RefreshSession; 98///Response type for 99///com.atproto.server.refreshSession 100pub struct RefreshSessionResponse; 101impl jacquard_common::xrpc::XrpcResp for RefreshSessionResponse { 102 const NSID: &'static str = "com.atproto.server.refreshSession"; 103 const ENCODING: &'static str = "application/json"; 104 type Output<'de> = RefreshSessionOutput<'de>; 105 type Err<'de> = RefreshSessionError<'de>; 106} 107 108impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RefreshSession { 109 const NSID: &'static str = "com.atproto.server.refreshSession"; 110 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 111 "application/json", 112 ); 113 type Response = RefreshSessionResponse; 114} 115 116///Endpoint type for 117///com.atproto.server.refreshSession 118pub struct RefreshSessionRequest; 119impl jacquard_common::xrpc::XrpcEndpoint for RefreshSessionRequest { 120 const PATH: &'static str = "/xrpc/com.atproto.server.refreshSession"; 121 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 122 "application/json", 123 ); 124 type Request<'de> = RefreshSession; 125 type Response = RefreshSessionResponse; 126}