summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE-common/client/app/views/microservice-onboarding/microservice-onboarding.controller.js
diff options
context:
space:
mode:
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.js87
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