jacquard_api/chat_bsky/moderation/
get_message_context.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: chat.bsky.moderation.getMessageContext
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    jacquard_derive::IntoStatic
17)]
18#[builder(start_fn = new)]
19#[serde(rename_all = "camelCase")]
20pub struct GetMessageContext<'a> {
21    ///(default: 5)
22    #[serde(skip_serializing_if = "std::option::Option::is_none")]
23    pub after: std::option::Option<i64>,
24    ///(default: 5)
25    #[serde(skip_serializing_if = "std::option::Option::is_none")]
26    pub before: std::option::Option<i64>,
27    #[serde(skip_serializing_if = "std::option::Option::is_none")]
28    #[serde(borrow)]
29    #[builder(into)]
30    pub convo_id: std::option::Option<jacquard_common::CowStr<'a>>,
31    #[serde(borrow)]
32    #[builder(into)]
33    pub message_id: jacquard_common::CowStr<'a>,
34}
35
36#[jacquard_derive::lexicon]
37#[derive(
38    serde::Serialize,
39    serde::Deserialize,
40    Debug,
41    Clone,
42    PartialEq,
43    Eq,
44    jacquard_derive::IntoStatic
45)]
46#[serde(rename_all = "camelCase")]
47pub struct GetMessageContextOutput<'a> {
48    #[serde(borrow)]
49    pub messages: Vec<GetMessageContextOutputMessagesItem<'a>>,
50}
51
52#[jacquard_derive::open_union]
53#[derive(
54    serde::Serialize,
55    serde::Deserialize,
56    Debug,
57    Clone,
58    PartialEq,
59    Eq,
60    jacquard_derive::IntoStatic
61)]
62#[serde(tag = "$type")]
63#[serde(bound(deserialize = "'de: 'a"))]
64pub enum GetMessageContextOutputMessagesItem<'a> {
65    #[serde(rename = "chat.bsky.convo.defs#messageView")]
66    MessageView(Box<crate::chat_bsky::convo::MessageView<'a>>),
67    #[serde(rename = "chat.bsky.convo.defs#deletedMessageView")]
68    DeletedMessageView(Box<crate::chat_bsky::convo::DeletedMessageView<'a>>),
69}
70
71///Response type for
72///chat.bsky.moderation.getMessageContext
73pub struct GetMessageContextResponse;
74impl jacquard_common::xrpc::XrpcResp for GetMessageContextResponse {
75    const NSID: &'static str = "chat.bsky.moderation.getMessageContext";
76    const ENCODING: &'static str = "application/json";
77    type Output<'de> = GetMessageContextOutput<'de>;
78    type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
79}
80
81impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetMessageContext<'de> {
82    const NSID: &'static str = "chat.bsky.moderation.getMessageContext";
83    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
84    type Response = GetMessageContextResponse;
85}
86
87///Endpoint type for
88///chat.bsky.moderation.getMessageContext
89pub struct GetMessageContextRequest;
90impl jacquard_common::xrpc::XrpcEndpoint for GetMessageContextRequest {
91    const PATH: &'static str = "/xrpc/chat.bsky.moderation.getMessageContext";
92    const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
93    type Request<'de> = GetMessageContext<'de>;
94    type Response = GetMessageContextResponse;
95}