jacquard_api/com_atproto/label/
query_labels.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.label.queryLabels
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[derive(
9    serde::Serialize,
10    serde::Deserialize,
11    Debug,
12    Clone,
13    PartialEq,
14    Eq,
15    bon::Builder
16)]
17#[builder(start_fn = new)]
18#[serde(rename_all = "camelCase")]
19pub struct QueryLabels<'a> {
20    #[serde(skip_serializing_if = "std::option::Option::is_none")]
21    #[serde(borrow)]
22    #[builder(into)]
23    pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
24    ///(default: 50, min: 1, max: 250)
25    #[serde(skip_serializing_if = "std::option::Option::is_none")]
26    pub limit: std::option::Option<i64>,
27    #[serde(skip_serializing_if = "std::option::Option::is_none")]
28    #[serde(borrow)]
29    pub sources: std::option::Option<Vec<jacquard_common::types::string::Did<'a>>>,
30    #[serde(borrow)]
31    pub uri_patterns: Vec<jacquard_common::CowStr<'a>>,
32}
33
34impl jacquard_common::IntoStatic for QueryLabels<'_> {
35    type Output = QueryLabels<'static>;
36    fn into_static(self) -> Self::Output {
37        QueryLabels {
38            cursor: self.cursor.into_static(),
39            limit: self.limit.into_static(),
40            sources: self.sources.into_static(),
41            uri_patterns: self.uri_patterns.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 QueryLabelsOutput<'a> {
50    #[serde(skip_serializing_if = "std::option::Option::is_none")]
51    #[serde(borrow)]
52    pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
53    #[serde(borrow)]
54    pub labels: Vec<crate::com_atproto::label::Label<'a>>,
55}
56
57impl jacquard_common::IntoStatic for QueryLabelsOutput<'_> {
58    type Output = QueryLabelsOutput<'static>;
59    fn into_static(self) -> Self::Output {
60        QueryLabelsOutput {
61            cursor: self.cursor.into_static(),
62            labels: self.labels.into_static(),
63            extra_data: self.extra_data.into_static(),
64        }
65    }
66}
67
68impl jacquard_common::types::xrpc::XrpcRequest for QueryLabels<'_> {
69    const NSID: &'static str = "com.atproto.label.queryLabels";
70    const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
71    const OUTPUT_ENCODING: &'static str = "application/json";
72    type Output<'de> = QueryLabelsOutput<'de>;
73    type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
74}