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 * ================================================================================
24 class ApplicationsService {
25 constructor($q, $log, $http, conf, uuid) {
34 let deferred = this.$q.defer();
35 // this.$log.info('ApplicationsService::getPersUserApps');
36 this.$http.get(this.conf.api.persUserApps,
40 'X-ECOMP-RequestID':this.uuid.generate()
44 // If response comes back as a redirected HTML page which IS NOT a success
45 // But don't declare an empty list to be an error.
46 if (res == null || res.data == null) {
47 deferred.reject("ApplicationsService::getPersUserApps Failed");
49 deferred.resolve(res.data);
53 deferred.reject(status);
55 return deferred.promise;
59 let deferred = this.$q.defer();
60 this.$log.info('ApplicationsService::getUserApps');
61 this.$http.get(this.conf.api.userApps,
65 'X-ECOMP-RequestID':this.uuid.generate()
69 if (Object.keys(res.data).length == 0) {
70 deferred.reject("ApplicationsService::getUserApps Failed");
72 this.$log.info('ApplicationsService::getUserApps Succeeded');
73 deferred.resolve(res.data);
77 deferred.reject(status);
80 return deferred.promise;
84 let deferred = this.$q.defer();
85 this.$log.info('ApplicationsService::getAvailableApps');
89 url: this.conf.api.availableApps,
92 'X-ECOMP-RequestID':this.uuid.generate()
96 if (Object.keys(res.data).length == 0) {
97 deferred.reject("ApplicationsService::getAvailableApps Failed");
99 this.$log.info('ApplicationsService::getAvailableApps Succeeded');
100 deferred.resolve(res.data);
104 deferred.reject(status);
107 return deferred.promise;
111 let canceller = this.$q.defer();
112 let isActive = false;
116 this.$log.debug('ApplicationsService::getAdminApps: canceling the request');
121 let promise = () => {
123 let deferred = this.$q.defer();
124 this.$log.info('ApplicationsService::getAdminApps: starting');
125 this.$http({method: "GET",
126 url: this.conf.api.adminApps,
128 timeout: canceller.promise,
130 'X-ECOMP-RequestID':this.uuid.generate()
134 if (Object.keys(res.data).length == 0) {
135 deferred.reject("ApplicationsService::adminApps Failed");
137 this.$log.info('ApplicationsService::adminApps Succeeded');
138 deferred.resolve(res.data);
143 deferred.reject(status);
145 return deferred.promise;
154 getAppsForSuperAdminAndAccountAdmin(){
155 let deferred = this.$q.defer();
156 this.$log.info('ApplicationsService::getAppsForSuperAdminAndAccountAdmin');
157 this.$http({method: "GET",
158 url: this.conf.api.appsForSuperAdminAndAccountAdmin,
161 'X-ECOMP-RequestID':this.uuid.generate()
164 if (Object.keys(res.data).length == 0) {
165 deferred.reject("ApplicationsService::getAppsForSuperAdminAndAccountAdmin Failed");
167 this.$log.info('ApplicationsService::getAppsForSuperAdminAndAccountAdmin Succeeded');
168 deferred.resolve(res.data);
172 deferred.reject(status);
174 return deferred.promise;
177 getAdminAppsSimpler(){
178 let deferred = this.$q.defer();
179 this.$log.info('ApplicationsService::getAdminApps');
180 this.$http({method: "GET",
181 url: this.conf.api.adminApps,
184 'X-ECOMP-RequestID':this.uuid.generate()
187 if (Object.keys(res.data).length == 0) {
188 deferred.reject("ApplicationsService::getAdminApps Failed");
190 this.$log.info('ApplicationsService::getAdminApps Succeeded');
191 deferred.resolve(res.data);
195 deferred.reject(status);
197 return deferred.promise;
201 let deferred = this.$q.defer();
202 this.$log.info('ApplicationsService::getOnboardingApps');
204 this.$http.get(this.conf.api.onboardingApps,
208 'X-ECOMP-RequestID':this.uuid.generate()
212 if (Object.keys(res.data).length == 0) {
213 deferred.reject("ApplicationsService::getOnboardingApps Failed");
215 this.$log.info('ApplicationsService::getOnboardingApps Succeeded');
216 deferred.resolve(res.data);
220 deferred.reject(status);
223 return deferred.promise;
226 addOnboardingApp(newApp){
227 let deferred = this.$q.defer();
228 this.$log.info('applications-service::addOnboardingApp');
229 this.$log.debug('applications-service::addOnboardingApp with:', newApp);
233 url: this.conf.api.onboardingApps,
237 'X-ECOMP-RequestID':this.uuid.generate()
240 if (Object.keys(res.data).length == 0) {
241 deferred.reject("ApplicationsService::addOnboardingApp Failed");
243 this.$log.info('ApplicationsService::addOnboardingApp Succeeded');
244 deferred.resolve(res.data);
248 deferred.reject(status);
250 return deferred.promise;
253 updateOnboardingApp(appData){
254 let deferred = this.$q.defer();
255 this.$log.info('ApplicationsService::addOnboardingApp');
257 this.$log.error('ApplicationsService::addOnboardingApp: App id not found!');
258 return deferred.reject('App id not found');
263 url: this.conf.api.onboardingApps,
267 'X-ECOMP-RequestID':this.uuid.generate()
270 if (Object.keys(res.data).length == 0) {
271 deferred.reject("ApplicationsService::updateOnboardingApp Failed");
273 this.$log.info('ApplicationsService::updateOnboardingApp Succeeded');
274 deferred.resolve(res.data);
278 deferred.reject(status);
280 return deferred.promise;
283 deleteOnboardingApp(appId) {
284 let deferred = this.$q.defer();
285 let url = this.conf.api.onboardingApps + '/' + appId;
287 this.$log.info('applications.service::deleteOnboardingApp' +appId);
295 'X-ECOMP-RequestID':this.uuid.generate()
298 if (Object.keys(res.data).length == 0) {
299 deferred.reject("applications.service::deleteOnboardingApp Failed");
301 this.$log.info('applications.service::deleteOnboardingApp succeeded: ');
302 deferred.resolve(res.data);
306 deferred.reject(errRes);
308 return deferred.promise;
311 getTopMenuData(selectedApp) {
312 let deferred = this.$q.defer();
313 this.$log.info('ApplicationsService:getTopMenuData');
314 this.$log.debug('ApplicationsService:getTopMenuData with:', selectedApp);
319 let deferred = this.$q.defer();
320 this.$log.info('ApplicationsService::ping: ');
322 this.$http.get(this.conf.api.ping,
326 'X-ECOMP-RequestID':this.uuid.generate()
330 if (Object.keys(res).length == 0) {
331 deferred.reject("ApplicationsService::ping: Failed");
333 this.$log.info('ApplicationsService::ping: Succeeded');
334 deferred.resolve(res);
338 deferred.reject(status);
341 return deferred.promise;
344 ApplicationsService.$inject = ['$q', '$log', '$http', 'conf','uuid4'];
345 angular.module('ecompApp').service('applicationsService', ApplicationsService)