aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/ba/back/src/config
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pkgs/by-name/ba/back/src/config/mod.rs72
1 files changed, 0 insertions, 72 deletions
diff --git a/pkgs/by-name/ba/back/src/config/mod.rs b/pkgs/by-name/ba/back/src/config/mod.rs
deleted file mode 100644
index 7351ad8..0000000
--- a/pkgs/by-name/ba/back/src/config/mod.rs
+++ /dev/null
@@ -1,72 +0,0 @@
-// Back - An extremely simple git issue tracking system. Inspired by tvix's
-// panettone
-//
-// Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-// SPDX-License-Identifier: AGPL-3.0-or-later
-//
-// This file is part of Back.
-//
-// You should have received a copy of the License along with this program.
-// If not, see <https://www.gnu.org/licenses/agpl.txt>.
-
-use std::{
- fs,
- path::{Path, PathBuf},
-};
-
-use gix::ThreadSafeRepository;
-use serde::Deserialize;
-use url::Url;
-
-use crate::error::{self, Error};
-
-pub struct BackConfig {
- // NOTE(@bpeetz): We do not need to html escape this, as the value must be a valid url. As such
- // `<tags>` of all kinds _should_ be invalid. <2024-12-26>
- pub source_code_repository_url: Url,
- pub repository: ThreadSafeRepository,
- pub root: Url,
-}
-
-#[derive(Deserialize)]
-struct RawBackConfig {
- source_code_repository_url: Url,
- repository_path: PathBuf,
- root_url: Url,
-}
-
-impl BackConfig {
- pub fn from_config_file(path: &Path) -> error::Result<Self> {
- let value = fs::read_to_string(path).map_err(|err| Error::ConfigRead {
- file: path.to_owned(),
- error: err,
- })?;
-
- let raw: RawBackConfig =
- serde_json::from_str(&value).map_err(|err| Error::ConfigParse {
- file: path.to_owned(),
- error: err,
- })?;
-
- Self::try_from(raw)
- }
-}
-
-impl TryFrom<RawBackConfig> for BackConfig {
- type Error = error::Error;
-
- fn try_from(value: RawBackConfig) -> Result<Self, Self::Error> {
- let repository = {
- ThreadSafeRepository::open(&value.repository_path).map_err(|err| Error::RepoOpen {
- repository_path: value.repository_path,
- error: Box::new(err),
- })
- }?;
-
- Ok(Self {
- repository,
- source_code_repository_url: value.source_code_repository_url,
- root: value.root_url,
- })
- }
-}