1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: com.atproto.sync.listHosts
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)]
18#[serde(rename_all = "camelCase")]
19pub struct Host<'a> {
20 #[serde(skip_serializing_if = "std::option::Option::is_none")]
21 pub account_count: std::option::Option<i64>,
22 ///hostname of server; not a URL (no scheme)
23 #[serde(borrow)]
24 pub hostname: jacquard_common::CowStr<'a>,
25 ///Recent repo stream event sequence number. May be delayed from actual stream processing (eg, persisted cursor not in-memory cursor).
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 pub seq: std::option::Option<i64>,
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 #[serde(borrow)]
30 pub status: std::option::Option<crate::com_atproto::sync::HostStatus<'a>>,
31}
32
33#[derive(
34 serde::Serialize,
35 serde::Deserialize,
36 Debug,
37 Clone,
38 PartialEq,
39 Eq,
40 bon::Builder,
41 jacquard_derive::IntoStatic
42)]
43#[builder(start_fn = new)]
44#[serde(rename_all = "camelCase")]
45pub struct ListHosts<'a> {
46 #[serde(skip_serializing_if = "std::option::Option::is_none")]
47 #[serde(borrow)]
48 #[builder(into)]
49 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
50 ///(default: 200, min: 1, max: 1000)
51 #[serde(skip_serializing_if = "std::option::Option::is_none")]
52 pub limit: std::option::Option<i64>,
53}
54
55#[jacquard_derive::lexicon]
56#[derive(
57 serde::Serialize,
58 serde::Deserialize,
59 Debug,
60 Clone,
61 PartialEq,
62 Eq,
63 jacquard_derive::IntoStatic
64)]
65#[serde(rename_all = "camelCase")]
66pub struct ListHostsOutput<'a> {
67 #[serde(skip_serializing_if = "std::option::Option::is_none")]
68 #[serde(borrow)]
69 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
70 ///Sort order is not formally specified. Recommended order is by time host was first seen by the server, with oldest first.
71 #[serde(borrow)]
72 pub hosts: Vec<jacquard_common::types::value::Data<'a>>,
73}
74
75///Response type for
76///com.atproto.sync.listHosts
77pub struct ListHostsResponse;
78impl jacquard_common::xrpc::XrpcResp for ListHostsResponse {
79 const NSID: &'static str = "com.atproto.sync.listHosts";
80 const ENCODING: &'static str = "application/json";
81 type Output<'de> = ListHostsOutput<'de>;
82 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
83}
84
85impl<'a> jacquard_common::xrpc::XrpcRequest for ListHosts<'a> {
86 const NSID: &'static str = "com.atproto.sync.listHosts";
87 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
88 type Response = ListHostsResponse;
89}
90
91///Endpoint type for
92///com.atproto.sync.listHosts
93pub struct ListHostsRequest;
94impl jacquard_common::xrpc::XrpcEndpoint for ListHostsRequest {
95 const PATH: &'static str = "/xrpc/com.atproto.sync.listHosts";
96 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
97 type Request<'de> = ListHosts<'de>;
98 type Response = ListHostsResponse;
99}