[search] fix offset param in finddashboards (#100302)

* fix offset param in finddashboards

* separate offset from page in k8s search endponit
This commit is contained in:
Will Assis 2025-02-07 15:24:27 -03:00 committed by GitHub
parent bf27e6d3ed
commit 7e11e604c7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 2 deletions

View File

@ -221,11 +221,14 @@ func (s *SearchHandler) DoSearch(w http.ResponseWriter, r *http.Request) {
// get limit and offset from query params
limit := 50
offset := 0
page := 1
if queryParams.Has("limit") {
limit, _ = strconv.Atoi(queryParams.Get("limit"))
}
if queryParams.Has("offset") {
offset, _ = strconv.Atoi(queryParams.Get("offset"))
} else if queryParams.Has("page") {
page, _ = strconv.Atoi(queryParams.Get("page"))
}
searchRequest := &resource.ResourceSearchRequest{
@ -233,7 +236,7 @@ func (s *SearchHandler) DoSearch(w http.ResponseWriter, r *http.Request) {
Query: queryParams.Get("query"),
Limit: int64(limit),
Offset: int64(offset),
Page: int64(offset), // on modes 0-2 (legacy) we use "Page" instead of "Offset"
Page: int64(page), // for modes 0-2 (legacy)
Explain: queryParams.Has("explain") && queryParams.Get("explain") != "false",
}
fields := []string{"title", "folder", "tags"}

View File

@ -1755,7 +1755,7 @@ func (dr *DashboardServiceImpl) searchDashboardsThroughK8sRaw(ctx context.Contex
request.Limit = query.Limit
request.Page = query.Page
request.Offset = query.Page - 1 // bleve's offset is 0 indexed
request.Offset = (query.Page - 1) * query.Limit // only relevant when running in modes 3+
namespace := dr.k8sclient.GetNamespace(query.OrgId)
var err error