3     class MicroserviceOnboardingCtrl {
 
   4         constructor($log, applicationsService, microserviceService, ngDialog, confirmBoxService,
 
   5                     userProfileService, $cookies, $scope) {
 
   8             let getOnboardingServices = () => {
 
   9                 microserviceService.getServiceList().then(res => {
 
  10                      $scope.serviceList = res;
 
  12                     $log.error('MicroserviceOnboardingCtrl::getOnboardingServices caught error', err);
 
  19                 $scope.serviceList = [];
 
  20                 getOnboardingServices();
 
  21                 this.serviceTableHeaders = [
 
  22                     {name: 'Microservice Name', value: 'name', isSortable: false},
 
  23                     {name: 'Service Endpoint URL', value: 'url', isSortable: false},
 
  24                     {name: 'Security Type', value: 'securityType', isSortable: false}
 
  28             this.openAddNewMicroserviceModal = (selectedService) => {
 
  31                                         if(!selectedService.id){
 
  32                                                 $log.error('MicroserviceOnboardingCtrl:openAddNewMicroserviceModal:service id not found');
 
  36                                                 service:selectedService,
 
  37                                                 list: $scope.serviceList
 
  41                                                 list: $scope.serviceList        
 
  46                     templateUrl: 'app/views/microservice-onboarding/microservice-add-details/microservice-add-details.html',
 
  47                     controller: 'MicroserviceAddDetailsCtrl',
 
  48                     controllerAs: 'microserviceAddDetails',
 
  50                 }).closePromise.then(needUpdate => {
 
  51                         if(needUpdate.value === true){
 
  52                                 getOnboardingServices();
 
  57             this.deleteService = service => { 
 
  58                    confirmBoxService.deleteItem(service.name).then(isConfirmed => {   
 
  60                                 if(!service || !service.id){
 
  61                            $log.error('MicroserviceOnboardingCtrl::deleteService: No service or ID... cannot delete');
 
  64                        microserviceService.deleteService(service.id).then((res) => {                               
 
  65                            if(res.status == "WARN"){
 
  66                                    confirmBoxService.showInformation("Failed: widgets " +  res.response + " are assoicated with this microservice!");
 
  68                                    $scope.serviceList.splice($scope.serviceList.indexOf(service), 1);
 
  71                            $log.error('MicroserviceOnboardingCtrl::deleteService error:',err);
 
  75                    $log.error('MicroserviceOnboardingCtrl::deleteService error:',err);
 
  84     MicroserviceOnboardingCtrl.$inject = ['$log', 'applicationsService', 'microserviceService', 'ngDialog', 'confirmBoxService',
 
  85         'userProfileService','$cookies', '$scope'];
 
  86     angular.module('ecompApp').controller('MicroserviceOnboardingCtrl', MicroserviceOnboardingCtrl);