Began work on adding json files to search, #960

This commit is contained in:
Torkel Ödegaard
2015-05-11 20:04:03 +02:00
parent 48ddd7213f
commit 1a9f630710
5 changed files with 83 additions and 26 deletions
+2 -26
View File
@@ -4,28 +4,9 @@ import (
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/middleware"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/search"
)
// TODO: this needs to be cached or improved somehow
func setIsStarredFlagOnSearchResults(c *middleware.Context, hits []*m.DashboardSearchHit) error {
if !c.IsSignedIn {
return nil
}
query := m.GetUserStarsQuery{UserId: c.UserId}
if err := bus.Dispatch(&query); err != nil {
return err
}
for _, dash := range hits {
if _, exists := query.Result[dash.Id]; exists {
dash.IsStarred = true
}
}
return nil
}
func Search(c *middleware.Context) {
query := c.Query("query")
tag := c.Query("tag")
@@ -54,7 +35,7 @@ func Search(c *middleware.Context) {
result.TagsOnly = true
} else {
query := m.SearchDashboardsQuery{
query := search.Query{
Title: query,
Tag: tag,
UserId: c.UserId,
@@ -69,11 +50,6 @@ func Search(c *middleware.Context) {
return
}
if err := setIsStarredFlagOnSearchResults(c, query.Result); err != nil {
c.JsonApiErr(500, "Failed to get user stars", err)
return
}
result.Dashboards = query.Result
}