From 5c292286cf254aa22d88d1b2fe8937de45c7ec49 Mon Sep 17 00:00:00 2001 From: Lucas Date: Wed, 27 Aug 2025 19:37:39 +0200 Subject: [PATCH] refactor(cache): extract cache ID parsing logic * Replaced direct conversion of cache ID string to int with a dedicated `parseCacheID` function. * Improved readability and maintainability of the `deleteCaches` function. --- pkg/cmd/cache/delete/delete.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/cmd/cache/delete/delete.go b/pkg/cmd/cache/delete/delete.go index 9bfda7907..7fc2de4c3 100644 --- a/pkg/cmd/cache/delete/delete.go +++ b/pkg/cmd/cache/delete/delete.go @@ -162,7 +162,7 @@ func deleteCaches(opts *DeleteOptions, client *api.Client, repo ghrepo.Interface for _, cache := range toDelete { path := "" - if id, err := strconv.Atoi(cache); err == nil { + if id, ok := parseCacheID(cache); ok { path = fmt.Sprintf("%s/%d", base, id) } else { path = fmt.Sprintf("%s?key=%s", base, url.QueryEscape(cache)) @@ -195,3 +195,8 @@ func deleteCaches(opts *DeleteOptions, client *api.Client, repo ghrepo.Interface return nil } + +func parseCacheID(arg string) (int, bool) { + id, err := strconv.Atoi(arg) + return id, err == nil +}