From 6e15f4aec68e5b5b10d77079d588a48473682e30 Mon Sep 17 00:00:00 2001 From: Patrik Segedy Date: Thu, 27 Jun 2024 16:02:53 +0200 Subject: [PATCH] RHINENG-10927: fix package api if package_name can be parsed as nevra --- manager/controllers/package_detail.go | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/manager/controllers/package_detail.go b/manager/controllers/package_detail.go index 2afc7a85b..e0239b5ae 100644 --- a/manager/controllers/package_detail.go +++ b/manager/controllers/package_detail.go @@ -44,11 +44,6 @@ var PackageSelect = database.MustGetSelect(&PackageDetailAttributes{}) func packageLatestHandler(c *gin.Context, packageName string) { db := middlewares.DBFromContext(c) - if !packageNameIsValid(db, packageName) { - c.JSON(http.StatusBadRequest, utils.ErrorResponse{Error: "invalid package name"}) - return - } - query := database.PackageByName(db, packageName) var pkg PackageDetailAttributes // Perform 'soft-filtering' by ordering on boolean column first @@ -117,10 +112,16 @@ func PackageDetailHandler(c *gin.Context) { return } - nevra, err := utils.ParseNevra(parameter) - if err == nil { - packageEvraHandler(c, nevra) - } else { + db := middlewares.DBFromContext(c) + if packageNameIsValid(db, parameter) { packageLatestHandler(c, parameter) + return + } + + nevra, err := utils.ParseNevra(parameter) + if err != nil { + LogAndRespBadRequest(c, err, "invalid package name") + return } + packageEvraHandler(c, nevra) }