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 let deferred = this.$q.defer();
101 let url = this.conf.api.widgetCommon + '/uploadFlag';
107 'X-Widgets-Type': 'all',
108 'X-ECOMP-RequestID':this.uuid.generate()
111 if (res == null || res.data == null) {
112 deferred.reject("WidgetsCatalogService::getUploadFlag Failed");
114 deferred.resolve(res.data);
118 deferred.reject(status);
120 return deferred.promise;
123 createWidget(newWidget, file) {
124 console.log(newWidget);
125 let deferred = this.$q.defer();
126 var formData = new FormData();
127 formData.append('file', file);
130 url: this.conf.api.widgetCommon + '/widgetCatalog',
131 transformRequest: angular.identity,
134 'Content-Type': undefined,
135 'X-Widgets-Type': 'all',
136 'X-ECOMP-RequestID':this.uuid.generate()
139 'newWidget': newWidget
142 if (res == null || res.data == null) {
143 deferred.reject("WidgetsCatalogService::getManagedWidgets Failed");
145 deferred.resolve(res.data);
149 deferred.reject(errRes);
151 return deferred.promise;
154 updateWidgetWithFile(file, widgetId, newWidget){
155 console.log(widgetId);
156 let deferred = this.$q.defer();
157 var formData = new FormData();
158 formData.append('file', file);
159 let url = this.conf.api.widgetCommon + '/widgetCatalog/' + widgetId;
163 transformRequest: angular.identity,
166 'Content-Type': undefined,
167 'X-Widgets-Type': 'all',
168 'X-ECOMP-RequestID':this.uuid.generate()
171 'newWidget': newWidget
175 if (res == null || res.data == null)
176 deferred.reject("WidgetsCatalogService::saveWidgetFile Failed");
178 deferred.resolve(res.data);
181 deferred.reject(status);
183 return deferred.promise;
186 updateWidget(widgetId, widgetData) {
187 let deferred = this.$q.defer();
188 let url = this.conf.api.widgetCommon + '/widgetCatalog' + '/' + widgetId;
195 'X-Widgets-Type': 'all',
196 'X-ECOMP-RequestID':this.uuid.generate()
200 deferred.resolve(res.data);
203 deferred.reject(errRes);
206 return deferred.promise;
210 deleteWidgetFile(widgetName) {
211 let deferred = this.$q.defer();
212 this.$log.info('WidgetsCatalogService::deleteWidgetCatalog');
213 let url = this.conf.api.widgetCommon + '/doUpload' + '/' + widgetName;
219 'X-Widgets-Type': 'all',
220 'X-ECOMP-RequestID':this.uuid.generate()
223 deferred.resolve(res.data);
226 deferred.reject(status);
229 return deferred.promise;
232 deleteWidget(widgetId) {
233 let deferred = this.$q.defer();
234 this.$log.info('WidgetsCatalogService::deleteWidgetCatalog');
235 let url = this.conf.api.widgetCommon + '/widgetCatalog' + '/' + widgetId;
241 'X-Widgets-Type': 'all',
242 'X-ECOMP-RequestID':this.uuid.generate()
245 deferred.resolve(res.data);
248 deferred.reject(status);
251 return deferred.promise;
254 downloadWidgetFile(widgetId) {
255 let deferred = this.$q.defer();
256 this.$log.info('WidgetsCatalogService::downloadWidgetFile');
257 let url = this.conf.api.widgetCommon + '/download/' + widgetId;
263 responseType: "arraybuffer",
265 'X-Widgets-Type': 'all',
266 'X-ECOMP-RequestID':this.uuid.generate()
269 deferred.resolve(res.data);
272 deferred.reject(status);
275 return deferred.promise;
278 updateWidgetCatalog(appData){
279 let deferred = this.$q.defer();
280 // Validate the request, maybe this is overkill
281 if (appData == null || appData.widgetId == null || appData.select == null) {
282 var msg = 'WidgetCatalogService::updateAppCatalog: field appId and/or select not found';
283 this.$log.error(msg);
284 return deferred.reject(msg);
288 url: this.conf.api.widgetCatalogSelection,
291 'X-Widgets-Type': 'all',
292 'X-ECOMP-RequestID':this.uuid.generate()
296 if (res == null || res.data == null) {
297 deferred.reject("WidgetCatalogService::updateAppCatalog Failed");
299 deferred.resolve(res.data);
303 this.$log.error('WidgetCatalogService:updateAppCatalog failed: ' + status);
304 deferred.reject(status);
306 return deferred.promise;
309 getServiceJSON(serviceId){
310 let deferred = this.$q.defer();
311 this.$log.info('WidgetsCatalogService::getServiceJSON');
312 let url = this.conf.api.microserviceProxy + "/" + serviceId;
319 'X-Widgets-Type': 'all',
320 'X-ECOMP-RequestID':this.uuid.generate()
323 if (res == null || res == null) {
324 this.$log.error('WidgetCatalogService::getServiceJSON Failed: Result or result.data is null');
325 deferred.reject("WidgetCatalogService::getServiceJSON Failed: Result or result.data is null");
327 deferred.resolve(res.data);
332 deferred.reject(status);
335 return deferred.promise;
338 getWidgetCatalogParameters(widgetId){
339 let deferred = this.$q.defer();
340 this.$log.info('WidgetsCatalogService::getWidgetCatalogParameters');
341 let url = this.conf.api.widgetCommon + "/parameters/" + widgetId;
348 'X-Widgets-Type': 'all',
349 'X-ECOMP-RequestID':this.uuid.generate()
352 if (res == null || res.data == null) {
353 this.$log.error('WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null');
354 deferred.reject("WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null");
356 deferred.resolve(res.data);
360 deferred.reject(status);
363 return deferred.promise;
367 saveWidgetParameter(widgetParamObject){
368 let deferred = this.$q.defer();
369 this.$log.info('WidgetsCatalogService::saveWidgetParameter');
370 let url = this.conf.api.widgetCommon + "/parameters";
375 data: widgetParamObject,
377 'X-Widgets-Type': 'all',
378 'X-ECOMP-RequestID':this.uuid.generate()
381 if (res == null || res.data == null) {
382 this.$log.error('WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null');
383 deferred.reject("WidgetCatalogService::getWidgetCatalogParameters Failed: Result or result.data is null");
385 deferred.resolve(res.data);
389 deferred.reject(status);
392 return deferred.promise;
397 WidgetsCatalogService.$inject = ['$q', '$log', '$http', 'conf','uuid4','base64Service', 'beReaderService', 'utilsService'];
398 angular.module('ecompApp').service('widgetsCatalogService', WidgetsCatalogService)