tandem_server/config/
webui.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, Default)]
4pub struct WebUiConfig {
5 #[serde(default)]
6 pub enabled: bool,
7 #[serde(default = "default_web_ui_prefix")]
8 pub path_prefix: String,
9}
10
11pub fn normalize_web_ui_prefix(prefix: &str) -> String {
12 let trimmed = prefix.trim();
13 if trimmed.is_empty() || trimmed == "/" {
14 return "/admin".to_string();
15 }
16 let with_leading = if trimmed.starts_with('/') {
17 trimmed.to_string()
18 } else {
19 format!("/{trimmed}")
20 };
21 with_leading.trim_end_matches('/').to_string()
22}
23
24fn default_web_ui_prefix() -> String {
25 "/admin".to_string()
26}