mailslurp_client 5.0.0 → 7.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/README.md +127 -40
  4. data/docs/AttachmentControllerApi.md +124 -0
  5. data/docs/AttachmentMetaData.md +23 -0
  6. data/docs/BasicAuthOptions.md +10 -0
  7. data/docs/BulkActionsControllerApi.md +165 -0
  8. data/docs/BulkSendEmailOptions.md +11 -1
  9. data/docs/CommonActionsControllerApi.md +167 -0
  10. data/docs/ContactControllerApi.md +274 -0
  11. data/docs/ContactDto.md +31 -0
  12. data/docs/ContactProjection.md +27 -0
  13. data/docs/CreateContactOptions.md +31 -0
  14. data/docs/CreateDomainOptions.md +17 -0
  15. data/docs/CreateGroupOptions.md +19 -0
  16. data/docs/CreateTemplateOptions.md +19 -0
  17. data/docs/CreateWebhookOptions.md +13 -2
  18. data/docs/DomainControllerApi.md +223 -0
  19. data/docs/DomainDto.md +29 -0
  20. data/docs/DomainPreview.md +21 -0
  21. data/docs/Email.md +40 -15
  22. data/docs/EmailAnalysis.md +18 -5
  23. data/docs/EmailControllerApi.md +740 -0
  24. data/docs/EmailPreview.md +24 -6
  25. data/docs/EmailProjection.md +33 -0
  26. data/docs/ForwardEmailOptions.md +12 -0
  27. data/docs/GroupContactsDto.md +19 -0
  28. data/docs/GroupControllerApi.md +437 -0
  29. data/docs/GroupDto.md +23 -0
  30. data/docs/GroupProjection.md +23 -0
  31. data/docs/HTMLValidationResult.md +21 -0
  32. data/docs/Inbox.md +26 -4
  33. data/docs/InboxControllerApi.md +652 -0
  34. data/docs/InboxProjection.md +29 -0
  35. data/docs/JsonNode.md +59 -0
  36. data/docs/MatchOption.md +13 -2
  37. data/docs/MatchOptions.md +9 -0
  38. data/docs/PageContactProjection.md +37 -0
  39. data/docs/PageEmailPreview.md +37 -0
  40. data/docs/PageEmailProjection.md +37 -0
  41. data/docs/PageGroupProjection.md +37 -0
  42. data/docs/PageInboxProjection.md +37 -0
  43. data/docs/PageTemplateProjection.md +37 -0
  44. data/docs/PageWebhookProjection.md +37 -0
  45. data/docs/Pageable.md +27 -0
  46. data/docs/RawEmailJson.md +17 -0
  47. data/docs/SendEmailOptions.md +33 -6
  48. data/docs/SetInboxFavouritedOptions.md +17 -0
  49. data/docs/Sort.md +21 -0
  50. data/docs/TemplateControllerApi.md +274 -0
  51. data/docs/TemplateDto.md +25 -0
  52. data/docs/TemplateProjection.md +25 -0
  53. data/docs/TemplateVariable.md +19 -0
  54. data/docs/UnreadCount.md +17 -0
  55. data/docs/UpdateGroupContacts.md +17 -0
  56. data/docs/UpdateInboxOptions.md +25 -0
  57. data/docs/UploadAttachmentOptions.md +12 -1
  58. data/docs/ValidationDto.md +19 -0
  59. data/docs/ValidationMessage.md +19 -0
  60. data/docs/WaitForConditions.md +29 -0
  61. data/docs/WaitForControllerApi.md +317 -0
  62. data/docs/WebhookControllerApi.md +339 -0
  63. data/docs/WebhookDto.md +33 -0
  64. data/docs/WebhookProjection.md +27 -0
  65. data/docs/WebhookTestRequest.md +23 -0
  66. data/docs/WebhookTestResponse.md +19 -0
  67. data/docs/WebhookTestResult.md +21 -0
  68. data/git_push.sh +10 -7
  69. data/lib/mailslurp_client.rb +56 -7
  70. data/lib/mailslurp_client/api/attachment_controller_api.rb +157 -0
  71. data/lib/mailslurp_client/api/bulk_actions_controller_api.rb +203 -0
  72. data/lib/mailslurp_client/api/common_actions_controller_api.rb +201 -0
  73. data/lib/mailslurp_client/api/contact_controller_api.rb +323 -0
  74. data/lib/mailslurp_client/api/domain_controller_api.rb +264 -0
  75. data/lib/mailslurp_client/api/email_controller_api.rb +852 -0
  76. data/lib/mailslurp_client/api/group_controller_api.rb +519 -0
  77. data/lib/mailslurp_client/api/inbox_controller_api.rb +763 -0
  78. data/lib/mailslurp_client/api/template_controller_api.rb +323 -0
  79. data/lib/mailslurp_client/api/wait_for_controller_api.rb +359 -0
  80. data/lib/mailslurp_client/api/webhook_controller_api.rb +405 -0
  81. data/lib/mailslurp_client/api_client.rb +36 -39
  82. data/lib/mailslurp_client/api_error.rb +23 -4
  83. data/lib/mailslurp_client/configuration.rb +8 -11
  84. data/lib/mailslurp_client/models/attachment_meta_data.rb +253 -0
  85. data/lib/mailslurp_client/models/basic_auth_options.rb +39 -15
  86. data/lib/mailslurp_client/models/bulk_send_email_options.rb +42 -19
  87. data/lib/mailslurp_client/models/contact_dto.rb +288 -0
  88. data/lib/mailslurp_client/models/contact_projection.rb +261 -0
  89. data/lib/mailslurp_client/models/create_contact_options.rb +277 -0
  90. data/lib/mailslurp_client/models/create_domain_options.rb +208 -0
  91. data/lib/mailslurp_client/models/create_group_options.rb +220 -0
  92. data/lib/mailslurp_client/models/create_template_options.rb +225 -0
  93. data/lib/mailslurp_client/models/create_webhook_options.rb +54 -29
  94. data/lib/mailslurp_client/models/domain_dto.rb +296 -0
  95. data/lib/mailslurp_client/models/domain_preview.rb +240 -0
  96. data/lib/mailslurp_client/models/email.rb +86 -78
  97. data/lib/mailslurp_client/models/email_analysis.rb +46 -48
  98. data/lib/mailslurp_client/models/email_preview.rb +77 -41
  99. data/lib/mailslurp_client/models/email_projection.rb +306 -0
  100. data/lib/mailslurp_client/models/forward_email_options.rb +40 -17
  101. data/lib/mailslurp_client/models/group_contacts_dto.rb +227 -0
  102. data/lib/mailslurp_client/models/{webhook.rb → group_dto.rb} +60 -54
  103. data/lib/mailslurp_client/models/group_projection.rb +248 -0
  104. data/lib/mailslurp_client/models/html_validation_result.rb +243 -0
  105. data/lib/mailslurp_client/models/inbox.rb +104 -26
  106. data/lib/mailslurp_client/models/inbox_projection.rb +272 -0
  107. data/lib/mailslurp_client/models/json_node.rb +429 -0
  108. data/lib/mailslurp_client/models/match_option.rb +48 -24
  109. data/lib/mailslurp_client/models/match_options.rb +37 -14
  110. data/lib/mailslurp_client/models/page_contact_projection.rb +298 -0
  111. data/lib/mailslurp_client/models/page_email_preview.rb +298 -0
  112. data/lib/mailslurp_client/models/page_email_projection.rb +298 -0
  113. data/lib/mailslurp_client/models/page_group_projection.rb +298 -0
  114. data/lib/mailslurp_client/models/page_inbox_projection.rb +298 -0
  115. data/lib/mailslurp_client/models/page_template_projection.rb +298 -0
  116. data/lib/mailslurp_client/models/page_webhook_projection.rb +298 -0
  117. data/lib/mailslurp_client/models/pageable.rb +251 -0
  118. data/lib/mailslurp_client/models/raw_email_json.rb +211 -0
  119. data/lib/mailslurp_client/models/send_email_options.rb +141 -46
  120. data/lib/mailslurp_client/models/set_inbox_favourited_options.rb +208 -0
  121. data/lib/mailslurp_client/models/sort.rb +224 -0
  122. data/lib/mailslurp_client/models/template_dto.rb +269 -0
  123. data/lib/mailslurp_client/models/template_projection.rb +269 -0
  124. data/lib/mailslurp_client/models/template_variable.rb +259 -0
  125. data/lib/mailslurp_client/models/unread_count.rb +211 -0
  126. data/lib/mailslurp_client/models/update_group_contacts.rb +213 -0
  127. data/lib/mailslurp_client/models/update_inbox_options.rb +250 -0
  128. data/lib/mailslurp_client/models/upload_attachment_options.rb +43 -20
  129. data/lib/mailslurp_client/models/validation_dto.rb +225 -0
  130. data/lib/mailslurp_client/models/validation_message.rb +220 -0
  131. data/lib/mailslurp_client/models/wait_for_conditions.rb +315 -0
  132. data/lib/mailslurp_client/models/webhook_dto.rb +326 -0
  133. data/lib/mailslurp_client/models/webhook_projection.rb +277 -0
  134. data/lib/mailslurp_client/models/webhook_test_request.rb +284 -0
  135. data/lib/mailslurp_client/models/webhook_test_response.rb +215 -0
  136. data/lib/mailslurp_client/models/webhook_test_result.rb +235 -0
  137. data/lib/mailslurp_client/version.rb +5 -5
  138. data/mailslurp_client.gemspec +4 -10
  139. data/spec/api/attachment_controller_api_spec.rb +61 -0
  140. data/spec/api/bulk_actions_controller_api_spec.rb +68 -0
  141. data/spec/api/common_actions_controller_api_spec.rb +129 -0
  142. data/spec/api/contact_controller_api_spec.rb +91 -0
  143. data/spec/api/domain_controller_api_spec.rb +82 -0
  144. data/spec/api/email_controller_api_spec.rb +162 -0
  145. data/spec/api/group_controller_api_spec.rb +126 -0
  146. data/spec/api/inbox_controller_api_spec.rb +172 -0
  147. data/spec/api/template_controller_api_spec.rb +91 -0
  148. data/spec/api/wait_for_controller_api_spec.rb +107 -0
  149. data/spec/api/webhook_controller_api_spec.rb +107 -0
  150. data/spec/api_client_spec.rb +5 -5
  151. data/spec/configuration_spec.rb +4 -4
  152. data/spec/models/attachment_meta_data_spec.rb +59 -0
  153. data/spec/models/basic_auth_options_spec.rb +4 -4
  154. data/spec/models/bulk_send_email_options_spec.rb +4 -4
  155. data/spec/models/contact_dto_spec.rb +83 -0
  156. data/spec/models/contact_projection_spec.rb +71 -0
  157. data/spec/models/create_contact_options_spec.rb +83 -0
  158. data/spec/models/create_domain_options_spec.rb +41 -0
  159. data/spec/models/create_group_options_spec.rb +47 -0
  160. data/spec/models/create_template_options_spec.rb +47 -0
  161. data/spec/models/create_webhook_options_spec.rb +6 -6
  162. data/spec/models/domain_dto_spec.rb +77 -0
  163. data/spec/models/domain_preview_spec.rb +53 -0
  164. data/spec/models/email_analysis_spec.rb +4 -4
  165. data/spec/models/email_preview_spec.rb +41 -5
  166. data/spec/models/email_projection_spec.rb +89 -0
  167. data/spec/models/email_spec.rb +17 -5
  168. data/spec/models/forward_email_options_spec.rb +4 -4
  169. data/spec/models/group_contacts_dto_spec.rb +47 -0
  170. data/spec/models/group_dto_spec.rb +59 -0
  171. data/spec/models/group_projection_spec.rb +59 -0
  172. data/spec/models/html_validation_result_spec.rb +53 -0
  173. data/spec/models/inbox_projection_spec.rb +77 -0
  174. data/spec/models/inbox_spec.rb +35 -5
  175. data/spec/models/json_node_spec.rb +171 -0
  176. data/spec/models/match_option_spec.rb +4 -4
  177. data/spec/models/match_options_spec.rb +4 -4
  178. data/spec/models/page_contact_projection_spec.rb +101 -0
  179. data/spec/models/page_email_preview_spec.rb +101 -0
  180. data/spec/models/page_email_projection_spec.rb +101 -0
  181. data/spec/models/page_group_projection_spec.rb +101 -0
  182. data/spec/models/page_inbox_projection_spec.rb +101 -0
  183. data/spec/models/page_template_projection_spec.rb +101 -0
  184. data/spec/models/page_webhook_projection_spec.rb +101 -0
  185. data/spec/models/pageable_spec.rb +71 -0
  186. data/spec/models/raw_email_json_spec.rb +41 -0
  187. data/spec/models/send_email_options_spec.rb +45 -5
  188. data/spec/models/set_inbox_favourited_options_spec.rb +41 -0
  189. data/spec/models/sort_spec.rb +53 -0
  190. data/spec/models/template_dto_spec.rb +65 -0
  191. data/spec/models/template_projection_spec.rb +65 -0
  192. data/spec/models/template_variable_spec.rb +51 -0
  193. data/spec/models/unread_count_spec.rb +41 -0
  194. data/spec/models/update_group_contacts_spec.rb +41 -0
  195. data/spec/models/{webhook_spec.rb → update_inbox_options_spec.rb} +14 -20
  196. data/spec/models/upload_attachment_options_spec.rb +4 -4
  197. data/spec/models/validation_dto_spec.rb +47 -0
  198. data/spec/models/validation_message_spec.rb +47 -0
  199. data/spec/models/wait_for_conditions_spec.rb +85 -0
  200. data/spec/models/webhook_dto_spec.rb +93 -0
  201. data/spec/models/webhook_projection_spec.rb +71 -0
  202. data/spec/models/webhook_test_request_spec.rb +63 -0
  203. data/spec/models/webhook_test_response_spec.rb +47 -0
  204. data/spec/models/webhook_test_result_spec.rb +53 -0
  205. data/spec/spec_helper.rb +4 -4
  206. metadata +223 -149
  207. data/Gemfile.lock +0 -79
  208. data/docs/CommonOperationsApi.md +0 -499
  209. data/docs/ExtraOperationsApi.md +0 -1021
  210. data/docs/Webhook.md +0 -13
  211. data/lib/mailslurp_client/api/common_operations_api.rb +0 -502
  212. data/lib/mailslurp_client/api/extra_operations_api.rb +0 -1054
  213. data/spec/api/common_operations_api_spec.rb +0 -95
  214. data/spec/api/extra_operations_api_spec.rb +0 -231
