mirror of https://github.com/grafana/grafana
parent
2606f6e715
commit
2d12801186
@ -0,0 +1,50 @@ |
|||||||
|
import _ from 'lodash'; |
||||||
|
|
||||||
|
export class PostgresConfigCtrl { |
||||||
|
static templateUrl = 'partials/config.html'; |
||||||
|
|
||||||
|
current: any; |
||||||
|
datasourceSrv: any; |
||||||
|
|
||||||
|
/** @ngInject **/ |
||||||
|
constructor($scope, datasourceSrv) { |
||||||
|
this.datasourceSrv = datasourceSrv; |
||||||
|
this.current.jsonData.sslmode = this.current.jsonData.sslmode || 'verify-full'; |
||||||
|
this.current.jsonData.postgresVersion = this.current.jsonData.postgresVersion || 903; |
||||||
|
this.autoDetectPostgresVersion(); |
||||||
|
} |
||||||
|
|
||||||
|
autoDetectPostgresVersion() { |
||||||
|
if (!this.current.id) { |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
this.datasourceSrv |
||||||
|
.loadDatasource(this.current.name) |
||||||
|
.then(ds => { |
||||||
|
return ds.getVersion(); |
||||||
|
}) |
||||||
|
.then(version => { |
||||||
|
version = Number(version[0].text); |
||||||
|
let major = Math.trunc(version / 100); |
||||||
|
let minor = version % 100; |
||||||
|
let name = String(major); |
||||||
|
if (version < 1000) { |
||||||
|
name = String(major) + '.' + String(minor); |
||||||
|
} |
||||||
|
if (!_.find(this.postgresVersions, (p: any) => p.value === version)) { |
||||||
|
this.postgresVersions.push({ name: name, value: version }); |
||||||
|
} |
||||||
|
this.current.jsonData.postgresVersion = version; |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// the value portion is derived from postgres server_version_num/100
|
||||||
|
postgresVersions = [ |
||||||
|
{ name: '9.3', value: 903 }, |
||||||
|
{ name: '9.4', value: 904 }, |
||||||
|
{ name: '9.5', value: 905 }, |
||||||
|
{ name: '9.6', value: 906 }, |
||||||
|
{ name: '10', value: 1000 }, |
||||||
|
]; |
||||||
|
} |
Loading…
Reference in new issue