2 * ================================================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ================================================================================
23 class FunctionalMenuService {
24 constructor($q, $log, $http, conf, uuid, utilsService) {
30 this.utilsService = utilsService;
34 getManagedRolesMenu( appId )
36 let deferred = this.$q.defer();
37 this.$log.info('FunctionalMenuService::getManagedRolesMenu');
38 let url = this.conf.api.appRoles.replace(':appId', appId);
39 this.$log.info('FunctionalMenuService::getManagedRolesMenu url: '+url);
46 'X-ECOMP-RequestID':this.uuid.generate()
49 // If response comes back as a redirected HTML page which IS NOT a success
50 if (this.utilsService.isValidJSON(res)== false) {
51 deferred.reject('functionalMenu.service::getManagedRolesMenu Failed');
53 this.$log.info('functionalMenu.service::getManagedRolesMenu succeeded: ');
54 deferred.resolve(res.data);
58 deferred.reject(status);
60 return deferred.promise;
63 getAvailableApplications()
65 let deferred = this.$q.defer();
66 this.$log.info('FunctionalMenuService::getManagedRolesMenu:getAvailableApplications');
70 // url: this.conf.api.availableApps,
71 url: this.conf.api.allAvailableApps,
74 'X-ECOMP-RequestID':this.uuid.generate()
77 // If response comes back as a redirected HTML page which IS NOT a success
78 if (this.utilsService.isValidJSON(res)== false) {
79 deferred.reject('FunctionalMenuService::getManagedRolesMenu:getAvailableApplications Failed');
81 this.$log.info('FunctionalMenuService::getManagedRolesMenu:getAvailableApplications succeeded: ');
82 deferred.resolve(res.data);
86 deferred.reject(status);
88 return deferred.promise;
90 getMenuDetails( menuId )
92 let deferred = this.$q.defer();
93 this.$log.info('FunctionalMenuService::getMenuDetails:getMenuDetails');
94 let url = this.conf.api.functionalMenuItemDetails.replace(':menuId',menuId);
95 this.$log.info('FunctionalMenuService::getMenuDetails url: '+url);
103 'X-ECOMP-RequestID':this.uuid.generate()
106 // If response comes back as a redirected HTML page which IS NOT a success
107 if (this.utilsService.isValidJSON(res)== false) {
108 deferred.reject('FunctionalMenuService::getMenuDetails:getMenuDetails Failed');
110 this.$log.info('FunctionalMenuService::getMenuDetails:getMenuDetails succeeded: ');
111 deferred.resolve(res.data);
115 deferred.reject(status);
117 return deferred.promise;
121 getManagedFunctionalMenu() {
122 let deferred = this.$q.defer();
123 this.$log.info('FunctionalMenuService::getMenuDetails:getManagedFunctionalMenu');
127 // url: this.conf.api.functionalMenuForAuthUser,
128 url: this.conf.api.functionalMenuForEditing,
131 'X-ECOMP-RequestID':this.uuid.generate()
134 // If response comes back as a redirected HTML page which IS NOT a success
135 if (this.utilsService.isValidJSON(res)== false) {
136 deferred.reject('FunctionalMenuService::getManagedFunctionalMenu Failed');
138 this.$log.info('FunctionalMenuService::getManagedFunctionalMenu succeeded: ');
139 deferred.resolve(res.data);
143 deferred.reject(status);
145 return deferred.promise;
148 getManagedFunctionalMenuForNotificationTree() {
149 let deferred = this.$q.defer();
150 this.$log.info('FunctionalMenuService::getMenuDetails:getManagedFunctionalMenuForNotificationTree');
153 url: this.conf.api.functionalMenuForNotificationTree,
156 'X-ECOMP-RequestID':this.uuid.generate()
159 // If response comes back as a redirected HTML page which IS NOT a success
160 if (this.utilsService.isValidJSON(res)== false) {
161 deferred.reject('FunctionalMenuService::getManagedFunctionalMenuForNotificationTree Failed');
164 this.$log.info('FunctionalMenuService::getManagedFunctionalMenuForNotificationTree succeeded: ');
165 deferred.resolve(res.data);
169 deferred.reject(status);
171 return deferred.promise;
175 regenerateFunctionalMenuAncestors() {
176 let deferred = this.$q.defer();
177 this.$log.info('FunctionalMenuService::regenerateFunctionalMenuAncestors');
181 url: this.conf.api.regenerateFunctionalMenuAncestors,
184 'X-ECOMP-RequestID':this.uuid.generate()
187 // If response comes back as a redirected HTML page which IS NOT a success
188 if (this.utilsService.isValidJSON(res)== false) {
189 deferred.reject('FunctionalMenuService::regenerateFunctionalMenuAncestors Failed');
191 this.$log.info('FunctionalMenuService::regenerateFunctionalMenuAncestors succeeded: ');
192 deferred.resolve(res.data);
196 deferred.reject(status);
198 return deferred.promise;
201 saveEditedMenuItem(menuData) {
202 let deferred = this.$q.defer();
203 this.$log.info('FunctionalMenuService::saveEditedMenuItem: ' + menuData);
205 let url = this.conf.api.functionalMenuItem;
212 'X-ECOMP-RequestID':this.uuid.generate()
215 // If response comes back as a redirected HTML page which IS NOT a success
216 if (this.utilsService.isValidJSON(res)== false) {
217 deferred.reject('FunctionalMenuService::saveEditedMenuItem Failed');
219 this.$log.info('FunctionalMenuService::saveEditedMenuItem succeeded: ');
220 deferred.resolve(res.data);
224 deferred.reject(errRes);
226 return deferred.promise;
229 saveMenuItem(menuData) {
230 let deferred = this.$q.defer();
231 this.$log.info('FunctionalMenuService::saveMenuItem: ' + JSON.stringify(menuData));
233 let url = this.conf.api.functionalMenuItem;
239 'X-ECOMP-RequestID':this.uuid.generate()
243 // If response comes back as a redirected HTML page which IS NOT a success
244 if (this.utilsService.isValidJSON(res)== false) {
245 deferred.reject('FunctionalMenuService::saveMenuItem: Failed');
247 this.$log.info('FunctionalMenuService::saveMenuItem: succeeded: ');
248 deferred.resolve(res.data);
252 deferred.reject(errRes);
254 return deferred.promise;
258 deleteMenuItem(menuId) {
259 let deferred = this.$q.defer();
260 let url = this.conf.api.functionalMenuItem + '/' + menuId;
262 this.$log.info('FunctionalMenuService::deleteMenuItem: ' +menuId);
270 'X-ECOMP-RequestID':this.uuid.generate()
273 // If response comes back as a redirected HTML page which IS NOT a success
274 if (this.utilsService.isValidJSON(res)== false) {
275 deferred.reject('FunctionalMenuService::deleteMenuItem Failed');
277 this.$log.info('FunctionalMenuService::deleteMenuItem succeeded: ');
278 deferred.resolve(res.data);
282 deferred.reject(errRes);
284 return deferred.promise;
288 getFunctionalMenuRole()
290 let deferred = this.$q.defer();
291 this.$log.info('FunctionalMenuService::getFunctionalMenuRole');
295 url: this.conf.api.getFunctionalMenuRole,
298 'X-ECOMP-RequestID':this.uuid.generate()
301 // If response comes back as a redirected HTML page which IS NOT a success
302 if (this.utilsService.isValidJSON(res)== false) {
303 deferred.reject('FunctionalMenuService::getFunctionalMenuRole Failed');
305 this.$log.info('FunctionalMenuService::getFunctionalMenuRole succeeded: ');
306 deferred.resolve(res.data);
310 deferred.reject(status);
312 return deferred.promise;
316 FunctionalMenuService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService'];
317 angular.module('ecompApp').service('functionalMenuService', FunctionalMenuService)