1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: tools.ozone.safelink.queryRules
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 QueryRules<'a> {
21 /// Filter by action types
22 #[serde(skip_serializing_if = "std::option::Option::is_none")]
23 #[serde(borrow)]
24 pub actions: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
25 /// Filter by rule creator
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 #[serde(borrow)]
28 pub created_by: std::option::Option<jacquard_common::types::string::Did<'a>>,
29 /// Cursor for pagination
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
33 /// Maximum number of results to return
34 #[serde(skip_serializing_if = "std::option::Option::is_none")]
35 pub limit: std::option::Option<i64>,
36 /// Filter by pattern type
37 #[serde(skip_serializing_if = "std::option::Option::is_none")]
38 #[serde(borrow)]
39 pub pattern_type: std::option::Option<jacquard_common::CowStr<'a>>,
40 /// Filter by reason type
41 #[serde(skip_serializing_if = "std::option::Option::is_none")]
42 #[serde(borrow)]
43 pub reason: std::option::Option<jacquard_common::CowStr<'a>>,
44 /// Sort direction
45 #[serde(skip_serializing_if = "std::option::Option::is_none")]
46 #[serde(borrow)]
47 pub sort_direction: std::option::Option<jacquard_common::CowStr<'a>>,
48 /// Filter by specific URLs or domains
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51 pub urls: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
52}
53
54#[jacquard_derive::lexicon]
55#[derive(
56 serde::Serialize,
57 serde::Deserialize,
58 Debug,
59 Clone,
60 PartialEq,
61 Eq,
62 jacquard_derive::IntoStatic
63)]
64#[serde(rename_all = "camelCase")]
65pub struct QueryRulesOutput<'a> {
66 /// Next cursor for pagination. Only present if there are more results.
67 #[serde(skip_serializing_if = "std::option::Option::is_none")]
68 #[serde(borrow)]
69 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
70 #[serde(borrow)]
71 pub rules: Vec<crate::tools_ozone::safelink::UrlRule<'a>>,
72}
73
74///Response type for
75///tools.ozone.safelink.queryRules
76pub struct QueryRulesResponse;
77impl jacquard_common::xrpc::XrpcResp for QueryRulesResponse {
78 const NSID: &'static str = "tools.ozone.safelink.queryRules";
79 const ENCODING: &'static str = "application/json";
80 type Output<'de> = QueryRulesOutput<'de>;
81 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
82}
83
84impl<'a> jacquard_common::xrpc::XrpcRequest for QueryRules<'a> {
85 const NSID: &'static str = "tools.ozone.safelink.queryRules";
86 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
87 "application/json",
88 );
89 type Response = QueryRulesResponse;
90}
91
92///Endpoint type for
93///tools.ozone.safelink.queryRules
94pub struct QueryRulesRequest;
95impl jacquard_common::xrpc::XrpcEndpoint for QueryRulesRequest {
96 const PATH: &'static str = "/xrpc/tools.ozone.safelink.queryRules";
97 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
98 "application/json",
99 );
100 type Request<'de> = QueryRules<'de>;
101 type Response = QueryRulesResponse;
102}