2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the "License");
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
41 class WidgetsCatalogService {
42 constructor($q, $log, $http, conf,uuid,base64Service, beReaderService, utilsService) {
48 this.base64Service = base64Service;
49 this.beReaderService = beReaderService;
50 this.utilsService = utilsService;
53 getUserWidgets(loginName) {
54 let deferred = this.$q.defer();
57 url: this.conf.api.widgetCommon + '/widgetCatalog' + '/' + loginName,
60 'X-Widgets-Type': 'all',
61 'X-ECOMP-RequestID':this.uuid.generate()
64 if (res == null || res.data == null) {
65 deferred.reject("WidgetsCatalogService::getUserWidgets Failed");
67 deferred.resolve(res.data);
71 deferred.reject(status);
73 return deferred.promise;
77 let deferred = this.$q.defer();
78 let url = this.conf.api.widgetCommon + '/widgetCatalog';
84 'X-Widgets-Type': 'all',
85 'X-ECOMP-RequestID':this.uuid.generate()
88 if (res == null || res.data == null) {
89 deferred.reject("WidgetsCatalogService::getManagedWidgets Failed");
91 deferred.resolve(res.data);
95 deferred.reject(status);
97 return deferred.promise;
100 createWidget(newWidget, file) {
101 console.log(newWidget);
102 let deferred = this.$q.defer();
103 var formData = new FormData();
104 formData.append('file', file);
107 url: this.conf.api.widgetCommon + '/widgetCatalog',
108 transformRequest: angular.identity,
111 'Content-Type': undefined,
112 'X-Widgets-Type': 'all',
113 'X-ECOMP-RequestID':this.uuid.generate()
116 'newWidget': newWidget
119 if (res == null || res.data == null) {
120 deferred.reject("WidgetsCatalogService::getManagedWidgets Failed");
122 deferred.resolve(res.data);
126 deferred.reject(errRes);
128 return deferred.promise;
131 updateWidgetWithFile(file, widgetId, newWidget){
132 console.log(widgetId);
133 let deferred = this.$q.defer();
134 var formData = new FormData();
135 formData.append('file', file);
136 let url = this.conf.api.widgetCommon + '/widgetCatalog/' + widgetId;
140 transformRequest: angular.identity,
143 'Content-Type': undefined,
144 'X-Widgets-Type': 'all',
145 'X-ECOMP-RequestID':this.uuid.generate()
148 'newWidget': newWidget
152 if (res == null || res.data == null)
153 deferred.reject("WidgetsCatalogService::saveWidgetFile Failed");
155 deferred.resolve(res.data);
158 deferred.reject(status);
160 return deferred.promise;
163 updateWidget(widgetId, widgetData) {
164 let deferred = this.$q.defer();
165 let url = this.conf.api.widgetCommon + '/widgetCatalog' + '/' + widgetId;
172 'X-Widgets-Type': 'all',
173 'X-ECOMP-RequestID':this.uuid.generate()
177 deferred.resolve(res.data);
180 deferred.reject(errRes);
183 return deferred.promise;
187 deleteWidgetFile(widgetName) {
188 let deferred = this.$q.defer();
189 this.$log.info('WidgetsCatalogService::deleteWidgetCatalog');
190 let url = this.conf.api.widgetCommon + '/doUpload' + '/' + widgetName;
196 'X-Widgets-Type': 'all',
197 'X-ECOMP-RequestID':this.uuid.generate()
200 deferred.resolve(res.data);
203 deferred.reject(status);
206 return deferred.promise;
209 deleteWidget(widgetId) {
210 let deferred = this.$q.defer();
211 this.$log.info('WidgetsCatalogService::deleteWidgetCatalog');
212 let url = this.conf.api.widgetCommon + '/widgetCatalog' + '/' + widgetId;
218 'X-Widgets-Type': 'all',
219 'X-ECOMP-RequestID':this.uuid.generate()
222 deferred.resolve(res.data);
225 deferred.reject(status);
228 return deferred.promise;
231 downloadWidgetFile(widgetId) {
232 let deferred = this.$q.defer();
233 this.$log.info('WidgetsCatalogService::downloadWidgetFile');
234 let url = this.conf.api.widgetCommon + '/download/' + widgetId;
240 responseType: "arraybuffer",
242 'X-Widgets-Type': 'all',
243 'X-ECOMP-RequestID':this.uuid.generate()
246 deferred.resolve(res.data);
249 deferred.reject(status);
252 return deferred.promise;
255 updateWidgetCatalog(appData){
256 let deferred = this.$q.defer();
257 // Validate the request, maybe this is overkill
258 if (appData == null || appData.widgetId == null || appData.select == null) {
259 var msg = 'WidgetCatalogService::updateAppCatalog: field appId and/or select not found';
260 this.$log.error(msg);
261 return deferred.reject(msg);
265 url: this.conf.api.widgetCatalogSelection,
268 'X-Widgets-Type': 'all',
269 'X-ECOMP-RequestID':this.uuid.generate()
273 if (res == null || res.data == null) {
274 deferred.reject("WidgetCatalogService::updateAppCatalog Failed");
276 deferred.resolve(res.data);
280 this.$log.error('WidgetCatalogService:updateAppCatalog failed: ' + status);
281 deferred.reject(status);
283 return deferred.promise;
286 getServiceJSON(serviceId){
287 let deferred = this.$q.defer();
288 this.$log.info('WidgetsCatalogService::getServiceJSON');
289 let url = this.conf.api.microserviceProxy + "/" + serviceId;
296 'X-Widgets-Type': 'all',
297 'X-ECOMP-RequestID':this.uuid.generate()
300 if (res == null || res == null) {
301 this.$log.error('WidgetCatalogService::getServiceJSON Failed: Result or result.data is null');
302 deferred.reject("WidgetCatalogService::getServiceJSON Failed: Result or result.data is null");
304 deferred.resolve(res.data);
309 deferred.reject(status);
312 return deferred.promise;
315 getWidgetCatalogParameters(widgetId){
316 let deferred = this.$q.defer();
317 this.$log.info('WidgetsCatalogService::getWidgetCatalogParameters');
318 let url = this.conf.api.widgetCommon + "/parameters/" + widgetId;
325 'X-Widgets-Type': 'all',
326 'X-ECOMP-RequestID':this.uuid.generate()
329 if (res == null || res.data == null) {
330 this.$log.error('WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null');
331 deferred.reject("WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null");
333 deferred.resolve(res.data);
337 deferred.reject(status);
340 return deferred.promise;
344 saveWidgetParameter(widgetParamObject){
345 let deferred = this.$q.defer();
346 this.$log.info('WidgetsCatalogService::saveWidgetParameter');
347 let url = this.conf.api.widgetCommon + "/parameters";
352 data: widgetParamObject,
354 'X-Widgets-Type': 'all',
355 'X-ECOMP-RequestID':this.uuid.generate()
358 if (res == null || res.data == null) {
359 this.$log.error('WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null');
360 deferred.reject("WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null");
362 deferred.resolve(res.data);
366 deferred.reject(status);
369 return deferred.promise;
374 WidgetsCatalogService.$inject = ['$q', '$log', '$http', 'conf','uuid4','base64Service', 'beReaderService', 'utilsService'];
375 angular.module('ecompApp').service('widgetsCatalogService', WidgetsCatalogService)