uptime-kuma-dashboard/src/api/endpoints.rs

25 lines
626 B
Rust

use url::Url;
#[derive(Debug, Clone)]
pub struct UptimeKumaEndpoints {
base_url: Url,
slug: String,
}
impl UptimeKumaEndpoints {
pub fn new(base_url: &str, slug: &str) -> Result<Self, url::ParseError> {
let base_url = Url::parse(base_url.trim_end_matches("/"))?;
Ok(Self {
base_url,
slug: slug.to_string(),
})
}
pub fn heartbeat_url(&self) -> String {
format!("{}api/status-page/heartbeat/{}", self.base_url, self.slug)
}
pub fn status_page_url(&self) -> String {
format!("{}api/status-page/{}", self.base_url, self.slug)
}
}