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 WidgetsCatalogService {
24 constructor($q, $log, $http, conf,uuid,base64Service, beReaderService, utilsService) {
30 this.base64Service = base64Service;
31 this.beReaderService = beReaderService;
32 this.utilsService = utilsService;
35 getUserWidgets(loginName) {
36 let deferred = this.$q.defer();
39 url: this.conf.api.widgetCommon + '/widgetCatalog' + '/' + loginName,
42 'X-Widgets-Type': 'all',
43 'X-ECOMP-RequestID':this.uuid.generate()
46 if (res == null || res.data == null) {
47 deferred.reject("WidgetsCatalogService::getUserWidgets Failed");
49 deferred.resolve(res.data);
53 deferred.reject(status);
55 return deferred.promise;
59 let deferred = this.$q.defer();
60 let url = this.conf.api.widgetCommon + '/widgetCatalog';
66 'X-Widgets-Type': 'all',
67 'X-ECOMP-RequestID':this.uuid.generate()
70 if (res == null || res.data == null) {
71 deferred.reject("WidgetsCatalogService::getManagedWidgets Failed");
73 deferred.resolve(res.data);
77 deferred.reject(status);
79 return deferred.promise;
82 createWidget(newWidget, file) {
83 console.log(newWidget);
84 let deferred = this.$q.defer();
85 var formData = new FormData();
86 formData.append('file', file);
89 url: this.conf.api.widgetCommon + '/widgetCatalog',
90 transformRequest: angular.identity,
93 'Content-Type': undefined,
94 'X-Widgets-Type': 'all',
95 'X-ECOMP-RequestID':this.uuid.generate()
98 'newWidget': newWidget
101 if (res == null || res.data == null) {
102 deferred.reject("WidgetsCatalogService::getManagedWidgets Failed");
104 deferred.resolve(res.data);
108 deferred.reject(errRes);
110 return deferred.promise;
113 updateWidgetWithFile(file, widgetId, newWidget){
114 console.log(widgetId);
115 let deferred = this.$q.defer();
116 var formData = new FormData();
117 formData.append('file', file);
118 let url = this.conf.api.widgetCommon + '/widgetCatalog/' + widgetId;
122 transformRequest: angular.identity,
125 'Content-Type': undefined,
126 'X-Widgets-Type': 'all',
127 'X-ECOMP-RequestID':this.uuid.generate()
130 'newWidget': newWidget
134 if (res == null || res.data == null)
135 deferred.reject("WidgetsCatalogService::saveWidgetFile Failed");
137 deferred.resolve(res.data);
140 deferred.reject(status);
142 return deferred.promise;
145 updateWidget(widgetId, widgetData) {
146 let deferred = this.$q.defer();
147 let url = this.conf.api.widgetCommon + '/widgetCatalog' + '/' + widgetId;
154 'X-Widgets-Type': 'all',
155 'X-ECOMP-RequestID':this.uuid.generate()
159 deferred.resolve(res.data);
162 deferred.reject(errRes);
165 return deferred.promise;
169 deleteWidgetFile(widgetName) {
170 let deferred = this.$q.defer();
171 this.$log.info('WidgetsCatalogService::deleteWidgetCatalog');
172 let url = this.conf.api.widgetCommon + '/doUpload' + '/' + widgetName;
178 'X-Widgets-Type': 'all',
179 'X-ECOMP-RequestID':this.uuid.generate()
182 deferred.resolve(res.data);
185 deferred.reject(status);
188 return deferred.promise;
191 deleteWidget(widgetId) {
192 let deferred = this.$q.defer();
193 this.$log.info('WidgetsCatalogService::deleteWidgetCatalog');
194 let url = this.conf.api.widgetCommon + '/widgetCatalog' + '/' + widgetId;
200 'X-Widgets-Type': 'all',
201 'X-ECOMP-RequestID':this.uuid.generate()
204 deferred.resolve(res.data);
207 deferred.reject(status);
210 return deferred.promise;
213 downloadWidgetFile(widgetId) {
214 let deferred = this.$q.defer();
215 this.$log.info('WidgetsCatalogService::downloadWidgetFile');
216 let url = this.conf.api.widgetCommon + '/download/' + widgetId;
222 responseType: "arraybuffer",
224 'X-Widgets-Type': 'all',
225 'X-ECOMP-RequestID':this.uuid.generate()
228 deferred.resolve(res.data);
231 deferred.reject(status);
234 return deferred.promise;
237 updateWidgetCatalog(appData){
238 let deferred = this.$q.defer();
239 // Validate the request, maybe this is overkill
240 if (appData == null || appData.widgetId == null || appData.select == null) {
241 var msg = 'WidgetCatalogService::updateAppCatalog: field appId and/or select not found';
242 this.$log.error(msg);
243 return deferred.reject(msg);
247 url: this.conf.api.widgetCatalogSelection,
250 'X-Widgets-Type': 'all',
251 'X-ECOMP-RequestID':this.uuid.generate()
255 if (res == null || res.data == null) {
256 deferred.reject("WidgetCatalogService::updateAppCatalog Failed");
258 deferred.resolve(res.data);
262 this.$log.error('WidgetCatalogService:updateAppCatalog failed: ' + status);
263 deferred.reject(status);
265 return deferred.promise;
268 getServiceJSON(serviceId){
269 let deferred = this.$q.defer();
270 this.$log.info('WidgetsCatalogService::getServiceJSON');
271 let url = this.conf.api.microserviceProxy + "/" + serviceId;
278 'X-Widgets-Type': 'all',
279 'X-ECOMP-RequestID':this.uuid.generate()
282 if (res == null || res == null) {
283 this.$log.error('WidgetCatalogService::getServiceJSON Failed: Result or result.data is null');
284 deferred.reject("WidgetCatalogService::getServiceJSON Failed: Result or result.data is null");
286 deferred.resolve(res.data);
291 deferred.reject(status);
294 return deferred.promise;
297 getWidgetCatalogParameters(widgetId){
298 let deferred = this.$q.defer();
299 this.$log.info('WidgetsCatalogService::getWidgetCatalogParameters');
300 let url = this.conf.api.widgetCommon + "/parameters/" + widgetId;
307 'X-Widgets-Type': 'all',
308 'X-ECOMP-RequestID':this.uuid.generate()
311 if (res == null || res.data == null) {
312 this.$log.error('WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null');
313 deferred.reject("WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null");
315 deferred.resolve(res.data);
319 deferred.reject(status);
322 return deferred.promise;
326 saveWidgetParameter(widgetParamObject){
327 let deferred = this.$q.defer();
328 this.$log.info('WidgetsCatalogService::saveWidgetParameter');
329 let url = this.conf.api.widgetCommon + "/parameters";
334 data: widgetParamObject,
336 'X-Widgets-Type': 'all',
337 'X-ECOMP-RequestID':this.uuid.generate()
340 if (res == null || res.data == null) {
341 this.$log.error('WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null');
342 deferred.reject("WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null");
344 deferred.resolve(res.data);
348 deferred.reject(status);
351 return deferred.promise;
356 WidgetsCatalogService.$inject = ['$q', '$log', '$http', 'conf','uuid4','base64Service', 'beReaderService', 'utilsService'];
357 angular.module('ecompApp').service('widgetsCatalogService', WidgetsCatalogService)