Class DocumentRoleRequest
java.lang.Object
com.veeva.vault.vapil.api.request.VaultRequest<DocumentRoleRequest>
com.veeva.vault.vapil.api.request.DocumentRoleRequest
Document Role Requests
- Vault API Coverage:
- https://developer.veevavault.com/api/25.1/#document-roles
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Enum for User or Group request on single document remove endpoint -
Field Summary
Fields inherited from class com.veeva.vault.vapil.api.request.VaultRequest
HTTP_HEADER_AUTHORIZATION, HTTP_HEADER_REFERENCE_ID, HTTP_HEADER_VAULT_CLIENT_ID, referenceId, requestClientId, vaultClient
-
Method Summary
Modifier and TypeMethodDescriptionAssign Users and Groups to Roles on a Single DocumentAssign Users & Groups to Roles on Multiple DocumentsremoveUsersAndGroupsFromRolesOnASingleDocument
(int docId, String roleName, DocumentRoleRequest.MemberType memberType, long id) Remove Users and Groups from Roles on a Single DocumentRemove Users and Groups from Roles on Multiple DocumentsretrieveAllDocumentRoles
(int id) Retrieve All Document RolesretrieveDocumentRole
(int id, String roleName) Retrieve Document RolesetBinaryFile
(String filename, byte[] binaryContent) Specify source data in an input filesetBodyParams
(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.Set the Header Content Type to CSVSet the Header Content Type to x-www-form-urlencodedsetInputPath
(String inputPath) Specify source data in an input filesetRequestString
(String requestString) Specify source data in an input string, such as a JSON requestMethods inherited from class com.veeva.vault.vapil.api.request.VaultRequest
getBaseObjectMapper, send, send, sendReturnBinary, sendReturnBinary, sendToFile, sendToFile, setHeaderClientId, setHeaderReferenceId, setVaultClient
-
Method Details
-
retrieveAllDocumentRoles
Retrieve All Document RolesRetrieve all available roles on a document and the users and groups assigned to them.
- Parameters:
id
- The Document id- Returns:
- DocumentRoleRetrieveResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents/{doc_id}/roles
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-all-document-roles
- Example Request:
DocumentRoleRetrieveResponse response = vaultClient.newRequest(DocumentRoleRequest.class) .retrieveAllDocumentRoles(docId);
- Example Response:
for (RoleRetrieveResponse.Role role : response.getRoles()) { System.out.println("---------Document Role---------"); System.out.println("Name: " + role.getName()); System.out.println("Label: " + role.getLabel()); System.out.println("Available Users: " + role.getAvailableUsers()); System.out.println("Available Groups: " + role.getAvailableGroups()); }
-
retrieveDocumentRole
Retrieve Document RoleRetrieve Document Role
- Parameters:
id
- The Document idroleName
- The Role name to retrieve- Returns:
- DocumentRoleRetrieveResponse
- Vault API Endpoint:
GET /api/{version}/objects/documents/{doc_id}/roles/{role_name}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#retrieve-document-role
- Example Request:
DocumentRoleRetrieveResponse response = vaultClient.newRequest(DocumentRoleRequest.class) .retrieveDocumentRole(docId, "owner__v");
- Example Response:
System.out.println("Name: " + response.getRoles().get(0).getName()); System.out.println("Label: " + response.getRoles().get(0).getLabel()); System.out.println("Available Users: " + response.getRoles().get(0).getAvailableUsers()); System.out.println("Available Groups: " + response.getRoles().get(0).getAvailableGroups());
-
assignUsersAndGroupsToRolesOnASingleDocument
Assign Users and Groups to Roles on a Single Document- Parameters:
id
- The Document id- Returns:
- DocumentRoleChangeResponse
- Vault API Endpoint:
POST /api/{version}/objects/documents/{id}/roles
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#assign-users-amp-groups-to-roles-on-a-single-document
- Example Request:
DocumentRoleChangeResponse response = vaultClient.newRequest(DocumentRoleRequest.class) .setBodyParams(Collections.singletonMap("editor__v.users", userId)) .assignUsersAndGroupsToRolesOnASingleDocument(docId);
- Example Response:
System.out.println("-----Users added to Editor role-----"); for (Long userId : response.getUpdatedRoles().get("editor__v").get("users")) { System.out.println("User ID: " + userId); }
-
assignUsersAndGroupsToRolesOnMultipleDocuments
Assign Users & Groups to Roles on Multiple DocumentsThe 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.
- Returns:
- DocumentRoleUpdateBulkResponse
- See Also:
- Vault API Endpoint:
POST /api/{version}/objects/documents/roles/batch
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#assign-users-amp-groups-to-roles-on-multiple-documents-amp-binders
- Example Request:
DocumentRoleChangeBulkResponse response = vaultClient.newRequest(DocumentRoleRequest.class) .setContentTypeCsv() .setInputPath(inputPath) .assignUsersAndGroupsToRolesOnMultipleDocuments();
- Example Response:
for (RoleChangeBulkResponse.RoleChange docResponse : response.getData()) { System.out.println("Document ID: " + docResponse.getId()); System.out.println("Response Status: " + docResponse.getResponseStatus()); System.out.println("-----Users added to Editor role-----"); for (int userId : docResponse.getListInteger("editor__v.users")) { System.out.println("User ID: " + userId); } System.out.println(); }
-
removeUsersAndGroupsFromRolesOnMultipleDocuments
Remove Users and Groups from Roles on Multiple DocumentsThe 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.
- Returns:
- DocumentRoleChangeBulkResponse
- See Also:
- Vault API Endpoint:
DELETE /api/{version}/objects/documents/roles/batch
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#remove-users-amp-groups-from-roles-on-multiple-documents-amp-binders
- Example Request:
DocumentRoleChangeBulkResponse response = vaultClient.newRequest(DocumentRoleRequest.class) .setContentTypeCsv() .setInputPath(inputPath) .removeUsersAndGroupsFromRolesOnMultipleDocuments();
- Example Response:
for (RoleChangeBulkResponse.RoleChange docResponse : response.getData()) { System.out.println("Document ID: " + docResponse.getId()); System.out.println("Response Status: " + docResponse.getResponseStatus()); System.out.println("-----Users removed from Editor role-----"); for (int userId : docResponse.getListInteger("editor__v.users")) { System.out.println("User ID: " + userId); } System.out.println(); }
-
removeUsersAndGroupsFromRolesOnASingleDocument
public DocumentRoleChangeResponse removeUsersAndGroupsFromRolesOnASingleDocument(int docId, String roleName, DocumentRoleRequest.MemberType memberType, long id) Remove Users and Groups from Roles on a Single DocumentUse bulk API for multiple documents
- Parameters:
docId
- The Document idroleName
- Name of the Role to modifymemberType
- User or Groupid
- User or Group id to remove- Returns:
- DocumentRoleChangeResponse
- Vault API Endpoint:
DELETE /api/{version}/objects/documents/{doc_id}/roles/{role_name}.{user_or_group}/{id}
- Vault API Help Link:
- https://developer.veevavault.com/api/25.1/#remove-users-amp-groups-from-roles-on-a-single-document
- Example Request:
DocumentRoleChangeResponse response = vaultClient.newRequest(DocumentRoleRequest.class) .removeUsersAndGroupsFromRolesOnASingleDocument(docId, "editor__v", DocumentRoleRequest.MemberType.USER, userIdToRemove);
- Example Response:
System.out.println("-----Users removed from Editor role-----"); for (Long userId : response.getUpdatedRoles().get("editor__v").get("users")) { System.out.println("User ID: " + userId); }
-
setContentTypeCsv
Set the Header Content Type to CSV- Returns:
- The Request
-
setContentTypeXForm
Set the Header Content Type to x-www-form-urlencoded- Returns:
- The Request
-
setBinaryFile
Specify source data in an input file- Parameters:
filename
- file name (no path)binaryContent
- byte array of the file content- Returns:
- The Request
-
setBodyParams
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.- Parameters:
bodyParams
- map of body params- Returns:
- The Request
-
setInputPath
Specify source data in an input file- Parameters:
inputPath
- Absolute path to the file for the request- Returns:
- The Request
-
setRequestString
Specify source data in an input string, such as a JSON request- Parameters:
requestString
- The source request as a string- Returns:
- The Request
-