Storage: Add support for sortBy selector (#80680)

* add support for sortBy field selector

* use label selectors instead of field selectors

* set entity_labels on create & update

* make entity server integration tests work

* test fixes

* be more consistent with handling of empty body, meta or status

* workaround for database is locked errors during migration

* fix double import of sqlite3

* rename functions and tidy up

* refactor update

* disable integration tests until we can fix the database locking issue
This commit is contained in:
Dan Cech
2024-02-07 15:05:10 -05:00
committed by GitHub
parent bb6db46ecc
commit 1f1461734c
13 changed files with 429 additions and 202 deletions

View File

@@ -67,15 +67,16 @@ func (s *legacyStorage) List(ctx context.Context, options *internalversion.ListO
}
parentUID := ""
fieldRequirements, fieldSelector, err := entity.ReadFieldRequirements(options.FieldSelector)
// translate grafana.app/* label selectors into field requirements
requirements, newSelector, err := entity.ReadLabelSelectors(options.LabelSelector)
if err != nil {
return nil, err
}
if fieldRequirements.Folder != nil {
parentUID = *fieldRequirements.Folder
if requirements.Folder != nil {
parentUID = *requirements.Folder
}
// Update the field selector to remove the unneeded selectors
options.FieldSelector = fieldSelector
// Update the selector to remove the unneeded requirements
options.LabelSelector = newSelector
paging, err := readContinueToken(options)
if err != nil {