hyper_agent_notify/
config.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
5pub struct NotifierSection {
6 #[serde(default)]
8 pub enabled: bool,
9
10 #[serde(default, skip_serializing_if = "Option::is_none")]
12 pub discord_webhook: Option<String>,
13
14 #[serde(default = "default_log_dir")]
16 pub log_dir: String,
17
18 #[serde(default = "default_quiet_start")]
21 pub quiet_start: String,
22
23 #[serde(default = "default_quiet_end")]
25 pub quiet_end: String,
26}
27
28fn default_log_dir() -> String {
29 "logs".to_string()
30}
31
32fn default_quiet_start() -> String {
33 "23:00".to_string()
34}
35
36fn default_quiet_end() -> String {
37 "08:00".to_string()
38}
39
40impl Default for NotifierSection {
41 fn default() -> Self {
42 Self {
43 enabled: false,
44 discord_webhook: None,
45 log_dir: default_log_dir(),
46 quiet_start: default_quiet_start(),
47 quiet_end: default_quiet_end(),
48 }
49 }
50}