jacquard_api/app_bsky/
labeler.rs

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}