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 @@
+ {{ 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
`