From 70b46acd6411c1096436ab288d1d957feeab4af8 Mon Sep 17 00:00:00 2001 From: Denis Cornehl Date: Fri, 23 Feb 2024 15:36:26 +0100 Subject: [PATCH] web/build-details: directly use Version in extractor --- src/web/build_details.rs | 6 +++--- src/web/mod.rs | 8 -------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/web/build_details.rs b/src/web/build_details.rs index 2e8e54091..c670a04f4 100644 --- a/src/web/build_details.rs +++ b/src/web/build_details.rs @@ -4,13 +4,14 @@ use crate::{ error::{AxumNope, AxumResult}, extractors::{DbConnection, Path}, file::File, - MetaData, ReqVersion, + MetaData, }, AsyncStorage, Config, }; use anyhow::Context as _; use axum::{extract::Extension, response::IntoResponse}; use chrono::{DateTime, Utc}; +use semver::Version; use serde::Serialize; use std::sync::Arc; @@ -36,13 +37,12 @@ impl_axum_webpage! { } pub(crate) async fn build_details_handler( - Path((name, version, id)): Path<(String, ReqVersion, String)>, + Path((name, version, id)): Path<(String, Version, String)>, mut conn: DbConnection, Extension(config): Extension>, Extension(storage): Extension>, ) -> AxumResult { let id: i32 = id.parse().map_err(|_| AxumNope::BuildNotFound)?; - let version = version.assume_exact()?; let row = sqlx::query!( "SELECT diff --git a/src/web/mod.rs b/src/web/mod.rs index 235cf641f..2e50655e9 100644 --- a/src/web/mod.rs +++ b/src/web/mod.rs @@ -80,14 +80,6 @@ pub(crate) enum ReqVersion { } impl ReqVersion { - fn assume_exact(self) -> Result { - if let ReqVersion::Exact(version) = self { - Ok(version) - } else { - Err(AxumNope::VersionNotFound) - } - } - pub(crate) fn is_latest(&self) -> bool { matches!(self, ReqVersion::Latest) }