autopulse_service/settings/
auth.rs1use base64::prelude::*;
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize, Clone, Debug)]
5#[serde(default)]
6pub struct Auth {
7 #[serde(skip_serializing)]
9 pub enabled: bool,
10 pub username: String,
12 pub password: String,
14}
15
16impl Default for Auth {
17 fn default() -> Self {
18 Self {
19 enabled: true,
20 username: "admin".to_string(),
21 password: "password".to_string(),
22 }
23 }
24}
25
26impl Auth {
27 pub fn to_auth_encoded(&self) -> String {
28 format!(
29 "Basic {}",
30 BASE64_STANDARD.encode(format!("{}:{}", self.username, self.password))
31 )
32 }
33
34 pub fn is_default_credentials(&self) -> bool {
35 let defaults = Self::default();
36 self.enabled && self.username == defaults.username && self.password == defaults.password
37 }
38}