diff --git a/appview/pages/templates/repo/search.html b/appview/pages/templates/repo/search.html index 25fd566e..e2811064 100644 --- a/appview/pages/templates/repo/search.html +++ b/appview/pages/templates/repo/search.html @@ -26,6 +26,13 @@ > - {{ template "repo/fragments/searchResults" dict }} + {{ if not .LoggedInUser }} +
+ {{ i "circle-alert" "size-4" }} + Login to search files or codes. +
+ {{ else }} + {{ template "repo/fragments/searchResults" dict }} + {{ end }} {{ end }} diff --git a/appview/pages/templates/search/search.html b/appview/pages/templates/search/search.html index 18b677f2..9aac9823 100644 --- a/appview/pages/templates/search/search.html +++ b/appview/pages/templates/search/search.html @@ -90,7 +90,15 @@ {{ .ErrorMsg }} {{ else if eq .FilterType "code" }} - {{ template "codeSearchResults" . }} + {{ if not .LoggedInUser }} +
+ {{ i "circle-alert" "size-4" }} + {{ $url := "/search?type=code" -}} + Login to search files or codes. +
+ {{ else }} + {{ template "codeSearchResults" . }} + {{ end }} {{ else }} {{ template "repoSearchResults" . }} {{ end }} diff --git a/appview/repo/filesearch.go b/appview/repo/filesearch.go index dd1bcd1f..33714a04 100644 --- a/appview/repo/filesearch.go +++ b/appview/repo/filesearch.go @@ -13,7 +13,11 @@ import ( func (rp *Repo) Search(w http.ResponseWriter, r *http.Request) { if r.Header.Get("Hx-Request") == "true" { - rp.searchResultsFragment(w, r) + if rp.oauth.GetMultiAccountUser(r) != nil { + rp.searchResultsFragment(w, r) + } else { + w.WriteHeader(http.StatusForbidden) + } return } if err := rp.pages.RepoSearchPage(w, pages.RepoSearchParams{ diff --git a/appview/state/codesearch.go b/appview/state/codesearch.go index 5af78779..00b66901 100644 --- a/appview/state/codesearch.go +++ b/appview/state/codesearch.go @@ -39,6 +39,10 @@ func (s *State) handleCodeSearch(w http.ResponseWriter, r *http.Request) { return } + if params.BaseParams.LoggedInUser == nil { + return + } + res, err := s.codesearch.Search(ctx, q, page) if err != nil { // repo-name-only queries belong to the repo search page; redirect with diff --git a/appview/state/state.go b/appview/state/state.go index e8a1052e..51d9dab2 100644 --- a/appview/state/state.go +++ b/appview/state/state.go @@ -286,6 +286,8 @@ Disallow: /*/*/settings Disallow: /settings Disallow: /*/*/compare Disallow: /*/*/fork +Disallow: /search +Disallow: /*/*/search Crawl-delay: 1 `