1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: network.slices.slice.getSyncSummary
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 bon::Builder
18)]
19#[serde(rename_all = "camelCase")]
20pub struct CollectionSummary<'a> {
21 #[serde(borrow)]
22 #[builder(into)]
23 pub collection: jacquard_common::CowStr<'a>,
24 pub estimated_repos: i64,
25 pub is_external: bool,
26}
27
28#[derive(
29 serde::Serialize,
30 serde::Deserialize,
31 Debug,
32 Clone,
33 PartialEq,
34 Eq,
35 bon::Builder,
36 jacquard_derive::IntoStatic
37)]
38#[builder(start_fn = new)]
39#[serde(rename_all = "camelCase")]
40pub struct GetSyncSummary<'a> {
41 #[serde(skip_serializing_if = "std::option::Option::is_none")]
42 #[serde(borrow)]
43 pub collections: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
44 #[serde(skip_serializing_if = "std::option::Option::is_none")]
45 #[serde(borrow)]
46 pub external_collections: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48 #[serde(borrow)]
49 pub repos: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
50 #[serde(borrow)]
51 #[builder(into)]
52 pub slice: jacquard_common::CowStr<'a>,
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 GetSyncSummaryOutput<'a> {
67 /// The actual limit applied (user-specified or default)
68 pub applied_limit: i64,
69 /// Number of repositories after applying limit
70 pub capped_repos: i64,
71 #[serde(borrow)]
72 pub collections_summary: Vec<jacquard_common::types::value::Data<'a>>,
73 /// Total number of repositories that would be synced
74 pub total_repos: i64,
75 /// Whether the sync would be limited by maxRepos
76 pub would_be_capped: bool,
77}
78
79///Response type for
80///network.slices.slice.getSyncSummary
81pub struct GetSyncSummaryResponse;
82impl jacquard_common::xrpc::XrpcResp for GetSyncSummaryResponse {
83 const NSID: &'static str = "network.slices.slice.getSyncSummary";
84 const ENCODING: &'static str = "application/json";
85 type Output<'de> = GetSyncSummaryOutput<'de>;
86 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
87}
88
89impl<'a> jacquard_common::xrpc::XrpcRequest for GetSyncSummary<'a> {
90 const NSID: &'static str = "network.slices.slice.getSyncSummary";
91 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
92 type Response = GetSyncSummaryResponse;
93}
94
95///Endpoint type for
96///network.slices.slice.getSyncSummary
97pub struct GetSyncSummaryRequest;
98impl jacquard_common::xrpc::XrpcEndpoint for GetSyncSummaryRequest {
99 const PATH: &'static str = "/xrpc/network.slices.slice.getSyncSummary";
100 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
101 type Request<'de> = GetSyncSummary<'de>;
102 type Response = GetSyncSummaryResponse;
103}