[PORTAL-16 PORTAL-18] Widget ms; staging
[portal.git] / ecomp-portal-FE-common / client / app / services / widgets / widgets.service.js
index 735a731..601c9ff 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
-/**\r
- * Created by doritrieur on 12/3/15.\r
- */\r
-'use strict';\r
-\r
-(function () {\r
-    class WidgetsService {\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
-        getUserWidgets() {\r
-            let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsService::getUserWidgets');\r
-            this.$http({\r
-                method: 'GET',\r
-                url: this.conf.api.widgets,\r
-                cache: false,\r
-                headers: {\r
-                    'X-Widgets-Type': 'all',\r
-                    'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                // If response comes back as a redirected HTML page which IS NOT a success\r
-                if (this.utilsService.isValidJSON(res) == false) {\r
-                       var msg = 'WidgetsService::getUserWidgets Failed';\r
-                       this.$log.error(msg);\r
-                       deferred.reject(msg);\r
-                } else {\r
-                       // this.$log.info('WidgetsService::getUserWidgets Succeeded');\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
-            this.$log.info('WidgetsService::getManagedWidgets');\r
-            this.$http({\r
-                method: 'GET',\r
-                url: this.conf.api.widgets,\r
-                cache: false,\r
-                headers: {\r
-                    'X-Widgets-Type': 'managed',\r
-                    'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                    // If response comes back as a redirected HTML page which IS NOT a success\r
-                    if (this.utilsService.isValidJSON(res)== false) {\r
-                        deferred.reject('WidgetsService::getManagedWidgets Failed');\r
-                    } else if(Object.keys(res).length == 0 && this.utilsService.isValidJSON(res)) {\r
-                        deferred.resolve(null);\r
-                    } else {\r
-                        this.$log.info('WidgetsService::getManagedWidgets Succeeded');\r
-                        deferred.resolve(res.data);\r
-                    }\r
-                })\r
-                .catch(status => {\r
-                    deferred.reject(status);\r
-                });\r
-            return deferred.promise;\r
-        }\r
-\r
-        createWidget(widgetData) {\r
-            let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsService::createWidget');\r
-            this.$http({\r
-                method: 'POST',\r
-                url: this.conf.api.widgets,\r
-                cache: false,\r
-                data: widgetData,\r
-                headers: {\r
-                    'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                    // If response comes back as a redirected HTML page which IS NOT a success\r
-                    if (this.utilsService.isValidJSON(res)== false) {\r
-                        deferred.reject('WidgetsService::createWidget Failed');\r
-                    } else {\r
-                        this.$log.info('WidgetsService::createWidget Succeeded');\r
-                        deferred.resolve(res.data);\r
-                    }\r
-                })\r
-                .catch(errRes => {\r
-                    deferred.reject(errRes);\r
-                });\r
-            return deferred.promise;\r
-        }\r
-\r
-        updateWidget(widgetId, widgetData) {\r
-            let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsService::updateWidget');\r
-            let url = this.conf.api.widgets + '/' + widgetId;\r
-            this.$http({\r
-                method: 'PUT',\r
-                url: url,\r
-                cache: false,\r
-                data: widgetData,\r
-                headers: {\r
-                    'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                    // If response comes back as a redirected HTML page which IS NOT a success\r
-                    if (this.utilsService.isValidJSON(res)== false) {\r
-                        deferred.reject('WidgetsService::updateWidget Failed');\r
-                    } else {\r
-                        this.$log.info('WidgetsService::updateWidget Succeeded');\r
-                        deferred.resolve(res.data);\r
-                    }\r
-                })\r
-                .catch(errRes => {\r
-                    deferred.reject(errRes);\r
-                });\r
-            return deferred.promise;\r
-        }\r
-\r
-        deleteWidget(widgetId) {\r
-            let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsService::deleteWidget');\r
-            let url = this.conf.api.widgets + '/' + widgetId;\r
-            this.$http({\r
-                method: 'DELETE',\r
-                url: url,\r
-                cache: false,\r
-                headers: {\r
-                    'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(res => {\r
-                    // If response comes back as a redirected HTML page which IS NOT a success\r
-                    if (this.utilsService.isValidJSON(res)== false) {\r
-                        deferred.reject('WidgetsService::deleteWidget Failed');\r
-                    } else {\r
-                        this.$log.info('WidgetsService::deleteWidget Succeeded');\r
-                        deferred.resolve(res.data);\r
-                    }\r
-                })\r
-                .catch(status => {\r
-                    deferred.reject(status);\r
-                });\r
-            return deferred.promise;\r
-        }\r
-\r
-        checkIfWidgetUrlExists(urlToValidate) {\r
-            let deferred = this.$q.defer();\r
-            this.$log.info('WidgetsService::checkIfWidgetUrlExists:' + urlToValidate);\r
-            let reqBody = {\r
-                url: urlToValidate\r
-            };\r
-            this.$http({\r
-                method: 'POST',\r
-                url: this.conf.api.widgetsValidation,\r
-                cache: false,\r
-                data: reqBody,\r
-                headers: {\r
-                    'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then(() => {\r
-                //if exists return true\r
-                    deferred.resolve(true);\r
-                })\r
-                .catch(response => {\r
-                    if (this.utilsService.isValidJSON(res)== false) {\r
-                        deferred.reject('WidgetsService::checkIfWidgetUrlExists Failed');\r
-                    } else {\r
-                        if (response.data.status === 404) {\r
-                            deferred.resolve(false);\r
-                        } else {\r
-                            deferred.reject(response.data);\r
-                        }\r
-                    }\r
-                });\r
-            return deferred.promise;\r
-        }\r
-\r
-    }\r
-    WidgetsService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService'];\r
-    angular.module('ecompApp').service('widgetsService', WidgetsService)\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.
+ * ================================================================================
+ */
+/**
+ * Created by doritrieur on 12/3/15.
+ */
+'use strict';
+
+(function () {
+    class WidgetsService {
+        constructor($q, $log, $http, conf, uuid, utilsService) {
+            this.$q = $q;
+            this.$log = $log;
+            this.$http = $http;
+            this.conf = conf;
+            this.uuid = uuid;
+            this.utilsService = utilsService;
+        }
+
+        getUserWidgets() {
+            let deferred = this.$q.defer();
+            this.$log.info('WidgetsService::getUserWidgets');
+            this.$http({
+                method: 'GET',
+                url: this.conf.api.widgets,
+                cache: false,
+                headers: {
+                    'X-Widgets-Type': 'all',
+                    'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                // If response comes back as a redirected HTML page which IS NOT a success
+                if (this.utilsService.isValidJSON(res) == false) {
+                       var msg = 'WidgetsService::getUserWidgets Failed';
+                       this.$log.error(msg);
+                       deferred.reject(msg);
+                } else {
+                       // this.$log.info('WidgetsService::getUserWidgets Succeeded');
+                       deferred.resolve(res.data);
+                }
+            })
+            .catch(status => {
+                deferred.reject(status);
+            });
+            return deferred.promise;
+        }
+
+        getManagedWidgets() {
+            let deferred = this.$q.defer();
+            this.$log.info('WidgetsService::getManagedWidgets');
+            this.$http({
+                method: 'GET',
+                url: this.conf.api.widgets,
+                cache: false,
+                headers: {
+                    'X-Widgets-Type': 'managed',
+                    'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                    // If response comes back as a redirected HTML page which IS NOT a success
+                    if (this.utilsService.isValidJSON(res)== false) {
+                        deferred.reject('WidgetsService::getManagedWidgets Failed');
+                    } else if(Object.keys(res).length == 0 && this.utilsService.isValidJSON(res)) {
+                        deferred.resolve(null);
+                    } else {
+                        this.$log.info('WidgetsService::getManagedWidgets Succeeded');
+                        deferred.resolve(res.data);
+                    }
+                })
+                .catch(status => {
+                    deferred.reject(status);
+                });
+            return deferred.promise;
+        }
+
+        createWidget(widgetData) {
+            let deferred = this.$q.defer();
+            this.$log.info('WidgetsService::createWidget');
+            this.$http({
+                method: 'POST',
+                url: this.conf.api.widgets,
+                cache: false,
+                data: widgetData,
+                headers: {
+                    'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                    // If response comes back as a redirected HTML page which IS NOT a success
+                    if (this.utilsService.isValidJSON(res)== false) {
+                        deferred.reject('WidgetsService::createWidget Failed');
+                    } else {
+                        this.$log.info('WidgetsService::createWidget Succeeded');
+                        deferred.resolve(res.data);
+                    }
+                })
+                .catch(errRes => {
+                    deferred.reject(errRes);
+                });
+            return deferred.promise;
+        }
+
+        updateWidget(widgetId, widgetData) {
+            let deferred = this.$q.defer();
+            this.$log.info('WidgetsService::updateWidget');
+            let url = this.conf.api.widgets + '/' + widgetId;
+            this.$http({
+                method: 'PUT',
+                url: url,
+                cache: false,
+                data: widgetData,
+                headers: {
+                    'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                    // If response comes back as a redirected HTML page which IS NOT a success
+                    if (this.utilsService.isValidJSON(res)== false) {
+                        deferred.reject('WidgetsService::updateWidget Failed');
+                    } else {
+                        this.$log.info('WidgetsService::updateWidget Succeeded');
+                        deferred.resolve(res.data);
+                    }
+                })
+                .catch(errRes => {
+                    deferred.reject(errRes);
+                });
+            return deferred.promise;
+        }
+
+        deleteWidget(widgetId) {
+            let deferred = this.$q.defer();
+            this.$log.info('WidgetsService::deleteWidget');
+            let url = this.conf.api.widgets + '/' + widgetId;
+            this.$http({
+                method: 'DELETE',
+                url: url,
+                cache: false,
+                headers: {
+                    'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(res => {
+                    // If response comes back as a redirected HTML page which IS NOT a success
+                    if (this.utilsService.isValidJSON(res)== false) {
+                        deferred.reject('WidgetsService::deleteWidget Failed');
+                    } else {
+                        this.$log.info('WidgetsService::deleteWidget Succeeded');
+                        deferred.resolve(res.data);
+                    }
+                })
+                .catch(status => {
+                    deferred.reject(status);
+                });
+            return deferred.promise;
+        }
+
+        checkIfWidgetUrlExists(urlToValidate) {
+            let deferred = this.$q.defer();
+            this.$log.info('WidgetsService::checkIfWidgetUrlExists:' + urlToValidate);
+            let reqBody = {
+                url: urlToValidate
+            };
+            this.$http({
+                method: 'POST',
+                url: this.conf.api.widgetsValidation,
+                cache: false,
+                data: reqBody,
+                headers: {
+                    'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then(() => {
+                //if exists return true
+                    deferred.resolve(true);
+                })
+                .catch(response => {
+                    if (this.utilsService.isValidJSON(res)== false) {
+                        deferred.reject('WidgetsService::checkIfWidgetUrlExists Failed');
+                    } else {
+                        if (response.data.status === 404) {
+                            deferred.resolve(false);
+                        } else {
+                            deferred.reject(response.data);
+                        }
+                    }
+                });
+            return deferred.promise;
+        }
+
+    }
+    WidgetsService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService'];
+    angular.module('ecompApp').service('widgetsService', WidgetsService)
+})();