atproto blogging
at main 230 lines 7.4 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: tools.ozone.set.querySets 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 jacquard_derive::IntoStatic 16)] 17#[serde(rename_all = "camelCase")] 18pub struct QuerySets<'a> { 19 #[serde(skip_serializing_if = "std::option::Option::is_none")] 20 #[serde(borrow)] 21 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>, 22 ///(default: 50, min: 1, max: 100) 23 #[serde(skip_serializing_if = "std::option::Option::is_none")] 24 pub limit: std::option::Option<i64>, 25 #[serde(skip_serializing_if = "std::option::Option::is_none")] 26 #[serde(borrow)] 27 pub name_prefix: std::option::Option<jacquard_common::CowStr<'a>>, 28 ///(default: "name") 29 #[serde(skip_serializing_if = "std::option::Option::is_none")] 30 #[serde(borrow)] 31 pub sort_by: std::option::Option<jacquard_common::CowStr<'a>>, 32 ///(default: "asc") 33 #[serde(skip_serializing_if = "std::option::Option::is_none")] 34 #[serde(borrow)] 35 pub sort_direction: std::option::Option<jacquard_common::CowStr<'a>>, 36} 37 38pub mod query_sets_state { 39 40 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset}; 41 #[allow(unused)] 42 use ::core::marker::PhantomData; 43 mod sealed { 44 pub trait Sealed {} 45 } 46 /// State trait tracking which required fields have been set 47 pub trait State: sealed::Sealed {} 48 /// Empty state - all required fields are unset 49 pub struct Empty(()); 50 impl sealed::Sealed for Empty {} 51 impl State for Empty {} 52 /// Marker types for field names 53 #[allow(non_camel_case_types)] 54 pub mod members {} 55} 56 57/// Builder for constructing an instance of this type 58pub struct QuerySetsBuilder<'a, S: query_sets_state::State> { 59 _phantom_state: ::core::marker::PhantomData<fn() -> S>, 60 __unsafe_private_named: ( 61 ::core::option::Option<jacquard_common::CowStr<'a>>, 62 ::core::option::Option<i64>, 63 ::core::option::Option<jacquard_common::CowStr<'a>>, 64 ::core::option::Option<jacquard_common::CowStr<'a>>, 65 ::core::option::Option<jacquard_common::CowStr<'a>>, 66 ), 67 _phantom: ::core::marker::PhantomData<&'a ()>, 68} 69 70impl<'a> QuerySets<'a> { 71 /// Create a new builder for this type 72 pub fn new() -> QuerySetsBuilder<'a, query_sets_state::Empty> { 73 QuerySetsBuilder::new() 74 } 75} 76 77impl<'a> QuerySetsBuilder<'a, query_sets_state::Empty> { 78 /// Create a new builder with all fields unset 79 pub fn new() -> Self { 80 QuerySetsBuilder { 81 _phantom_state: ::core::marker::PhantomData, 82 __unsafe_private_named: (None, None, None, None, None), 83 _phantom: ::core::marker::PhantomData, 84 } 85 } 86} 87 88impl<'a, S: query_sets_state::State> QuerySetsBuilder<'a, S> { 89 /// Set the `cursor` field (optional) 90 pub fn cursor( 91 mut self, 92 value: impl Into<Option<jacquard_common::CowStr<'a>>>, 93 ) -> Self { 94 self.__unsafe_private_named.0 = value.into(); 95 self 96 } 97 /// Set the `cursor` field to an Option value (optional) 98 pub fn maybe_cursor(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self { 99 self.__unsafe_private_named.0 = value; 100 self 101 } 102} 103 104impl<'a, S: query_sets_state::State> QuerySetsBuilder<'a, S> { 105 /// Set the `limit` field (optional) 106 pub fn limit(mut self, value: impl Into<Option<i64>>) -> Self { 107 self.__unsafe_private_named.1 = value.into(); 108 self 109 } 110 /// Set the `limit` field to an Option value (optional) 111 pub fn maybe_limit(mut self, value: Option<i64>) -> Self { 112 self.__unsafe_private_named.1 = value; 113 self 114 } 115} 116 117impl<'a, S: query_sets_state::State> QuerySetsBuilder<'a, S> { 118 /// Set the `namePrefix` field (optional) 119 pub fn name_prefix( 120 mut self, 121 value: impl Into<Option<jacquard_common::CowStr<'a>>>, 122 ) -> Self { 123 self.__unsafe_private_named.2 = value.into(); 124 self 125 } 126 /// Set the `namePrefix` field to an Option value (optional) 127 pub fn maybe_name_prefix( 128 mut self, 129 value: Option<jacquard_common::CowStr<'a>>, 130 ) -> Self { 131 self.__unsafe_private_named.2 = value; 132 self 133 } 134} 135 136impl<'a, S: query_sets_state::State> QuerySetsBuilder<'a, S> { 137 /// Set the `sortBy` field (optional) 138 pub fn sort_by( 139 mut self, 140 value: impl Into<Option<jacquard_common::CowStr<'a>>>, 141 ) -> Self { 142 self.__unsafe_private_named.3 = value.into(); 143 self 144 } 145 /// Set the `sortBy` field to an Option value (optional) 146 pub fn maybe_sort_by(mut self, value: Option<jacquard_common::CowStr<'a>>) -> Self { 147 self.__unsafe_private_named.3 = value; 148 self 149 } 150} 151 152impl<'a, S: query_sets_state::State> QuerySetsBuilder<'a, S> { 153 /// Set the `sortDirection` field (optional) 154 pub fn sort_direction( 155 mut self, 156 value: impl Into<Option<jacquard_common::CowStr<'a>>>, 157 ) -> Self { 158 self.__unsafe_private_named.4 = value.into(); 159 self 160 } 161 /// Set the `sortDirection` field to an Option value (optional) 162 pub fn maybe_sort_direction( 163 mut self, 164 value: Option<jacquard_common::CowStr<'a>>, 165 ) -> Self { 166 self.__unsafe_private_named.4 = value; 167 self 168 } 169} 170 171impl<'a, S> QuerySetsBuilder<'a, S> 172where 173 S: query_sets_state::State, 174{ 175 /// Build the final struct 176 pub fn build(self) -> QuerySets<'a> { 177 QuerySets { 178 cursor: self.__unsafe_private_named.0, 179 limit: self.__unsafe_private_named.1, 180 name_prefix: self.__unsafe_private_named.2, 181 sort_by: self.__unsafe_private_named.3, 182 sort_direction: self.__unsafe_private_named.4, 183 } 184 } 185} 186 187#[jacquard_derive::lexicon] 188#[derive( 189 serde::Serialize, 190 serde::Deserialize, 191 Debug, 192 Clone, 193 PartialEq, 194 Eq, 195 jacquard_derive::IntoStatic 196)] 197#[serde(rename_all = "camelCase")] 198pub struct QuerySetsOutput<'a> { 199 #[serde(skip_serializing_if = "std::option::Option::is_none")] 200 #[serde(borrow)] 201 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>, 202 #[serde(borrow)] 203 pub sets: Vec<crate::tools_ozone::set::SetView<'a>>, 204} 205 206/// Response type for 207///tools.ozone.set.querySets 208pub struct QuerySetsResponse; 209impl jacquard_common::xrpc::XrpcResp for QuerySetsResponse { 210 const NSID: &'static str = "tools.ozone.set.querySets"; 211 const ENCODING: &'static str = "application/json"; 212 type Output<'de> = QuerySetsOutput<'de>; 213 type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 214} 215 216impl<'a> jacquard_common::xrpc::XrpcRequest for QuerySets<'a> { 217 const NSID: &'static str = "tools.ozone.set.querySets"; 218 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 219 type Response = QuerySetsResponse; 220} 221 222/// Endpoint type for 223///tools.ozone.set.querySets 224pub struct QuerySetsRequest; 225impl jacquard_common::xrpc::XrpcEndpoint for QuerySetsRequest { 226 const PATH: &'static str = "/xrpc/tools.ozone.set.querySets"; 227 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 228 type Request<'de> = QuerySets<'de>; 229 type Response = QuerySetsResponse; 230}