mirror of
https://github.com/grafana/grafana.git
synced 2025-09-24 08:06:26 +08:00

* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { AnnotationQuery } from '@grafana/data';
|
|
|
|
import { AzureMonitorQuery, AzureQueryType } from '../types';
|
|
|
|
// The old Angular annotations editor put some properties (rawQuery, workspace, subscription)
|
|
// on the root annotation object, rather than down in the 'targets' query value
|
|
// This migration moves them to a Log Analytics query compatible with the React query editor
|
|
// The old Angular annotations editor did not support any other query types.
|
|
export default function migrateAnnotation(annotation: AnnotationQuery<AzureMonitorQuery>) {
|
|
const oldQuery = typeof annotation.rawQuery === 'string' ? annotation.rawQuery : null;
|
|
const oldWorkspace = typeof annotation.workspace === 'string' ? annotation.workspace : null;
|
|
|
|
if (!(oldQuery && oldWorkspace && !annotation.target?.azureLogAnalytics?.query)) {
|
|
return annotation;
|
|
}
|
|
|
|
const newQuery: AzureMonitorQuery = {
|
|
...(annotation.target ?? {}),
|
|
refId: annotation.target?.refId ?? 'Anno',
|
|
queryType: AzureQueryType.LogAnalytics,
|
|
azureLogAnalytics: {
|
|
query: oldQuery,
|
|
resource: oldWorkspace,
|
|
},
|
|
};
|
|
|
|
return {
|
|
...annotation,
|
|
rawQuery: undefined,
|
|
workspace: undefined,
|
|
subscription: undefined,
|
|
queryType: undefined,
|
|
target: newQuery,
|
|
};
|
|
}
|