actually adding the files to the initial commit
[vid.git] / vid / src / main / webapp / app / vid / scripts / controller / subscriberSearch.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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  * ============LICENSE_END=========================================================
19  */
20
21 "use strict";
22
23 app.requires.push('ngRoute');
24 app.requires.push('ui.tree');
25
26 app.config(function($routeProvider) {
27         $routeProvider
28         .when("/subviewedit", {
29                 templateUrl : "app/vid/scripts/view-models/aaiSubViewEdit.htm",
30                 controller : "aaiSubscriberSearchController"
31
32         })
33         .when("/subdetails", {
34                 templateUrl : "app/vid/scripts/view-models/aaiSubDetails.htm",
35                 controller : "aaiSubscriberController"
36
37         })
38         .otherwise({
39                 templateUrl : "app/vid/scripts/view-models/aaiGetSubs.htm", 
40                 controller : "aaiSubscriberSearchController"
41         });
42 });
43
44 app.config(function(treeConfig) {
45           treeConfig.defaultCollapsed = true; // collapse nodes by default
46         });
47
48 app.factory("user",function(){
49     return {};
50 });
51
52 app.controller("aaiSubscriberSearchController", [ "$scope", "$timeout", "$log", "UtilityService", "user", "PropertyService",
53     function($scope, $timeout, $log, UtilityService, user, PropertyService) {
54
55                 $scope.baseUrl = "";
56                 $scope.responseTimeoutMsec = 10000;
57                 $scope.msoMaxPollingIntervalMsec = 1000;
58                 $scope.msoMaxPolls = 7;
59                 
60                 $scope.init = function(properties) {
61                         // takes a default value, retrieves the prop value from the file system and sets it
62                 var msecs = PropertyService.retrieveMsoMaxPollingIntervalMsec(1000);
63                 PropertyService.setMsoMaxPollingIntervalMsec(msecs);
64                 
65                 // takes a default value, retrieves the prop value from the file system and sets it
66                 var polls = PropertyService.retrieveMsoMaxPolls(7);
67                 PropertyService.setMsoMaxPolls(polls);
68                 
69                 PropertyService.setServerResponseTimeoutMsec(10000);
70
71                         // These two properties only added for testing  
72                         properties.msoDefaultBaseUrl = $scope.baseUrl;
73                         properties.responseTimeoutMsec = $scope.responseTimeoutMsec;
74
75                         UtilityService.setProperties(properties);
76                 }
77                 
78                 $scope.autoGetSubs = function() {
79                         /*
80                          * Optionally comment in / out one of these method calls (or add a similar
81                          * entry) to auto-invoke an entry when the test screen is redrawn.
82                          */
83                         $timeout(function() {
84                                 $scope.getSubscribers();
85                                 // $scope.deleteServiceInstance();
86                                 // $scope.generateInvalidUrl405();                      
87                         }, 100);
88                 }
89                 
90                 $scope.autoGetSubDetails = function() {
91                         /*
92                          * Optionally comment in / out one of these method calls (or add a similar
93                          * entry) to auto-invoke an entry when the test screen is redrawn.
94                          */
95                         $timeout(function() {
96                                 $scope.getSubDetails();
97                                 // $scope.deleteServiceInstance();
98                                 // $scope.generateInvalidUrl405();                      
99                         }, 100);
100                 }
101                 
102                 $scope.autoPopulateViewEdit = function() {
103                         /*
104                          * Optionally comment in / out one of these method calls (or add a similar
105                          * entry) to auto-invoke an entry when the test screen is redrawn.
106                          */
107                         $timeout(function() {
108                         $scope.getComponentList();
109                                 // $scope.deleteServiceInstance();
110                                 // $scope.generateInvalidUrl405();                      
111                         }, 100);
112                 }
113                 
114                 $scope.refreshSubs = function() {
115                         /*
116                          * Optionally comment in / out one of these method calls (or add a similar
117                          * entry) to auto-invoke an entry when the test screen is redrawn.
118                          */
119                         $timeout(function() {
120                                 $scope.refreshSubscribers();
121                                 // $scope.deleteServiceInstance();
122                                 // $scope.generateInvalidUrl405();                      
123                         }, 100);
124                 }
125                 
126                 $scope.autoStartQueryTest = function() {
127                         /*
128                          * Optionally comment in / out one of these method calls (or add a similar
129                          * entry) to auto-invoke an entry when the test screen is redrawn.
130                          */
131                         $timeout(function() {
132                                 // $scope.queryServiceInstance();
133                         }, 100);
134                 }
135                 
136                 $scope.queryServiceInstance = function() {
137                         /*
138                          * Example of method call needed to query a service instance.
139                          */
140                         $scope.$broadcast("queryServiceInstance", {
141                                 serviceInstanceId: "bc305d54-75b4-431b-adb2-eb6b9e546014"
142                         });
143                 }
144         
145                 $scope.getSubscribers = function() {
146                         /*
147                          * Example of method call needed to commit an instance creation request.
148                          */
149                         $scope.$broadcast("getSubs", {
150                                 url : "aai_get_subscribers",
151                                 requestDetails : createServiceRequestDetails
152                         });
153                 }
154                 
155                 $scope.getSubDetails = function() {
156                         /*
157                          * Example of method call needed to commit an instance creation request.
158                          */
159                         $scope.$broadcast("getSubDetails", {
160                                 url : "aai_sub_details",
161                                 requestDetails : createServiceRequestDetails
162                         });
163                 }
164                 
165                 $scope.getComponentList = function() {
166                         /*
167                          * Example of method call needed to commit an instance creation request.
168                          */
169                         $scope.$broadcast("getComponentList", {
170                                 url : "aai_sub_viewedit",
171                                 requestDetails : createServiceRequestDetails
172                         });
173                 }
174                 
175                 
176                 $scope.refreshSubscribers = function() {
177                         /*
178                          * Example of method call needed to commit an instance creation request.
179                          */
180                         $scope.$broadcast("getSubs", {
181                                 url : "aai_refresh_subscribers",
182                                 requestDetails : createServiceRequestDetails
183                         });
184                 }
185         
186                 $scope.deleteServiceInstance = function() {
187                         /*
188                          * Example of method call needed to commit an instance deletion request.
189                          */
190                         $scope.$broadcast("deleteInstance",     {
191                                 url : "mso_delete_svc_instance/bc305d54-75b4-431b-adb2-eb6b9e546014",
192                                 requestDetails : deleteServiceRequestDetails
193                         });
194                 }
195         
196                 $scope.createNetworkInstance = function() {
197                         $scope.$broadcast("createInstance", {
198                                 url : "mso_create_nw_instance",
199                                 requestDetails : createNetworkRequestDetails
200                         });
201                 }
202         
203                 $scope.deleteNetworkInstance = function() {
204                         $scope.$broadcast("deleteInstance",     {
205                                 url : "mso_delete_nw_instance/bc305d54-75b4-431b-adb2-eb6b9e546014/networks/ff305d54-75b4-ff1b-fff1-eb6b9e5460ff",
206                                 requestDetails : deleteNetworkRequestDetails
207                         });
208                 }
209         
210                 $scope.generateError = function(testName) {
211                         // Clone example request object
212                         var request = JSON.parse(JSON.stringify(createServiceRequestDetails));
213                         request.modelInfo.modelName = testName;
214                         $scope.$broadcast("createInstance", {
215                                 url : "mso_create_svc_instance",
216                                 requestDetails : request
217                         });
218                 }
219         
220                 $scope.generateInvalidUrl404 = function() {
221                         var properties = UtilityService.getProperties(properties);
222                         properties.msoDefaultBaseUrl = "/INVALID_STRING/";
223                         UtilityService.setProperties(properties);
224                         $scope.$broadcast("refreshProperties");
225                 
226                         $scope.$broadcast("createInstance", {
227                                 url : "mso_create_svc_instance",
228                                 requestDetails : createServiceRequestDetails
229                         });
230
231                         properties.msoDefaultBaseUrl = $scope.baseUrl;
232                         UtilityService.setProperties(properties);
233                         $scope.$broadcast("refreshProperties");                         
234                 }
235         
236                 $scope.generateInvalidUrl405 = function() {
237                         $scope.$broadcast("createInstance", {
238                                 url : "INVALID_STRING_mso_create_svc_instance",
239                                 requestDetails : createServiceRequestDetails
240                         });
241                 }
242         
243                 /*
244                  * Test data objects:
245                  */
246         
247                 var subscriberInfo = {
248                         globalSubscriberId : "C12345",
249                         subscriberName : "General Electric Division 12"
250                 };
251         
252                 var createServiceRequestDetails = {
253                         modelInfo : {
254                                 modelType : "service",
255                                 modelId : "sn5256d1-5a33-55df-13ab-12abad84e764",
256                                 modelNameVersionId : "ab6478e4-ea33-3346-ac12-ab121484a333",
257                                 modelName : "WanBonding",
258                                 modelVersion : "1"
259                         },
260                         subscriberInfo : subscriberInfo,
261                         requestParameters : {
262                                 vpnId : "1a2b3c4d5e6f",
263                                 productName : "Trinity",
264                                 customerId : "icore9883749"
265                         }
266                 };
267         
268                 var deleteServiceRequestDetails = {
269                         modelInfo : {
270                                 modelType : "service",
271                                 modelId : "sn5256d1-5a33-55df-13ab-12abad84e764",
272                                 modelNameVersionId : "ab6478e4-ea33-3346-ac12-ab121484a333",
273                                 modelName : "WanBonding",
274                                 modelVersion : "1"
275                         }
276                 };
277         
278                 var createNetworkRequestDetails = {
279                         modelInfo : {
280                                 modelType : "network",
281                                 modelId : "ff5256d1-5a33-55df-aaaa-12abad84e7ff",
282                                 modelNameVersionId : "fe6478e4-ea33-3346-aaaa-ab121484a3fe",
283                                 modelName : "vIsbcOamNetwork",
284                                 modelVersion : "1"
285                         },
286                         relatedModelList : [
287                                         {
288                                                 relatedModel : {
289                                                         instanceId : "ff305d54-75b4-431b-adb2-eb6b9e5ff000",
290                                                         modelInfo : {
291                                                                 modelType : "service",
292                                                                 modelId : "ff3514e3-5a33-55df-13ab-12abad84e7ff",
293                                                                 modelNameVersionId : "fe6985cd-ea33-3346-ac12-ab121484a3fe",
294                                                                 modelName : "Intercarrier Interconnect Session Border Controller",
295                                                                 modelVersion : "1"
296                                                         }
297                                                 }
298                                         },
299                                         {
300                                                 relatedModel : {
301                                                         instanceId : "ff305d54-75b4-ff1b-adb2-eb6b9e5460ff",
302                                                         modelInfo : {
303                                                                 modelType : "vnf",
304                                                                 modelId : "ff5256d1-5a33-55df-13ab-12abad84e7ff",
305                                                                 modelNameVersionId : "fe6478e4-ea33-3346-ac12-ab121484a3fe",
306                                                                 modelName : "vIsbc",
307                                                                 modelVersion : "1"
308                                                         }
309                                                 }
310                                         },
311                                         {
312                                                 relatedModel : {
313                                                         instanceId : "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff",
314                                                         modelInfo : {
315                                                                 modelType : "vfModule",
316                                                                 modelId : "ff5256d1-5a33-55df-13ab-22abad84e7ff",
317                                                                 modelNameVersionId : "fe6478e4-ea33-3346-bc12-ab121484a3fe",
318                                                                 modelName : "vIsbcRtpExpansionModule",
319                                                                 modelVersion : "1"
320                                                         }
321                                                 }
322                                         } ],
323                         subscriberInfo : subscriberInfo,
324                         requestParameters : {
325                                 /*
326                                  * FYI: quotes around field names are needed due to embedded "-"
327                                  * characters
328                                  */
329                                 "cidr-mask" : "255.255.255.000",
330                                 "gateway-address" : "10.10.125.1",
331                                 "dhcp-enabled" : "true"
332                         }
333                 };
334         
335                 var deleteNetworkRequestDetails = {
336                         modelInfo : {
337                                 modelType : "network",
338                                 modelId : "ff5256d1-5a33-55df-aaaa-12abad84e7ff",
339                                 modelNameVersionId : "fe6478e4-ea33-3346-aaaa-ab121484a3fe",
340                                 modelName : "vIsbcOamNetwork",
341                                 modelVersion : "1"
342                         },
343                         relatedModelList : [
344                                         {
345                                                 relatedModel : {
346                                                         instanceId : "ff305d54-75b4-431b-adb2-eb6b9e5ff000",
347                                                         modelInfo : {
348                                                                 modelType : "service",
349                                                                 modelId : "ff3514e3-5a33-55df-13ab-12abad84e7ff",
350                                                                 modelNameVersionId : "fe6985cd-ea33-3346-ac12-ab121484a3fe",
351                                                                 modelName : "Intercarrier Interconnect Session Border Controller",
352                                                                 modelVersion : "1"
353                                                         }
354                                                 }
355                                         },
356                                         {
357                                                 relatedModel : {
358                                                         instanceId : "ff305d54-75b4-ff1b-adb2-eb6b9e5460ff",
359                                                         modelInfo : {
360                                                                 modelType : "vnf",
361                                                                 modelId : "ff5256d1-5a33-55df-13ab-12abad84e7ff",
362                                                                 modelNameVersionId : "fe6478e4-ea33-3346-ac12-ab121484a3fe",
363                                                                 modelName : "vIsbc",
364                                                                 modelVersion : "1"
365                                                         }
366                                                 }
367                                         },
368                                         {
369                                                 relatedModel : {
370                                                         instanceId : "ff305d54-75b4-ff1b-bdb2-eb6b9e5460ff",
371                                                         modelInfo : {
372                                                                 modelType : "vfModule",
373                                                                 modelId : "ff5256d1-5a33-55df-13ab-22abad84e7ff",
374                                                                 modelNameVersionId : "fe6478e4-ea33-3346-bc12-ab121484a3fe",
375                                                                 modelName : "vIsbcRtpExpansionModule",
376                                                                 modelVersion : "1"
377                                                         }
378                                                 }
379                                         } ]
380                 };
381                 $scope.getSubscriberDet = function(selectedCustomer){
382                         window.location.href = '#subdetails?selectedSubscriber=' + selectedCustomer;
383                 };
384         }
385 ]);