public class DocumentRoleRequest extends VaultRequest
Modifier and Type | Class and Description |
---|---|
static class |
DocumentRoleRequest.MemberType
Enum for User or Group request on single document remove endpoint
|
HTTP_HEADER_AUTHORIZATION, HTTP_HEADER_VAULT_CLIENT_ID, vaultClient
Modifier and Type | Method and Description |
---|---|
DocumentRoleChangeResponse |
assignUsersAndGroupsToRolesOnASingleDocument(DocumentRequestType documentRequestType,
int id)
Assign Users and Groups to Roles on a Single Document
|
DocumentRoleChangeBulkResponse |
assignUsersAndGroupsToRolesOnMultipleDocuments()
Assign users and groups to roles on a document or binder in bulk.
|
DocumentRoleChangeResponse |
removeUsersAndGroupsFromRolesOnASingleDocument(DocumentRequestType documentRequestType,
int docId,
String roleName,
DocumentRoleRequest.MemberType memberType,
long id)
Remove Users and Groups from Roles on a Single Document
|
DocumentRoleChangeBulkResponse |
removeUsersAndGroupsFromRolesOnMultipleDocuments()
Remove Users and Groups from Roles on Multiple Documents
|
DocumentRoleRetrieveResponse |
retrieveRoles(DocumentRequestType documentRequestType,
int id)
Retrieve Roles
|
DocumentRoleRetrieveResponse |
retrieveRoles(DocumentRequestType documentRequestType,
int id,
String roleName)
Retrieve Roles - Filter by Role
|
DocumentRoleRequest |
setBinaryFile(String filename,
byte[] binaryContent)
Specify source data in an input file
|
DocumentRoleRequest |
setBodyParams(Map<String,Object> bodyParams)
Single form add/remove request with name/value body parameters
Can be used on single Document endpoint, or for performing single Document operations, using the bulk endpoint. |
DocumentRoleRequest |
setContentTypeCsv()
Set the Header Content Type to CSV
|
DocumentRoleRequest |
setContentTypeXForm()
Set the Header Content Type to x-www-form-urlencoded
|
DocumentRoleRequest |
setInputPath(String inputPath)
Specify source data in an input file
|
DocumentRoleRequest |
setRequestString(String requestString)
Specify source data in an input string, such as a JSON request
|
getBaseObjectMapper, send, send, sendReturnBinary, sendReturnBinary, sendToFile, sendToFile, setVaultClient
public DocumentRoleRetrieveResponse retrieveRoles(DocumentRequestType documentRequestType, int id)
Retrieve all available roles on a document or binder and the users and groups assigned to them.
documentRequestType
- Documents or Bindersid
- The Document or Binder idGET /api/{version}/objects/{documents_or_binders}/{id}/roles
DocumentRoleRetrieveResponse resp = vaultClient.newRequest(DocumentRoleRequest.class) .retrieveRoles(DocumentRequestType.DOCUMENTS, docId);
if (resp != null && resp.isSuccessful()) { System.out.println("Document Roles:"); resp.getDocumentRoles().forEach(role -> { System.out.println("\tName: " + role.getName()); System.out.println("\tLabel: " + role.getLabel()); System.out.println("\tAssigned Users: " + role.getAssignedUsers()); System.out.println("\tAssigned Groups: " + role.getAssignedGroups()); System.out.println("\tAvailable Users: " + role.getAvailableUsers()); System.out.println("\tAvailable Groups: " + role.getAvailableGroups()); System.out.println("\tDefault Users: " + role.getDefaultUsers()); System.out.println("\tDefault Groups: " + role.getDefaultGroups()); }); System.out.println(); }
public DocumentRoleRetrieveResponse retrieveRoles(DocumentRequestType documentRequestType, int id, String roleName)
Include a role name to filter for a specific role. For example, owner__v.
documentRequestType
- Documents or Bindersid
- The Document or Binder idroleName
- The Role name to filter results byGET /api/{version}/objects/{documents_or_binders}/{id}/roles{/role_name}
DocumentRoleRetrieveResponse resp = documentRoleRequest .retrieveRoles(DocumentRequestType.DOCUMENTS, docId, "owner__v");
See retrieveRoles(DocumentRequestType, int)
for example responses
public DocumentRoleChangeResponse assignUsersAndGroupsToRolesOnASingleDocument(DocumentRequestType documentRequestType, int id)
documentRequestType
- Documents or Bindersid
- The Document or Binder idPOST /api/{version}/objects/documents/{id}/roles
DocumentRoleChangeResponse response = vaultClient.newRequest(DocumentRoleRequest.class). .assignUsersAndGroupsToRolesOnASingleDocument(docId);
if (response != null && response.isSuccessful()) { System.out.println("Updated Roles:"); response.getUpdatedRoles().forEach((k,v) -> { System.out.println("\tRole: " + k); v.forEach((k1, v1) -> { System.out.println("\t\t" + k1 + ": " + v1); }); }); }
public DocumentRoleChangeBulkResponse assignUsersAndGroupsToRolesOnMultipleDocuments()
The maximum CSV input file size is 1GB. The values in the input must be UTF-8 encoded. CSVs must follow the standard format. The maximum batch size is 1000.
POST /api/{version}/objects/documents/roles/batch
DocumentRoleUpdateBulkResponse response = vaultClient.newRequest(DocumentRoleRequest.class) .setInputPath(TEST_CSV) .setContentTypeCsv() documentRoleRequest.assignUsersAndGroupsToRolesOnMultipleDocuments();
if (response != null && response.isSuccessful()) { System.out.println("Updated Documents:"); response.getData().forEach(entry -> { System.out.println("\tDocument id: " + entry.getId()); System.out.println("\tUpdates made: " + entry.getUpdates()); entry.getUpdates().forEach((k,v) -> { System.out.println("\t\t" + k + ": " + v); }); }); }
public DocumentRoleChangeBulkResponse removeUsersAndGroupsFromRolesOnMultipleDocuments()
The maximum CSV input file size is 1GB. The values in the input must be UTF-8 encoded. CSVs must follow the standard format. The maximum batch size is 1000.
DELETE /api/{version}/objects/documents/roles/batch
DocumentRoleUpdateBulkResponse response = vaultClient.newRequest(DocumentRoleRequest.class) .setInputPath(TEST_CSV) .setContentTypeCsv() documentRoleRequest.removeUsersAndGroupsFromRolesOnMultipleDocuments();
if (response != null && response.isSuccessful()) { System.out.println("Updated Documents:"); response.getData().forEach(entry -> { System.out.println("\tDocument id: " + entry.getId()); System.out.println("\tUpdates made: " + entry.getUpdates()); entry.getUpdates().forEach((k,v) -> { System.out.println("\t\t" + k + ": " + v); }); }); }
public DocumentRoleChangeResponse removeUsersAndGroupsFromRolesOnASingleDocument(DocumentRequestType documentRequestType, int docId, String roleName, DocumentRoleRequest.MemberType memberType, long id)
Use bulk API for multiple documents
documentRequestType
- Documents or BindersdocId
- The Document or Binder idroleName
- Name of the Role to modifymemberType
- User or Groupid
- User or Group id to removeDELETE /api/{version}/objects/documents/{doc_id}/roles/{role_name}.{user_or_group}/{id}
DocumentRoleChangeResponse response = request .removeUsersAndGroupsFromRolesOnASingleDocument(docId, "viewer__v", MemberType.GROUP, id);
if (response != null && response.isSuccessful()) { System.out.println("Updated Roles:"); response.getUpdatedRoles().forEach((k,v) -> { System.out.println("\tRole: " + k); v.forEach((v1, k1) -> { System.out.println("\t\t" + v1 + ": " + k1); }); }); }
public DocumentRoleRequest setContentTypeCsv()
public DocumentRoleRequest setContentTypeXForm()
public DocumentRoleRequest setBinaryFile(String filename, byte[] binaryContent)
filename
- file name (no path)binaryContent
- byte array of the file contentpublic DocumentRoleRequest setBodyParams(Map<String,Object> bodyParams)
bodyParams
- map of body paramspublic DocumentRoleRequest setInputPath(String inputPath)
inputPath
- Absolute path to the file for the requestpublic DocumentRoleRequest setRequestString(String requestString)
requestString
- The source request as a stringCopyright © 2021. All rights reserved.