diff options
author | talig <talig@amdocs.com> | 2017-12-20 14:30:43 +0200 |
---|---|---|
committer | Vitaly Emporopulo <Vitaliy.Emporopulo@amdocs.com> | 2017-12-21 11:12:33 +0000 |
commit | 8e9c0653dd6c6862123c9609ae34e1206d86456e (patch) | |
tree | 5eeef00ec0677133baa439ca8d7ffd7aca4804b6 /openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js | |
parent | 785ebcc95de3e064e843bec04ba7a209d854fc7c (diff) |
Add collaboration feature
Issue-ID: SDC-767
Change-Id: I14fb4c1f54086ed03a56a7ff7fab9ecd40381795
Signed-off-by: talig <talig@amdocs.com>
Diffstat (limited to 'openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js')
-rw-r--r-- | openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js b/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js new file mode 100644 index 0000000000..b82bc92017 --- /dev/null +++ b/openecomp-ui/src/sdc-app/common/helpers/ItemsHelper.js @@ -0,0 +1,78 @@ +/*! + * 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 + * + * 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 RestAPIUtil from 'nfvo-utils/RestAPIUtil.js'; +import Configuration from 'sdc-app/config/Configuration.js'; +import {permissionTypes} from 'sdc-app/onboarding/permissions/PermissionsConstants.js'; +import {actionsEnum as VersionControllerActionsEnum} from 'nfvo-components/panel/versionController/VersionControllerConstants.js'; +import {actionTypes as onboardingActionTypes} from 'sdc-app/onboarding/OnboardingConstants.js'; + +function baseUrl() { + const restPrefix = Configuration.get('restPrefix'); + return `${restPrefix}/v1.0/items`; +} + +const ItemsHelper = { + performVCAction({itemId, version, action, comment}) { + const {id: versionId} = version; + const data = { + action, + ...action === VersionControllerActionsEnum.COMMIT && {commitRequest: {message: comment}} + }; + return RestAPIUtil.put(`${baseUrl()}/${itemId}/versions/${versionId}/actions`, data); + }, + + fetchVersions({itemId}) { + return RestAPIUtil.fetch(`${baseUrl()}/${itemId}/versions`); + }, + + fetchVersion({itemId, versionId}) { + return RestAPIUtil.fetch(`${baseUrl()}/${itemId}/versions/${versionId}`); + }, + + fetchActivityLog({itemId, versionId}) { + return RestAPIUtil.fetch(`${baseUrl()}/${itemId}/versions/${versionId}/activity-logs`); + }, + + fetchUsers({itemId}) { + return RestAPIUtil.fetch(`${baseUrl()}/${itemId}/permissions`); + }, + + updateContributors({itemId, removedUsersIds, addedUsersIds}) { + return RestAPIUtil.put(`${baseUrl()}/${itemId}/permissions/${permissionTypes.CONTRIBUTOR}`, {removedUsersIds, addedUsersIds}); + }, + + changeOwner({itemId, ownerId}) { + return RestAPIUtil.put(`${baseUrl()}/${itemId}/permissions/${permissionTypes.OWNER}`, {removedUsersIds: [], addedUsersIds: [ownerId]}); + }, + + checkItemStatus(dispatch, {itemId, versionId}) { + return ItemsHelper.fetchVersion({itemId, versionId}).then(response => { + let state = response && response.state || {}; + const {baseId, description, id, name, status} = response; + + dispatch({ + type: onboardingActionTypes.UPDATE_ITEM_STATUS, + itemState: state, + itemStatus: response.status, + updatedVersion: {baseId, description, id, name, status} + }); + return Promise.resolve(response); + }); + + }, +}; + +export default ItemsHelper; |