From 7adede9530fa64c5fa7dbc6f6f8b8d374fbfac59 Mon Sep 17 00:00:00 2001 From: Ayman Bagabas Date: Thu, 5 May 2022 16:06:01 -0400 Subject: [PATCH] feat: only show private repos for admins --- ui/pages/selection/selection.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ui/pages/selection/selection.go b/ui/pages/selection/selection.go index ef622fee445c7ba25d410af15eef20b42f7c20d8..80998f30fd1bf07c9ec5973658babfd8fee4cb32 100644 --- a/ui/pages/selection/selection.go +++ b/ui/pages/selection/selection.go @@ -9,6 +9,7 @@ import ( "github.com/charmbracelet/soft-serve/ui/components/selector" "github.com/charmbracelet/soft-serve/ui/git" "github.com/charmbracelet/soft-serve/ui/session" + wgit "github.com/charmbracelet/wish/git" ) type box int @@ -140,8 +141,12 @@ func (s *Selection) FullHelp() [][]key.Binding { func (s *Selection) Init() tea.Cmd { items := make([]selector.IdentifiableItem, 0) cfg := s.s.Config() + pk := s.s.PublicKey() // Put configured repos first for _, r := range cfg.Repos { + if r.Private && cfg.AuthRepo(r.Repo, pk) < wgit.AdminAccess { + continue + } repo, err := cfg.Source.GetRepo(r.Repo) if err != nil { continue @@ -152,6 +157,9 @@ func (s *Selection) Init() tea.Cmd { }) } for _, r := range cfg.Source.AllRepos() { + if r.IsPrivate() && cfg.AuthRepo(r.Repo(), pk) < wgit.AdminAccess { + continue + } exists := false head, err := r.HEAD() if err != nil {