grafana/public/app/plugins/datasource/grafana-postgresql-datasource/PostgresQueryModel.ts
Gábor Farkas 29e8a355cb
sql: extract frontend code into separate package (#81109)
* sql: extract frontend code into separate package

* updated package version
2024-01-26 11:38:29 +01:00

25 lines
803 B
TypeScript

import { ScopedVars } from '@grafana/data';
import { TemplateSrv } from '@grafana/runtime';
import { VariableFormatID } from '@grafana/schema';
import { SQLQuery, SqlQueryModel, applyQueryDefaults } from '@grafana/sql';
export class PostgresQueryModel implements SqlQueryModel {
target: SQLQuery;
templateSrv?: TemplateSrv;
scopedVars?: ScopedVars;
constructor(target?: SQLQuery, templateSrv?: TemplateSrv, scopedVars?: ScopedVars) {
this.target = applyQueryDefaults(target || { refId: 'A' });
this.templateSrv = templateSrv;
this.scopedVars = scopedVars;
}
interpolate() {
return this.templateSrv?.replace(this.target.rawSql, this.scopedVars, VariableFormatID.SQLString) || '';
}
quoteLiteral(value: string) {
return "'" + value.replace(/'/g, "''") + "'";
}
}