1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.label.subscribeLabels
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 jacquard_derive::IntoStatic,
17 Default
18)]
19#[serde(rename_all = "camelCase")]
20pub struct Info<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23 pub message: std::option::Option<jacquard_common::CowStr<'a>>,
24 #[serde(borrow)]
25 pub name: jacquard_common::CowStr<'a>,
26}
27
28#[jacquard_derive::lexicon]
29#[derive(
30 serde::Serialize,
31 serde::Deserialize,
32 Debug,
33 Clone,
34 PartialEq,
35 Eq,
36 jacquard_derive::IntoStatic,
37 bon::Builder
38)]
39#[serde(rename_all = "camelCase")]
40pub struct Labels<'a> {
41 #[serde(borrow)]
42 pub labels: Vec<crate::com_atproto::label::Label<'a>>,
43 pub seq: i64,
44}
45
46#[derive(
47 serde::Serialize,
48 serde::Deserialize,
49 Debug,
50 Clone,
51 PartialEq,
52 Eq,
53 bon::Builder,
54 jacquard_derive::IntoStatic
55)]
56#[builder(start_fn = new)]
57#[serde(rename_all = "camelCase")]
58pub struct SubscribeLabels {
59 #[serde(skip_serializing_if = "std::option::Option::is_none")]
60 pub cursor: std::option::Option<i64>,
61}
62
63#[jacquard_derive::open_union]
64#[derive(
65 serde::Serialize,
66 serde::Deserialize,
67 Debug,
68 Clone,
69 PartialEq,
70 Eq,
71 jacquard_derive::IntoStatic
72)]
73#[serde(tag = "$type")]
74#[serde(bound(deserialize = "'de: 'a"))]
75pub enum SubscribeLabelsMessage<'a> {
76 #[serde(rename = "#labels")]
77 Labels(Box<jacquard_common::types::value::Data<'a>>),
78 #[serde(rename = "#info")]
79 Info(Box<jacquard_common::types::value::Data<'a>>),
80}
81
82#[jacquard_derive::open_union]
83#[derive(
84 serde::Serialize,
85 serde::Deserialize,
86 Debug,
87 Clone,
88 PartialEq,
89 Eq,
90 thiserror::Error,
91 miette::Diagnostic,
92 jacquard_derive::IntoStatic
93)]
94#[serde(tag = "error", content = "message")]
95#[serde(bound(deserialize = "'de: 'a"))]
96pub enum SubscribeLabelsError<'a> {
97 #[serde(rename = "FutureCursor")]
98 FutureCursor(std::option::Option<String>),
99}
100
101impl std::fmt::Display for SubscribeLabelsError<'_> {
102 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
103 match self {
104 Self::FutureCursor(msg) => {
105 write!(f, "FutureCursor")?;
106 if let Some(msg) = msg {
107 write!(f, ": {}", msg)?;
108 }
109 Ok(())
110 }
111 Self::Unknown(err) => write!(f, "Unknown error: {:?}", err),
112 }
113 }
114}