2 * ================================================================================
\r
4 * ================================================================================
\r
5 * Copyright (C) 2017 AT&T Intellectual Property
\r
6 * ================================================================================
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
18 * ================================================================================
\r
21 * Created by doritrieur on 12/3/15.
\r
26 class WidgetsService {
\r
27 constructor($q, $log, $http, conf, uuid, utilsService) {
\r
33 this.utilsService = utilsService;
\r
37 let deferred = this.$q.defer();
\r
38 this.$log.info('WidgetsService::getUserWidgets');
\r
41 url: this.conf.api.widgets,
\r
44 'X-Widgets-Type': 'all',
\r
45 'X-ECOMP-RequestID':this.uuid.generate()
\r
48 // If response comes back as a redirected HTML page which IS NOT a success
\r
49 if (this.utilsService.isValidJSON(res) == false) {
\r
50 var msg = 'WidgetsService::getUserWidgets Failed';
\r
51 this.$log.error(msg);
\r
52 deferred.reject(msg);
\r
54 // this.$log.info('WidgetsService::getUserWidgets Succeeded');
\r
55 deferred.resolve(res.data);
\r
59 deferred.reject(status);
\r
61 return deferred.promise;
\r
64 getManagedWidgets() {
\r
65 let deferred = this.$q.defer();
\r
66 this.$log.info('WidgetsService::getManagedWidgets');
\r
69 url: this.conf.api.widgets,
\r
72 'X-Widgets-Type': 'managed',
\r
73 'X-ECOMP-RequestID':this.uuid.generate()
\r
76 // If response comes back as a redirected HTML page which IS NOT a success
\r
77 if (this.utilsService.isValidJSON(res)== false) {
\r
78 deferred.reject('WidgetsService::getManagedWidgets Failed');
\r
79 } else if(Object.keys(res).length == 0 && this.utilsService.isValidJSON(res)) {
\r
80 deferred.resolve(null);
\r
82 this.$log.info('WidgetsService::getManagedWidgets Succeeded');
\r
83 deferred.resolve(res.data);
\r
87 deferred.reject(status);
\r
89 return deferred.promise;
\r
92 createWidget(widgetData) {
\r
93 let deferred = this.$q.defer();
\r
94 this.$log.info('WidgetsService::createWidget');
\r
97 url: this.conf.api.widgets,
\r
101 'X-ECOMP-RequestID':this.uuid.generate()
\r
104 // If response comes back as a redirected HTML page which IS NOT a success
\r
105 if (this.utilsService.isValidJSON(res)== false) {
\r
106 deferred.reject('WidgetsService::createWidget Failed');
\r
108 this.$log.info('WidgetsService::createWidget Succeeded');
\r
109 deferred.resolve(res.data);
\r
113 deferred.reject(errRes);
\r
115 return deferred.promise;
\r
118 updateWidget(widgetId, widgetData) {
\r
119 let deferred = this.$q.defer();
\r
120 this.$log.info('WidgetsService::updateWidget');
\r
121 let url = this.conf.api.widgets + '/' + widgetId;
\r
128 'X-ECOMP-RequestID':this.uuid.generate()
\r
131 // If response comes back as a redirected HTML page which IS NOT a success
\r
132 if (this.utilsService.isValidJSON(res)== false) {
\r
133 deferred.reject('WidgetsService::updateWidget Failed');
\r
135 this.$log.info('WidgetsService::updateWidget Succeeded');
\r
136 deferred.resolve(res.data);
\r
140 deferred.reject(errRes);
\r
142 return deferred.promise;
\r
145 deleteWidget(widgetId) {
\r
146 let deferred = this.$q.defer();
\r
147 this.$log.info('WidgetsService::deleteWidget');
\r
148 let url = this.conf.api.widgets + '/' + widgetId;
\r
154 'X-ECOMP-RequestID':this.uuid.generate()
\r
157 // If response comes back as a redirected HTML page which IS NOT a success
\r
158 if (this.utilsService.isValidJSON(res)== false) {
\r
159 deferred.reject('WidgetsService::deleteWidget Failed');
\r
161 this.$log.info('WidgetsService::deleteWidget Succeeded');
\r
162 deferred.resolve(res.data);
\r
166 deferred.reject(status);
\r
168 return deferred.promise;
\r
171 checkIfWidgetUrlExists(urlToValidate) {
\r
172 let deferred = this.$q.defer();
\r
173 this.$log.info('WidgetsService::checkIfWidgetUrlExists:' + urlToValidate);
\r
179 url: this.conf.api.widgetsValidation,
\r
183 'X-ECOMP-RequestID':this.uuid.generate()
\r
186 //if exists return true
\r
187 deferred.resolve(true);
\r
189 .catch(response => {
\r
190 if (this.utilsService.isValidJSON(res)== false) {
\r
191 deferred.reject('WidgetsService::checkIfWidgetUrlExists Failed');
\r
193 if (response.data.status === 404) {
\r
194 deferred.resolve(false);
\r
196 deferred.reject(response.data);
\r
200 return deferred.promise;
\r
204 WidgetsService.$inject = ['$q', '$log', '$http', 'conf','uuid4', 'utilsService'];
\r
205 angular.module('ecompApp').service('widgetsService', WidgetsService)
\r