@@ -14,7 +14,13 @@ import { ZabbixAPIError } from './zabbix/connectors/zabbix_api/zabbixAPIConnecto
1414import { ProblemDTO , VariableQueryTypes } from './types' ;
1515import { ZabbixMetricsQuery , ShowProblemTypes } from './types/query' ;
1616import { ZabbixDSOptions } from './types/config' ;
17- import { BackendSrvRequest , getBackendSrv , getTemplateSrv , toDataQueryResponse } from '@grafana/runtime' ;
17+ import {
18+ BackendSrvRequest ,
19+ getBackendSrv ,
20+ getTemplateSrv ,
21+ toDataQueryResponse ,
22+ getDataSourceSrv ,
23+ } from '@grafana/runtime' ;
1824import {
1925 DataFrame ,
2026 dataFrameFromJSON ,
@@ -119,11 +125,19 @@ export class ZabbixDatasource extends DataSourceApi<ZabbixMetricsQuery, ZabbixDS
119125 trackRequest ( request ) ;
120126
121127 // Migrate old targets
122- const requestTargets = request . targets . map ( ( t ) => {
123- // Prevent changes of original object
124- const target = _ . cloneDeep ( t ) ;
125- return migrations . migrate ( target ) ;
126- } ) ;
128+ const requestTargets = request . targets
129+ . map ( ( t ) => {
130+ // Prevent changes of original object
131+ const target = _ . cloneDeep ( t ) ;
132+ return migrations . migrate ( target ) ;
133+ } )
134+ . map ( ( target ) => {
135+ let ds = getDataSourceSrv ( ) . getInstanceSettings ( target ?. datasource ) ;
136+ if ( ds ?. rawRef ?. uid ) {
137+ return { ...target , datasource : { ...target ?. datasource , uid : ds . rawRef ?. uid } } ;
138+ }
139+ return target ;
140+ } ) ;
127141
128142 const backendResponsePromise = this . backendQuery ( { ...request , targets : requestTargets } ) ;
129143 const dbConnectionResponsePromise = this . dbConnectionQuery ( { ...request , targets : requestTargets } ) ;
0 commit comments