jacquard_api/network_slices/slice/
stats.rs1#[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 CollectionStats<'a> {
21 #[serde(borrow)]
23 pub collection: jacquard_common::types::string::Nsid<'a>,
24 pub record_count: i64,
26 pub unique_actors: i64,
28}
29
30#[derive(
31 serde::Serialize,
32 serde::Deserialize,
33 Debug,
34 Clone,
35 PartialEq,
36 Eq,
37 bon::Builder,
38 jacquard_derive::IntoStatic
39)]
40#[builder(start_fn = new)]
41#[serde(rename_all = "camelCase")]
42pub struct Stats<'a> {
43 #[serde(borrow)]
44 #[builder(into)]
45 pub slice: jacquard_common::CowStr<'a>,
46}
47
48#[jacquard_derive::lexicon]
49#[derive(
50 serde::Serialize,
51 serde::Deserialize,
52 Debug,
53 Clone,
54 PartialEq,
55 Eq,
56 jacquard_derive::IntoStatic
57)]
58#[serde(rename_all = "camelCase")]
59pub struct StatsOutput<'a> {
60 #[serde(borrow)]
62 pub collection_stats: Vec<jacquard_common::types::value::Data<'a>>,
63 #[serde(borrow)]
65 pub collections: Vec<jacquard_common::types::string::Nsid<'a>>,
66 pub total_actors: i64,
68 pub total_lexicons: i64,
70 pub total_records: i64,
72}
73
74pub struct StatsResponse;
77impl jacquard_common::xrpc::XrpcResp for StatsResponse {
78 const NSID: &'static str = "network.slices.slice.stats";
79 const ENCODING: &'static str = "application/json";
80 type Output<'de> = StatsOutput<'de>;
81 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
82}
83
84impl<'a> jacquard_common::xrpc::XrpcRequest for Stats<'a> {
85 const NSID: &'static str = "network.slices.slice.stats";
86 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
87 type Response = StatsResponse;
88}
89
90pub struct StatsRequest;
93impl jacquard_common::xrpc::XrpcEndpoint for StatsRequest {
94 const PATH: &'static str = "/xrpc/network.slices.slice.stats";
95 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
96 type Request<'de> = Stats<'de>;
97 type Response = StatsResponse;
98}