From ad26f8c949cb75532eff7462877785c7a7e78566 Mon Sep 17 00:00:00 2001 From: jolheiser Date: Fri, 26 Jul 2024 15:01:38 -0500 Subject: [PATCH] feat: add private tag to private repos on tailnet Signed-off-by: jolheiser --- internal/http/index.go | 8 ++++++-- internal/http/middleware.go | 7 +++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/internal/http/index.go b/internal/http/index.go index 55e663b..e1175e0 100644 --- a/internal/http/index.go +++ b/internal/http/index.go @@ -30,9 +30,13 @@ func (rh repoHandler) index(w http.ResponseWriter, r *http.Request) error { if err != nil { return httperr.Error(err) } - if repo.Meta.Private && !rh.s.ShowPrivate { - continue + if repo.Meta.Private { + if !rh.s.ShowPrivate { + continue + } + repo.Meta.Tags = append(repo.Meta.Tags, "private") } + if tagFilter != "" && !slices.Contains(repo.Meta.Tags, strings.ToLower(tagFilter)) { continue } diff --git a/internal/http/middleware.go b/internal/http/middleware.go index c4a1900..b5c4ae0 100644 --- a/internal/http/middleware.go +++ b/internal/http/middleware.go @@ -26,8 +26,11 @@ func (rh repoHandler) repoMiddleware(next http.Handler) http.Handler { } return httperr.Status(err, httpErr) } - if repo.Meta.Private && !rh.s.ShowPrivate { - return httperr.Status(errors.New("could not get git repo"), http.StatusNotFound) + if repo.Meta.Private { + if !rh.s.ShowPrivate { + return httperr.Status(errors.New("could not get git repo"), http.StatusNotFound) + } + repo.Meta.Tags = append(repo.Meta.Tags, "private") } r = r.WithContext(context.WithValue(r.Context(), repoCtxKey, repo)) next.ServeHTTP(w, r)