[CMA-34] Get specific permissions on a particular node for the currently authenticated session Created: 02/Oct/08  Updated: 21/May/10  Resolved: 06/Oct/08

Status: Closed
Project: Remote Alfresco API rivet
Component/s: CMA Alfresco, CMA API
Affects Version/s: None
Fix Version/s: 1.7.0

Type: Improvement Priority: Critical
Reporter: vjalilov Assignee: vjalilov
Resolution: Completed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
OBJECTIVE:
Knowing whether the currently authenticated user can "ReadProperties", "ReadContent", "WriteProperties", etc on the returned nodes, so, we can enable/disable UI functionality based on permissions.

SPECIFICATION:
We need a SearchService query method with the following signature:

public java.util.List<Node> query(Ticket ticket,
                           org.alfresco.service.cmr.repository.StoreRef store,
                           SearchService.QueryLanguage queryLanguage,
                           java.lang.String query,
                           java.util.List<org.alfresco.service.namespace.QName> requiredProperties,
                           java.util.List<String> requiredPermissions, // *************** NEW PARAMETER **************
                           boolean returnPeerAssocs,
                           boolean returnChildAssocs,
                           boolean returnAspects,
                           int maxResults)
                           throws InvalidTicketException,
                                  CmaRuntimeException

//**************************************************************************************
java.util.List<String> requiredPermissions = new java.util.List<String>(5);
requiredPermissions.add("ReadProperties");
requiredPermissions.add("ReadContent");
requiredPermissions.add("Delete");
requiredPermissions.add("WriteProperties");
requiredPermissions.add("WriteContent");
//**************************************************************************************

The resulting Node elements in java.util.List<Node> should have the requiredPermissions and their status (ALLOWED, DENIED)

//**************************************************************************************
node.getPermissions().get(0).getPermission() ---> "ReadProperties"
node.getPermissions().get(0).getAccessStatus() ---> AccessStatus.ALLOWED

node.getPermissions().get(1).getPermission() ---> "ReadContent"
node.getPermissions().get(1).getAccessStatus() ---> AccessStatus.ALLOWED

node.getPermissions().get(2).getPermission() ---> "Delete"
node.getPermissions().get(2).getAccessStatus() ---> AccessStatus.DENIED

node.getPermissions().get(3).getPermission() ---> "WriteProperties"
node.getPermissions().get(3).getAccessStatus() ---> AccessStatus.ALLOWED

node.getPermissions().get(4).getPermission() ---> "WriteContent"
node.getPermissions().get(4).getAccessStatus() ---> AccessStatus.DENIED
//**************************************************************************************




 Comments   
Comment by hlim [ 06/Oct/08 ]
done.
Generated at Sat Feb 10 05:51:28 GMT 2024 using Jira 8.1.3#801003-sha1:6b6f07cffadda9a0d6efe24639daed8ce94dcdd6.