autopulse_service/settings/
auth.rs1use base64::prelude::*;
2use serde::Deserialize;
3
4#[doc(hidden)]
5fn default_username() -> String {
6 "admin".to_string()
7}
8
9#[doc(hidden)]
10fn default_password() -> String {
11 "password".to_string()
12}
13
14#[doc(hidden)]
15const fn default_enabled() -> bool {
16 true
17}
18
19#[derive(Deserialize, Clone, Debug)]
20pub struct Auth {
21 #[serde(default = "default_enabled")]
23 pub enabled: bool,
24 #[serde(default = "default_username")]
26 pub username: String,
27 #[serde(default = "default_password")]
29 pub password: String,
30}
31
32impl Default for Auth {
33 fn default() -> Self {
34 Self {
35 enabled: default_enabled(),
36 username: default_username(),
37 password: default_password(),
38 }
39 }
40}
41
42impl Auth {
43 pub fn to_auth_encoded(&self) -> String {
44 format!(
45 "Basic {}",
46 BASE64_STANDARD.encode(format!("{}:{}", self.username, self.password))
47 )
48 }
49}