From 870003d2fc1a4aa8792f64fc4f00b505dda91f37 Mon Sep 17 00:00:00 2001 From: hari-selvarajan_data Date: Mon, 27 Jan 2025 17:58:28 +0000 Subject: [PATCH] review comments --- cmd/labs/github/releases.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/cmd/labs/github/releases.go b/cmd/labs/github/releases.go index d2a26c7f8..d0e2cb796 100644 --- a/cmd/labs/github/releases.go +++ b/cmd/labs/github/releases.go @@ -13,30 +13,30 @@ const cacheTTL = 1 * time.Hour // NewReleaseCache creates a release cache for a repository in the GitHub org. // Caller has to provide different cache directories for different repositories. -func NewReleaseCache(org, repo, cacheDir string) *ReleaseCache { +func NewReleaseCache(org, repo, cacheDir string, offlineInstall bool) *ReleaseCache { pattern := fmt.Sprintf("%s-%s-releases", org, repo) return &ReleaseCache{ - Cache: localcache.NewLocalCache[Versions](cacheDir, pattern, cacheTTL), - Org: org, - Repo: repo, + cache: localcache.NewLocalCache[Versions](cacheDir, pattern, cacheTTL), + Org: org, + Repo: repo, + Offline: offlineInstall, } } type ReleaseCache struct { - Cache localcache.LocalCache[Versions] + cache localcache.LocalCache[Versions] Org string Repo string Offline bool } func (r *ReleaseCache) Load(ctx context.Context) (Versions, error) { - return r.Cache.Load(ctx, func() (Versions, error) { - return getVersions(ctx, r.Org, r.Repo) - }) -} - -func (r *ReleaseCache) LoadCache(ctx context.Context) (Versions, error) { - cached, err := r.Cache.LoadCache() + if !r.Offline { + return r.cache.Load(ctx, func() (Versions, error) { + return getVersions(ctx, r.Org, r.Repo) + }) + } + cached, err := r.cache.LoadCache() return cached.Data, err }