ya_client_model/
net.rs

1use serde::{Deserialize, Serialize};
2
3use crate::NodeId;
4
5pub const NET_API_PATH: &str = "/net-api/v2";
6pub const NET_API_V1_VPN_PATH: &str = "/net-api/v1";
7pub const NET_API_V2_NET_PATH: &str = "/net-api/v2/net";
8pub const NET_API_V2_VPN_PATH: &str = "/net-api/v2/vpn";
9
10#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
11#[serde(rename_all = "camelCase")]
12pub struct Status {
13    pub node_id: NodeId,
14    pub listen_ip: Option<String>,
15    pub public_ip: Option<String>,
16    pub sessions: usize,
17}
18
19#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
20#[serde(rename_all = "camelCase")]
21pub struct Network {
22    pub id: String,
23    pub ip: String,
24    pub mask: String,
25    pub gateway: String,
26}
27
28#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
29#[serde(rename_all = "camelCase")]
30pub struct NewNetwork {
31    pub ip: String,
32    pub mask: Option<String>,
33    pub gateway: Option<String>,
34}
35
36#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
37#[serde(rename_all = "camelCase")]
38pub struct Node {
39    pub id: String,
40    pub ip: String,
41}
42
43#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
44#[serde(rename_all = "camelCase")]
45pub struct Address {
46    pub ip: String,
47}
48
49#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
50#[serde(rename_all = "camelCase")]
51pub struct Connection {
52    pub protocol: u16,
53    pub local_ip: String,
54    pub local_port: u16,
55    pub remote_ip: String,
56    pub remote_port: u16,
57}