[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-ui / src / sdc-app / onboarding / softwareProduct / components / network / SoftwareProductComponentsNetworkActionHelper.js
index 8ff6b50..bc06146 100644 (file)
@@ -1,65 +1,60 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
+/*!
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
  */
-
 import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
 import Configuration from 'sdc-app/config/Configuration.js';
 
 import {actionTypes} from './SoftwareProductComponentsNetworkConstants.js';
+import ValidationHelper from 'sdc-app/common/helpers/ValidationHelper.js';
+import {NIC_QUESTIONNAIRE} from 'sdc-app/onboarding/softwareProduct/components/network/SoftwareProductComponentsNetworkConstants.js';
 
-function baseUrl(softwareProductId, componentId) {
+function baseUrl(softwareProductId, version, componentId) {
+       const versionId = version.id;
        const restPrefix = Configuration.get('restPrefix');
-       return `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/components/${componentId}/nics`;
+       return `${restPrefix}/v1.0/vendor-software-products/${softwareProductId}/versions/${versionId}/components/${componentId}/nics`;
 }
 
 
-function fetchNICQuestionnaire({softwareProductId, componentId, nicId, version}) {
-       let versionQuery = version ? `?version=${version}` : '';
-       return RestAPIUtil.fetch(`${baseUrl(softwareProductId, componentId)}/${nicId}/questionnaire${versionQuery}`);
+function fetchNICQuestionnaire({softwareProductId, version, componentId, nicId}) {
+       return RestAPIUtil.fetch(`${baseUrl(softwareProductId, version, componentId)}/${nicId}/questionnaire`);
 }
 
-function fetchNIC({softwareProductId, componentId, nicId, version}) {
-       let versionQuery = version ? `?version=${version}` : '';
-       return RestAPIUtil.fetch(`${baseUrl(softwareProductId, componentId)}/${nicId}${versionQuery}`);
+function fetchNIC({softwareProductId, version, componentId, nicId}) {
+       return RestAPIUtil.fetch(`${baseUrl(softwareProductId, version, componentId)}/${nicId}`);
 }
 
-function fetchNICsList({softwareProductId, componentId, version}) {
-       let versionQuery = version ? `?version=${version}` : '';
-       return RestAPIUtil.fetch(`${baseUrl(softwareProductId, componentId)}${versionQuery}`);
+function fetchNICsList({softwareProductId, version, componentId}) {
+       return RestAPIUtil.fetch(`${baseUrl(softwareProductId, version, componentId)}`);
 }
 
-function saveNIC({softwareProductId, componentId, nic: {id, name, description, networkId}}) {
-       return RestAPIUtil.save(`${baseUrl(softwareProductId, componentId)}/${id}`,{
+function saveNIC({softwareProductId, version, componentId, nic: {id, name, description, networkId}}) {
+       return RestAPIUtil.put(`${baseUrl(softwareProductId, version, componentId)}/${id}`,{
                name,
                description,
                networkId
        });
 }
 
-function saveNICQuestionnaire({softwareProductId, componentId, nicId, qdata}) {
-       return RestAPIUtil.save(`${baseUrl(softwareProductId, componentId)}/${nicId}/questionnaire`, qdata);
+function saveNICQuestionnaire({softwareProductId, version, componentId, nicId, qdata}) {
+       return RestAPIUtil.put(`${baseUrl(softwareProductId, version, componentId)}/${nicId}/questionnaire`, qdata);
 }
 
 const SoftwareProductComponentNetworkActionHelper = {
 
-       fetchNICsList(dispatch, {softwareProductId, componentId, version}) {
-               return fetchNICsList({softwareProductId, componentId, version}).then((response) => {
+       fetchNICsList(dispatch, {softwareProductId, version, componentId}) {
+               return fetchNICsList({softwareProductId, version, componentId}).then((response) => {
                        dispatch({
                                type: actionTypes.NIC_LIST_UPDATE,
                                response: response.results
@@ -80,43 +75,24 @@ const SoftwareProductComponentNetworkActionHelper = {
                });
        },
 
-       loadNICData({softwareProductId, componentId, nicId, version}) {
-               return fetchNIC({softwareProductId, componentId, nicId, version});
-       },
-
-       loadNICQuestionnaire(dispatch, {softwareProductId, componentId, nicId, version}) {
-               return fetchNICQuestionnaire({softwareProductId, componentId, nicId, version}).then((response) => {
-                       dispatch({
-                               type: actionTypes.NICEditor.NIC_QUESTIONNAIRE_UPDATE,
-                               payload: {
-                                       qdata: response.data ? JSON.parse(response.data) : {},
-                                       qschema: JSON.parse(response.schema)
-                               }
-                       });
-               });
+       loadNICData({softwareProductId, version, componentId, nicId}) {
+               return fetchNIC({softwareProductId, version, componentId, nicId});
        },
 
-       updateNICData(dispatch, {deltaData}) {
-               dispatch({
-                       type: actionTypes.NICEditor.DATA_CHANGED,
-                       deltaData
-               });
-       },
-
-       updateNICQuestionnaire(dispatch, {data}) {
-               dispatch({
-                       type: actionTypes.NICEditor.NIC_QUESTIONNAIRE_UPDATE,
-                       payload: {
-                               qdata: data
-                       }
+       loadNICQuestionnaire(dispatch, {softwareProductId, version, componentId, nicId}) {
+               return fetchNICQuestionnaire({softwareProductId, version, componentId, nicId}).then((response) => {
+                       ValidationHelper.qDataLoaded(dispatch, {qName: NIC_QUESTIONNAIRE ,response: {
+                               qdata: response.data ? JSON.parse(response.data) : {},
+                               qschema: JSON.parse(response.schema)
+                       }});
                });
        },
 
-       saveNICDataAndQuestionnaire(dispatch, {softwareProductId, componentId, data, qdata}) {
+       saveNICDataAndQuestionnaire(dispatch, {softwareProductId, version, componentId, data, qdata}) {
                SoftwareProductComponentNetworkActionHelper.closeNICEditor(dispatch);
                return Promise.all([
-                       saveNICQuestionnaire({softwareProductId, componentId, nicId: data.id, qdata}),
-                       saveNIC({softwareProductId, componentId, nic: data}).then(() => {
+                       saveNICQuestionnaire({softwareProductId, version, componentId, nicId: data.id, qdata}),
+                       saveNIC({softwareProductId, version, componentId, nic: data}).then(() => {
                                dispatch({
                                        type: actionTypes.NIC_LIST_EDIT,
                                        nic: data