[search] Legacy search fallback support legacy query params (#99765)

* add support for deleted query param

* support tag query param in modes 2 and below

* handle dashboardIds

* hhandle dashboardUIDs

* handle folderUIDs query param

* handle page query param when hitting legacy storage

* handle sort query param

* handle type query param

* re-enable search fallback

* remove folder search workaround and fix /api/search to return both folders and dashboards when no title or type is provided

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
This commit is contained in:
Will Assis
2025-02-06 11:30:47 -05:00
committed by GitHub
co-authored by Stephanie Hingtgen
parent ccb0e9222a
commit 1467d4b3e3
13 changed files with 646 additions and 444 deletions
-15
View File
@@ -11,7 +11,6 @@ import (
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/services/folder"
"github.com/grafana/grafana/pkg/services/search/model"
"github.com/grafana/grafana/pkg/services/sqlstore/searchstore"
"github.com/grafana/grafana/pkg/services/star"
"github.com/grafana/grafana/pkg/services/user"
"github.com/grafana/grafana/pkg/setting"
@@ -114,20 +113,6 @@ func (s *SearchService) SearchHandler(ctx context.Context, query *Query) (model.
dashboardQuery.Sort = sortOpt
}
// if folders are stored in unified storage, we need to use the folder service to query for folders
if s.features.IsEnabledGlobally(featuremgmt.FlagKubernetesFoldersServiceV2) && (query.Type == searchstore.TypeFolder || query.Type == searchstore.TypeAlertFolder) {
hits, err := s.folderService.SearchFolders(ctx, folder.SearchFoldersQuery{
OrgID: query.OrgId,
UIDs: query.FolderUIDs,
IDs: query.FolderIds,
Title: query.Title,
Limit: query.Limit,
SignedInUser: query.SignedInUser,
})
return sortedHits(hits), err
}
hits, err := s.dashboardService.SearchDashboards(ctx, &dashboardQuery)
if err != nil {
return nil, err