A better Rust ATProto crate
at main 4.2 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: com.atproto.admin.updateSubjectStatus 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 bon::Builder, 17 jacquard_derive::IntoStatic 18)] 19#[serde(rename_all = "camelCase")] 20#[builder(start_fn = new)] 21pub struct UpdateSubjectStatus<'a> { 22 #[serde(skip_serializing_if = "std::option::Option::is_none")] 23 #[builder(into)] 24 #[serde(borrow)] 25 pub deactivated: Option<crate::com_atproto::admin::StatusAttr<'a>>, 26 #[serde(borrow)] 27 pub subject: UpdateSubjectStatusSubject<'a>, 28 #[serde(skip_serializing_if = "std::option::Option::is_none")] 29 #[builder(into)] 30 #[serde(borrow)] 31 pub takedown: Option<crate::com_atproto::admin::StatusAttr<'a>>, 32 #[serde(flatten)] 33 #[serde(borrow)] 34 #[builder(default)] 35 pub extra_data: ::std::collections::BTreeMap< 36 ::jacquard_common::smol_str::SmolStr, 37 ::jacquard_common::types::value::Data<'a>, 38 >, 39} 40 41#[jacquard_derive::open_union] 42#[derive( 43 serde::Serialize, 44 serde::Deserialize, 45 Debug, 46 Clone, 47 PartialEq, 48 Eq, 49 jacquard_derive::IntoStatic 50)] 51#[serde(tag = "$type")] 52#[serde(bound(deserialize = "'de: 'a"))] 53pub enum UpdateSubjectStatusSubject<'a> { 54 #[serde(rename = "com.atproto.admin.defs#repoRef")] 55 RepoRef(Box<crate::com_atproto::admin::RepoRef<'a>>), 56 #[serde(rename = "com.atproto.repo.strongRef")] 57 StrongRef(Box<crate::com_atproto::repo::strong_ref::StrongRef<'a>>), 58 #[serde(rename = "com.atproto.admin.defs#repoBlobRef")] 59 RepoBlobRef(Box<crate::com_atproto::admin::RepoBlobRef<'a>>), 60} 61 62#[jacquard_derive::lexicon] 63#[derive( 64 serde::Serialize, 65 serde::Deserialize, 66 Debug, 67 Clone, 68 PartialEq, 69 Eq, 70 jacquard_derive::IntoStatic 71)] 72#[serde(rename_all = "camelCase")] 73pub struct UpdateSubjectStatusOutput<'a> { 74 #[serde(borrow)] 75 pub subject: UpdateSubjectStatusOutputSubject<'a>, 76 #[serde(skip_serializing_if = "std::option::Option::is_none")] 77 #[serde(borrow)] 78 pub takedown: std::option::Option<crate::com_atproto::admin::StatusAttr<'a>>, 79} 80 81#[jacquard_derive::open_union] 82#[derive( 83 serde::Serialize, 84 serde::Deserialize, 85 Debug, 86 Clone, 87 PartialEq, 88 Eq, 89 jacquard_derive::IntoStatic 90)] 91#[serde(tag = "$type")] 92#[serde(bound(deserialize = "'de: 'a"))] 93pub enum UpdateSubjectStatusOutputSubject<'a> { 94 #[serde(rename = "com.atproto.admin.defs#repoRef")] 95 RepoRef(Box<crate::com_atproto::admin::RepoRef<'a>>), 96 #[serde(rename = "com.atproto.repo.strongRef")] 97 StrongRef(Box<crate::com_atproto::repo::strong_ref::StrongRef<'a>>), 98 #[serde(rename = "com.atproto.admin.defs#repoBlobRef")] 99 RepoBlobRef(Box<crate::com_atproto::admin::RepoBlobRef<'a>>), 100} 101 102///Response type for 103///com.atproto.admin.updateSubjectStatus 104pub struct UpdateSubjectStatusResponse; 105impl jacquard_common::xrpc::XrpcResp for UpdateSubjectStatusResponse { 106 const NSID: &'static str = "com.atproto.admin.updateSubjectStatus"; 107 const ENCODING: &'static str = "application/json"; 108 type Output<'de> = UpdateSubjectStatusOutput<'de>; 109 type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 110} 111 112impl<'a> jacquard_common::xrpc::XrpcRequest for UpdateSubjectStatus<'a> { 113 const NSID: &'static str = "com.atproto.admin.updateSubjectStatus"; 114 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 115 "application/json", 116 ); 117 type Response = UpdateSubjectStatusResponse; 118} 119 120///Endpoint type for 121///com.atproto.admin.updateSubjectStatus 122pub struct UpdateSubjectStatusRequest; 123impl jacquard_common::xrpc::XrpcEndpoint for UpdateSubjectStatusRequest { 124 const PATH: &'static str = "/xrpc/com.atproto.admin.updateSubjectStatus"; 125 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 126 "application/json", 127 ); 128 type Request<'de> = UpdateSubjectStatus<'de>; 129 type Response = UpdateSubjectStatusResponse; 130}