diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-06-06 22:08:26 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-06-06 22:08:26 +0200 |
commit | 21b9a461dafeab63893d82a82d7b84ffe3a59c40 (patch) | |
tree | dfb8e657e2f36b426d9fba1b1a703431836d92e5 /pkgs/by-name/ba/back/src/git_bug/issue/identity | |
parent | flake.nix: Use the packaged version of `ragenix` (diff) | |
download | nixos-server-21b9a461dafeab63893d82a82d7b84ffe3a59c40.zip |
pkgs/back: Remove
Back has been moved out-of-tree.
Diffstat (limited to 'pkgs/by-name/ba/back/src/git_bug/issue/identity')
-rw-r--r-- | pkgs/by-name/ba/back/src/git_bug/issue/identity/mod.rs | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/pkgs/by-name/ba/back/src/git_bug/issue/identity/mod.rs b/pkgs/by-name/ba/back/src/git_bug/issue/identity/mod.rs deleted file mode 100644 index bbf483c..0000000 --- a/pkgs/by-name/ba/back/src/git_bug/issue/identity/mod.rs +++ /dev/null @@ -1,79 +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::fmt::Display; - -use gix::{bstr::ByteSlice, Repository}; -use serde::Deserialize; -use serde_json::Value; - -use crate::{get, git_bug::format::HtmlString}; - -use super::entity::Id; - -#[derive(Debug, Clone)] -pub struct Author { - pub name: HtmlString, - pub email: HtmlString, - pub id: Id, -} - -impl Display for Author { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "({}, {})", self.name, self.email) - } -} - -impl Author { - pub fn construct(repo: &Repository, raw: RawAuthor) -> Self { - let commit_obj = repo - .find_reference(&format!("refs/identities/{}", raw.id)) - .expect("All authors should also have identities") - .peel_to_commit() - .expect("All identities should be commits"); - - let tree_obj = repo - .find_tree( - commit_obj - .tree() - .expect("The commit should have an tree associated with it") - .id, - ) - .expect("This should be a tree"); - - let data = repo - .find_blob( - tree_obj - .find_entry("version") - .expect("This entry should exist") - .object() - .expect("This should point to a blob entry") - .id, - ) - .expect("This blob should exist") - .data - .clone(); - - let json: Value = serde_json::from_str(data.to_str().expect("This is encoded json")) - .expect("This is valid json"); - - Author { - name: get! {json, "name"}, - email: get! {json, "email"}, - id: raw.id, - } - } -} - -#[derive(Deserialize)] -pub struct RawAuthor { - id: Id, -} |