cnc_rs/config/
postgres.rs

1use serde::Deserialize;
2
3#[derive(Deserialize)]
4pub enum BackupType {
5    Schema,
6    Full,
7}
8
9impl Default for BackupType {
10    fn default() -> Self {
11        Self::Full
12    }
13}
14
15#[derive(Deserialize)]
16pub struct Postgres {
17    #[serde(default = "default_enabled")]
18    pub enabled: bool,
19
20    pub origin_host: String,
21    pub origin_user: String,
22    pub origin_password: String,
23    pub origin_port: String,
24    pub origin_database: String,
25
26    pub target_host: String,
27    pub target_user: String,
28    pub target_password: String,
29    pub target_port: String,
30    pub target_database: String,
31
32    #[serde(default = "BackupType::default")]
33    pub backup_type: BackupType,
34
35    #[serde(default = "default_email")]
36    pub email: bool,
37}
38
39// Default value functions
40pub fn default_enabled() -> bool {
41    true
42}
43
44pub fn default_email() -> bool {
45    false
46}