mirror of https://github.com/portainer/portainer
41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
import angular from 'angular';
|
|
|
|
class KubernetesConfigService {
|
|
/* @ngInject */
|
|
constructor(KubernetesConfig, FileSaver, SettingsService) {
|
|
this.KubernetesConfig = KubernetesConfig;
|
|
this.FileSaver = FileSaver;
|
|
this.SettingsService = SettingsService;
|
|
}
|
|
|
|
async downloadKubeconfigFile(environmentIDs) {
|
|
const response = await this.KubernetesConfig.get(environmentIDs);
|
|
const headers = response.headers();
|
|
const contentDispositionHeader = headers['content-disposition'];
|
|
const filename = contentDispositionHeader.replace('attachment;', '').trim();
|
|
return this.FileSaver.saveAs(response.data, filename);
|
|
}
|
|
|
|
async expiryMessage() {
|
|
const settings = await this.SettingsService.publicSettings();
|
|
const expiryDays = settings.KubeconfigExpiry;
|
|
const prefix = 'Kubeconfig file will ';
|
|
switch (expiryDays) {
|
|
case '0':
|
|
return prefix + 'not expire.';
|
|
case '24h':
|
|
return prefix + 'expire in 1 day.';
|
|
case '168h':
|
|
return prefix + 'expire in 7 days.';
|
|
case '720h':
|
|
return prefix + 'expire in 30 days.';
|
|
case '8640h':
|
|
return prefix + 'expire in 1 year.';
|
|
}
|
|
return '';
|
|
}
|
|
}
|
|
|
|
export default KubernetesConfigService;
|
|
angular.module('portainer.kubernetes').service('KubernetesConfigService', KubernetesConfigService);
|