• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

getdozer / dozer / 4105700744

pending completion
4105700744

Pull #814

github

GitHub
Merge d70d4d25f into 016b3ada5
Pull Request #814: Bump clap from 4.0.32 to 4.1.4

23457 of 37651 relevant lines covered (62.3%)

44725.4 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/dozer-admin/src/cli/mod.rs
1
use std::fs;
2

3
use crate::errors::AdminError;
4
use dozer_types::constants::DEFAULT_HOME_DIR;
5
use dozer_types::models::api_config::{default_api_config, ApiInternal, ApiPipelineInternal};
6
use dozer_types::serde::{Deserialize, Serialize};
7
use dozer_types::serde_yaml;
8
pub mod cli_process;
9
pub mod types;
10
pub mod utils;
11
#[derive(Serialize, Deserialize, PartialEq, Eq, Clone, Debug)]
×
12
pub struct AdminCliConfig {
13
    #[serde(default = "default_ui_port")]
14
    pub ui_port: u32,
15
    #[serde(default = "default_port")]
16
    pub port: u32,
17
    #[serde(default = "default_host")]
18
    pub host: String,
19
    #[serde(default = "default_cors")]
20
    pub cors: bool,
21
    #[serde(default = "default_api_internal")]
22
    pub api_internal: ApiInternal,
23
    #[serde(default = "default_pipeline_internal")]
24
    pub pipeline_internal: ApiPipelineInternal,
25
    pub dozer_config: Option<String>,
26
    #[serde(default = "default_home_dir")]
27
    pub home_dir: String,
28
    #[serde(default = "default_ui_path")]
29
    pub ui_path: String,
30
    #[serde(default = "default_dozer_path")]
31
    pub dozer_path: String,
32
}
33
fn default_ui_path() -> String {
×
34
    AdminCliConfig::default().ui_path
×
35
}
×
36
fn default_dozer_path() -> String {
×
37
    AdminCliConfig::default().dozer_path
×
38
}
×
39
fn default_ui_port() -> u32 {
×
40
    AdminCliConfig::default().ui_port
×
41
}
×
42
fn default_port() -> u32 {
×
43
    AdminCliConfig::default().port
×
44
}
×
45
fn default_host() -> String {
×
46
    AdminCliConfig::default().host
×
47
}
×
48
fn default_cors() -> bool {
×
49
    AdminCliConfig::default().cors
×
50
}
×
51
fn default_home_dir() -> String {
×
52
    DEFAULT_HOME_DIR.to_owned()
×
53
}
×
54
fn default_api_internal() -> ApiInternal {
×
55
    AdminCliConfig::default().api_internal
×
56
}
×
57
fn default_pipeline_internal() -> ApiPipelineInternal {
×
58
    AdminCliConfig::default().pipeline_internal
×
59
}
×
60

61
impl Default for AdminCliConfig {
62
    fn default() -> Self {
×
63
        let default_config = default_api_config();
×
64
        Self {
×
65
            port: 8081,
×
66
            ui_port: 3000,
×
67
            host: "[::0]".to_owned(),
×
68
            cors: true,
×
69
            dozer_config: None,
×
70
            home_dir: default_home_dir(),
×
71
            api_internal: default_config.api_internal.unwrap(),
×
72
            pipeline_internal: default_config.pipeline_internal.unwrap(),
×
73
            ui_path: "./ui".to_owned(),
×
74
            dozer_path: "./dozer".to_owned(),
×
75
        }
×
76
    }
×
77
}
78
pub fn load_config(config_path: String) -> Result<AdminCliConfig, AdminError> {
×
79
    let contents = fs::read_to_string(config_path).map_err(AdminError::FailedToLoadFile)?;
×
80
    let config: AdminCliConfig =
×
81
        serde_yaml::from_str(&contents).map_err(|e| AdminError::FailedToParseYaml(Box::new(e)))?;
×
82
    Ok(config)
×
83
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc