mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
127454 jkaabimofrad: MNT-16224, RA-1093: Fixed Quickshare issue where deleting a shared node didn't remove the 'shared' aspect. The fix also takes care of the shared nodes that have been deleted but not yet restored, as well as, shared nodes that have already been restored from the trashcan (allow the user to un-share). git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@127465 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
101 lines
3.4 KiB
Java
101 lines
3.4 KiB
Java
/*
|
|
* #%L
|
|
* Alfresco Repository
|
|
* %%
|
|
* Copyright (C) 2005 - 2016 Alfresco Software Limited
|
|
* %%
|
|
* This file is part of the Alfresco software.
|
|
* If the software was purchased under a paid Alfresco license, the terms of
|
|
* the paid license agreement will prevail. Otherwise, the software is
|
|
* provided under the following open source license terms:
|
|
*
|
|
* Alfresco is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* Alfresco is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
* #L%
|
|
*/
|
|
package org.alfresco.service.cmr.quickshare;
|
|
|
|
import java.util.Map;
|
|
|
|
import org.alfresco.repo.quickshare.QuickShareServiceImpl.QuickShareEmailRequest;
|
|
import org.alfresco.service.cmr.repository.InvalidNodeRefException;
|
|
import org.alfresco.service.cmr.repository.NodeRef;
|
|
import org.alfresco.util.Pair;
|
|
|
|
/**
|
|
* The QuickShare service.
|
|
*
|
|
* Responsible for creating, updating and retrieving Quick share metadata,
|
|
*
|
|
* @author Alex Miller, janv
|
|
* @since Cloud/4.2
|
|
*/
|
|
public interface QuickShareService
|
|
{
|
|
/**
|
|
* Share content identified by nodeRef.
|
|
*
|
|
* @param nodeRef The NodeRef of the content to share
|
|
* @return QuickDTO with details of the share
|
|
*/
|
|
public QuickShareDTO shareContent(NodeRef nodeRef) throws QuickShareDisabledException, InvalidNodeRefException;
|
|
|
|
/**
|
|
* Get QuickShare related metadata for the given node.
|
|
*
|
|
* @param nodeRef NodeRef
|
|
* @return Map
|
|
*/
|
|
public Map<String, Object> getMetaData(NodeRef nodeRef) throws QuickShareDisabledException, InvalidNodeRefException;
|
|
|
|
/**
|
|
* Get QuickShare related metadata for the given shareId.
|
|
*
|
|
* @param shareId String
|
|
* @return Map
|
|
*/
|
|
public Map<String, Object> getMetaData(String shareId) throws QuickShareDisabledException, InvalidSharedIdException;
|
|
|
|
/**
|
|
* Get the tenant domain and node reference for the the given share id.
|
|
*
|
|
* @param sharedId String
|
|
* @return Pair
|
|
*/
|
|
public Pair<String, NodeRef> getTenantNodeRefFromSharedId(String sharedId) throws QuickShareDisabledException, InvalidSharedIdException;
|
|
|
|
/**
|
|
* Unshare the content identified by sharedId
|
|
*
|
|
* @param sharedId The shared id of the content to unshare.
|
|
*/
|
|
public void unshareContent(String sharedId) throws QuickShareDisabledException, InvalidSharedIdException;
|
|
|
|
/**
|
|
* Determine if the current user has permission to read the shared content.
|
|
*/
|
|
public boolean canRead(String sharedId);
|
|
|
|
/**
|
|
* Notifies users by email that a content has been shared with them, and the details of it.
|
|
*
|
|
* @param emailRequest The email details including its template details
|
|
*/
|
|
public void sendEmailNotification(QuickShareEmailRequest emailRequest);
|
|
|
|
/**
|
|
* Determine if the current user has permission to delete the shared link.
|
|
*/
|
|
public boolean canDeleteSharedLink(NodeRef nodeRef, String sharedByUserId);
|
|
}
|