angular.module('endpoint', []) .controller('EndpointController', ['$scope', '$state', '$stateParams', '$filter', 'EndpointService', 'Notifications', function ($scope, $state, $stateParams, $filter, EndpointService, Notifications) { if (!$scope.applicationState.application.endpointManagement) { $state.go('endpoints'); } $scope.state = { error: '', uploadInProgress: false }; $scope.formValues = { TLSCACert: null, TLSCert: null, TLSKey: null }; $scope.updateEndpoint = function() { var ID = $scope.endpoint.Id; var endpointParams = { name: $scope.endpoint.Name, URL: $scope.endpoint.URL, PublicURL: $scope.endpoint.PublicURL, TLS: $scope.endpoint.TLS, TLSCACert: $scope.formValues.TLSCACert !== $scope.endpoint.TLSCACert ? $scope.formValues.TLSCACert : null, TLSCert: $scope.formValues.TLSCert !== $scope.endpoint.TLSCert ? $scope.formValues.TLSCert : null, TLSKey: $scope.formValues.TLSKey !== $scope.endpoint.TLSKey ? $scope.formValues.TLSKey : null, type: $scope.endpointType }; EndpointService.updateEndpoint(ID, endpointParams) .then(function success(data) { Notifications.success("Endpoint updated", $scope.endpoint.Name); $state.go('endpoints'); }, function error(err) { $scope.state.error = err.msg; }, function update(evt) { if (evt.upload) { $scope.state.uploadInProgress = evt.upload; } }); }; function getEndpoint(endpointID) { $('#loadingViewSpinner').show(); EndpointService.endpoint($stateParams.id).then(function success(data) { $('#loadingViewSpinner').hide(); $scope.endpoint = data; if (data.URL.indexOf("unix://") === 0) { $scope.endpointType = 'local'; } else { $scope.endpointType = 'remote'; } $scope.endpoint.URL = $filter('stripprotocol')(data.URL); $scope.formValues.TLSCACert = data.TLSCACert; $scope.formValues.TLSCert = data.TLSCert; $scope.formValues.TLSKey = data.TLSKey; }, function error(err) { $('#loadingViewSpinner').hide(); Notifications.error("Failure", err, "Unable to retrieve endpoint details"); }); } getEndpoint($stateParams.id); }]);