1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: tools.ozone.team.addMember
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 AddMember<'a> {
21 #[serde(borrow)]
22 pub did: jacquard_common::types::string::Did<'a>,
23 #[serde(borrow)]
24 #[builder(into)]
25 pub role: jacquard_common::CowStr<'a>,
26 #[serde(flatten)]
27 #[serde(borrow)]
28 #[builder(default)]
29 pub extra_data: ::std::collections::BTreeMap<
30 ::jacquard_common::smol_str::SmolStr,
31 ::jacquard_common::types::value::Data<'a>,
32 >,
33}
34
35impl jacquard_common::IntoStatic for AddMember<'_> {
36 type Output = AddMember<'static>;
37 fn into_static(self) -> Self::Output {
38 AddMember {
39 did: self.did.into_static(),
40 role: self.role.into_static(),
41 extra_data: self.extra_data.into_static(),
42 }
43 }
44}
45
46#[jacquard_derive::lexicon]
47#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
48#[serde(rename_all = "camelCase")]
49pub struct AddMemberOutput<'a> {
50 #[serde(flatten)]
51 #[serde(borrow)]
52 pub value: crate::tools_ozone::team::Member<'a>,
53}
54
55impl jacquard_common::IntoStatic for AddMemberOutput<'_> {
56 type Output = AddMemberOutput<'static>;
57 fn into_static(self) -> Self::Output {
58 AddMemberOutput {
59 value: self.value.into_static(),
60 extra_data: self.extra_data.into_static(),
61 }
62 }
63}
64
65#[jacquard_derive::open_union]
66#[derive(
67 serde::Serialize,
68 serde::Deserialize,
69 Debug,
70 Clone,
71 PartialEq,
72 Eq,
73 thiserror::Error,
74 miette::Diagnostic
75)]
76#[serde(tag = "error", content = "message")]
77#[serde(bound(deserialize = "'de: 'a"))]
78pub enum AddMemberError<'a> {
79 ///Member already exists in the team.
80 #[serde(rename = "MemberAlreadyExists")]
81 MemberAlreadyExists(std::option::Option<String>),
82}
83
84impl std::fmt::Display for AddMemberError<'_> {
85 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
86 match self {
87 Self::MemberAlreadyExists(msg) => {
88 write!(f, "MemberAlreadyExists")?;
89 if let Some(msg) = msg {
90 write!(f, ": {}", msg)?;
91 }
92 Ok(())
93 }
94 Self::Unknown(err) => write!(f, "Unknown error: {:?}", err),
95 }
96 }
97}
98
99impl jacquard_common::IntoStatic for AddMemberError<'_> {
100 type Output = AddMemberError<'static>;
101 fn into_static(self) -> Self::Output {
102 match self {
103 AddMemberError::MemberAlreadyExists(v) => {
104 AddMemberError::MemberAlreadyExists(v.into_static())
105 }
106 AddMemberError::Unknown(v) => AddMemberError::Unknown(v.into_static()),
107 }
108 }
109}
110
111impl jacquard_common::types::xrpc::XrpcRequest for AddMember<'_> {
112 const NSID: &'static str = "tools.ozone.team.addMember";
113 const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
114 "application/json",
115 );
116 const OUTPUT_ENCODING: &'static str = "application/json";
117 type Output<'de> = AddMemberOutput<'de>;
118 type Err<'de> = AddMemberError<'de>;
119}