[PORTAL-16 PORTAL-18] Widget ms; staging
[portal.git] / ecomp-portal-FE-common / client / app / services / widgets-catalog / widgets-catalog.service.js
index 99ace1c..c3b57e3 100644 (file)
-/*-\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 WidgetsCatalogService {\r
-        constructor($q, $log, $http, conf,uuid,base64Service, beReaderService, utilsService) {\r
-            this.$q = $q;\r
-            this.$log = $log;\r
-            this.$http = $http;\r
-            this.conf = conf;\r
-            this.uuid = uuid;\r
-            this.base64Service = base64Service;\r
-            this.beReaderService = beReaderService;\r
-            this.utilsService = utilsService;\r
-        }\r
-        \r
-        getUserWidgets(loginName) {\r
-                let deferred = this.$q.defer();\r
-                this.$http({\r
-                        method: "GET",\r
-                    url: this.conf.api.widgetCommon + '/widgetCatalog' + '/' + loginName,\r
-                    cache: false,\r
-                    headers: {\r
-                        'X-Widgets-Type': 'all',\r
-                        'X-ECOMP-RequestID':this.uuid.generate()\r
-                    }\r
-             }).then(res => {\r
-                       if (res == null || res.data == null) {\r
-                     deferred.reject("WidgetsCatalogService::getUserWidgets Failed");\r
-                 } else {\r
-                     deferred.resolve(res.data);\r
-                 }\r
-             })\r
-             .catch(status => {\r
-                deferred.reject(status);\r
-                });\r
-             return deferred.promise;\r
-        }\r
-\r
-        getManagedWidgets() {                  \r
-            let deferred = this.$q.defer();\r
-            let url = this.conf.api.widgetCommon + '/widgetCatalog';\r
-            this.$http({\r
-               method: "GET",\r
-               url: url,\r
-               cache: false,\r
-               headers: {\r
-                       'X-Widgets-Type': 'all',\r
-                       'X-ECOMP-RequestID':this.uuid.generate()\r
-               }\r
-            }).then(res => {\r
-                       if (res == null || res.data == null) {\r
-                     deferred.reject("WidgetsCatalogService::getManagedWidgets Failed");\r
-                 } else {\r
-                     deferred.resolve(res.data);\r
-                 }\r
-             })\r
-             .catch(status => {\r
-                 deferred.reject(status);\r
-             });  \r
-            return deferred.promise;\r
-        }\r
-        \r
-        createWidget(newWidget, file) {\r
-               console.log(newWidget);\r
-               let deferred = this.$q.defer();\r
-               var formData = new FormData();\r
-               formData.append('file', file);\r
-               this.$http({\r
-                method: "POST",\r
-                url: this.conf.api.widgetCommon + '/widgetCatalog',\r
-                transformRequest: angular.identity,  \r
-                data: formData,\r
-                headers:{  \r
-                       'Content-Type': undefined,\r
-                       'X-Widgets-Type': 'all',\r
-                       'X-ECOMP-RequestID':this.uuid.generate()\r
-                },\r
-                params:{\r
-                       'newWidget': newWidget\r
-                }\r
-            }).then(res => {\r
-               if (res == null || res.data == null) {\r
-                    deferred.reject("WidgetsCatalogService::getManagedWidgets Failed");\r
-                } else {\r
-                    deferred.resolve(res.data);\r
-                }\r
-            })\r
-            .catch(errRes => {\r
-                deferred.reject(errRes);\r
-            });\r
-            return deferred.promise;\r
-        }\r
-        \r
-        updateWidgetWithFile(file, widgetId, newWidget){\r
-               console.log(widgetId);\r
-               let deferred = this.$q.defer();\r
-            var formData = new FormData();\r
-               formData.append('file', file);\r
-               let url = this.conf.api.widgetCommon + '/widgetCatalog/' + widgetId;\r
-               this.$http({\r
-                method: 'POST',\r
-                url: url, \r
-                transformRequest: angular.identity,  \r
-                data: formData,\r
-                headers: {        \r
-                       'Content-Type': undefined,\r
-                       'X-Widgets-Type': 'all',\r
-                       'X-ECOMP-RequestID':this.uuid.generate()\r
-                },\r
-                       params:{\r
-                               'newWidget': newWidget\r
-                       }\r
-            })\r
-            .then(res => {\r
-               if (res == null || res.data == null)\r
-                  deferred.reject("WidgetsCatalogService::saveWidgetFile Failed");\r
-               else \r
-                  deferred.resolve(res.data);\r
-            })\r
-            .catch(status => {\r
-                 deferred.reject(status);\r
-             });  \r
-               return deferred.promise;\r
-        }\r
-        \r
-        updateWidget(widgetId, widgetData) {\r
-            let deferred = this.$q.defer();\r
-            let url = this.conf.api.widgetCommon  + '/widgetCatalog' + '/' + widgetId;\r
-            this.$http({\r
-               method: 'PUT',\r
-               url: url,\r
-               cache: false,\r
-               data: widgetData,\r
-               headers: {\r
-                       'X-Widgets-Type': 'all',\r
-                       'X-ECOMP-RequestID':this.uuid.generate()\r
-               }\r
-            })\r
-            .then(res => {\r
-               deferred.resolve(res.data);\r
-            })\r
-            .catch(errRes => {\r
-               deferred.reject(errRes);\r
-            });\r
-           \r
-            return deferred.promise;\r
-        }\r
-        \r
-        \r
-        deleteWidgetFile(widgetName) {\r
-               let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsCatalogService::deleteWidgetCatalog');\r
-            let url = this.conf.api.widgetCommon + '/doUpload' + '/' + widgetName;\r
-            this.$http({\r
-                method: "DELETE",\r
-                url: url,\r
-                cache: false,\r
-                headers:{  \r
-                       'X-Widgets-Type': 'all',\r
-                       'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                    deferred.resolve(res.data); \r
-                })\r
-                .catch(status => {\r
-                       deferred.reject(status);\r
-                });\r
-           \r
-            return deferred.promise;\r
-        }\r
-        \r
-        deleteWidget(widgetId) {\r
-               let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsCatalogService::deleteWidgetCatalog');\r
-            let url = this.conf.api.widgetCommon + '/widgetCatalog'  + '/' + widgetId;\r
-            this.$http({\r
-                method: "DELETE",\r
-                url: url,\r
-                cache: false,\r
-                headers:{  \r
-                       'X-Widgets-Type': 'all',\r
-                       'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                    deferred.resolve(res.data); \r
-                })\r
-                .catch(status => {\r
-                       deferred.reject(status);\r
-                });\r
-           \r
-            return deferred.promise;\r
-        }\r
-        \r
-        downloadWidgetFile(widgetId) {\r
-               let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsCatalogService::downloadWidgetFile');\r
-            let url = this.conf.api.widgetCommon + '/download/' + widgetId;\r
-            console.log(url);\r
-            this.$http({\r
-                method: "GET",\r
-                url: url,\r
-                cache: false,\r
-                responseType: "arraybuffer",\r
-                headers:{  \r
-                       'X-Widgets-Type': 'all',\r
-                       'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                    deferred.resolve(res.data); \r
-                })\r
-                .catch(status => {\r
-                       deferred.reject(status);\r
-                });\r
-           \r
-            return deferred.promise;\r
-        }\r
-        \r
-        updateWidgetCatalog(appData){\r
-               let deferred = this.$q.defer();\r
-            // Validate the request, maybe this is overkill\r
-            if (appData == null || appData.widgetId == null || appData.select == null) {\r
-               var msg = 'WidgetCatalogService::updateAppCatalog: field appId and/or select not found';\r
-                this.$log.error(msg);\r
-                return deferred.reject(msg);\r
-            }\r
-            this.$http({\r
-                method: "PUT",\r
-                url: this.conf.api.widgetCatalogSelection,\r
-                data: appData,\r
-                headers: {\r
-                        'X-Widgets-Type': 'all',\r
-                        'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then( res => {\r
-                    // Detect non-JSON\r
-                    if (res == null || res.data == null) {\r
-                        deferred.reject("WidgetCatalogService::updateAppCatalog Failed");\r
-                    } else {\r
-                        deferred.resolve(res.data);\r
-                    }\r
-                })\r
-                .catch( status => {\r
-                       this.$log.error('WidgetCatalogService:updateAppCatalog failed: ' + status);\r
-                    deferred.reject(status);\r
-                });\r
-            return deferred.promise;\r
-        }\r
-        \r
-        getServiceJSON(serviceId){\r
-               let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsCatalogService::getServiceJSON');\r
-            let url = this.conf.api.microserviceProxy + "/" + serviceId;\r
-            console.log(url);\r
-            this.$http({\r
-                method: "GET",\r
-                url: url,\r
-                cache: false,\r
-                headers:{  \r
-                       'X-Widgets-Type': 'all',\r
-                       'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                       if (res == null || res == null) {\r
-                                       this.$log.error('WidgetCatalogService::getServiceJSON Failed: Result or result.data is null');\r
-                           deferred.reject("WidgetCatalogService::getServiceJSON Failed: Result or result.data is null");\r
-                       } else{\r
-                               deferred.resolve(res.data);\r
-                       }\r
-                       \r
-                })\r
-                .catch(status => {\r
-                       deferred.reject(status);\r
-                });\r
-           \r
-            return deferred.promise;\r
-        }\r
-        \r
-        getWidgetCatalogParameters(widgetId){\r
-               let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsCatalogService::getWidgetCatalogParameters');\r
-            let url = this.conf.api.widgetCommon + "/parameters/" + widgetId;\r
-            console.log(url);\r
-            this.$http({\r
-                method: "GET",\r
-                url: url,\r
-                cache: false,\r
-                headers:{  \r
-                       'X-Widgets-Type': 'all',\r
-                       'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                       if (res == null || res.data == null) {\r
-                                       this.$log.error('WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null');\r
-                           deferred.reject("WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null");\r
-                       } else {\r
-                           deferred.resolve(res.data);\r
-                       }\r
-                })\r
-                .catch(status => {\r
-                       deferred.reject(status);\r
-                });\r
-           \r
-            return deferred.promise;\r
-        }\r
-        \r
-        \r
-        saveWidgetParameter(widgetParamObject){\r
-               let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsCatalogService::saveWidgetParameter');\r
-            let url = this.conf.api.widgetCommon + "/parameters";\r
-            this.$http({\r
-                method: "POST",\r
-                url: url,\r
-                cache: false,\r
-                data: widgetParamObject,\r
-                headers:{  \r
-                       'X-Widgets-Type': 'all',\r
-                       'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                       if (res == null || res.data == null) {\r
-                                       this.$log.error('WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null');\r
-                           deferred.reject("WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null");\r
-                       } else {\r
-                           deferred.resolve(res.data);\r
-                       }\r
-                })\r
-                .catch(status => {\r
-                       deferred.reject(status);\r
-                });\r
-           \r
-            return deferred.promise;\r
-        }\r
-        \r
-    }\r
-    \r
-    WidgetsCatalogService.$inject = ['$q', '$log', '$http', 'conf','uuid4','base64Service', 'beReaderService', 'utilsService'];\r
-    angular.module('ecompApp').service('widgetsCatalogService', WidgetsCatalogService)\r
-})();\r
+/*-
+ * ================================================================================
+ * ECOMP Portal
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ================================================================================
+ */
+'use strict';
+
+(function () {
+       class WidgetsCatalogService {
+        constructor($q, $log, $http, conf,uuid,base64Service, beReaderService, utilsService) {
+            this.$q = $q;
+            this.$log = $log;
+            this.$http = $http;
+            this.conf = conf;
+            this.uuid = uuid;
+            this.base64Service = base64Service;
+            this.beReaderService = beReaderService;
+            this.utilsService = utilsService;
+        }
+        
+        getUserWidgets(loginName) {
+                let deferred = this.$q.defer();
+                this.$http({
+                        method: "GET",
+                    url: this.conf.api.widgetCommon + '/widgetCatalog' + '/' + loginName,
+                    cache: false,
+                    headers: {
+                        'X-Widgets-Type': 'all',
+                        'X-ECOMP-RequestID':this.uuid.generate()
+                    }
+             }).then(res => {
+                       if (res == null || res.data == null) {
+                     deferred.reject("WidgetsCatalogService::getUserWidgets Failed");
+                 } else {
+                     deferred.resolve(res.data);
+                 }
+             })
+             .catch(status => {
+                deferred.reject(status);
+                });
+             return deferred.promise;
+        }
+
+        getManagedWidgets() {                  
+            let deferred = this.$q.defer();
+            let url = this.conf.api.widgetCommon + '/widgetCatalog';
+            this.$http({
+               method: "GET",
+               url: url,
+               cache: false,
+               headers: {
+                       'X-Widgets-Type': 'all',
+                       'X-ECOMP-RequestID':this.uuid.generate()
+               }
+            }).then(res => {
+                       if (res == null || res.data == null) {
+                     deferred.reject("WidgetsCatalogService::getManagedWidgets Failed");
+                 } else {
+                     deferred.resolve(res.data);
+                 }
+             })
+             .catch(status => {
+                 deferred.reject(status);
+             });  
+            return deferred.promise;
+        }
+        
+        createWidget(newWidget, file) {
+               console.log(newWidget);
+               let deferred = this.$q.defer();
+               var formData = new FormData();
+               formData.append('file', file);
+               this.$http({
+                method: "POST",
+                url: this.conf.api.widgetCommon + '/widgetCatalog',
+                transformRequest: angular.identity,  
+                data: formData,
+                headers:{  
+                       'Content-Type': undefined,
+                       'X-Widgets-Type': 'all',
+                       'X-ECOMP-RequestID':this.uuid.generate()
+                },
+                params:{
+                       'newWidget': newWidget
+                }
+            }).then(res => {
+               if (res == null || res.data == null) {
+                    deferred.reject("WidgetsCatalogService::getManagedWidgets Failed");
+                } else {
+                    deferred.resolve(res.data);
+                }
+            })
+            .catch(errRes => {
+                deferred.reject(errRes);
+            });
+            return deferred.promise;
+        }
+        
+        updateWidgetWithFile(file, widgetId, newWidget){
+               console.log(widgetId);
+               let deferred = this.$q.defer();
+            var formData = new FormData();
+               formData.append('file', file);
+               let url = this.conf.api.widgetCommon + '/widgetCatalog/' + widgetId;
+               this.$http({
+                method: 'POST',
+                url: url, 
+                transformRequest: angular.identity,  
+                data: formData,
+                headers: {        
+                       'Content-Type': undefined,
+                       'X-Widgets-Type': 'all',
+                       'X-ECOMP-RequestID':this.uuid.generate()
+                },
+                       params:{
+                               'newWidget': newWidget
+                       }
+            })
+            .then(res => {
+               if (res == null || res.data == null)
+                  deferred.reject("WidgetsCatalogService::saveWidgetFile Failed");
+               else 
+                  deferred.resolve(res.data);
+            })
+            .catch(status => {
+                 deferred.reject(status);
+             });  
+               return deferred.promise;
+        }
+        
+        updateWidget(widgetId, widgetData) {
+            let deferred = this.$q.defer();
+            let url = this.conf.api.widgetCommon  + '/widgetCatalog' + '/' + widgetId;
+            this.$http({
+               method: 'PUT',
+               url: url,
+               cache: false,
+               data: widgetData,
+               headers: {
+                       'X-Widgets-Type': 'all',
+                       'X-ECOMP-RequestID':this.uuid.generate()
+               }
+            })
+            .then(res => {
+               deferred.resolve(res.data);
+            })
+            .catch(errRes => {
+               deferred.reject(errRes);
+            });
+           
+            return deferred.promise;
+        }
+        
+        
+        deleteWidgetFile(widgetName) {
+               let deferred = this.$q.defer();
+            this.$log.info('WidgetsCatalogService::deleteWidgetCatalog');
+            let url = this.conf.api.widgetCommon + '/doUpload' + '/' + widgetName;
+            this.$http({
+                method: "DELETE",
+                url: url,
+                cache: false,
+                headers:{  
+                       'X-Widgets-Type': 'all',
+                       'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                    deferred.resolve(res.data); 
+                })
+                .catch(status => {
+                       deferred.reject(status);
+                });
+           
+            return deferred.promise;
+        }
+        
+        deleteWidget(widgetId) {
+               let deferred = this.$q.defer();
+            this.$log.info('WidgetsCatalogService::deleteWidgetCatalog');
+            let url = this.conf.api.widgetCommon + '/widgetCatalog'  + '/' + widgetId;
+            this.$http({
+                method: "DELETE",
+                url: url,
+                cache: false,
+                headers:{  
+                       'X-Widgets-Type': 'all',
+                       'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                    deferred.resolve(res.data); 
+                })
+                .catch(status => {
+                       deferred.reject(status);
+                });
+           
+            return deferred.promise;
+        }
+        
+        downloadWidgetFile(widgetId) {
+               let deferred = this.$q.defer();
+            this.$log.info('WidgetsCatalogService::downloadWidgetFile');
+            let url = this.conf.api.widgetCommon + '/download/' + widgetId;
+            console.log(url);
+            this.$http({
+                method: "GET",
+                url: url,
+                cache: false,
+                responseType: "arraybuffer",
+                headers:{  
+                       'X-Widgets-Type': 'all',
+                       'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                    deferred.resolve(res.data); 
+                })
+                .catch(status => {
+                       deferred.reject(status);
+                });
+           
+            return deferred.promise;
+        }
+        
+        updateWidgetCatalog(appData){
+               let deferred = this.$q.defer();
+            // Validate the request, maybe this is overkill
+            if (appData == null || appData.widgetId == null || appData.select == null) {
+               var msg = 'WidgetCatalogService::updateAppCatalog: field appId and/or select not found';
+                this.$log.error(msg);
+                return deferred.reject(msg);
+            }
+            this.$http({
+                method: "PUT",
+                url: this.conf.api.widgetCatalogSelection,
+                data: appData,
+                headers: {
+                        'X-Widgets-Type': 'all',
+                        'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then( res => {
+                    // Detect non-JSON
+                    if (res == null || res.data == null) {
+                        deferred.reject("WidgetCatalogService::updateAppCatalog Failed");
+                    } else {
+                        deferred.resolve(res.data);
+                    }
+                })
+                .catch( status => {
+                       this.$log.error('WidgetCatalogService:updateAppCatalog failed: ' + status);
+                    deferred.reject(status);
+                });
+            return deferred.promise;
+        }
+        
+        getServiceJSON(serviceId){
+               let deferred = this.$q.defer();
+            this.$log.info('WidgetsCatalogService::getServiceJSON');
+            let url = this.conf.api.microserviceProxy + "/" + serviceId;
+            console.log(url);
+            this.$http({
+                method: "GET",
+                url: url,
+                cache: false,
+                headers:{  
+                       'X-Widgets-Type': 'all',
+                       'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                       if (res == null || res == null) {
+                                       this.$log.error('WidgetCatalogService::getServiceJSON Failed: Result or result.data is null');
+                           deferred.reject("WidgetCatalogService::getServiceJSON Failed: Result or result.data is null");
+                       } else{
+                               deferred.resolve(res.data);
+                       }
+                       
+                })
+                .catch(status => {
+                       deferred.reject(status);
+                });
+           
+            return deferred.promise;
+        }
+        
+        getWidgetCatalogParameters(widgetId){
+               let deferred = this.$q.defer();
+            this.$log.info('WidgetsCatalogService::getWidgetCatalogParameters');
+            let url = this.conf.api.widgetCommon + "/parameters/" + widgetId;
+            console.log(url);
+            this.$http({
+                method: "GET",
+                url: url,
+                cache: false,
+                headers:{  
+                       'X-Widgets-Type': 'all',
+                       'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                       if (res == null || res.data == null) {
+                                       this.$log.error('WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null');
+                           deferred.reject("WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null");
+                       } else {
+                           deferred.resolve(res.data);
+                       }
+                })
+                .catch(status => {
+                       deferred.reject(status);
+                });
+           
+            return deferred.promise;
+        }
+        
+        
+        saveWidgetParameter(widgetParamObject){
+               let deferred = this.$q.defer();
+            this.$log.info('WidgetsCatalogService::saveWidgetParameter');
+            let url = this.conf.api.widgetCommon + "/parameters";
+            this.$http({
+                method: "POST",
+                url: url,
+                cache: false,
+                data: widgetParamObject,
+                headers:{  
+                       'X-Widgets-Type': 'all',
+                       'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                       if (res == null || res.data == null) {
+                                       this.$log.error('WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null');
+                           deferred.reject("WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null");
+                       } else {
+                           deferred.resolve(res.data);
+                       }
+                })
+                .catch(status => {
+                       deferred.reject(status);
+                });
+           
+            return deferred.promise;
+        }
+        
+    }
+    
+    WidgetsCatalogService.$inject = ['$q', '$log', '$http', 'conf','uuid4','base64Service', 'beReaderService', 'utilsService'];
+    angular.module('ecompApp').service('widgetsCatalogService', WidgetsCatalogService)
+})();