dashboards: add url property to dashboard meta and search api responses

#7883
This commit is contained in:
Marcus Efraimsson
2018-01-30 23:18:34 +01:00
parent 7ee691dc48
commit 9fb7b887db
7 changed files with 33 additions and 0 deletions
+9
View File
@@ -182,6 +182,7 @@ func GetDashboard(query *m.GetDashboardQuery) error {
type DashboardSearchProjection struct {
Id int64
Uid string
Title string
Slug string
Term string
@@ -257,10 +258,17 @@ func makeQueryResult(query *search.FindPersistedDashboardsQuery, res []Dashboard
for _, item := range res {
hit, exists := hits[item.Id]
if !exists {
var url string
if item.IsFolder {
url = m.GetFolderUrl(item.Uid, item.Slug)
} else {
url = m.GetDashboardUrl(item.Uid, item.Slug)
}
hit = &search.Hit{
Id: item.Id,
Title: item.Title,
Uri: "db/" + item.Slug,
Url: url,
Slug: item.Slug,
Type: getHitType(item),
FolderId: item.FolderId,
@@ -268,6 +276,7 @@ func makeQueryResult(query *search.FindPersistedDashboardsQuery, res []Dashboard
FolderSlug: item.FolderSlug,
Tags: []string{},
}
query.Result = append(query.Result, hit)
hits[item.Id] = hit
}
+3
View File
@@ -1,6 +1,7 @@
package sqlstore
import (
"fmt"
"testing"
"github.com/go-xorm/xorm"
@@ -145,6 +146,7 @@ func TestDashboardDataAccess(t *testing.T) {
So(len(query.Result), ShouldEqual, 1)
hit := query.Result[0]
So(hit.Type, ShouldEqual, search.DashHitFolder)
So(hit.Url, ShouldEqual, fmt.Sprintf("/f/%s/%s", savedFolder.Uid, savedFolder.Slug))
})
Convey("Should be able to search for a dashboard folder's children", func() {
@@ -160,6 +162,7 @@ func TestDashboardDataAccess(t *testing.T) {
So(len(query.Result), ShouldEqual, 2)
hit := query.Result[0]
So(hit.Id, ShouldEqual, savedDash.Id)
So(hit.Url, ShouldEqual, fmt.Sprintf("/d/%s/%s", savedDash.Uid, savedDash.Slug))
})
Convey("Should be able to search for dashboard by dashboard ids", func() {
+1
View File
@@ -101,6 +101,7 @@ func (sb *SearchBuilder) buildSelect() {
sb.sql.WriteString(
`SELECT
dashboard.id,
dashboard.uid,
dashboard.title,
dashboard.slug,
dashboard_tag.term,