UNPKG

box-ui-elements

Version:
61 lines 1.93 kB
import { ACCESS_NONE } from '../../constants'; import { CONTENT_SHARING_SHARED_LINK_UPDATE_PARAMS } from './constants'; import { convertSharedLinkPermissions, convertSharedLinkSettings } from './utils'; export const createSharingService = ({ itemApiInstance, onUpdateSharedLink, onRemoveSharedLink, options }) => { const { id, permissions } = options; const changeSharedLinkAccess = async access => { return itemApiInstance.share({ id, permissions }, access, onUpdateSharedLink, {}, CONTENT_SHARING_SHARED_LINK_UPDATE_PARAMS); }; const changeSharedLinkPermission = async permissionLevel => { return itemApiInstance.updateSharedLink({ id, permissions }, { permissions: convertSharedLinkPermissions(permissionLevel) }, onUpdateSharedLink, {}, CONTENT_SHARING_SHARED_LINK_UPDATE_PARAMS); }; const updateSharedLink = async sharedLinkSettings => { const { access, isDownloadAvailable, serverUrl } = options; return itemApiInstance.updateSharedLink({ id, permissions }, convertSharedLinkSettings(sharedLinkSettings, access, isDownloadAvailable, serverUrl), onUpdateSharedLink, {}, CONTENT_SHARING_SHARED_LINK_UPDATE_PARAMS); }; const createSharedLink = async () => { return itemApiInstance.share({ id, permissions }, undefined, // if "access" is undefined, the backend will set the default access level for the shared link onUpdateSharedLink, {}, CONTENT_SHARING_SHARED_LINK_UPDATE_PARAMS); }; const deleteSharedLink = async () => { return itemApiInstance.share({ id, permissions }, ACCESS_NONE, onRemoveSharedLink, {}, CONTENT_SHARING_SHARED_LINK_UPDATE_PARAMS); }; return { createSharedLink, changeSharedLinkAccess, changeSharedLinkPermission, deleteSharedLink, updateSharedLink }; }; //# sourceMappingURL=sharingService.js.map