-/*-\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)
+})();