blob: c5f2cc01cba1b55bd47cf298fee56258c019e451 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import { TimeseriesDataRecord } from '../../chart';
import { AnnotationData } from './AnnotationLayer';
/**
* Generic data types, see enum of the same name in superset/utils/core.py.
*/
export enum GenericDataType {
NUMERIC = 0,
STRING = 1,
TEMPORAL = 2,
BOOLEAN = 3,
}
/**
* Primitive types for data field values.
*/
export type DataRecordValue = number | string | boolean | Date | null;
export interface DataRecord {
[key: string]: DataRecordValue;
}
/**
* Queried data for charts. The `queries` field from `POST /chart/data`.
* See superset/charts/schemas.py for the class of the same name.
*/
export interface ChartDataResponseResult {
/**
* Data for the annotation layer.
*/
annotation_data: AnnotationData[] | null;
cache_key: string | null;
cache_timeout: number | null;
cache_dttm: string | null;
/**
* Array of data records as dictionary
*/
data: DataRecord[];
/**
* Name of each column, for retaining the order of the output columns.
*/
colnames: string[];
/**
* Generic data types, based on the final output pandas dataframe.
*/
coltypes: GenericDataType[];
error: string | null;
is_cached: boolean;
query: string;
rowcount: number;
stacktrace: string | null;
status: 'stopped' | 'failed' | 'pending' | 'running' | 'scheduled' | 'success' | 'timed_out';
}
export interface TimeseriesChartDataResponseResult extends ChartDataResponseResult {
data: TimeseriesDataRecord[];
}
/**
* Query response from /api/v1/chart/data
*/
export interface ChartDataResponse {
queries: ChartDataResponseResult[];
}