1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: app.bsky.labeler.defs
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8pub mod get_services;
9pub mod service;
10
11#[jacquard_derive::lexicon]
12#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
13#[serde(rename_all = "camelCase")]
14pub struct LabelerPolicies<'a> {
15 ///Label values created by this labeler and scoped exclusively to it. Labels defined here will override global label definitions for this labeler.
16 #[serde(skip_serializing_if = "std::option::Option::is_none")]
17 #[serde(borrow)]
18 pub label_value_definitions: std::option::Option<
19 Vec<crate::com_atproto::label::LabelValueDefinition<'a>>,
20 >,
21 ///The label values which this labeler publishes. May include global or custom labels.
22 #[serde(borrow)]
23 pub label_values: Vec<crate::com_atproto::label::LabelValue<'a>>,
24}
25
26impl jacquard_common::IntoStatic for LabelerPolicies<'_> {
27 type Output = LabelerPolicies<'static>;
28 fn into_static(self) -> Self::Output {
29 LabelerPolicies {
30 label_value_definitions: self.label_value_definitions.into_static(),
31 label_values: self.label_values.into_static(),
32 extra_data: self.extra_data.into_static(),
33 }
34 }
35}
36
37#[jacquard_derive::lexicon]
38#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
39#[serde(rename_all = "camelCase")]
40pub struct LabelerView<'a> {
41 #[serde(borrow)]
42 pub cid: jacquard_common::types::string::Cid<'a>,
43 #[serde(borrow)]
44 pub creator: crate::app_bsky::actor::ProfileView<'a>,
45 pub indexed_at: jacquard_common::types::string::Datetime,
46 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47 #[serde(borrow)]
48 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 pub like_count: std::option::Option<i64>,
51 #[serde(borrow)]
52 pub uri: jacquard_common::types::string::AtUri<'a>,
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54 #[serde(borrow)]
55 pub viewer: std::option::Option<crate::app_bsky::labeler::LabelerViewerState<'a>>,
56}
57
58impl jacquard_common::IntoStatic for LabelerView<'_> {
59 type Output = LabelerView<'static>;
60 fn into_static(self) -> Self::Output {
61 LabelerView {
62 cid: self.cid.into_static(),
63 creator: self.creator.into_static(),
64 indexed_at: self.indexed_at.into_static(),
65 labels: self.labels.into_static(),
66 like_count: self.like_count.into_static(),
67 uri: self.uri.into_static(),
68 viewer: self.viewer.into_static(),
69 extra_data: self.extra_data.into_static(),
70 }
71 }
72}
73
74#[jacquard_derive::lexicon]
75#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
76#[serde(rename_all = "camelCase")]
77pub struct LabelerViewDetailed<'a> {
78 #[serde(borrow)]
79 pub cid: jacquard_common::types::string::Cid<'a>,
80 #[serde(borrow)]
81 pub creator: crate::app_bsky::actor::ProfileView<'a>,
82 pub indexed_at: jacquard_common::types::string::Datetime,
83 #[serde(skip_serializing_if = "std::option::Option::is_none")]
84 #[serde(borrow)]
85 pub labels: std::option::Option<Vec<crate::com_atproto::label::Label<'a>>>,
86 #[serde(skip_serializing_if = "std::option::Option::is_none")]
87 pub like_count: std::option::Option<i64>,
88 #[serde(borrow)]
89 pub policies: crate::app_bsky::labeler::LabelerPolicies<'a>,
90 ///The set of report reason 'codes' which are in-scope for this service to review and action. These usually align to policy categories. If not defined (distinct from empty array), all reason types are allowed.
91 #[serde(skip_serializing_if = "std::option::Option::is_none")]
92 #[serde(borrow)]
93 pub reason_types: std::option::Option<
94 Vec<crate::com_atproto::moderation::ReasonType<'a>>,
95 >,
96 ///Set of record types (collection NSIDs) which can be reported to this service. If not defined (distinct from empty array), default is any record type.
97 #[serde(skip_serializing_if = "std::option::Option::is_none")]
98 #[serde(borrow)]
99 pub subject_collections: std::option::Option<
100 Vec<jacquard_common::types::string::Nsid<'a>>,
101 >,
102 ///The set of subject types (account, record, etc) this service accepts reports on.
103 #[serde(skip_serializing_if = "std::option::Option::is_none")]
104 #[serde(borrow)]
105 pub subject_types: std::option::Option<
106 Vec<crate::com_atproto::moderation::SubjectType<'a>>,
107 >,
108 #[serde(borrow)]
109 pub uri: jacquard_common::types::string::AtUri<'a>,
110 #[serde(skip_serializing_if = "std::option::Option::is_none")]
111 #[serde(borrow)]
112 pub viewer: std::option::Option<crate::app_bsky::labeler::LabelerViewerState<'a>>,
113}
114
115impl jacquard_common::IntoStatic for LabelerViewDetailed<'_> {
116 type Output = LabelerViewDetailed<'static>;
117 fn into_static(self) -> Self::Output {
118 LabelerViewDetailed {
119 cid: self.cid.into_static(),
120 creator: self.creator.into_static(),
121 indexed_at: self.indexed_at.into_static(),
122 labels: self.labels.into_static(),
123 like_count: self.like_count.into_static(),
124 policies: self.policies.into_static(),
125 reason_types: self.reason_types.into_static(),
126 subject_collections: self.subject_collections.into_static(),
127 subject_types: self.subject_types.into_static(),
128 uri: self.uri.into_static(),
129 viewer: self.viewer.into_static(),
130 extra_data: self.extra_data.into_static(),
131 }
132 }
133}
134
135#[jacquard_derive::lexicon]
136#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
137#[serde(rename_all = "camelCase")]
138pub struct LabelerViewerState<'a> {
139 #[serde(skip_serializing_if = "std::option::Option::is_none")]
140 #[serde(borrow)]
141 pub like: std::option::Option<jacquard_common::types::string::AtUri<'a>>,
142}
143
144impl jacquard_common::IntoStatic for LabelerViewerState<'_> {
145 type Output = LabelerViewerState<'static>;
146 fn into_static(self) -> Self::Output {
147 LabelerViewerState {
148 like: self.like.into_static(),
149 extra_data: self.extra_data.into_static(),
150 }
151 }
152}