|
21 | 21 | import com.sendsafely.dto.EnterpriseInfo; |
22 | 22 | import com.sendsafely.dto.PackageURL; |
23 | 23 | import com.sendsafely.dto.UserInformation; |
| 24 | +import com.sendsafely.dto.request.AddContactGroupAsRecipientRequest; |
24 | 25 | import com.sendsafely.dto.request.AddDropzoneRecipientRequest; |
| 26 | +import com.sendsafely.dto.request.AddUserToContactGroupRequest; |
25 | 27 | import com.sendsafely.dto.request.AddMessageRequest; |
26 | 28 | import com.sendsafely.dto.request.AddRecipientRequest; |
27 | 29 | import com.sendsafely.dto.request.AddRecipientsRequest; |
| 30 | +import com.sendsafely.dto.request.CreateContactGroupRequest; |
28 | 31 | import com.sendsafely.dto.request.GetDropzoneRecipientRequest; |
29 | 32 | import com.sendsafely.dto.request.GetMessageRequest; |
| 33 | +import com.sendsafely.dto.request.GetContactGroupsRequest; |
| 34 | +import com.sendsafely.dto.request.RemoveContactGroupAsRecipientRequest; |
| 35 | +import com.sendsafely.dto.request.RemoveContactGroupRequest; |
| 36 | +import com.sendsafely.dto.request.RemoveUserFromContactGroupRequest; |
30 | 37 | import com.sendsafely.enums.APIResponse; |
31 | 38 | import com.sendsafely.enums.CountryCode; |
32 | 39 | import com.sendsafely.enums.Endpoint; |
|
35 | 42 | import com.sendsafely.exceptions.DropzoneRecipientFailedException; |
36 | 43 | import com.sendsafely.exceptions.PasswordRequiredException; |
37 | 44 | import com.sendsafely.exceptions.RecipientFailedException; |
| 45 | +import com.sendsafely.exceptions.RemoveContactGroupAsRecipientFailedException; |
| 46 | +import com.sendsafely.exceptions.RemoveContactGroupFailedException; |
| 47 | +import com.sendsafely.exceptions.RemoveEmailContactGroupFailedException; |
| 48 | +import com.sendsafely.exceptions.ContactGroupException; |
| 49 | +import com.sendsafely.exceptions.AddEmailContactGroupFailedException; |
38 | 50 | import com.sendsafely.exceptions.ApproverRequiredException; |
| 51 | +import com.sendsafely.exceptions.CreateContactGroupFailedException; |
39 | 52 | import com.sendsafely.exceptions.CreatePackageFailedException; |
40 | 53 | import com.sendsafely.exceptions.DeletePackageException; |
41 | 54 | import com.sendsafely.exceptions.EnterpriseInfoFailedException; |
42 | 55 | import com.sendsafely.exceptions.FinalizePackageFailedException; |
| 56 | +import com.sendsafely.exceptions.GetContactGroupsFailedException; |
43 | 57 | import com.sendsafely.exceptions.GetPackagesException; |
44 | 58 | import com.sendsafely.exceptions.InvalidCredentialsException; |
45 | 59 | import com.sendsafely.exceptions.LimitExceededException; |
|
52 | 66 | import com.sendsafely.exceptions.UploadFileException; |
53 | 67 | import com.sendsafely.exceptions.UserInformationFailedException; |
54 | 68 | import com.sendsafely.file.FileManager; |
| 69 | +import com.sendsafely.handlers.AddContactGroupAsRecipientHandler; |
55 | 70 | import com.sendsafely.handlers.AddDropzoneRecipientHandler; |
| 71 | +import com.sendsafely.handlers.AddUserContactGroupHandler; |
56 | 72 | import com.sendsafely.handlers.AddFileHandler; |
57 | 73 | import com.sendsafely.handlers.AddMessageHandler; |
58 | 74 | import com.sendsafely.handlers.AddRecipientHandler; |
59 | 75 | import com.sendsafely.handlers.AddRecipientsHandler; |
| 76 | +import com.sendsafely.handlers.CreateContactGroupHandler; |
60 | 77 | import com.sendsafely.handlers.CreatePackageHandler; |
61 | 78 | import com.sendsafely.handlers.DeletePackageHandler; |
62 | 79 | import com.sendsafely.handlers.DownloadAndDecryptFileHandler; |
63 | 80 | import com.sendsafely.handlers.EnterpriseInfoHandler; |
64 | 81 | import com.sendsafely.handlers.FinalizePackageHandler; |
| 82 | +import com.sendsafely.handlers.GetContactGroupsHandler; |
65 | 83 | import com.sendsafely.handlers.GetDropzoneRecipientHandler; |
66 | 84 | import com.sendsafely.handlers.GetMessageHandler; |
67 | 85 | import com.sendsafely.handlers.GetPackagesHandler; |
68 | 86 | import com.sendsafely.handlers.GetRecipientHandler; |
69 | 87 | import com.sendsafely.handlers.HandlerFactory; |
70 | 88 | import com.sendsafely.handlers.PackageInformationHandler; |
71 | 89 | import com.sendsafely.handlers.ParseLinksHandler; |
| 90 | +import com.sendsafely.handlers.RemoveContactGroupAsRecipientHandler; |
| 91 | +import com.sendsafely.handlers.RemoveContactGroupHandler; |
72 | 92 | import com.sendsafely.handlers.RemoveDropzoneRecipientHandler; |
| 93 | +import com.sendsafely.handlers.RemoveUserContactGroupHandler; |
73 | 94 | import com.sendsafely.handlers.RemoveRecipientHandler; |
74 | 95 | import com.sendsafely.handlers.UpdatePackageLifeHandler; |
75 | 96 | import com.sendsafely.handlers.UpdateRecipientHandler; |
@@ -746,5 +767,101 @@ else if (!response.equals(APIResponse.SUCCESS.toString())) |
746 | 767 | return defaultCredentials; |
747 | 768 |
|
748 | 769 | } |
| 770 | + |
| 771 | + /** |
| 772 | + * API to create a contact group |
| 773 | + * Use this to create a new contact group. Will accept a group name. Returned values will include a contact group Id that will be useful |
| 774 | + * for other calls against the api. |
| 775 | + * |
| 776 | + * @param groupName |
| 777 | + * @return String of groupId |
| 778 | + * @throws CreateContactGroupFailedException |
| 779 | +
|
| 780 | + */ |
| 781 | + public String createContactGroup(String groupName) throws CreateContactGroupFailedException{ |
| 782 | + CreateContactGroupHandler handler = new CreateContactGroupHandler(uploadManager, new CreateContactGroupRequest(uploadManager.getJsonManager(), groupName)); |
| 783 | + return handler.makeRequest(); |
| 784 | + } |
| 785 | + |
| 786 | + /** |
| 787 | + * API to remove a contact group |
| 788 | + * Use this to remove a contact group. Will accept a group id. No values will be returned. |
| 789 | + * If the api fails, the RemoveContactGroupFailedException will be triggered. |
| 790 | + * |
| 791 | + * @param groupId |
| 792 | + * @throws RemoveContactGroupFailedException |
| 793 | +
|
| 794 | + */ |
| 795 | + public void deleteContactGroup(String groupId) throws RemoveContactGroupFailedException{ |
| 796 | + RemoveContactGroupHandler handler = new RemoveContactGroupHandler(uploadManager, new RemoveContactGroupRequest(uploadManager.getJsonManager(), groupId)); |
| 797 | + handler.makeRequest(); |
| 798 | + } |
| 799 | + |
| 800 | + /** |
| 801 | + * API to add an email address to a contact group |
| 802 | + * Use this to add an email address to a contact group. Returns a string of recipient id. |
| 803 | + * |
| 804 | + * @param groupId |
| 805 | + * @param userEmail |
| 806 | + * @return |
| 807 | + * @throws AddEmailContactGroupFailedException |
| 808 | + */ |
| 809 | + public String addUserToContactGroup(String groupId, String userEmail) throws AddEmailContactGroupFailedException{ |
| 810 | + AddUserContactGroupHandler handler = new AddUserContactGroupHandler(uploadManager, new AddUserToContactGroupRequest(uploadManager.getJsonManager(), groupId, userEmail)); |
| 811 | + return handler.makeRequest(); |
| 812 | + } |
749 | 813 |
|
| 814 | + /** |
| 815 | + * API to remove an email address from a contact group |
| 816 | + * Use this to remove an email address from a contact group. Throws an exception if an error occurred. |
| 817 | + * |
| 818 | + * @param groupId |
| 819 | + * @param userId |
| 820 | + * @throws RemoveEmailContactGroupFailedException |
| 821 | +
|
| 822 | + */ |
| 823 | + public void removeUserFromContactGroup(String groupId, String userId) throws RemoveEmailContactGroupFailedException{ |
| 824 | + RemoveUserContactGroupHandler handler = new RemoveUserContactGroupHandler(uploadManager, new RemoveUserFromContactGroupRequest(uploadManager.getJsonManager(), groupId, userId)); |
| 825 | + handler.makeRequest(); |
| 826 | + } |
| 827 | + |
| 828 | + /** |
| 829 | + * API to add a contact group as a recipient on a package |
| 830 | + * Use this to add a contact group and all of the email members to a package as complete unit. Throws an exception if the call failed. |
| 831 | + * |
| 832 | + * @param packageId |
| 833 | + * @param groupId |
| 834 | + * @throws ContactGroupException |
| 835 | + */ |
| 836 | + public void addContactGroupToPackage(String packageId, String groupId) throws ContactGroupException{ |
| 837 | + AddContactGroupAsRecipientHandler handler = new AddContactGroupAsRecipientHandler(uploadManager, new AddContactGroupAsRecipientRequest(uploadManager.getJsonManager(), packageId, groupId)); |
| 838 | + handler.makeRequest(); |
| 839 | + } |
| 840 | + |
| 841 | + /** |
| 842 | + * API to remove a contact group as a recipient on a package |
| 843 | + * Use this to remove a contact group and all of the associated email members from a package as a complete unit. |
| 844 | + * Throws an exception if the call failed |
| 845 | + * |
| 846 | + * @param packageId |
| 847 | + * @param groupId |
| 848 | + * @throws RemoveContactGroupAsRecipientFailedException |
| 849 | + */ |
| 850 | + public void removeContactGroupFromPackage(String packageId,String groupId) throws RemoveContactGroupAsRecipientFailedException{ |
| 851 | + RemoveContactGroupAsRecipientHandler handler = new RemoveContactGroupAsRecipientHandler(uploadManager, new RemoveContactGroupAsRecipientRequest(uploadManager.getJsonManager(), packageId, groupId)); |
| 852 | + handler.makeRequest(); |
| 853 | + } |
| 854 | + |
| 855 | + /** |
| 856 | + * API to retrieve a list of contact groups, including all email addresses associated with the contact groups |
| 857 | + * Use this to get a list of contact groups and emails associated with each contact group. Throws an exception if the call fails |
| 858 | + * Returns a list of contact groups with email addresses within each contact group |
| 859 | + * |
| 860 | + * @return List<ContactGroupDTO> object of contact groups and email addresses |
| 861 | + * @throws GetContactGroupsFailedException |
| 862 | + */ |
| 863 | + public List<ContactGroup> getContactGroups() throws GetContactGroupsFailedException{ |
| 864 | + GetContactGroupsHandler handler = new GetContactGroupsHandler(uploadManager, new GetContactGroupsRequest(uploadManager.getJsonManager())); |
| 865 | + return handler.makeRequest(); |
| 866 | + } |
750 | 867 | } |
0 commit comments