Files
2018-08-15 09:48:06 +02:00

51 lines
1.4 KiB
TypeScript

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 },
];
}