Files
Sven Grossmann 3d033839d7 Elasticsearch: Fix URL creation and allowlist for /_mapping requests (#80970)
* Elasticsearch: Fix URL creation for mapping requests

* remove leading slash by default

* add comment for es route

* hardcode `_mapping`

* update doc
2024-01-23 12:41:13 +01:00

63 lines
1.5 KiB
TypeScript

import { DataSourceInstanceSettings, PluginType } from '@grafana/data';
import { TemplateSrv } from '@grafana/runtime';
import { ElasticDatasource } from './datasource';
import { ElasticsearchOptions } from './types';
export function createElasticDatasource(settings: Partial<DataSourceInstanceSettings<ElasticsearchOptions>> = {}) {
const { jsonData, ...rest } = settings;
const instanceSettings: DataSourceInstanceSettings<ElasticsearchOptions> = {
id: 1,
meta: {
id: 'id',
name: 'name',
type: PluginType.datasource,
module: '',
baseUrl: '',
info: {
author: {
name: 'Test',
},
description: '',
links: [],
logos: {
large: '',
small: '',
},
screenshots: [],
updated: '',
version: '',
},
},
readOnly: false,
name: 'test-elastic',
type: 'type',
uid: 'uid',
access: 'proxy',
url: '',
jsonData: {
timeField: '',
timeInterval: '',
index: '[test-]YYYY.MM.DD',
...jsonData,
},
...rest,
};
const templateSrv: TemplateSrv = {
getVariables: () => [],
replace: (text?: string) => {
if (text?.startsWith('$')) {
return `resolvedVariable`;
} else {
return text || '';
}
},
containsTemplate: (text?: string) => text?.includes('$') ?? false,
updateTimeRange: () => {},
};
return new ElasticDatasource(instanceSettings, templateSrv);
}