[PORTAL-7] Rebase
[portal.git] / ecomp-portal-FE-common / client / app / services / microservice / microservice.service.js
diff --git a/ecomp-portal-FE-common/client/app/services/microservice/microservice.service.js b/ecomp-portal-FE-common/client/app/services/microservice/microservice.service.js
new file mode 100644 (file)
index 0000000..cb27cd4
--- /dev/null
@@ -0,0 +1,218 @@
+/*-\r
+ * ================================================================================\r
+ * ECOMP Portal\r
+ * ================================================================================\r
+ * Copyright (C) 2017 AT&T Intellectual Property\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ * \r
+ *      http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ================================================================================\r
+ */\r
+'use strict';\r
+\r
+(function () {\r
+    class MicroserviceService {\r
+        constructor($q, $log, $http, conf,uuid, utilsService) {\r
+            this.$q = $q;\r
+            this.$log = $log;\r
+            this.$http = $http;\r
+            this.conf = conf;\r
+            this.uuid = uuid;\r
+            this.utilsService = utilsService;   \r
+        }\r
+        \r
+        createService(newService) {\r
+               let deferred = this.$q.defer();\r
+               this.$http({\r
+                method: "POST",\r
+                url: this.conf.api.widgetCommon,\r
+                data: newService,\r
+                cache: false,\r
+                headers:{\r
+                       'X-ECOMP-RequestID':this.uuid.generate()\r
+                }\r
+            }).then(res => {\r
+               if (res == null || res.data == null) {\r
+                               this.$log.error('MicroserviceService::createService Failed: Result or result.data is null');\r
+                     deferred.reject("MicroserviceService::createService Failed: Result or result.data is null");\r
+                } else if (!this.utilsService.isValidJSON(res.data)) {\r
+                       this.$log.error('MicroserviceService::createService Failed: Invalid JSON format');\r
+                    deferred.reject("MicroserviceService::createService Failed: Invalid JSON format");\r
+                } else {\r
+                    deferred.resolve(res.data);\r
+                }\r
+            })\r
+            .catch(errRes => {\r
+                deferred.reject(errRes);\r
+            });\r
+            return deferred.promise;\r
+        }\r
+        \r
+        \r
+        updateService(serviceId, newService) {\r
+               let deferred = this.$q.defer();\r
+               this.$http({\r
+                method: "PUT",\r
+                url: this.conf.api.widgetCommon + "/" + serviceId,\r
+                data: newService,\r
+                cache: false,\r
+                headers:{\r
+                       'X-ECOMP-RequestID':this.uuid.generate()\r
+                }\r
+            }).then(res => {\r
+               if (res == null || res.data == null) {\r
+                               this.$log.error('MicroserviceService::updateService Failed: Result or result.data is null');\r
+                     deferred.reject("MicroserviceService::updateService Failed: Result or result.data is null");\r
+                } else if (!this.utilsService.isValidJSON(res.data)) {\r
+                       this.$log.error('MicroserviceService::updateService Failed: Invalid JSON format');\r
+                    deferred.reject("MicroserviceService::updateService Failed: Invalid JSON format");\r
+                } else {\r
+                    deferred.resolve(res.data);\r
+                }\r
+            })\r
+            .catch(errRes => {\r
+                deferred.reject(errRes);\r
+            });\r
+            return deferred.promise;\r
+        }\r
+        \r
+        deleteService(serviceId) {\r
+               let deferred = this.$q.defer();\r
+               this.$http({\r
+                method: "DELETE",\r
+                url: this.conf.api.widgetCommon + "/" + serviceId,\r
+                cache: false,\r
+                headers:{\r
+                       'X-ECOMP-RequestID':this.uuid.generate()\r
+                }\r
+            }).then(res => {\r
+               if (res == null || res.data == null) {\r
+                               this.$log.error('MicroserviceService::deleteService Failed: Result or result.data is null');\r
+                     deferred.reject("MicroserviceService::deleteService Failed: Result or result.data is null");\r
+                } else if (!this.utilsService.isValidJSON(res.data)) {\r
+                       this.$log.error('MicroserviceService::deleteService Failed: Invalid JSON format');\r
+                    deferred.reject("MicroserviceService::deleteService Failed: Invalid JSON format");\r
+                } else {\r
+                    deferred.resolve(res.data);\r
+                }\r
+            })\r
+            .catch(errRes => {\r
+                deferred.reject(errRes);\r
+            });\r
+            return deferred.promise;\r
+        }\r
+        \r
+        getServiceList() {\r
+               let deferred = this.$q.defer();\r
+               this.$http({\r
+                method: "GET",\r
+                url: this.conf.api.widgetCommon,\r
+                cache: false,\r
+                headers:{\r
+                       'X-ECOMP-RequestID':this.uuid.generate()\r
+                }\r
+            }).then(res => {\r
+               if (res == null || res.data == null) {\r
+                               this.$log.error('MicroserviceService::getServiceList Failed: Result or result.data is null');\r
+                     deferred.reject("MicroserviceService::getServiceList Failed: Result or result.data is null");\r
+                } else if (!this.utilsService.isValidJSON(res.data)) {\r
+                       this.$log.error('MicroserviceService::getServiceList Failed: Invalid JSON format');\r
+                    deferred.reject("MicroserviceService::getServiceList Failed: Invalid JSON format");\r
+                }  else {\r
+                    deferred.resolve(res.data);\r
+                }\r
+            })\r
+            .catch(errRes => {\r
+                deferred.reject(errRes);\r
+            });\r
+            return deferred.promise;\r
+        }\r
+        \r
+        getWidgetListByService(serviceId) {\r
+               let deferred = this.$q.defer();\r
+               this.$http({\r
+                method: "GET",\r
+                url: this.conf.api.widgetCommon + '/' + serviceId,\r
+                cache: false,\r
+                headers:{\r
+                       'X-ECOMP-RequestID':this.uuid.generate()\r
+                }\r
+            }).then(res => {\r
+               if (res == null || res.data == null) {\r
+                               this.$log.error('MicroserviceService::getWidgetListByService Failed: Result or result.data is null');\r
+                     deferred.reject("MicroserviceService::getWidgetListByService Failed: Result or result.data is null");\r
+                } else if (!this.utilsService.isValidJSON(res.data)) {\r
+                       this.$log.error('MicroserviceService::getWidgetListByService Failed: Invalid JSON format');\r
+                    deferred.reject("MicroserviceService::getWidgetListByService Failed: Invalid JSON format");\r
+                } else {\r
+                    deferred.resolve(res.data);\r
+                }\r
+            })\r
+            .catch(errRes => {\r
+                deferred.reject(errRes);\r
+            });\r
+            return deferred.promise;\r
+        }\r
+        \r
+        getUserParameterById(paramId){\r
+               let deferred = this.$q.defer();\r
+               this.$http({\r
+                method: "GET",\r
+                url: this.conf.api.widgetCommon + '/services/' +  paramId,\r
+                cache: false,\r
+                headers:{\r
+                       'X-ECOMP-RequestID':this.uuid.generate()\r
+                }\r
+            }).then(res => {\r
+               if (res == null || res.data == null) {\r
+                               this.$log.error('MicroserviceService::getUserParameterById Failed: Result or result.data is null');\r
+                     deferred.reject("MicroserviceService::getUserParameterById Failed: Result or result.data is null");\r
+                } else if (!this.utilsService.isValidJSON(res.data)) {\r
+                       this.$log.error('MicroserviceService::getUserParameterById Failed: Invalid JSON format');\r
+                    deferred.reject("MicroserviceService::getUserParameterById Failed: Invalid JSON format");\r
+                } else {\r
+                    deferred.resolve(res.data);\r
+                }\r
+            })\r
+            .catch(errRes => {\r
+                deferred.reject(errRes);\r
+            });\r
+            return deferred.promise;\r
+        }\r
+        \r
+        deleteUserParameterById(paramId){\r
+               let deferred = this.$q.defer();\r
+               this.$http({\r
+                method: "DELETE",\r
+                url: this.conf.api.widgetCommon + '/services/' +  paramId,\r
+                cache: false,\r
+                headers:{\r
+                       'X-ECOMP-RequestID':this.uuid.generate()\r
+                }\r
+            }).then(res => {\r
+               if (res == null || res.data == null) {\r
+                               this.$log.error('MicroserviceService::deleteUserParameterById Failed: Result or result.data is null');\r
+                     deferred.reject("MicroserviceService::deleteUserParameterById Failed: Result or result.data is null");\r
+                } else {\r
+                    deferred.resolve(res.data);\r
+                }\r
+            })\r
+            .catch(errRes => {\r
+                deferred.reject(errRes);\r
+            });\r
+            return deferred.promise;\r
+        }\r
+    }\r
+    \r
+    MicroserviceService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService'];\r
+    angular.module('ecompApp').service('microserviceService', MicroserviceService)\r
+})();\r