Files
Josh Hunt 3c6e0e8ef8 Chore: ESlint import order (#44959)
* 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
2022-04-22 14:33:13 +01:00

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,
};
}