diff options
Diffstat (limited to 'ecomp-portal-FE-common/client/app/views/microservice-onboarding/microservice-onboarding.controller.js')
-rw-r--r-- | ecomp-portal-FE-common/client/app/views/microservice-onboarding/microservice-onboarding.controller.js | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/ecomp-portal-FE-common/client/app/views/microservice-onboarding/microservice-onboarding.controller.js b/ecomp-portal-FE-common/client/app/views/microservice-onboarding/microservice-onboarding.controller.js new file mode 100644 index 00000000..6e711b75 --- /dev/null +++ b/ecomp-portal-FE-common/client/app/views/microservice-onboarding/microservice-onboarding.controller.js @@ -0,0 +1,87 @@ +'use strict'; +(function () { + class MicroserviceOnboardingCtrl { + constructor($log, applicationsService, microserviceService, ngDialog, confirmBoxService, + userProfileService, $cookies, $scope) { + + + let getOnboardingServices = () => { + microserviceService.getServiceList().then(res => { + $scope.serviceList = res; + }).catch(err => { + $log.error('MicroserviceOnboardingCtrl::getOnboardingServices caught error', err); + }); + }; + + + + let init = () => { + $scope.serviceList = []; + getOnboardingServices(); + this.serviceTableHeaders = [ + {name: 'Microservice Name', value: 'name', isSortable: false}, + {name: 'Service Endpoint URL', value: 'url', isSortable: false}, + {name: 'Security Type', value: 'securityType', isSortable: false} + ]; + }; + + this.openAddNewMicroserviceModal = (selectedService) => { + let data = null; + if(selectedService){ + if(!selectedService.id){ + $log.error('MicroserviceOnboardingCtrl:openAddNewMicroserviceModal:service id not found'); + return; + } + data = { + service:selectedService, + list: $scope.serviceList + } + }else{ + data = { + list: $scope.serviceList + } + } + + ngDialog.open({ + templateUrl: 'app/views/microservice-onboarding/microservice-add-details/microservice-add-details.html', + controller: 'MicroserviceAddDetailsCtrl', + controllerAs: 'microserviceAddDetails', + data: data + }).closePromise.then(needUpdate => { + if(needUpdate.value === true){ + getOnboardingServices(); + } + }); + }; + + this.deleteService = service => { + confirmBoxService.deleteItem(service.name).then(isConfirmed => { + if(isConfirmed){ + if(!service || !service.id){ + $log.error('MicroserviceOnboardingCtrl::deleteService: No service or ID... cannot delete'); + return; + } + microserviceService.deleteService(service.id).then((res) => { + if(res.status == "WARN"){ + confirmBoxService.showInformation("Failed: widgets " + res.response + " are assoicated with this microservice!"); + }else{ + $scope.serviceList.splice($scope.serviceList.indexOf(service), 1); + } + }).catch(err => { + $log.error('MicroserviceOnboardingCtrl::deleteService error:',err); + }); + } + }).catch(err => { + $log.error('MicroserviceOnboardingCtrl::deleteService error:',err); + }); + + + }; + + init(); + } + } + MicroserviceOnboardingCtrl.$inject = ['$log', 'applicationsService', 'microserviceService', 'ngDialog', 'confirmBoxService', + 'userProfileService','$cookies', '$scope']; + angular.module('ecompApp').controller('MicroserviceOnboardingCtrl', MicroserviceOnboardingCtrl); +})();
\ No newline at end of file |