autopulse_service/settings/
app.rs1use autopulse_utils::LogLevel;
2use serde::Deserialize;
3
4#[doc(hidden)]
5fn default_hostname() -> String {
6 "0.0.0.0".to_string()
7}
8
9#[doc(hidden)]
10const fn default_port() -> u16 {
11 2875
12}
13
14#[doc(hidden)]
15fn default_database_url() -> String {
16 "postgres://autopulse:autopulse@localhost:5432/autopulse".to_string()
17}
18
19#[doc(hidden)]
20fn default_log_level() -> LogLevel {
21 LogLevel::default()
22}
23
24#[derive(Deserialize, Clone)]
25pub struct App {
26 #[serde(default = "default_hostname")]
28 pub hostname: String,
29 #[serde(default = "default_port")]
31 pub port: u16,
32 #[serde(default = "default_database_url")]
34 pub database_url: String,
35 #[serde(default = "default_log_level")]
37 pub log_level: LogLevel,
38 #[serde(default)]
40 pub api_logging: bool,
41}
42
43impl Default for App {
44 fn default() -> Self {
45 Self {
46 hostname: default_hostname(),
47 port: default_port(),
48 database_url: default_database_url(),
49 log_level: default_log_level(),
50 api_logging: false,
51 }
52 }
53}