jacquard_api/sh_weaver/notebook/
get_continue_reading.rs1#[allow(unused_imports)]
9use alloc::collections::BTreeMap;
10
11#[allow(unused_imports)]
12use core::marker::PhantomData;
13use jacquard_common::types::value::Data;
14use jacquard_derive::{IntoStatic, lexicon};
15use serde::{Serialize, Deserialize};
16
17#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
18#[serde(rename_all = "camelCase")]
19pub struct GetContinueReading {
20 #[serde(default = "_default_limit")]
22 #[serde(skip_serializing_if = "Option::is_none")]
23 pub limit: Option<i64>,
24}
25
26
27#[lexicon]
28#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
29#[serde(rename_all = "camelCase")]
30pub struct GetContinueReadingOutput<'a> {
31 #[serde(borrow)]
32 pub items: Vec<Data<'a>>,
33}
34
35pub struct GetContinueReadingResponse;
37impl jacquard_common::xrpc::XrpcResp for GetContinueReadingResponse {
38 const NSID: &'static str = "sh.weaver.notebook.getContinueReading";
39 const ENCODING: &'static str = "application/json";
40 type Output<'de> = GetContinueReadingOutput<'de>;
41 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
42}
43
44impl jacquard_common::xrpc::XrpcRequest for GetContinueReading {
45 const NSID: &'static str = "sh.weaver.notebook.getContinueReading";
46 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
47 type Response = GetContinueReadingResponse;
48}
49
50pub struct GetContinueReadingRequest;
52impl jacquard_common::xrpc::XrpcEndpoint for GetContinueReadingRequest {
53 const PATH: &'static str = "/xrpc/sh.weaver.notebook.getContinueReading";
54 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
55 type Request<'de> = GetContinueReading;
56 type Response = GetContinueReadingResponse;
57}
58
59fn _default_limit() -> Option<i64> {
60 Some(10i64)
61}
62
63pub mod get_continue_reading_state {
64
65 pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
66 #[allow(unused)]
67 use ::core::marker::PhantomData;
68 mod sealed {
69 pub trait Sealed {}
70 }
71 pub trait State: sealed::Sealed {}
73 pub struct Empty(());
75 impl sealed::Sealed for Empty {}
76 impl State for Empty {}
77 #[allow(non_camel_case_types)]
79 pub mod members {}
80}
81
82pub struct GetContinueReadingBuilder<S: get_continue_reading_state::State> {
84 _state: PhantomData<fn() -> S>,
85 _fields: (Option<i64>,),
86}
87
88impl GetContinueReading {
89 pub fn new() -> GetContinueReadingBuilder<get_continue_reading_state::Empty> {
91 GetContinueReadingBuilder::new()
92 }
93}
94
95impl GetContinueReadingBuilder<get_continue_reading_state::Empty> {
96 pub fn new() -> Self {
98 GetContinueReadingBuilder {
99 _state: PhantomData,
100 _fields: (None,),
101 }
102 }
103}
104
105impl<S: get_continue_reading_state::State> GetContinueReadingBuilder<S> {
106 pub fn limit(mut self, value: impl Into<Option<i64>>) -> Self {
108 self._fields.0 = value.into();
109 self
110 }
111 pub fn maybe_limit(mut self, value: Option<i64>) -> Self {
113 self._fields.0 = value;
114 self
115 }
116}
117
118impl<S> GetContinueReadingBuilder<S>
119where
120 S: get_continue_reading_state::State,
121{
122 pub fn build(self) -> GetContinueReading {
124 GetContinueReading {
125 limit: self._fields.0,
126 }
127 }
128}