1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-19 13:29:41 +02:00
portainer/app/portainer/components/endpointSecurity/porEndpointSecurityController.js

56 lines
1.4 KiB
JavaScript

import { tlsOptions } from './tls-options';
angular.module('portainer.app').controller('porEndpointSecurityController', [
'$scope',
function ($scope) {
var ctrl = this;
this.tlsOptions = tlsOptions;
function onChange(values) {
$scope.$evalAsync(() => {
ctrl.formData = {
...ctrl.formData,
...values,
};
});
}
ctrl.onChangeTLSMode = onChangeTLSMode;
function onChangeTLSMode(mode) {
onChange({ TLSMode: mode });
}
ctrl.onToggleTLS = onToggleTLS;
function onToggleTLS(newValue) {
onChange({ TLS: newValue });
}
this.$onInit = $onInit;
function $onInit() {
if (ctrl.endpoint) {
var endpoint = ctrl.endpoint;
var TLS = endpoint.TLSConfig.TLS;
ctrl.formData.TLS = TLS;
var CACert = endpoint.TLSConfig.TLSCACert;
ctrl.formData.TLSCACert = CACert;
var cert = endpoint.TLSConfig.TLSCert;
ctrl.formData.TLSCert = cert;
var key = endpoint.TLSConfig.TLSKey;
ctrl.formData.TLSKey = key;
if (TLS) {
if (CACert && cert && key) {
ctrl.formData.TLSMode = 'tls_client_ca';
} else if (cert && key) {
ctrl.formData.TLSMode = 'tls_client_noca';
} else if (CACert) {
ctrl.formData.TLSMode = 'tls_ca';
} else {
ctrl.formData.TLSMode = 'tls_only';
}
}
}
}
},
]);