1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.admin.getSubjectStatus
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[derive(
9 serde::Serialize,
10 serde::Deserialize,
11 Debug,
12 Clone,
13 PartialEq,
14 Eq,
15 bon::Builder,
16 jacquard_derive::IntoStatic
17)]
18#[builder(start_fn = new)]
19#[serde(rename_all = "camelCase")]
20pub struct GetSubjectStatus<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23 pub blob: std::option::Option<jacquard_common::types::string::Cid<'a>>,
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26 pub did: std::option::Option<jacquard_common::types::string::Did<'a>>,
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29 pub uri: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
30}
31
32#[jacquard_derive::lexicon]
33#[derive(
34 serde::Serialize,
35 serde::Deserialize,
36 Debug,
37 Clone,
38 PartialEq,
39 Eq,
40 jacquard_derive::IntoStatic
41)]
42#[serde(rename_all = "camelCase")]
43pub struct GetSubjectStatusOutput<'a> {
44 #[serde(skip_serializing_if = "std::option::Option::is_none")]
45 #[serde(borrow)]
46 pub deactivated: std::option::Option<crate::com_atproto::admin::StatusAttr<'a>>,
47 #[serde(borrow)]
48 pub subject: GetSubjectStatusOutputSubject<'a>,
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51 pub takedown: std::option::Option<crate::com_atproto::admin::StatusAttr<'a>>,
52}
53
54#[jacquard_derive::open_union]
55#[derive(
56 serde::Serialize,
57 serde::Deserialize,
58 Debug,
59 Clone,
60 PartialEq,
61 Eq,
62 jacquard_derive::IntoStatic
63)]
64#[serde(tag = "$type")]
65#[serde(bound(deserialize = "'de: 'a"))]
66pub enum GetSubjectStatusOutputSubject<'a> {
67 #[serde(rename = "com.atproto.admin.defs#repoRef")]
68 RepoRef(Box<crate::com_atproto::admin::RepoRef<'a>>),
69 #[serde(rename = "com.atproto.repo.strongRef")]
70 StrongRef(Box<crate::com_atproto::repo::strong_ref::StrongRef<'a>>),
71 #[serde(rename = "com.atproto.admin.defs#repoBlobRef")]
72 RepoBlobRef(Box<crate::com_atproto::admin::RepoBlobRef<'a>>),
73}
74
75///Response type for
76///com.atproto.admin.getSubjectStatus
77pub struct GetSubjectStatusResponse;
78impl jacquard_common::xrpc::XrpcResp for GetSubjectStatusResponse {
79 const NSID: &'static str = "com.atproto.admin.getSubjectStatus";
80 const ENCODING: &'static str = "application/json";
81 type Output<'de> = GetSubjectStatusOutput<'de>;
82 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
83}
84
85impl<'a> jacquard_common::xrpc::XrpcRequest for GetSubjectStatus<'a> {
86 const NSID: &'static str = "com.atproto.admin.getSubjectStatus";
87 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
88 type Response = GetSubjectStatusResponse;
89}
90
91///Endpoint type for
92///com.atproto.admin.getSubjectStatus
93pub struct GetSubjectStatusRequest;
94impl jacquard_common::xrpc::XrpcEndpoint for GetSubjectStatusRequest {
95 const PATH: &'static str = "/xrpc/com.atproto.admin.getSubjectStatus";
96 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
97 type Request<'de> = GetSubjectStatus<'de>;
98 type Response = GetSubjectStatusResponse;
99}