mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -06:00
30 lines
850 B
TypeScript
30 lines
850 B
TypeScript
|
import { EditorMode } from '@grafana/experimental';
|
||
|
|
||
|
import { QueryFormat, SQLQuery } from './types';
|
||
|
import { createFunctionField, setGroupByField } from './utils/sql.utils';
|
||
|
|
||
|
export function applyQueryDefaults(q: SQLQuery): SQLQuery {
|
||
|
let editorMode = q.editorMode || EditorMode.Builder;
|
||
|
|
||
|
// Switching to code editor if the query was created before visual query builder was introduced.
|
||
|
if (q.editorMode === undefined && q.rawSql !== undefined) {
|
||
|
editorMode = EditorMode.Code;
|
||
|
}
|
||
|
|
||
|
const result = {
|
||
|
...q,
|
||
|
format: q.format !== undefined ? q.format : QueryFormat.Table,
|
||
|
rawSql: q.rawSql || '',
|
||
|
editorMode,
|
||
|
sql: q.sql || {
|
||
|
columns: [createFunctionField()],
|
||
|
groupBy: [setGroupByField()],
|
||
|
limit: 50,
|
||
|
},
|
||
|
};
|
||
|
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
export type QueryWithDefaults = ReturnType<typeof applyQueryDefaults>;
|