1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.admin.sendEmail
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 SendEmail<'a> {
22 /// Additional comment by the sender that won't be used in the email itself but helpful to provide more context for moderators/reviewers
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
24 #[builder(into)]
25 #[serde(borrow)]
26 pub comment: Option<jacquard_common::CowStr<'a>>,
27 #[serde(borrow)]
28 #[builder(into)]
29 pub content: jacquard_common::CowStr<'a>,
30 #[serde(borrow)]
31 pub recipient_did: jacquard_common::types::string::Did<'a>,
32 #[serde(borrow)]
33 pub sender_did: jacquard_common::types::string::Did<'a>,
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[builder(into)]
36 #[serde(borrow)]
37 pub subject: Option<jacquard_common::CowStr<'a>>,
38 #[serde(flatten)]
39 #[serde(borrow)]
40 #[builder(default)]
41 pub extra_data: ::std::collections::BTreeMap<
42 ::jacquard_common::smol_str::SmolStr,
43 ::jacquard_common::types::value::Data<'a>,
44 >,
45}
46
47#[jacquard_derive::lexicon]
48#[derive(
49 serde::Serialize,
50 serde::Deserialize,
51 Debug,
52 Clone,
53 PartialEq,
54 Eq,
55 jacquard_derive::IntoStatic
56)]
57#[serde(rename_all = "camelCase")]
58pub struct SendEmailOutput<'a> {
59 pub sent: bool,
60}
61
62///Response type for
63///com.atproto.admin.sendEmail
64pub struct SendEmailResponse;
65impl jacquard_common::xrpc::XrpcResp for SendEmailResponse {
66 const NSID: &'static str = "com.atproto.admin.sendEmail";
67 const ENCODING: &'static str = "application/json";
68 type Output<'de> = SendEmailOutput<'de>;
69 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
70}
71
72impl<'a> jacquard_common::xrpc::XrpcRequest for SendEmail<'a> {
73 const NSID: &'static str = "com.atproto.admin.sendEmail";
74 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
75 "application/json",
76 );
77 type Response = SendEmailResponse;
78}
79
80///Endpoint type for
81///com.atproto.admin.sendEmail
82pub struct SendEmailRequest;
83impl jacquard_common::xrpc::XrpcEndpoint for SendEmailRequest {
84 const PATH: &'static str = "/xrpc/com.atproto.admin.sendEmail";
85 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
86 "application/json",
87 );
88 type Request<'de> = SendEmail<'de>;
89 type Response = SendEmailResponse;
90}