support_kit/config/
config_file.rs1use std::fmt::Display;
2
3use serde::{Deserialize, Serialize};
4
5use crate::ServiceName;
6
7#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
8pub struct ConfigFile(String);
9
10impl Display for ConfigFile {
11 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12 write!(f, "{}", self.0)
13 }
14}
15
16impl Default for ConfigFile {
17 fn default() -> Self {
18 ServiceName::default().into()
19 }
20}
21
22impl<T> From<T> for ConfigFile
23where
24 T: Into<ServiceName>,
25{
26 fn from(name: T) -> Self {
27 Self(name.into().to_string())
28 }
29}
30
31impl From<ConfigFile> for String {
32 fn from(file: ConfigFile) -> Self {
33 file.0
34 }
35}