1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: app.bsky.notification.putPreferencesV2
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 PutPreferencesV2<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23 pub chat: std::option::Option<crate::app_bsky::notification::ChatPreference<'a>>,
24 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26 pub follow: std::option::Option<
27 crate::app_bsky::notification::FilterablePreference<'a>,
28 >,
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[serde(borrow)]
31 pub like: std::option::Option<
32 crate::app_bsky::notification::FilterablePreference<'a>,
33 >,
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 #[serde(borrow)]
36 pub like_via_repost: std::option::Option<
37 crate::app_bsky::notification::FilterablePreference<'a>,
38 >,
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 #[serde(borrow)]
41 pub mention: std::option::Option<
42 crate::app_bsky::notification::FilterablePreference<'a>,
43 >,
44 #[serde(skip_serializing_if = "std::option::Option::is_none")]
45 #[serde(borrow)]
46 pub quote: std::option::Option<
47 crate::app_bsky::notification::FilterablePreference<'a>,
48 >,
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51 pub reply: std::option::Option<
52 crate::app_bsky::notification::FilterablePreference<'a>,
53 >,
54 #[serde(skip_serializing_if = "std::option::Option::is_none")]
55 #[serde(borrow)]
56 pub repost: std::option::Option<
57 crate::app_bsky::notification::FilterablePreference<'a>,
58 >,
59 #[serde(skip_serializing_if = "std::option::Option::is_none")]
60 #[serde(borrow)]
61 pub repost_via_repost: std::option::Option<
62 crate::app_bsky::notification::FilterablePreference<'a>,
63 >,
64 #[serde(skip_serializing_if = "std::option::Option::is_none")]
65 #[serde(borrow)]
66 pub starterpack_joined: std::option::Option<
67 crate::app_bsky::notification::Preference<'a>,
68 >,
69 #[serde(skip_serializing_if = "std::option::Option::is_none")]
70 #[serde(borrow)]
71 pub subscribed_post: std::option::Option<
72 crate::app_bsky::notification::Preference<'a>,
73 >,
74 #[serde(skip_serializing_if = "std::option::Option::is_none")]
75 #[serde(borrow)]
76 pub unverified: std::option::Option<crate::app_bsky::notification::Preference<'a>>,
77 #[serde(skip_serializing_if = "std::option::Option::is_none")]
78 #[serde(borrow)]
79 pub verified: std::option::Option<crate::app_bsky::notification::Preference<'a>>,
80 #[serde(flatten)]
81 #[serde(borrow)]
82 #[builder(default)]
83 pub extra_data: ::std::collections::BTreeMap<
84 ::jacquard_common::smol_str::SmolStr,
85 ::jacquard_common::types::value::Data<'a>,
86 >,
87}
88
89impl jacquard_common::IntoStatic for PutPreferencesV2<'_> {
90 type Output = PutPreferencesV2<'static>;
91 fn into_static(self) -> Self::Output {
92 PutPreferencesV2 {
93 chat: self.chat.into_static(),
94 follow: self.follow.into_static(),
95 like: self.like.into_static(),
96 like_via_repost: self.like_via_repost.into_static(),
97 mention: self.mention.into_static(),
98 quote: self.quote.into_static(),
99 reply: self.reply.into_static(),
100 repost: self.repost.into_static(),
101 repost_via_repost: self.repost_via_repost.into_static(),
102 starterpack_joined: self.starterpack_joined.into_static(),
103 subscribed_post: self.subscribed_post.into_static(),
104 unverified: self.unverified.into_static(),
105 verified: self.verified.into_static(),
106 extra_data: self.extra_data.into_static(),
107 }
108 }
109}
110
111#[jacquard_derive::lexicon]
112#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
113#[serde(rename_all = "camelCase")]
114pub struct PutPreferencesV2Output<'a> {
115 #[serde(borrow)]
116 pub preferences: crate::app_bsky::notification::Preferences<'a>,
117}
118
119impl jacquard_common::IntoStatic for PutPreferencesV2Output<'_> {
120 type Output = PutPreferencesV2Output<'static>;
121 fn into_static(self) -> Self::Output {
122 PutPreferencesV2Output {
123 preferences: self.preferences.into_static(),
124 extra_data: self.extra_data.into_static(),
125 }
126 }
127}
128
129impl jacquard_common::types::xrpc::XrpcRequest for PutPreferencesV2<'_> {
130 const NSID: &'static str = "app.bsky.notification.putPreferencesV2";
131 const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
132 "application/json",
133 );
134 const OUTPUT_ENCODING: &'static str = "application/json";
135 type Output<'de> = PutPreferencesV2Output<'de>;
136 type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
137}