// Back - An extremely simple git issue tracking system. Inspired by tvix's // panettone // // Copyright (C) 2024 Benedikt Peetz // 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 . use std::fmt::Display; use gix::hash::Prefix; use rocket::request::FromParam; #[derive(Debug)] pub struct BackPrefix { prefix: Prefix, } impl Display for BackPrefix { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { self.prefix.fmt(f) } } impl<'a> FromParam<'a> for BackPrefix { type Error = gix::hash::prefix::from_hex::Error; fn from_param(param: &'a str) -> Result { let prefix = Prefix::from_hex(param)?; Ok(Self { prefix }) } }