[PORTAL-16 PORTAL-18] Widget ms; staging
[portal.git] / ecomp-portal-FE-common / client / app / services / catalog / catalog.service.js
index 63d5b96..6b89341 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 CatalogService {\r
-       \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.debug = false;\r
-            this.utilsService = utilsService;\r
-        }\r
-\r
-        getAppCatalog() {\r
-            let deferred = this.$q.defer();\r
-            this.$http({\r
-                       method: "GET",\r
-                       url: this.conf.api.appCatalog,\r
-                    cache: false,\r
-                    headers: {\r
-                        'X-ECOMP-RequestID':this.uuid.generate()\r
-                    }\r
-                })\r
-                .then( res => {\r
-                       if (this.debug)\r
-                               this.$log.debug('CatalogService::getAppCatalog: result is ' + JSON.stringify(res));\r
-                    // Res is always JSON, but the data object might be an HTML error page.\r
-                    if (! this.utilsService.isValidJSON(res.data)) {\r
-                       var msg = 'CatalogService::getAppCatalog: result data is not JSON';\r
-                       if (this.debug)\r
-                               this.$log.debug(msg);\r
-                       deferred.reject(msg);\r
-                    } else {\r
-                       if (this.debug)\r
-                               this.$log.debug('CatalogService::getAppCatalog: success');\r
-                        deferred.resolve(res.data);\r
-                    }\r
-                })\r
-                .catch( status => {\r
-                       this.$log.error('CatalogService:getAppCatalog failed: ' + status);\r
-                    deferred.reject(status);\r
-                });\r
-            return deferred.promise;\r
-        }\r
-        \r
-        // Expects an object with fields matching model class AppCatalogSelection:\r
-        // appId (number), select (boolean), pending (boolean).\r
-        updateAppCatalog(appData) {\r
-            let deferred = this.$q.defer();\r
-            // Validate the request, maybe this is overkill\r
-            if (appData == null || appData.appId == null || appData.select == null) {\r
-               var msg = 'CatalogService::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.appCatalog,\r
-                data: appData,\r
-                headers: {\r
-                    'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then( res => {\r
-                    // Detect missing result\r
-                    if (res == null || res.data == null) {\r
-                        deferred.reject("CatalogService::updateAppCatalog Failed");\r
-                    } else {\r
-                        deferred.resolve(res.data);\r
-                    }\r
-                })\r
-                .catch( status => {\r
-                       this.$log.error('CatalogService:updateAppCatalog failed: ' + status);\r
-                    deferred.reject(status);\r
-                });\r
-            return deferred.promise;\r
-        }\r
-        \r
-        // Expects an object with fields and used to update records for ep_pers_user_app_man_sort table:\r
-        // appId (number), select (boolean).\r
-        updateManualAppSort(appData) {\r
-            let deferred = this.$q.defer();\r
-            \r
-            // Validate the request, maybe this is overkill\r
-            if (appData == null || appData.appId == null || appData.select == null) {\r
-               var msg = 'CatalogService::updateManualAppSort: 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.UpdateUserAppsSortManual,\r
-                data: appData,\r
-                headers: {\r
-                    'X-ECOMP-RequestID':this.uuid.generate()\r
-                }\r
-            }).then( res => {\r
-                    // Detect missing result\r
-                    if (res == null || res.data == null) {\r
-                        deferred.reject("CatalogService::updateManualAppSort Failed");\r
-                    } else {\r
-                        deferred.resolve(res.data);\r
-                    }\r
-                })\r
-                .catch( status => {\r
-                       this.$log.error('CatalogService:updateManualAppSort failed: ' + status);\r
-                    deferred.reject(status);\r
-                });\r
-            \r
-            return deferred.promise;\r
-        }\r
-           \r
-        getuserAppRolesCatalog(item) {\r
-            let deferred = this.$q.defer();\r
-            this.$http({\r
-                       method: "GET",\r
-                       url: this.conf.api.appCatalogRoles,\r
-                       params:{appName:item},\r
-                    cache: false,\r
-                    headers: {\r
-                        'X-ECOMP-RequestID':this.uuid.generate()\r
-                    }\r
-                })\r
-                .then( res => {\r
-                       if (this.debug)\r
-                               this.$log.debug('CatalogService::getAppCatalog: result is ' + JSON.stringify(res));\r
-                    // Res is always JSON, but the data object might be an HTML error page.\r
-                    if (! this.utilsService.isValidJSON(res.data)) {\r
-                       var msg = 'CatalogService::getAppCatalog: result data is not JSON';\r
-                       if (this.debug)\r
-                               this.$log.debug(msg);\r
-                       deferred.reject(msg);\r
-                    } else {\r
-                       if (this.debug)\r
-                               this.$log.debug('CatalogService::getAppCatalog: success');\r
-                        deferred.resolve(res.data);\r
-                    }\r
-                })\r
-                .catch( status => {\r
-                       this.$log.error('CatalogService:getAppCatalog failed: ' + status);\r
-                    deferred.reject(status);\r
-                });\r
-            return deferred.promise;\r
-        }\r
-        \r
-        \r
-\r
-    }\r
-    \r
-    CatalogService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService'];\r
-    angular.module('ecompApp').service('catalogService', CatalogService)\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 CatalogService {
+       
+        constructor($q, $log, $http, conf, uuid, utilsService) {
+            this.$q = $q;
+            this.$log = $log;
+            this.$http = $http;
+            this.conf = conf;
+            this.uuid = uuid;
+            this.debug = false;
+            this.utilsService = utilsService;
+        }
+
+        getAppCatalog() {
+            let deferred = this.$q.defer();
+            this.$http({
+                       method: "GET",
+                       url: this.conf.api.appCatalog,
+                    cache: false,
+                    headers: {
+                        'X-ECOMP-RequestID':this.uuid.generate()
+                    }
+                })
+                .then( res => {
+                       if (this.debug)
+                               this.$log.debug('CatalogService::getAppCatalog: result is ' + JSON.stringify(res));
+                    // Res is always JSON, but the data object might be an HTML error page.
+                    if (! this.utilsService.isValidJSON(res.data)) {
+                       var msg = 'CatalogService::getAppCatalog: result data is not JSON';
+                       if (this.debug)
+                               this.$log.debug(msg);
+                       deferred.reject(msg);
+                    } else {
+                       if (this.debug)
+                               this.$log.debug('CatalogService::getAppCatalog: success');
+                        deferred.resolve(res.data);
+                    }
+                })
+                .catch( status => {
+                       this.$log.error('CatalogService:getAppCatalog failed: ' + status);
+                    deferred.reject(status);
+                });
+            return deferred.promise;
+        }
+        
+        // Expects an object with fields matching model class AppCatalogSelection:
+        // appId (number), select (boolean), pending (boolean).
+        updateAppCatalog(appData) {
+            let deferred = this.$q.defer();
+            // Validate the request, maybe this is overkill
+            if (appData == null || appData.appId == null || appData.select == null) {
+               var msg = 'CatalogService::updateAppCatalog: field appId and/or select not found';
+                this.$log.error(msg);
+                return deferred.reject(msg);
+            }
+            this.$http({
+                method: "PUT",
+                url: this.conf.api.appCatalog,
+                data: appData,
+                headers: {
+                    'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then( res => {
+                    // Detect missing result
+                    if (res == null || res.data == null) {
+                        deferred.reject("CatalogService::updateAppCatalog Failed");
+                    } else {
+                        deferred.resolve(res.data);
+                    }
+                })
+                .catch( status => {
+                       this.$log.error('CatalogService:updateAppCatalog failed: ' + status);
+                    deferred.reject(status);
+                });
+            return deferred.promise;
+        }
+        
+        // Expects an object with fields and used to update records for ep_pers_user_app_man_sort table:
+        // appId (number), select (boolean).
+        updateManualAppSort(appData) {
+            let deferred = this.$q.defer();
+            
+            // Validate the request, maybe this is overkill
+            if (appData == null || appData.appId == null || appData.select == null) {
+               var msg = 'CatalogService::updateManualAppSort: field appId and/or select not found';
+                this.$log.error(msg);
+                return deferred.reject(msg);
+            }
+            this.$http({
+                method: "PUT",
+                url: this.conf.api.UpdateUserAppsSortManual,
+                data: appData,
+                headers: {
+                    'X-ECOMP-RequestID':this.uuid.generate()
+                }
+            }).then( res => {
+                    // Detect missing result
+                    if (res == null || res.data == null) {
+                        deferred.reject("CatalogService::updateManualAppSort Failed");
+                    } else {
+                        deferred.resolve(res.data);
+                    }
+                })
+                .catch( status => {
+                       this.$log.error('CatalogService:updateManualAppSort failed: ' + status);
+                    deferred.reject(status);
+                });
+            
+            return deferred.promise;
+        }
+           
+        getuserAppRolesCatalog(item) {
+            let deferred = this.$q.defer();
+            this.$http({
+                       method: "GET",
+                       url: this.conf.api.appCatalogRoles,
+                       params:{appName:item},
+                    cache: false,
+                    headers: {
+                        'X-ECOMP-RequestID':this.uuid.generate()
+                    }
+                })
+                .then( res => {
+                       if (this.debug)
+                               this.$log.debug('CatalogService::getAppCatalog: result is ' + JSON.stringify(res));
+                    // Res is always JSON, but the data object might be an HTML error page.
+                    if (! this.utilsService.isValidJSON(res.data)) {
+                       var msg = 'CatalogService::getAppCatalog: result data is not JSON';
+                       if (this.debug)
+                               this.$log.debug(msg);
+                       deferred.reject(msg);
+                    } else {
+                       if (this.debug)
+                               this.$log.debug('CatalogService::getAppCatalog: success');
+                        deferred.resolve(res.data);
+                    }
+                })
+                .catch( status => {
+                       this.$log.error('CatalogService:getAppCatalog failed: ' + status);
+                    deferred.reject(status);
+                });
+            return deferred.promise;
+        }
+        
+        getAppsFullList() {
+            let deferred = this.$q.defer();
+            this.$http({
+                       method: "GET",
+                       url: this.conf.api.appsFullList,
+                    cache: false,
+                    headers: {
+                        'X-ECOMP-RequestID':this.uuid.generate()
+                    }
+                })
+                .then( res => {
+                       if (this.debug)
+                               this.$log.debug('CatalogService::getAppsFullList: result is ' + JSON.stringify(res));
+                    // Res is always JSON, but the data object might be an HTML error page.
+                    if (! this.utilsService.isValidJSON(res.data)) {
+                       var msg = 'CatalogService::getAppsFullList: result data is not JSON';
+                       if (this.debug)
+                               this.$log.error(msg);
+                       deferred.reject(msg);
+                    } else {
+                       if (this.debug)
+                               this.$log.debug('CatalogService::getAppsFullList: success');
+                        deferred.resolve(res.data);
+                    }
+                })
+                .catch( status => {
+                       this.$log.error('CatalogService:getAppsFullList failed: ' + status);
+                    deferred.reject(status);
+                });
+            return deferred.promise;
+        }
+
+    }
+    
+    CatalogService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService'];
+    angular.module('ecompApp').service('catalogService', CatalogService)
+})();