public class DocumentRoleRequest extends VaultRequest<DocumentRoleRequest>
| 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_REFERENCE_ID, HTTP_HEADER_VAULT_CLIENT_ID, referenceId, 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, setHeaderReferenceId, setVaultClientpublic 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 id
GET /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 by
GET /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 responsespublic DocumentRoleChangeResponse assignUsersAndGroupsToRolesOnASingleDocument(DocumentRequestType documentRequestType, int id)
documentRequestType - Documents or Bindersid - The Document or Binder id
POST /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 remove
DELETE /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 © 2024. All rights reserved.