6bdc0ae9c520d90e751dde4e6351102c9b6c6f8d
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / services / asdcService.js
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * VID\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 "use strict";\r
22 \r
23 var AsdcService = function ($http, $log, PropertyService, UtilityService, VIDCONFIGURATION, COMPONENT, DataService, featureFlags) {\r
24     return {\r
25         getModel: function (modelId, successCallbackFunction) {\r
26             $log.debug("AsdcService:getModel: modelId: " + modelId);\r
27             $http.get(\r
28                 "asdc/getModel/" + modelId\r
29                 + "?r=" + Math.random(),\r
30                 {\r
31                     timeout: PropertyService\r
32                         .getServerResponseTimeoutMsec()\r
33                 }).then(successCallbackFunction)["catch"]\r
34             (UtilityService.runHttpErrorHandler);\r
35         },\r
36 \r
37         shouldExcludeMacroFromAsyncInstatiationFlow: function(serviceModel){\r
38             if (!featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ASYNC_INSTANTIATION))\r
39                 return true;\r
40                         if (DataService.getE2EService())\r
41                                 return true;\r
42             if (!_.isEmpty(serviceModel.pnfs))\r
43                 return true;\r
44             if (!_.isEmpty(serviceModel.collectionResource))\r
45                 return true;\r
46             if (!_.isEmpty(serviceModel.networks) && !featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_NETWORK_TO_ASYNC_INSTANTIATION))\r
47                 return true;\r
48             if(serviceModel.service.instantiationType === "ClientConfig")\r
49                 return true;\r
50             return false;\r
51         },\r
52 \r
53         isMacro: function (serviceModel) {\r
54             if (serviceModel && serviceModel.service) {\r
55                 switch (serviceModel.service.instantiationType) {\r
56                     case 'Macro':\r
57                     case 'Both':\r
58                         return true;\r
59                     case 'A-La-Carte':\r
60                         return false;\r
61                     case 'ClientConfig':\r
62                         console.debug("Looking for " + serviceModel.service.invariantUuid + " by Client Config");\r
63                         return UtilityService.arrayContains(VIDCONFIGURATION.MACRO_SERVICES, serviceModel.service.invariantUuid);\r
64                     default:\r
65                         console.debug("Unexpected serviceModel.service.instantiationType: " + serviceModel.service.instantiationType);\r
66                         return true;\r
67                 }\r
68             } else {\r
69                 $log.debug("isMscro=false, because serviceModel.service is undefined");\r
70                 return false;\r
71             }\r
72         }\r
73     }\r
74 }\r
75 \r
76 appDS2.factory("AsdcService", ["$http", "$log", "PropertyService",\r
77     "UtilityService", "VIDCONFIGURATION","COMPONENT", "DataService", "featureFlags", AsdcService]);\r