proxylib/dto/
config_site.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use serde_json;

#[derive(Serialize, Deserialize, Debug, Clone, Default)]
#[serde(rename_all = "camelCase")]
pub struct ConfigSite {
    pub certificates: Vec<CertificateConfig>,
    pub domains: Vec<DomainConfig>,
}

#[derive(Serialize, Deserialize, Debug, Clone, Default)]
#[serde(rename_all = "camelCase")]
pub struct CertificateConfig {
    pub id: i32,
    pub private: String,
    pub public: String,
}

#[derive(Serialize, Deserialize, Debug, Clone, Default)]
#[serde(rename_all = "camelCase")]
pub struct DomainConfig {
    pub name: String,
    pub domain: String,
    pub type_project: String,
    pub location: Option<String>,
    pub servers: Option<Vec<ServerConfig>>,
    pub keys: i32,
    pub headers: Option<HashMap<String, String>>,
}

#[derive(Serialize, Deserialize, Debug, Clone, Default)]
#[serde(rename_all = "camelCase")]
pub struct ServerConfig {
    pub priority: i32,
    pub address: String,
}