zesty_api/
v0.rs

1//
2// Copyright 2023 Zesty Tech Ltd. All rights reserved.
3// Use is subject to license terms.
4//
5
6use super::*;
7
8pub use software::Software;
9
10mod impls;
11mod software;
12
13pub const PREFIX: &str = "/v0";
14
15#[derive(Clone, Debug, Serialize, Deserialize)]
16pub struct ConnectCluster {
17    pub handle: String,
18}
19
20#[derive(Clone, Debug, Serialize, Deserialize)]
21pub struct ConnectedCluster {
22    pub id: Uuid,
23}
24
25#[derive(Clone, Debug, Serialize, Deserialize)]
26pub struct DisconnectCluster {
27    pub handle: String,
28}
29
30#[derive(Clone, Debug, Serialize, Deserialize)]
31pub struct Cluster {
32    pub name: String,
33    pub id: Uuid,
34    pub vendor: Vendor,
35    pub connected: bool,
36    pub location: Location,
37    pub description: Option<String>,
38    pub version: String,
39    pub platform_version: Option<String>,
40    pub software: Option<Software>,
41}
42
43#[derive(Clone, Debug, Serialize, Deserialize)]
44pub struct Clusters {
45    pub data: Vec<Cluster>,
46}
47
48#[derive(Clone, Debug, Serialize, Deserialize)]
49pub struct ClusterToken {
50    pub token: String,
51}
52
53impl ConnectCluster {
54    pub const PATH: &str = "/connect";
55}
56
57impl DisconnectCluster {
58    pub const PATH: &str = "/disconnect";
59}
60
61impl Cluster {
62    pub const PATH: &str = "/clusters";
63}
64
65impl ClusterToken {
66    pub const PATH: &str = "/token";
67}