Migrate to new backend sdk, use /zabbix-api endpoint for API queries

This commit is contained in:
Alexander Zobnin
2020-05-28 17:04:49 +03:00
parent 9f93faaebf
commit f0daa9fcb9
12 changed files with 478 additions and 141 deletions

View File

@@ -61,7 +61,8 @@ export class ZabbixAPIConnector {
request(method, params) {
return this.tsdbRequest(method, params).then(response => {
const result = this.handleTsdbResponse(response);
// const result = this.handleTsdbResponse(response);
const result = this.handleZabbixAPIResourceResponse(response);
return result;
});
@@ -80,10 +81,20 @@ export class ZabbixAPIConnector {
};
return getBackendSrv().datasourceRequest({
url: '/api/tsdb/query',
url: `/api/datasources/${this.datasourceId}/resources/zabbix-api`,
method: 'POST',
data: tsdbRequestData
data: {
datasourceId: this.datasourceId,
method,
params,
},
});
// return getBackendSrv().datasourceRequest({
// url: '/api/tsdb/query',
// method: 'POST',
// data: tsdbRequestData
// });
}
_request(method: string, params: JSONRPCRequestParams): Promise<any> {
@@ -121,6 +132,10 @@ export class ZabbixAPIConnector {
return response.data.results['zabbixAPI'].meta;
}
handleZabbixAPIResourceResponse(response) {
return response?.data;
}
/**
* When API unauthenticated or auth token expired each request produce login()
* call. But auth token is common to all requests. This function wraps login() method