A better Rust ATProto crate
at oauth 4.2 kB view raw
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 bon::Builder 17)] 18#[serde(rename_all = "camelCase")] 19#[builder(start_fn = new)] 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 #[builder(into)] 33 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>, 34 ///Maximum number of results to return 35 #[serde(skip_serializing_if = "std::option::Option::is_none")] 36 pub limit: std::option::Option<i64>, 37 ///Filter by pattern type 38 #[serde(skip_serializing_if = "std::option::Option::is_none")] 39 #[serde(borrow)] 40 #[builder(into)] 41 pub pattern_type: std::option::Option<jacquard_common::CowStr<'a>>, 42 ///Filter by reason type 43 #[serde(skip_serializing_if = "std::option::Option::is_none")] 44 #[serde(borrow)] 45 #[builder(into)] 46 pub reason: std::option::Option<jacquard_common::CowStr<'a>>, 47 ///Sort direction 48 #[serde(skip_serializing_if = "std::option::Option::is_none")] 49 #[serde(borrow)] 50 #[builder(into)] 51 pub sort_direction: std::option::Option<jacquard_common::CowStr<'a>>, 52 ///Filter by specific URLs or domains 53 #[serde(skip_serializing_if = "std::option::Option::is_none")] 54 #[serde(borrow)] 55 pub urls: std::option::Option<Vec<jacquard_common::CowStr<'a>>>, 56 #[serde(flatten)] 57 #[serde(borrow)] 58 #[builder(default)] 59 pub extra_data: ::std::collections::BTreeMap< 60 ::jacquard_common::smol_str::SmolStr, 61 ::jacquard_common::types::value::Data<'a>, 62 >, 63} 64 65impl jacquard_common::IntoStatic for QueryRules<'_> { 66 type Output = QueryRules<'static>; 67 fn into_static(self) -> Self::Output { 68 QueryRules { 69 actions: self.actions.into_static(), 70 created_by: self.created_by.into_static(), 71 cursor: self.cursor.into_static(), 72 limit: self.limit.into_static(), 73 pattern_type: self.pattern_type.into_static(), 74 reason: self.reason.into_static(), 75 sort_direction: self.sort_direction.into_static(), 76 urls: self.urls.into_static(), 77 extra_data: self.extra_data.into_static(), 78 } 79 } 80} 81 82#[jacquard_derive::lexicon] 83#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)] 84#[serde(rename_all = "camelCase")] 85pub struct QueryRulesOutput<'a> { 86 ///Next cursor for pagination. Only present if there are more results. 87 #[serde(skip_serializing_if = "std::option::Option::is_none")] 88 #[serde(borrow)] 89 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>, 90 #[serde(borrow)] 91 pub rules: Vec<crate::tools_ozone::safelink::UrlRule<'a>>, 92} 93 94impl jacquard_common::IntoStatic for QueryRulesOutput<'_> { 95 type Output = QueryRulesOutput<'static>; 96 fn into_static(self) -> Self::Output { 97 QueryRulesOutput { 98 cursor: self.cursor.into_static(), 99 rules: self.rules.into_static(), 100 extra_data: self.extra_data.into_static(), 101 } 102 } 103} 104 105impl jacquard_common::types::xrpc::XrpcRequest for QueryRules<'_> { 106 const NSID: &'static str = "tools.ozone.safelink.queryRules"; 107 const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure( 108 "application/json", 109 ); 110 const OUTPUT_ENCODING: &'static str = "application/json"; 111 type Output<'de> = QueryRulesOutput<'de>; 112 type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>; 113}