1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: tools.ozone.safelink.queryEvents
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 bon::Builder
17)]
18#[serde(rename_all = "camelCase")]
19#[builder(start_fn = new)]
20pub struct QueryEvents<'a> {
21 ///Cursor for pagination
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24 #[builder(into)]
25 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
26 ///Maximum number of results to return
27 #[serde(skip_serializing_if = "std::option::Option::is_none")]
28 pub limit: std::option::Option<i64>,
29 ///Filter by pattern type
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32 #[builder(into)]
33 pub pattern_type: std::option::Option<jacquard_common::CowStr<'a>>,
34 ///Sort direction
35 #[serde(skip_serializing_if = "std::option::Option::is_none")]
36 #[serde(borrow)]
37 #[builder(into)]
38 pub sort_direction: std::option::Option<jacquard_common::CowStr<'a>>,
39 ///Filter by specific URLs or domains
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[serde(borrow)]
42 pub urls: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
43 #[serde(flatten)]
44 #[serde(borrow)]
45 #[builder(default)]
46 pub extra_data: ::std::collections::BTreeMap<
47 ::jacquard_common::smol_str::SmolStr,
48 ::jacquard_common::types::value::Data<'a>,
49 >,
50}
51
52impl jacquard_common::IntoStatic for QueryEvents<'_> {
53 type Output = QueryEvents<'static>;
54 fn into_static(self) -> Self::Output {
55 QueryEvents {
56 cursor: self.cursor.into_static(),
57 limit: self.limit.into_static(),
58 pattern_type: self.pattern_type.into_static(),
59 sort_direction: self.sort_direction.into_static(),
60 urls: self.urls.into_static(),
61 extra_data: self.extra_data.into_static(),
62 }
63 }
64}
65
66#[jacquard_derive::lexicon]
67#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
68#[serde(rename_all = "camelCase")]
69pub struct QueryEventsOutput<'a> {
70 ///Next cursor for pagination. Only present if there are more results.
71 #[serde(skip_serializing_if = "std::option::Option::is_none")]
72 #[serde(borrow)]
73 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
74 #[serde(borrow)]
75 pub events: Vec<crate::tools_ozone::safelink::Event<'a>>,
76}
77
78impl jacquard_common::IntoStatic for QueryEventsOutput<'_> {
79 type Output = QueryEventsOutput<'static>;
80 fn into_static(self) -> Self::Output {
81 QueryEventsOutput {
82 cursor: self.cursor.into_static(),
83 events: self.events.into_static(),
84 extra_data: self.extra_data.into_static(),
85 }
86 }
87}
88
89impl jacquard_common::types::xrpc::XrpcRequest for QueryEvents<'_> {
90 const NSID: &'static str = "tools.ozone.safelink.queryEvents";
91 const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
92 "application/json",
93 );
94 const OUTPUT_ENCODING: &'static str = "application/json";
95 type Output<'de> = QueryEventsOutput<'de>;
96 type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
97}