@@ -0,0 +1,519 @@
1
+ =begin
2
+ #MailSlurp API
3
+
4
+ #MailSlurp is an API for sending and receiving emails from dynamically allocated email addresses. It's designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more. ## Resources - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://www.mailslurp.com/docs/) - [Examples](https://github.com/mailslurp/examples) repository
5
+
6
+ The version of the OpenAPI document: 67c9a1eda264be4cfe0bb2c76151f0aadf0862bc
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.2.3
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module MailSlurpClient
16
+ class GroupControllerApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Add contacts to a group
23
+ # @param group_id [String] groupId
24
+ # @param update_group_contacts_option [UpdateGroupContacts] updateGroupContactsOption
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [GroupContactsDto]
27
+ def add_contacts_to_group(group_id, update_group_contacts_option, opts = {})
28
+ data, _status_code, _headers = add_contacts_to_group_with_http_info(group_id, update_group_contacts_option, opts)
29
+ data
30
+ end
31
+
32
+ # Add contacts to a group
33
+ # @param group_id [String] groupId
34
+ # @param update_group_contacts_option [UpdateGroupContacts] updateGroupContactsOption
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(GroupContactsDto, Integer, Hash)>] GroupContactsDto data, response status code and response headers
37
+ def add_contacts_to_group_with_http_info(group_id, update_group_contacts_option, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: GroupControllerApi.add_contacts_to_group ...'
40
+ end
41
+ # verify the required parameter 'group_id' is set
42
+ if @api_client.config.client_side_validation && group_id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'group_id' when calling GroupControllerApi.add_contacts_to_group"
44
+ end
45
+ # verify the required parameter 'update_group_contacts_option' is set
46
+ if @api_client.config.client_side_validation && update_group_contacts_option.nil?
47
+ fail ArgumentError, "Missing the required parameter 'update_group_contacts_option' when calling GroupControllerApi.add_contacts_to_group"
48
+ end
49
+ # resource path
50
+ local_var_path = '/groups/{groupId}/contacts'.sub('{' + 'groupId' + '}', CGI.escape(group_id.to_s))
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Accept' (if needed)
58
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
59
+ # HTTP header 'Content-Type'
60
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
61
+
62
+ # form parameters
63
+ form_params = opts[:form_params] || {}
64
+
65
+ # http body (model)
66
+ post_body = opts[:body] || @api_client.object_to_http_body(update_group_contacts_option)
67
+
68
+ # return_type
69
+ return_type = opts[:return_type] || 'GroupContactsDto'
70
+
71
+ # auth_names
72
+ auth_names = opts[:auth_names] || ['API_KEY']
73
+
74
+ new_options = opts.merge(
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: GroupControllerApi#add_contacts_to_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Create a group
91
+ # @param create_group_options [CreateGroupOptions] createGroupOptions
92
+ # @param [Hash] opts the optional parameters
93
+ # @return [GroupDto]
94
+ def create_group(create_group_options, opts = {})
95
+ data, _status_code, _headers = create_group_with_http_info(create_group_options, opts)
96
+ data
97
+ end
98
+
99
+ # Create a group
100
+ # @param create_group_options [CreateGroupOptions] createGroupOptions
101
+ # @param [Hash] opts the optional parameters
102
+ # @return [Array<(GroupDto, Integer, Hash)>] GroupDto data, response status code and response headers
103
+ def create_group_with_http_info(create_group_options, opts = {})
104
+ if @api_client.config.debugging
105
+ @api_client.config.logger.debug 'Calling API: GroupControllerApi.create_group ...'
106
+ end
107
+ # verify the required parameter 'create_group_options' is set
108
+ if @api_client.config.client_side_validation && create_group_options.nil?
109
+ fail ArgumentError, "Missing the required parameter 'create_group_options' when calling GroupControllerApi.create_group"
110
+ end
111
+ # resource path
112
+ local_var_path = '/groups'
113
+
114
+ # query parameters
115
+ query_params = opts[:query_params] || {}
116
+
117
+ # header parameters
118
+ header_params = opts[:header_params] || {}
119
+ # HTTP header 'Accept' (if needed)
120
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
121
+ # HTTP header 'Content-Type'
122
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
123
+
124
+ # form parameters
125
+ form_params = opts[:form_params] || {}
126
+
127
+ # http body (model)
128
+ post_body = opts[:body] || @api_client.object_to_http_body(create_group_options)
129
+
130
+ # return_type
131
+ return_type = opts[:return_type] || 'GroupDto'
132
+
133
+ # auth_names
134
+ auth_names = opts[:auth_names] || ['API_KEY']
135
+
136
+ new_options = opts.merge(
137
+ :header_params => header_params,
138
+ :query_params => query_params,
139
+ :form_params => form_params,
140
+ :body => post_body,
141
+ :auth_names => auth_names,
142
+ :return_type => return_type
143
+ )
144
+
145
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
146
+ if @api_client.config.debugging
147
+ @api_client.config.logger.debug "API called: GroupControllerApi#create_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
148
+ end
149
+ return data, status_code, headers
150
+ end
151
+
152
+ # Delete group
153
+ # @param group_id [String] groupId
154
+ # @param [Hash] opts the optional parameters
155
+ # @return [nil]
156
+ def delete_group(group_id, opts = {})
157
+ delete_group_with_http_info(group_id, opts)
158
+ nil
159
+ end
160
+
161
+ # Delete group
162
+ # @param group_id [String] groupId
163
+ # @param [Hash] opts the optional parameters
164
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
165
+ def delete_group_with_http_info(group_id, opts = {})
166
+ if @api_client.config.debugging
167
+ @api_client.config.logger.debug 'Calling API: GroupControllerApi.delete_group ...'
168
+ end
169
+ # verify the required parameter 'group_id' is set
170
+ if @api_client.config.client_side_validation && group_id.nil?
171
+ fail ArgumentError, "Missing the required parameter 'group_id' when calling GroupControllerApi.delete_group"
172
+ end
173
+ # resource path
174
+ local_var_path = '/groups/{groupId}'.sub('{' + 'groupId' + '}', CGI.escape(group_id.to_s))
175
+
176
+ # query parameters
177
+ query_params = opts[:query_params] || {}
178
+
179
+ # header parameters
180
+ header_params = opts[:header_params] || {}
181
+
182
+ # form parameters
183
+ form_params = opts[:form_params] || {}
184
+
185
+ # http body (model)
186
+ post_body = opts[:body]
187
+
188
+ # return_type
189
+ return_type = opts[:return_type]
190
+
191
+ # auth_names
192
+ auth_names = opts[:auth_names] || ['API_KEY']
193
+
194
+ new_options = opts.merge(
195
+ :header_params => header_params,
196
+ :query_params => query_params,
197
+ :form_params => form_params,
198
+ :body => post_body,
199
+ :auth_names => auth_names,
200
+ :return_type => return_type
201
+ )
202
+
203
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
204
+ if @api_client.config.debugging
205
+ @api_client.config.logger.debug "API called: GroupControllerApi#delete_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
206
+ end
207
+ return data, status_code, headers
208
+ end
209
+
210
+ # Get all Contact Groups in paginated format
211
+ # @param [Hash] opts the optional parameters
212
+ # @option opts [Integer] :page Optional page index in inbox list pagination (default to 0)
213
+ # @option opts [Integer] :size Optional page size in inbox list pagination (default to 20)
214
+ # @option opts [String] :sort Optional createdAt sort direction ASC or DESC (default to 'ASC')
215
+ # @return [PageGroupProjection]
216
+ def get_all_groups(opts = {})
217
+ data, _status_code, _headers = get_all_groups_with_http_info(opts)
218
+ data
219
+ end
220
+
221
+ # Get all Contact Groups in paginated format
222
+ # @param [Hash] opts the optional parameters
223
+ # @option opts [Integer] :page Optional page index in inbox list pagination
224
+ # @option opts [Integer] :size Optional page size in inbox list pagination
225
+ # @option opts [String] :sort Optional createdAt sort direction ASC or DESC
226
+ # @return [Array<(PageGroupProjection, Integer, Hash)>] PageGroupProjection data, response status code and response headers
227
+ def get_all_groups_with_http_info(opts = {})
228
+ if @api_client.config.debugging
229
+ @api_client.config.logger.debug 'Calling API: GroupControllerApi.get_all_groups ...'
230
+ end
231
+ allowable_values = ["ASC", "DESC"]
232
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
233
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
234
+ end
235
+ # resource path
236
+ local_var_path = '/groups/paginated'
237
+
238
+ # query parameters
239
+ query_params = opts[:query_params] || {}
240
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
241
+ query_params[:'size'] = opts[:'size'] if !opts[:'size'].nil?
242
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
243
+
244
+ # header parameters
245
+ header_params = opts[:header_params] || {}
246
+ # HTTP header 'Accept' (if needed)
247
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
248
+
249
+ # form parameters
250
+ form_params = opts[:form_params] || {}
251
+
252
+ # http body (model)
253
+ post_body = opts[:body]
254
+
255
+ # return_type
256
+ return_type = opts[:return_type] || 'PageGroupProjection'
257
+
258
+ # auth_names
259
+ auth_names = opts[:auth_names] || ['API_KEY']
260
+
261
+ new_options = opts.merge(
262
+ :header_params => header_params,
263
+ :query_params => query_params,
264
+ :form_params => form_params,
265
+ :body => post_body,
266
+ :auth_names => auth_names,
267
+ :return_type => return_type
268
+ )
269
+
270
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
271
+ if @api_client.config.debugging
272
+ @api_client.config.logger.debug "API called: GroupControllerApi#get_all_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
273
+ end
274
+ return data, status_code, headers
275
+ end
276
+
277
+ # Get group
278
+ # @param group_id [String] groupId
279
+ # @param [Hash] opts the optional parameters
280
+ # @return [GroupDto]
281
+ def get_group(group_id, opts = {})
282
+ data, _status_code, _headers = get_group_with_http_info(group_id, opts)
283
+ data
284
+ end
285
+
286
+ # Get group
287
+ # @param group_id [String] groupId
288
+ # @param [Hash] opts the optional parameters
289
+ # @return [Array<(GroupDto, Integer, Hash)>] GroupDto data, response status code and response headers
290
+ def get_group_with_http_info(group_id, opts = {})
291
+ if @api_client.config.debugging
292
+ @api_client.config.logger.debug 'Calling API: GroupControllerApi.get_group ...'
293
+ end
294
+ # verify the required parameter 'group_id' is set
295
+ if @api_client.config.client_side_validation && group_id.nil?
296
+ fail ArgumentError, "Missing the required parameter 'group_id' when calling GroupControllerApi.get_group"
297
+ end
298
+ # resource path
299
+ local_var_path = '/groups/{groupId}'.sub('{' + 'groupId' + '}', CGI.escape(group_id.to_s))
300
+
301
+ # query parameters
302
+ query_params = opts[:query_params] || {}
303
+
304
+ # header parameters
305
+ header_params = opts[:header_params] || {}
306
+ # HTTP header 'Accept' (if needed)
307
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
308
+
309
+ # form parameters
310
+ form_params = opts[:form_params] || {}
311
+
312
+ # http body (model)
313
+ post_body = opts[:body]
314
+
315
+ # return_type
316
+ return_type = opts[:return_type] || 'GroupDto'
317
+
318
+ # auth_names
319
+ auth_names = opts[:auth_names] || ['API_KEY']
320
+
321
+ new_options = opts.merge(
322
+ :header_params => header_params,
323
+ :query_params => query_params,
324
+ :form_params => form_params,
325
+ :body => post_body,
326
+ :auth_names => auth_names,
327
+ :return_type => return_type
328
+ )
329
+
330
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
331
+ if @api_client.config.debugging
332
+ @api_client.config.logger.debug "API called: GroupControllerApi#get_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
333
+ end
334
+ return data, status_code, headers
335
+ end
336
+
337
+ # Get group and contacts belonging to it
338
+ # @param group_id [String] groupId
339
+ # @param [Hash] opts the optional parameters
340
+ # @return [GroupContactsDto]
341
+ def get_group_with_contacts(group_id, opts = {})
342
+ data, _status_code, _headers = get_group_with_contacts_with_http_info(group_id, opts)
343
+ data
344
+ end
345
+
346
+ # Get group and contacts belonging to it
347
+ # @param group_id [String] groupId
348
+ # @param [Hash] opts the optional parameters
349
+ # @return [Array<(GroupContactsDto, Integer, Hash)>] GroupContactsDto data, response status code and response headers
350
+ def get_group_with_contacts_with_http_info(group_id, opts = {})
351
+ if @api_client.config.debugging
352
+ @api_client.config.logger.debug 'Calling API: GroupControllerApi.get_group_with_contacts ...'
353
+ end
354
+ # verify the required parameter 'group_id' is set
355
+ if @api_client.config.client_side_validation && group_id.nil?
356
+ fail ArgumentError, "Missing the required parameter 'group_id' when calling GroupControllerApi.get_group_with_contacts"
357
+ end
358
+ # resource path
359
+ local_var_path = '/groups/{groupId}/contacts'.sub('{' + 'groupId' + '}', CGI.escape(group_id.to_s))
360
+
361
+ # query parameters
362
+ query_params = opts[:query_params] || {}
363
+
364
+ # header parameters
365
+ header_params = opts[:header_params] || {}
366
+ # HTTP header 'Accept' (if needed)
367
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
368
+
369
+ # form parameters
370
+ form_params = opts[:form_params] || {}
371
+
372
+ # http body (model)
373
+ post_body = opts[:body]
374
+
375
+ # return_type
376
+ return_type = opts[:return_type] || 'GroupContactsDto'
377
+
378
+ # auth_names
379
+ auth_names = opts[:auth_names] || ['API_KEY']
380
+
381
+ new_options = opts.merge(
382
+ :header_params => header_params,
383
+ :query_params => query_params,
384
+ :form_params => form_params,
385
+ :body => post_body,
386
+ :auth_names => auth_names,
387
+ :return_type => return_type
388
+ )
389
+
390
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
391
+ if @api_client.config.debugging
392
+ @api_client.config.logger.debug "API called: GroupControllerApi#get_group_with_contacts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
393
+ end
394
+ return data, status_code, headers
395
+ end
396
+
397
+ # Get all groups
398
+ # @param [Hash] opts the optional parameters
399
+ # @return [Array<GroupProjection>]
400
+ def get_groups(opts = {})
401
+ data, _status_code, _headers = get_groups_with_http_info(opts)
402
+ data
403
+ end
404
+
405
+ # Get all groups
406
+ # @param [Hash] opts the optional parameters
407
+ # @return [Array<(Array<GroupProjection>, Integer, Hash)>] Array<GroupProjection> data, response status code and response headers
408
+ def get_groups_with_http_info(opts = {})
409
+ if @api_client.config.debugging
410
+ @api_client.config.logger.debug 'Calling API: GroupControllerApi.get_groups ...'
411
+ end
412
+ # resource path
413
+ local_var_path = '/groups'
414
+
415
+ # query parameters
416
+ query_params = opts[:query_params] || {}
417
+
418
+ # header parameters
419
+ header_params = opts[:header_params] || {}
420
+ # HTTP header 'Accept' (if needed)
421
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
422
+
423
+ # form parameters
424
+ form_params = opts[:form_params] || {}
425
+
426
+ # http body (model)
427
+ post_body = opts[:body]
428
+
429
+ # return_type
430
+ return_type = opts[:return_type] || 'Array<GroupProjection>'
431
+
432
+ # auth_names
433
+ auth_names = opts[:auth_names] || ['API_KEY']
434
+
435
+ new_options = opts.merge(
436
+ :header_params => header_params,
437
+ :query_params => query_params,
438
+ :form_params => form_params,
439
+ :body => post_body,
440
+ :auth_names => auth_names,
441
+ :return_type => return_type
442
+ )
443
+
444
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
445
+ if @api_client.config.debugging
446
+ @api_client.config.logger.debug "API called: GroupControllerApi#get_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
447
+ end
448
+ return data, status_code, headers
449
+ end
450
+
451
+ # Remove contacts from a group
452
+ # @param group_id [String] groupId
453
+ # @param update_group_contacts_option [UpdateGroupContacts] updateGroupContactsOption
454
+ # @param [Hash] opts the optional parameters
455
+ # @return [GroupContactsDto]
456
+ def remove_contacts_from_group(group_id, update_group_contacts_option, opts = {})
457
+ data, _status_code, _headers = remove_contacts_from_group_with_http_info(group_id, update_group_contacts_option, opts)
458
+ data
459
+ end
460
+
461
+ # Remove contacts from a group
462
+ # @param group_id [String] groupId
463
+ # @param update_group_contacts_option [UpdateGroupContacts] updateGroupContactsOption
464
+ # @param [Hash] opts the optional parameters
465
+ # @return [Array<(GroupContactsDto, Integer, Hash)>] GroupContactsDto data, response status code and response headers
466
+ def remove_contacts_from_group_with_http_info(group_id, update_group_contacts_option, opts = {})
467
+ if @api_client.config.debugging
468
+ @api_client.config.logger.debug 'Calling API: GroupControllerApi.remove_contacts_from_group ...'
469
+ end
470
+ # verify the required parameter 'group_id' is set
471
+ if @api_client.config.client_side_validation && group_id.nil?
472
+ fail ArgumentError, "Missing the required parameter 'group_id' when calling GroupControllerApi.remove_contacts_from_group"
473
+ end
474
+ # verify the required parameter 'update_group_contacts_option' is set
475
+ if @api_client.config.client_side_validation && update_group_contacts_option.nil?
476
+ fail ArgumentError, "Missing the required parameter 'update_group_contacts_option' when calling GroupControllerApi.remove_contacts_from_group"
477
+ end
478
+ # resource path
479
+ local_var_path = '/groups/{groupId}/contacts'.sub('{' + 'groupId' + '}', CGI.escape(group_id.to_s))
480
+
481
+ # query parameters
482
+ query_params = opts[:query_params] || {}
483
+
484
+ # header parameters
485
+ header_params = opts[:header_params] || {}
486
+ # HTTP header 'Accept' (if needed)
487
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
488
+ # HTTP header 'Content-Type'
489
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
490
+
491
+ # form parameters
492
+ form_params = opts[:form_params] || {}
493
+
494
+ # http body (model)
495
+ post_body = opts[:body] || @api_client.object_to_http_body(update_group_contacts_option)
496
+
497
+ # return_type
498
+ return_type = opts[:return_type] || 'GroupContactsDto'
499
+
500
+ # auth_names
501
+ auth_names = opts[:auth_names] || ['API_KEY']
502
+
503
+ new_options = opts.merge(
504
+ :header_params => header_params,
505
+ :query_params => query_params,
506
+ :form_params => form_params,
507
+ :body => post_body,
508
+ :auth_names => auth_names,
509
+ :return_type => return_type
510
+ )
511
+
512
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
513
+ if @api_client.config.debugging
514
+ @api_client.config.logger.debug "API called: GroupControllerApi#remove_contacts_from_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
515
+ end
516
+ return data, status_code, headers
517
+ end
518
+ end
519
+ end