瀏覽代碼

Enable the "limit" param in /api/search

Thibault Chataigner 9 年之前
父節點
當前提交
3d77685108
共有 3 個文件被更改,包括 9 次插入1 次删除
  1. 1 0
      pkg/services/search/handlers.go
  2. 1 0
      pkg/services/search/models.go
  3. 7 1
      pkg/services/sqlstore/dashboard.go

+ 1 - 0
pkg/services/search/handlers.go

@@ -44,6 +44,7 @@ func searchHandler(query *Query) error {
 		IsStarred:    query.IsStarred,
 		IsStarred:    query.IsStarred,
 		OrgId:        query.OrgId,
 		OrgId:        query.OrgId,
 		DashboardIds: query.DashboardIds,
 		DashboardIds: query.DashboardIds,
+		Limit:        query.Limit,
 	}
 	}
 
 
 	if err := bus.Dispatch(&dashQuery); err != nil {
 	if err := bus.Dispatch(&dashQuery); err != nil {

+ 1 - 0
pkg/services/search/models.go

@@ -42,6 +42,7 @@ type FindPersistedDashboardsQuery struct {
 	UserId       int64
 	UserId       int64
 	IsStarred    bool
 	IsStarred    bool
 	DashboardIds []int
 	DashboardIds []int
+	Limit        int
 
 
 	Result HitList
 	Result HitList
 }
 }

+ 7 - 1
pkg/services/sqlstore/dashboard.go

@@ -123,6 +123,11 @@ type DashboardSearchProjection struct {
 }
 }
 
 
 func SearchDashboards(query *search.FindPersistedDashboardsQuery) error {
 func SearchDashboards(query *search.FindPersistedDashboardsQuery) error {
+	limit := query.Limit
+	if limit == 0 {
+		limit = 1000
+	}
+
 	var sql bytes.Buffer
 	var sql bytes.Buffer
 	params := make([]interface{}, 0)
 	params := make([]interface{}, 0)
 
 
@@ -165,7 +170,8 @@ func SearchDashboards(query *search.FindPersistedDashboardsQuery) error {
 		params = append(params, "%"+query.Title+"%")
 		params = append(params, "%"+query.Title+"%")
 	}
 	}
 
 
-	sql.WriteString(fmt.Sprintf(" ORDER BY dashboard.title ASC LIMIT 1000"))
+	sql.WriteString(fmt.Sprintf(" ORDER BY dashboard.title ASC LIMIT ?"))
+	params = append(params, limit)
 
 
 	var res []DashboardSearchProjection
 	var res []DashboardSearchProjection