diff --git a/src/config.rs b/src/config.rs index badf9ec..ae795a7 100644 --- a/src/config.rs +++ b/src/config.rs @@ -58,6 +58,7 @@ pub struct Config { base_uri: IriAbsoluteString, sled_path: PathBuf, source_repo: IriString, + source_url: IriString, opentelemetry_url: Option, telegram_token: Option, telegram_admin_handle: Option, @@ -203,6 +204,11 @@ impl Config { (None, None) => None, }; + let source_url = match Self::git_hash() { + Some(hash) => format!("{}/tree/{}", config.source_repo, hash).parse().unwrap(), + None => config.source_repo.clone() + }; + Ok(Config { hostname: config.hostname, addr: config.addr, @@ -214,6 +220,7 @@ impl Config { base_uri, sled_path: config.sled_path, source_repo: config.source_repo, + source_url, opentelemetry_url: config.opentelemetry_url, telegram_token: config.telegram_token, telegram_admin_handle: config.telegram_admin_handle, @@ -403,7 +410,7 @@ impl Config { } pub(crate) fn source_code(&self) -> &IriString { - &self.source_repo + &self.source_url } pub(crate) fn opentelemetry_url(&self) -> Option<&IriString> {