1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.identity.signPlcOperation
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)]
18#[serde(rename_all = "camelCase")]
19#[builder(start_fn = new)]
20pub struct SignPlcOperation<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23 pub also_known_as: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26 pub rotation_keys: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 #[serde(borrow)]
29 pub services: std::option::Option<jacquard_common::types::value::Data<'a>>,
30 ///A token received through com.atproto.identity.requestPlcOperationSignature
31 #[serde(skip_serializing_if = "std::option::Option::is_none")]
32 #[serde(borrow)]
33 #[builder(into)]
34 pub token: std::option::Option<jacquard_common::CowStr<'a>>,
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37 pub verification_methods: std::option::Option<
38 jacquard_common::types::value::Data<'a>,
39 >,
40 #[serde(flatten)]
41 #[serde(borrow)]
42 #[builder(default)]
43 pub extra_data: ::std::collections::BTreeMap<
44 ::jacquard_common::smol_str::SmolStr,
45 ::jacquard_common::types::value::Data<'a>,
46 >,
47}
48
49impl jacquard_common::IntoStatic for SignPlcOperation<'_> {
50 type Output = SignPlcOperation<'static>;
51 fn into_static(self) -> Self::Output {
52 SignPlcOperation {
53 also_known_as: self.also_known_as.into_static(),
54 rotation_keys: self.rotation_keys.into_static(),
55 services: self.services.into_static(),
56 token: self.token.into_static(),
57 verification_methods: self.verification_methods.into_static(),
58 extra_data: self.extra_data.into_static(),
59 }
60 }
61}
62
63#[jacquard_derive::lexicon]
64#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
65#[serde(rename_all = "camelCase")]
66pub struct SignPlcOperationOutput<'a> {
67 ///A signed DID PLC operation.
68 #[serde(borrow)]
69 pub operation: jacquard_common::types::value::Data<'a>,
70}
71
72impl jacquard_common::IntoStatic for SignPlcOperationOutput<'_> {
73 type Output = SignPlcOperationOutput<'static>;
74 fn into_static(self) -> Self::Output {
75 SignPlcOperationOutput {
76 operation: self.operation.into_static(),
77 extra_data: self.extra_data.into_static(),
78 }
79 }
80}
81
82impl jacquard_common::types::xrpc::XrpcRequest for SignPlcOperation<'_> {
83 const NSID: &'static str = "com.atproto.identity.signPlcOperation";
84 const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
85 "application/json",
86 );
87 const OUTPUT_ENCODING: &'static str = "application/json";
88 type Output<'de> = SignPlcOperationOutput<'de>;
89 type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
90}