SchemaV2: Always set ad hoc filters to empty array when converting to v2 (#114914)
* Always set ad hoc filters to empty array when converting to v2 * Update test files
This commit is contained in:
+2
-2
@@ -7234,9 +7234,9 @@
|
||||
"type": "elasticsearch",
|
||||
"uid": "gdev-elasticsearch"
|
||||
},
|
||||
"baseFilters": null,
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
"allowCustomValue": true
|
||||
|
||||
+2
-2
@@ -7335,9 +7335,9 @@
|
||||
},
|
||||
"spec": {
|
||||
"name": "adhoc",
|
||||
"baseFilters": null,
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
"allowCustomValue": true
|
||||
|
||||
+2
-2
@@ -307,9 +307,9 @@
|
||||
"kind": "AdhocVariable",
|
||||
"spec": {
|
||||
"name": "adhoc",
|
||||
"baseFilters": null,
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
"allowCustomValue": true
|
||||
|
||||
+2
-2
@@ -317,9 +317,9 @@
|
||||
"datasource": {},
|
||||
"spec": {
|
||||
"name": "adhoc",
|
||||
"baseFilters": null,
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
"allowCustomValue": true
|
||||
|
||||
+2
-2
@@ -604,9 +604,9 @@
|
||||
"type": "loki",
|
||||
"uid": "PDDA8E780A17E7EF1"
|
||||
},
|
||||
"baseFilters": null,
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"label": "Ad-hoc",
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
|
||||
+2
-2
@@ -616,9 +616,9 @@
|
||||
},
|
||||
"spec": {
|
||||
"name": "adhoc",
|
||||
"baseFilters": null,
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"label": "Ad-hoc",
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
|
||||
+1
-1
@@ -1885,7 +1885,7 @@
|
||||
"name": "Filters",
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
"allowCustomValue": true
|
||||
|
||||
+1
-1
@@ -1931,7 +1931,7 @@
|
||||
"name": "Filters",
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
"allowCustomValue": true
|
||||
|
||||
+1
-1
@@ -2184,7 +2184,7 @@
|
||||
"name": "Filters",
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
"allowCustomValue": true
|
||||
|
||||
+1
-1
@@ -2219,7 +2219,7 @@
|
||||
"name": "Filters",
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
"allowCustomValue": true
|
||||
|
||||
+1
-1
@@ -2499,7 +2499,7 @@
|
||||
"name": "Filters",
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
"allowCustomValue": true
|
||||
|
||||
+1
-1
@@ -2542,7 +2542,7 @@
|
||||
"name": "Filters",
|
||||
"baseFilters": [],
|
||||
"filters": [],
|
||||
"defaultKeys": null,
|
||||
"defaultKeys": [],
|
||||
"hide": "dontHide",
|
||||
"skipUrlSync": false,
|
||||
"allowCustomValue": true
|
||||
|
||||
@@ -1539,26 +1539,38 @@ func buildAdhocVariable(ctx context.Context, varMap map[string]interface{}, comm
|
||||
},
|
||||
}
|
||||
|
||||
// Transform baseFilters if they exist
|
||||
// Transform baseFilters if they exist, otherwise default to empty array
|
||||
if baseFilters, exists := varMap["baseFilters"]; exists {
|
||||
if baseFiltersArray, ok := baseFilters.([]interface{}); ok {
|
||||
adhocVar.Spec.BaseFilters = transformAdHocFilters(baseFiltersArray)
|
||||
}
|
||||
}
|
||||
// Ensure baseFilters is always set (default to empty array if not present or invalid)
|
||||
if adhocVar.Spec.BaseFilters == nil {
|
||||
adhocVar.Spec.BaseFilters = []dashv2alpha1.DashboardAdHocFilterWithLabels{}
|
||||
}
|
||||
|
||||
// Transform filters if they exist
|
||||
// Transform filters if they exist, otherwise default to empty array
|
||||
if filters, exists := varMap["filters"]; exists {
|
||||
if filtersArray, ok := filters.([]interface{}); ok {
|
||||
adhocVar.Spec.Filters = transformAdHocFilters(filtersArray)
|
||||
}
|
||||
}
|
||||
// Ensure filters is always set (default to empty array if not present or invalid)
|
||||
if adhocVar.Spec.Filters == nil {
|
||||
adhocVar.Spec.Filters = []dashv2alpha1.DashboardAdHocFilterWithLabels{}
|
||||
}
|
||||
|
||||
// Transform defaultKeys if they exist
|
||||
// Transform defaultKeys if they exist, otherwise default to empty array
|
||||
if defaultKeys, exists := varMap["defaultKeys"]; exists {
|
||||
if defaultKeysArray, ok := defaultKeys.([]interface{}); ok {
|
||||
adhocVar.Spec.DefaultKeys = transformMetricFindValues(defaultKeysArray)
|
||||
}
|
||||
}
|
||||
// Ensure defaultKeys is always set (default to empty array if not present or invalid)
|
||||
if adhocVar.Spec.DefaultKeys == nil {
|
||||
adhocVar.Spec.DefaultKeys = []dashv2alpha1.DashboardMetricFindValue{}
|
||||
}
|
||||
|
||||
// Only include datasource if datasourceUID exists (matching frontend behavior)
|
||||
if datasourceUID != "" {
|
||||
|
||||
Reference in New Issue
Block a user