diff options
Diffstat (limited to 'internal/admin/api_search.go')
| -rw-r--r-- | internal/admin/api_search.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/internal/admin/api_search.go b/internal/admin/api_search.go index d47dc0e..3367a52 100644 --- a/internal/admin/api_search.go +++ b/internal/admin/api_search.go @@ -28,6 +28,7 @@ func (s *AdminServer) handleSearch(w http.ResponseWriter, r *http.Request) { Items []searchResult `json:"items"` Mobs []searchResult `json:"mobs"` Objects []searchResult `json:"objects"` + Hazards []searchResult `json:"hazards"` } var resp searchResponse @@ -78,5 +79,16 @@ func (s *AdminServer) handleSearch(w http.ResponseWriter, r *http.Request) { } } + hazardIDs, _ := listYAMLFiles(s.dataDir, "hazards") + for _, id := range hazardIDs { + h, err := s.world.LoadHazard(id) + if err != nil { + continue + } + if strings.Contains(strings.ToLower(h.Name), q) || strings.Contains(strings.ToLower(id), q) { + resp.Hazards = append(resp.Hazards, searchResult{ID: id, Name: h.Name}) + } + } + writeJSON(w, resp) } |
