Commit 494ac90c by Šimon Podlipský Committed by Torkel Ödegaard

QueryData: Handle that response data must be array (#18504)

Fixes #18499
parent 3ccc10f8
// Libraries // Libraries
import isString from 'lodash/isString'; import { isArray, isEqual, isString } from 'lodash';
import isEqual from 'lodash/isEqual';
// Utils & Services // Utils & Services
import { getBackendSrv } from 'app/core/services/backend_srv'; import { getBackendSrv } from 'app/core/services/backend_srv';
...@@ -123,6 +122,10 @@ export class PanelQueryState { ...@@ -123,6 +122,10 @@ export class PanelQueryState {
return ds return ds
.query(this.request, this.dataStreamObserver) .query(this.request, this.dataStreamObserver)
.then(resp => { .then(resp => {
if (!isArray(resp.data)) {
throw new Error(`Expected response data to be array, got ${typeof resp.data}.`);
}
this.request.endTime = Date.now(); this.request.endTime = Date.now();
this.executor = null; this.executor = null;
...@@ -349,8 +352,8 @@ function translateToLegacyData(data: DataQueryResponseData) { ...@@ -349,8 +352,8 @@ function translateToLegacyData(data: DataQueryResponseData) {
* *
* This is also used by PanelChrome for snapshot support * This is also used by PanelChrome for snapshot support
*/ */
export function getProcessedDataFrames(results?: any[]): DataFrame[] { export function getProcessedDataFrames(results?: DataQueryResponseData[]): DataFrame[] {
if (!results) { if (!isArray(results)) {
return []; return [];
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment