|
|
@@ -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
|
|
|
}
|
|
|
|