A better Rust ATProto crate
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: com.atproto.server.createAppPassword 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 AppPassword<'a> { 21 pub created_at: jacquard_common::types::string::Datetime, 22 #[serde(borrow)] 23 #[builder(into)] 24 pub name: jacquard_common::CowStr<'a>, 25 #[serde(borrow)] 26 #[builder(into)] 27 pub password: jacquard_common::CowStr<'a>, 28 #[serde(skip_serializing_if = "std::option::Option::is_none")] 29 #[builder(into)] 30 pub privileged: Option<bool>, 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 Default 43)] 44#[serde(rename_all = "camelCase")] 45pub struct CreateAppPassword<'a> { 46 /// A short name for the App Password, to help distinguish them. 47 #[serde(borrow)] 48 pub name: jacquard_common::CowStr<'a>, 49 /// If an app password has 'privileged' access to possibly sensitive account state. Meant for use with trusted clients. 50 #[serde(skip_serializing_if = "std::option::Option::is_none")] 51 pub privileged: std::option::Option<bool>, 52} 53 54#[jacquard_derive::lexicon] 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 CreateAppPasswordOutput<'a> { 66 #[serde(flatten)] 67 #[serde(borrow)] 68 pub value: jacquard_common::types::value::Data<'a>, 69} 70 71#[jacquard_derive::open_union] 72#[derive( 73 serde::Serialize, 74 serde::Deserialize, 75 Debug, 76 Clone, 77 PartialEq, 78 Eq, 79 thiserror::Error, 80 miette::Diagnostic, 81 jacquard_derive::IntoStatic 82)] 83#[serde(tag = "error", content = "message")] 84#[serde(bound(deserialize = "'de: 'a"))] 85pub enum CreateAppPasswordError<'a> { 86 #[serde(rename = "AccountTakedown")] 87 AccountTakedown(std::option::Option<String>), 88} 89 90impl std::fmt::Display for CreateAppPasswordError<'_> { 91 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 92 match self { 93 Self::AccountTakedown(msg) => { 94 write!(f, "AccountTakedown")?; 95 if let Some(msg) = msg { 96 write!(f, ": {}", msg)?; 97 } 98 Ok(()) 99 } 100 Self::Unknown(err) => write!(f, "Unknown error: {:?}", err), 101 } 102 } 103} 104 105///Response type for 106///com.atproto.server.createAppPassword 107pub struct CreateAppPasswordResponse; 108impl jacquard_common::xrpc::XrpcResp for CreateAppPasswordResponse { 109 const NSID: &'static str = "com.atproto.server.createAppPassword"; 110 const ENCODING: &'static str = "application/json"; 111 type Output<'de> = CreateAppPasswordOutput<'de>; 112 type Err<'de> = CreateAppPasswordError<'de>; 113} 114 115impl<'a> jacquard_common::xrpc::XrpcRequest for CreateAppPassword<'a> { 116 const NSID: &'static str = "com.atproto.server.createAppPassword"; 117 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 118 "application/json", 119 ); 120 type Response = CreateAppPasswordResponse; 121} 122 123///Endpoint type for 124///com.atproto.server.createAppPassword 125pub struct CreateAppPasswordRequest; 126impl jacquard_common::xrpc::XrpcEndpoint for CreateAppPasswordRequest { 127 const PATH: &'static str = "/xrpc/com.atproto.server.createAppPassword"; 128 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 129 "application/json", 130 ); 131 type Request<'de> = CreateAppPassword<'de>; 132 type Response = CreateAppPasswordResponse; 133}