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 SchedulerService {
42 constructor($q, $log, $http, conf, uuid, utilsService,$modal) {
48 this.utilsService = utilsService;
57 /** get scheduler uuID **/
58 getStatusSchedulerId(schedulerInfo) {
59 let deferred = this.$q.defer();
60 var url = this.conf.api.getSchedulerId
62 url: url+'?r='+ Math.random(),
68 'X-ECOMP-RequestID':this.uuid.generate()
71 if (res == null || res.data == null || this.utilsService.isValidJSON(res.data)== false) {
72 deferred.reject('SchedulerService::getStatusSchedulerId Failed');
74 deferred.resolve(res.data);
77 deferred.reject(status);
79 return deferred.promise;
82 /** get time slots for Range scheduler **/
83 getTimeslotsForScheduler(schedulerID) {
84 let deferred = this.$q.defer();
85 var url = this.conf.api.getTimeslotsForScheduler + '/' + schedulerID + '?r=' + Math.random();
92 'X-ECOMP-RequestID':this.uuid.generate()
95 this.$log.debug('SchedulerService:: this.conf.api.portalAdmin: ' + JSON.stringify(res));
96 if (res == null || res.data == null || this.utilsService.isValidJSON(res.data)== false) {
97 deferred.reject('SchedulerService::getTimeslotsForScheduler Failed');
99 deferred.resolve(res.data);
102 deferred.reject(errRes);
104 return deferred.promise;
108 postSubmitForApprovedTimeslots(approvedTimeSlotsObj) {
109 let deferred = this.$q.defer();
110 let url = this.conf.api.postSubmitForApprovedTimeslots + '?r='+ Math.random();
116 data: approvedTimeSlotsObj,
118 'X-ECOMP-RequestID':this.uuid.generate()
121 if (res == null || res.data == null || this.utilsService.isValidJSON(res.data)== false) {
122 deferred.reject('SchedulerService::postSubmitForapprovedTimeslots');
124 deferred.resolve(res.data);
127 deferred.reject(errRes);
130 return deferred.promise;
133 /** Get policy information from BE **/
135 let deferred = this.$q.defer();
136 let url = this.conf.api.getPolicy + '?r=' + Math.random();
143 'X-ECOMP-RequestID':this.uuid.generate()
146 if (res == null || res.data == null || this.utilsService.isValidJSON(res.data)== false) {
147 deferred.reject('SchedulerService::getPolicyInfo');
149 deferred.resolve(res.data);
152 deferred.reject(errRes);
155 return deferred.promise;
158 /** get Scheduler UI constants from BE **/
159 getSchedulerConstants() {
160 let deferred = this.$q.defer();
161 let url = this.conf.api.getSchedulerConstants;
168 'X-ECOMP-RequestID':this.uuid.generate()
171 if (res == null || res.data == null || this.utilsService.isValidJSON(res.data)== false) {
172 deferred.reject('SchedulerService::getSchedulerConstant');
174 deferred.resolve(res.data);
177 deferred.reject(errRes);
179 return deferred.promise;
183 /**Opens up the popup for Scheduler UI**/
184 showWidget(widgetId,widgetData,widgetParam) {
185 let deferred = this.$q.defer();
186 this.widgetInfo.id = widgetId;
187 this.widgetInfo.data = widgetData;
188 this.widgetInfo.param = widgetParam;
189 var modalInstance = this.$modal.open({
190 templateUrl: 'app/views/scheduler/scheduler.tpl.html',
191 controller: 'SchedulerCtrl',
192 sizeClass:'modal-large',
193 windowClass:"modal-docked",
195 message: function message() {
205 modalInstance.result.then(function () {
208 return deferred.promise;
212 return this.widgetInfo;
215 SchedulerService.$inject = ['$q', '$log', '$http', 'conf', 'uuid4', 'utilsService', '$modal'];
216 angular.module('ecompApp').service('schedulerService', SchedulerService)