jacquard_api/com_atproto/server/
create_invite_codes.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.server.createInviteCodes
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(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
10#[serde(rename_all = "camelCase")]
11pub struct AccountCodes<'a> {
12    #[serde(borrow)]
13    pub account: jacquard_common::CowStr<'a>,
14    #[serde(borrow)]
15    pub codes: Vec<jacquard_common::CowStr<'a>>,
16}
17
18impl jacquard_common::IntoStatic for AccountCodes<'_> {
19    type Output = AccountCodes<'static>;
20    fn into_static(self) -> Self::Output {
21        AccountCodes {
22            account: self.account.into_static(),
23            codes: self.codes.into_static(),
24            extra_data: self.extra_data.into_static(),
25        }
26    }
27}
28
29#[jacquard_derive::lexicon]
30#[derive(
31    serde::Serialize,
32    serde::Deserialize,
33    Debug,
34    Clone,
35    PartialEq,
36    Eq,
37    bon::Builder
38)]
39#[serde(rename_all = "camelCase")]
40#[builder(start_fn = new)]
41pub struct CreateInviteCodes<'a> {
42    pub code_count: i64,
43    #[serde(skip_serializing_if = "std::option::Option::is_none")]
44    #[serde(borrow)]
45    pub for_accounts: std::option::Option<Vec<jacquard_common::types::string::Did<'a>>>,
46    pub use_count: i64,
47    #[serde(flatten)]
48    #[serde(borrow)]
49    #[builder(default)]
50    pub extra_data: ::std::collections::BTreeMap<
51        ::jacquard_common::smol_str::SmolStr,
52        ::jacquard_common::types::value::Data<'a>,
53    >,
54}
55
56impl jacquard_common::IntoStatic for CreateInviteCodes<'_> {
57    type Output = CreateInviteCodes<'static>;
58    fn into_static(self) -> Self::Output {
59        CreateInviteCodes {
60            code_count: self.code_count.into_static(),
61            for_accounts: self.for_accounts.into_static(),
62            use_count: self.use_count.into_static(),
63            extra_data: self.extra_data.into_static(),
64        }
65    }
66}
67
68#[jacquard_derive::lexicon]
69#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
70#[serde(rename_all = "camelCase")]
71pub struct CreateInviteCodesOutput<'a> {
72    #[serde(borrow)]
73    pub codes: Vec<jacquard_common::types::value::Data<'a>>,
74}
75
76impl jacquard_common::IntoStatic for CreateInviteCodesOutput<'_> {
77    type Output = CreateInviteCodesOutput<'static>;
78    fn into_static(self) -> Self::Output {
79        CreateInviteCodesOutput {
80            codes: self.codes.into_static(),
81            extra_data: self.extra_data.into_static(),
82        }
83    }
84}
85
86impl jacquard_common::types::xrpc::XrpcRequest for CreateInviteCodes<'_> {
87    const NSID: &'static str = "com.atproto.server.createInviteCodes";
88    const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
89        "application/json",
90    );
91    const OUTPUT_ENCODING: &'static str = "application/json";
92    type Output<'de> = CreateInviteCodesOutput<'de>;
93    type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
94}