Skip to content

Commit a1c644a

Browse files
authored
Add epoch time macros (#22)
1 parent 27a9877 commit a1c644a

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/datasource.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,21 @@ export class DataSource extends DataSourceApi<JsonApiQuery, JsonApiDataSourceOpt
2727
async query(request: DataQueryRequest<JsonApiQuery>): Promise<DataQueryResponse> {
2828
const templateSrv = getTemplateSrv();
2929

30+
const replaceMacros = (str: string) => {
31+
return str
32+
.replace(/\$__unixEpochFrom\(\)/g, request.range.from.unix().toString())
33+
.replace(/\$__unixEpochTo\(\)/g, request.range.to.unix().toString());
34+
};
35+
3036
const promises = request.targets.map(async query => {
31-
const queryParamsTreated = templateSrv.replace(query.queryParams, request.scopedVars);
37+
const queryParamsTreated = replaceMacros(templateSrv.replace(query.queryParams, request.scopedVars));
3238

3339
const response = await this.api.cachedGet(query.cacheDurationSeconds, queryParamsTreated);
3440

3541
const fields = query.fields
3642
.filter(field => field.jsonPath)
3743
.map(field => {
38-
const jsonPathTreated = templateSrv.replace(field.jsonPath, request.scopedVars);
44+
const jsonPathTreated = replaceMacros(templateSrv.replace(field.jsonPath, request.scopedVars));
3945
const nameTreated = templateSrv.replace(field.name, request.scopedVars);
4046

4147
const values = JSONPath({ path: jsonPathTreated, json: response });

0 commit comments

Comments
 (0)