diff options
Diffstat (limited to 'sdc-workflow-designer-ui/src/main/frontend/src/features/version/versionApi.js')
-rw-r--r-- | sdc-workflow-designer-ui/src/main/frontend/src/features/version/versionApi.js | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/sdc-workflow-designer-ui/src/main/frontend/src/features/version/versionApi.js b/sdc-workflow-designer-ui/src/main/frontend/src/features/version/versionApi.js new file mode 100644 index 00000000..b3a2e13a --- /dev/null +++ b/sdc-workflow-designer-ui/src/main/frontend/src/features/version/versionApi.js @@ -0,0 +1,82 @@ +/* +* Copyright © 2018 European Support Limited +* +* 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 +* +* 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. +*/ + +import RestfulAPIUtil from 'services/restAPIUtil'; +import Configuration from 'config/Configuration.js'; +import { CERTIFY_JSON } from 'features/version/versionController/versionControllerConstants'; + +function baseUrl(workflowId) { + const restPrefix = Configuration.get('restPrefix'); + return `${restPrefix}/workflows/${workflowId}/versions`; +} + +const Api = { + fetchVersion: ({ workflowId, versionId }) => { + return RestfulAPIUtil.fetch(`${baseUrl(workflowId)}/${versionId}`); + }, + createNewVersion: ({ workflowId, baseId, description }) => { + const urlParams = baseId ? `?baseVersionId=${baseId}` : ``; + return RestfulAPIUtil.post(`${baseUrl(workflowId)}${urlParams}`, { + description + }); + }, + updateVersion: ({ workflowId, ...payload }) => { + return RestfulAPIUtil.put( + `${baseUrl(workflowId)}/${payload.params.id}`, + { + ...payload.params + } + ); + }, + fetchVersionArtifact: ({ workflowId, versionId }) => { + return RestfulAPIUtil.fetch( + `${baseUrl(workflowId)}/${versionId}/artifact` + ); + }, + updateVersionArtifact: ({ + workflowId, + versionId, + workflowName, + versionName, + payload + }) => { + let formData = new FormData(); + var blob = new Blob([payload], { type: 'text/xml' }); + formData.append( + 'fileToUpload', + blob, + `${workflowName}-${versionName}.bpmn` + ); + + return RestfulAPIUtil.put( + `${baseUrl(workflowId)}/${versionId}/artifact`, + formData + ); + }, + deleteVersionArtifact: ({ workflowId, versionId }) => { + return RestfulAPIUtil.delete( + `${baseUrl(workflowId)}/${versionId}/artifact` + ); + }, + certifyVersion: ({ workflowId, versionId }) => { + return RestfulAPIUtil.post( + `${baseUrl(workflowId)}/${versionId}/state`, + CERTIFY_JSON + ); + } +}; + +export default Api; |