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 * ================================================================================
21 * Created by doritrieur on 12/3/15.
26 class WidgetsService {
27 constructor($q, $log, $http, conf, uuid, utilsService) {
33 this.utilsService = utilsService;
37 let deferred = this.$q.defer();
38 this.$log.info('WidgetsService::getUserWidgets');
41 url: this.conf.api.widgets,
44 'X-Widgets-Type': 'all',
45 'X-ECOMP-RequestID':this.uuid.generate()
48 // If response comes back as a redirected HTML page which IS NOT a success
49 if (this.utilsService.isValidJSON(res) == false) {
50 var msg = 'WidgetsService::getUserWidgets Failed';
54 // this.$log.info('WidgetsService::getUserWidgets Succeeded');
55 deferred.resolve(res.data);
59 deferred.reject(status);
61 return deferred.promise;
65 let deferred = this.$q.defer();
66 this.$log.info('WidgetsService::getManagedWidgets');
69 url: this.conf.api.widgets,
72 'X-Widgets-Type': 'managed',
73 'X-ECOMP-RequestID':this.uuid.generate()
76 // If response comes back as a redirected HTML page which IS NOT a success
77 if (this.utilsService.isValidJSON(res)== false) {
78 deferred.reject('WidgetsService::getManagedWidgets Failed');
79 } else if(Object.keys(res).length == 0 && this.utilsService.isValidJSON(res)) {
80 deferred.resolve(null);
82 this.$log.info('WidgetsService::getManagedWidgets Succeeded');
83 deferred.resolve(res.data);
87 deferred.reject(status);
89 return deferred.promise;
92 createWidget(widgetData) {
93 let deferred = this.$q.defer();
94 this.$log.info('WidgetsService::createWidget');
97 url: this.conf.api.widgets,
101 'X-ECOMP-RequestID':this.uuid.generate()
104 // If response comes back as a redirected HTML page which IS NOT a success
105 if (this.utilsService.isValidJSON(res)== false) {
106 deferred.reject('WidgetsService::createWidget Failed');
108 this.$log.info('WidgetsService::createWidget Succeeded');
109 deferred.resolve(res.data);
113 deferred.reject(errRes);
115 return deferred.promise;
118 updateWidget(widgetId, widgetData) {
119 let deferred = this.$q.defer();
120 this.$log.info('WidgetsService::updateWidget');
121 let url = this.conf.api.widgets + '/' + widgetId;
128 'X-ECOMP-RequestID':this.uuid.generate()
131 // If response comes back as a redirected HTML page which IS NOT a success
132 if (this.utilsService.isValidJSON(res)== false) {
133 deferred.reject('WidgetsService::updateWidget Failed');
135 this.$log.info('WidgetsService::updateWidget Succeeded');
136 deferred.resolve(res.data);
140 deferred.reject(errRes);
142 return deferred.promise;
145 deleteWidget(widgetId) {
146 let deferred = this.$q.defer();
147 this.$log.info('WidgetsService::deleteWidget');
148 let url = this.conf.api.widgets + '/' + widgetId;
154 'X-ECOMP-RequestID':this.uuid.generate()
157 // If response comes back as a redirected HTML page which IS NOT a success
158 if (this.utilsService.isValidJSON(res)== false) {
159 deferred.reject('WidgetsService::deleteWidget Failed');
161 this.$log.info('WidgetsService::deleteWidget Succeeded');
162 deferred.resolve(res.data);
166 deferred.reject(status);
168 return deferred.promise;
171 checkIfWidgetUrlExists(urlToValidate) {
172 let deferred = this.$q.defer();
173 this.$log.info('WidgetsService::checkIfWidgetUrlExists:' + urlToValidate);
179 url: this.conf.api.widgetsValidation,
183 'X-ECOMP-RequestID':this.uuid.generate()
186 //if exists return true
187 deferred.resolve(true);
190 if (this.utilsService.isValidJSON(res)== false) {
191 deferred.reject('WidgetsService::checkIfWidgetUrlExists Failed');
193 if (response.data.status === 404) {
194 deferred.resolve(false);
196 deferred.reject(response.data);
200 return deferred.promise;
204 WidgetsService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService'];
205 angular.module('ecompApp').service('widgetsService', WidgetsService)