atproto blogging
1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: sh.weaver.notebook.getContinueReading
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 GetContinueReading {
19 ///(default: 10, min: 1, max: 20)
20 #[serde(skip_serializing_if = "std::option::Option::is_none")]
21 pub limit: std::option::Option<i64>,
22}
23
24pub mod get_continue_reading_state {
25
26 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
27 #[allow(unused)]
28 use ::core::marker::PhantomData;
29 mod sealed {
30 pub trait Sealed {}
31 }
32 /// State trait tracking which required fields have been set
33 pub trait State: sealed::Sealed {}
34 /// Empty state - all required fields are unset
35 pub struct Empty(());
36 impl sealed::Sealed for Empty {}
37 impl State for Empty {}
38 /// Marker types for field names
39 #[allow(non_camel_case_types)]
40 pub mod members {}
41}
42
43/// Builder for constructing an instance of this type
44pub struct GetContinueReadingBuilder<S: get_continue_reading_state::State> {
45 _phantom_state: ::core::marker::PhantomData<fn() -> S>,
46 __unsafe_private_named: (::core::option::Option<i64>,),
47}
48
49impl GetContinueReading {
50 /// Create a new builder for this type
51 pub fn new() -> GetContinueReadingBuilder<get_continue_reading_state::Empty> {
52 GetContinueReadingBuilder::new()
53 }
54}
55
56impl GetContinueReadingBuilder<get_continue_reading_state::Empty> {
57 /// Create a new builder with all fields unset
58 pub fn new() -> Self {
59 GetContinueReadingBuilder {
60 _phantom_state: ::core::marker::PhantomData,
61 __unsafe_private_named: (None,),
62 }
63 }
64}
65
66impl<S: get_continue_reading_state::State> GetContinueReadingBuilder<S> {
67 /// Set the `limit` field (optional)
68 pub fn limit(mut self, value: impl Into<Option<i64>>) -> Self {
69 self.__unsafe_private_named.0 = value.into();
70 self
71 }
72 /// Set the `limit` field to an Option value (optional)
73 pub fn maybe_limit(mut self, value: Option<i64>) -> Self {
74 self.__unsafe_private_named.0 = value;
75 self
76 }
77}
78
79impl<S> GetContinueReadingBuilder<S>
80where
81 S: get_continue_reading_state::State,
82{
83 /// Build the final struct
84 pub fn build(self) -> GetContinueReading {
85 GetContinueReading {
86 limit: self.__unsafe_private_named.0,
87 }
88 }
89}
90
91#[jacquard_derive::lexicon]
92#[derive(
93 serde::Serialize,
94 serde::Deserialize,
95 Debug,
96 Clone,
97 PartialEq,
98 Eq,
99 jacquard_derive::IntoStatic
100)]
101#[serde(rename_all = "camelCase")]
102pub struct GetContinueReadingOutput<'a> {
103 #[serde(borrow)]
104 pub items: Vec<jacquard_common::types::value::Data<'a>>,
105}
106
107/// Response type for
108///sh.weaver.notebook.getContinueReading
109pub struct GetContinueReadingResponse;
110impl jacquard_common::xrpc::XrpcResp for GetContinueReadingResponse {
111 const NSID: &'static str = "sh.weaver.notebook.getContinueReading";
112 const ENCODING: &'static str = "application/json";
113 type Output<'de> = GetContinueReadingOutput<'de>;
114 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
115}
116
117impl jacquard_common::xrpc::XrpcRequest for GetContinueReading {
118 const NSID: &'static str = "sh.weaver.notebook.getContinueReading";
119 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
120 type Response = GetContinueReadingResponse;
121}
122
123/// Endpoint type for
124///sh.weaver.notebook.getContinueReading
125pub struct GetContinueReadingRequest;
126impl jacquard_common::xrpc::XrpcEndpoint for GetContinueReadingRequest {
127 const PATH: &'static str = "/xrpc/sh.weaver.notebook.getContinueReading";
128 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
129 type Request<'de> = GetContinueReading;
130 type Response = GetContinueReadingResponse;
131}