mailslurp_client 11.12.0 → 12.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f7c08d45434caf0d19c9699fd106aef61aeaf164ad2cddbd85ef56bf2a75c71d
4
- data.tar.gz: 9491e1b6e9c9de71859f629a79c3b8fba97c5539abcf102b5ac7e1bc06c3005f
3
+ metadata.gz: 60f577d6063320652418dd98cc34b8c5eac1520c9de0502b5618b15074eb174a
4
+ data.tar.gz: 8c5f529426d03525054f96133e15c367aa2eb05c9aa5035f30d9bd6870c183b9
5
5
  SHA512:
6
- metadata.gz: '007287fcae04750242d014e294948d833b0db02ee890646d669b21d6ef2fdc9e682a4e9316da4564162075f2e3ed688e45680d73b9ceeeec58b4bfec248dbfb3'
7
- data.tar.gz: a1f47ced8699189c3a4f73b5de8b7f1668ac21adb5312be6ceb50e75e39e1b9585b4ecf51372783b255220ad682b8a225ec0cf31db32f25a76ce7cbb91735645
6
+ metadata.gz: ec20b6535a6cbc97d2d2de3d2e841a639a12a1a77a9707249f833a587e7c33bb0d988ca42697e7e81c9f22f7a055094679adf8f1bef79e07c270dddf4db16137
7
+ data.tar.gz: aea00c01340e7b541c2b512c9e9850413844bcba73542ed688eec20bbbfe1a6051cac661f1adfe769c2e08916c2bc7f52eb815c37096dac94d4dc1f63faa1607
@@ -20,8 +20,8 @@ require 'mailslurp_client/configuration'
20
20
  require 'mailslurp_client/models/abstract_webhook_payload'
21
21
  require 'mailslurp_client/models/alias_dto'
22
22
  require 'mailslurp_client/models/alias_projection'
23
- require 'mailslurp_client/models/attachment_entity'
24
23
  require 'mailslurp_client/models/attachment_meta_data'
24
+ require 'mailslurp_client/models/attachment_projection'
25
25
  require 'mailslurp_client/models/basic_auth_options'
26
26
  require 'mailslurp_client/models/bulk_send_email_options'
27
27
  require 'mailslurp_client/models/contact_dto'
@@ -268,6 +268,7 @@ module MailSlurpClient
268
268
  # Get email attachments
269
269
  # Get all attachments in paginated response. Each entity contains meta data for the attachment such as `name` and `content-type`. Use the `attachmentId` and the download endpoints to get the file contents.
270
270
  # @param [Hash] opts the optional parameters
271
+ # @option opts [String] :file_name_filter Optional file name and content type search filter
271
272
  # @option opts [Integer] :page Optional page index event list pagination (default to 0)
272
273
  # @option opts [Integer] :size Optional page size event list pagination (default to 20)
273
274
  # @option opts [String] :sort Optional createdAt sort direction ASC or DESC (default to 'ASC')
@@ -280,6 +281,7 @@ module MailSlurpClient
280
281
  # Get email attachments
281
282
  # Get all attachments in paginated response. Each entity contains meta data for the attachment such as `name` and `content-type`. Use the `attachmentId` and the download endpoints to get the file contents.
282
283
  # @param [Hash] opts the optional parameters
284
+ # @option opts [String] :file_name_filter Optional file name and content type search filter
283
285
  # @option opts [Integer] :page Optional page index event list pagination
284
286
  # @option opts [Integer] :size Optional page size event list pagination
285
287
  # @option opts [String] :sort Optional createdAt sort direction ASC or DESC
@@ -297,6 +299,7 @@ module MailSlurpClient
297
299
 
298
300
  # query parameters
299
301
  query_params = opts[:query_params] || {}
302
+ query_params[:'fileNameFilter'] = opts[:'file_name_filter'] if !opts[:'file_name_filter'].nil?
300
303
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
301
304
  query_params[:'size'] = opts[:'size'] if !opts[:'size'].nil?
302
305
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
@@ -266,6 +266,66 @@ module MailSlurpClient
266
266
  return data, status_code, headers
267
267
  end
268
268
 
269
+ # Get contact vCard vcf file
270
+ # @param contact_id [String] contactId
271
+ # @param [Hash] opts the optional parameters
272
+ # @return [String]
273
+ def get_contact_v_card(contact_id, opts = {})
274
+ data, _status_code, _headers = get_contact_v_card_with_http_info(contact_id, opts)
275
+ data
276
+ end
277
+
278
+ # Get contact vCard vcf file
279
+ # @param contact_id [String] contactId
280
+ # @param [Hash] opts the optional parameters
281
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
282
+ def get_contact_v_card_with_http_info(contact_id, opts = {})
283
+ if @api_client.config.debugging
284
+ @api_client.config.logger.debug 'Calling API: ContactControllerApi.get_contact_v_card ...'
285
+ end
286
+ # verify the required parameter 'contact_id' is set
287
+ if @api_client.config.client_side_validation && contact_id.nil?
288
+ fail ArgumentError, "Missing the required parameter 'contact_id' when calling ContactControllerApi.get_contact_v_card"
289
+ end
290
+ # resource path
291
+ local_var_path = '/contacts/{contactId}/download'.sub('{' + 'contactId' + '}', CGI.escape(contact_id.to_s))
292
+
293
+ # query parameters
294
+ query_params = opts[:query_params] || {}
295
+
296
+ # header parameters
297
+ header_params = opts[:header_params] || {}
298
+ # HTTP header 'Accept' (if needed)
299
+ header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream'])
300
+
301
+ # form parameters
302
+ form_params = opts[:form_params] || {}
303
+
304
+ # http body (model)
305
+ post_body = opts[:body]
306
+
307
+ # return_type
308
+ return_type = opts[:return_type] || 'String'
309
+
310
+ # auth_names
311
+ auth_names = opts[:auth_names] || ['API_KEY']
312
+
313
+ new_options = opts.merge(
314
+ :header_params => header_params,
315
+ :query_params => query_params,
316
+ :form_params => form_params,
317
+ :body => post_body,
318
+ :auth_names => auth_names,
319
+ :return_type => return_type
320
+ )
321
+
322
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
323
+ if @api_client.config.debugging
324
+ @api_client.config.logger.debug "API called: ContactControllerApi#get_contact_v_card\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
325
+ end
326
+ return data, status_code, headers
327
+ end
328
+
269
329
  # Get all contacts
270
330
  # @param [Hash] opts the optional parameters
271
331
  # @return [Array<ContactProjection>]
@@ -204,7 +204,7 @@ module MailSlurpClient
204
204
  return data, status_code, headers
205
205
  end
206
206
 
207
- # Get email attachment as base64 encoded string alternative to binary responses. Decode the `base64FileContents` as a `utf-8` encoded string or array of bytes depending on the `contentType`.
207
+ # Get email attachment as base64 encoded string as an alternative to binary responses. Decode the `base64FileContents` as a `utf-8` encoded string or array of bytes depending on the `contentType`.
208
208
  # Returns the specified attachment for a given email as a base 64 encoded string. The response type is application/json. This method is similar to the `downloadAttachment` method but allows some clients to get around issues with binary responses.
209
209
  # @param attachment_id [String] ID of attachment
210
210
  # @param email_id [String] ID of email
@@ -215,7 +215,7 @@ module MailSlurpClient
215
215
  data
216
216
  end
217
217
 
218
- # Get email attachment as base64 encoded string alternative to binary responses. Decode the &#x60;base64FileContents&#x60; as a &#x60;utf-8&#x60; encoded string or array of bytes depending on the &#x60;contentType&#x60;.
218
+ # Get email attachment as base64 encoded string as an alternative to binary responses. Decode the &#x60;base64FileContents&#x60; as a &#x60;utf-8&#x60; encoded string or array of bytes depending on the &#x60;contentType&#x60;.
219
219
  # Returns the specified attachment for a given email as a base 64 encoded string. The response type is application/json. This method is similar to the &#x60;downloadAttachment&#x60; method but allows some clients to get around issues with binary responses.
220
220
  # @param attachment_id [String] ID of attachment
221
221
  # @param email_id [String] ID of email
@@ -272,8 +272,132 @@ module MailSlurpClient
272
272
  return data, status_code, headers
273
273
  end
274
274
 
275
+ # Get email body as string. Returned as `plain/text` with content type header.
276
+ # Returns the specified email body for a given email as a string
277
+ # @param email_id [String] ID of email
278
+ # @param [Hash] opts the optional parameters
279
+ # @return [String]
280
+ def download_body(email_id, opts = {})
281
+ data, _status_code, _headers = download_body_with_http_info(email_id, opts)
282
+ data
283
+ end
284
+
285
+ # Get email body as string. Returned as &#x60;plain/text&#x60; with content type header.
286
+ # Returns the specified email body for a given email as a string
287
+ # @param email_id [String] ID of email
288
+ # @param [Hash] opts the optional parameters
289
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
290
+ def download_body_with_http_info(email_id, opts = {})
291
+ if @api_client.config.debugging
292
+ @api_client.config.logger.debug 'Calling API: EmailControllerApi.download_body ...'
293
+ end
294
+ # verify the required parameter 'email_id' is set
295
+ if @api_client.config.client_side_validation && email_id.nil?
296
+ fail ArgumentError, "Missing the required parameter 'email_id' when calling EmailControllerApi.download_body"
297
+ end
298
+ # resource path
299
+ local_var_path = '/emails/{emailId}/body'.sub('{' + 'emailId' + '}', CGI.escape(email_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(['text/html', 'text/plain'])
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] || 'String'
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: EmailControllerApi#download_body\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
333
+ end
334
+ return data, status_code, headers
335
+ end
336
+
337
+ # Get email body in bytes. Returned as `octet-stream` with content type header.
338
+ # Returns the specified email body for a given email as a stream / array of bytes.
339
+ # @param email_id [String] ID of email
340
+ # @param [Hash] opts the optional parameters
341
+ # @return [String]
342
+ def download_body_bytes(email_id, opts = {})
343
+ data, _status_code, _headers = download_body_bytes_with_http_info(email_id, opts)
344
+ data
345
+ end
346
+
347
+ # Get email body in bytes. Returned as &#x60;octet-stream&#x60; with content type header.
348
+ # Returns the specified email body for a given email as a stream / array of bytes.
349
+ # @param email_id [String] ID of email
350
+ # @param [Hash] opts the optional parameters
351
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
352
+ def download_body_bytes_with_http_info(email_id, opts = {})
353
+ if @api_client.config.debugging
354
+ @api_client.config.logger.debug 'Calling API: EmailControllerApi.download_body_bytes ...'
355
+ end
356
+ # verify the required parameter 'email_id' is set
357
+ if @api_client.config.client_side_validation && email_id.nil?
358
+ fail ArgumentError, "Missing the required parameter 'email_id' when calling EmailControllerApi.download_body_bytes"
359
+ end
360
+ # resource path
361
+ local_var_path = '/emails/{emailId}/body-bytes'.sub('{' + 'emailId' + '}', CGI.escape(email_id.to_s))
362
+
363
+ # query parameters
364
+ query_params = opts[:query_params] || {}
365
+
366
+ # header parameters
367
+ header_params = opts[:header_params] || {}
368
+ # HTTP header 'Accept' (if needed)
369
+ header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream'])
370
+
371
+ # form parameters
372
+ form_params = opts[:form_params] || {}
373
+
374
+ # http body (model)
375
+ post_body = opts[:body]
376
+
377
+ # return_type
378
+ return_type = opts[:return_type] || 'String'
379
+
380
+ # auth_names
381
+ auth_names = opts[:auth_names] || ['API_KEY']
382
+
383
+ new_options = opts.merge(
384
+ :header_params => header_params,
385
+ :query_params => query_params,
386
+ :form_params => form_params,
387
+ :body => post_body,
388
+ :auth_names => auth_names,
389
+ :return_type => return_type
390
+ )
391
+
392
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
393
+ if @api_client.config.debugging
394
+ @api_client.config.logger.debug "API called: EmailControllerApi#download_body_bytes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
395
+ end
396
+ return data, status_code, headers
397
+ end
398
+
275
399
  # Forward email to recipients
276
- # Forward an existing email to new recipients.
400
+ # Forward an existing email to new recipients. The sender of the email will be the inbox that received the email you are forwarding. You can override the sender with the `from` option. Note you must have access to the from address in MailSlurp to use the override. For more control consider fetching the email and sending it a new using the send email endpoints.
277
401
  # @param email_id [String] ID of email
278
402
  # @param forward_email_options [ForwardEmailOptions] forwardEmailOptions
279
403
  # @param [Hash] opts the optional parameters
@@ -284,7 +408,7 @@ module MailSlurpClient
284
408
  end
285
409
 
286
410
  # Forward email to recipients
287
- # Forward an existing email to new recipients.
411
+ # Forward an existing email to new recipients. The sender of the email will be the inbox that received the email you are forwarding. You can override the sender with the &#x60;from&#x60; option. Note you must have access to the from address in MailSlurp to use the override. For more control consider fetching the email and sending it a new using the send email endpoints.
288
412
  # @param email_id [String] ID of email
289
413
  # @param forward_email_options [ForwardEmailOptions] forwardEmailOptions
290
414
  # @param [Hash] opts the optional parameters
@@ -408,7 +532,7 @@ module MailSlurpClient
408
532
  return data, status_code, headers
409
533
  end
410
534
 
411
- # Get all email attachment metadata. Metadata includes name and attachment size.
535
+ # Get all email attachment metadata. Metadata includes name and size of attachments.
412
536
  # Returns an array of attachment metadata such as name and content-type for a given email if present.
413
537
  # @param email_id [String] ID of email
414
538
  # @param [Hash] opts the optional parameters
@@ -418,7 +542,7 @@ module MailSlurpClient
418
542
  data
419
543
  end
420
544
 
421
- # Get all email attachment metadata. Metadata includes name and attachment size.
545
+ # Get all email attachment metadata. Metadata includes name and size of attachments.
422
546
  # Returns an array of attachment metadata such as name and content-type for a given email if present.
423
547
  # @param email_id [String] ID of email
424
548
  # @param [Hash] opts the optional parameters
@@ -803,7 +927,7 @@ module MailSlurpClient
803
927
  return data, status_code, headers
804
928
  end
805
929
 
806
- # Get all emails in all inboxes. Email API list all.
930
+ # Get all emails in all inboxes in paginated form. Email API list all.
807
931
  # By default returns all emails across all inboxes sorted by ascending created at date. Responses are paginated. You can restrict results to a list of inbox IDs. You can also filter out read messages
808
932
  # @param [Hash] opts the optional parameters
809
933
  # @option opts [Array<String>] :inbox_id Optional inbox ids to filter by. Can be repeated. By default will use all inboxes belonging to your account.
@@ -817,7 +941,7 @@ module MailSlurpClient
817
941
  data
818
942
  end
819
943
 
820
- # Get all emails in all inboxes. Email API list all.
944
+ # Get all emails in all inboxes in paginated form. Email API list all.
821
945
  # By default returns all emails across all inboxes sorted by ascending created at date. Responses are paginated. You can restrict results to a list of inbox IDs. You can also filter out read messages
822
946
  # @param [Hash] opts the optional parameters
823
947
  # @option opts [Array<String>] :inbox_id Optional inbox ids to filter by. Can be repeated. By default will use all inboxes belonging to your account.
@@ -1322,7 +1446,7 @@ module MailSlurpClient
1322
1446
  end
1323
1447
 
1324
1448
  # Validate email HTML contents
1325
- # Validate the HTML content of email if HTML is found. Considered valid if no HTML.
1449
+ # Validate the HTML content of email if HTML is found. Considered valid if no HTML is present.
1326
1450
  # @param email_id [String] ID of email
1327
1451
  # @param [Hash] opts the optional parameters
1328
1452
  # @return [ValidationDto]
@@ -1332,7 +1456,7 @@ module MailSlurpClient
1332
1456
  end
1333
1457
 
1334
1458
  # Validate email HTML contents
1335
- # Validate the HTML content of email if HTML is found. Considered valid if no HTML.
1459
+ # Validate the HTML content of email if HTML is found. Considered valid if no HTML is present.
1336
1460
  # @param email_id [String] ID of email
1337
1461
  # @param [Hash] opts the optional parameters
1338
1462
  # @return [Array<(ValidationDto, Integer, Hash)>] ValidationDto data, response status code and response headers
@@ -19,41 +19,47 @@ module MailSlurpClient
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
- # Create an inbox email address. An inbox has a real email address and can send and receive emails.
22
+ # Create an inbox email address. An inbox has a real email address and can send and receive emails. Inboxes can be either `SMTP` or `HTTP` inboxes.
23
23
  # Create a new inbox and with a randomized email address to send and receive from. Pass emailAddress parameter if you wish to use a specific email address. Creating an inbox is required before sending or receiving emails. If writing tests it is recommended that you create a new inbox during each test method so that it is unique and empty.
24
24
  # @param [Hash] opts the optional parameters
25
25
  # @option opts [Boolean] :allow_team_access Grant team access to this inbox and the emails that belong to it for team members of your organization.
26
26
  # @option opts [String] :description Optional description of the inbox for labelling purposes. Is shown in the dashboard and can be used with
27
- # @option opts [String] :email_address A custom email address to use with the inbox. Defaults to null. When null MailSlurp will assign a random email address to the inbox such as &#x60;123@mailslurp.com&#x60;. If you use the &#x60;useDomainPool&#x60; option when the email address is null it will generate an email address with a more varied domain ending such as &#x60;123@mailslurp.info&#x60; or &#x60;123@mailslurp.biz&#x60;. When a custom email address is provided the address is split into a domain and the domain is queried against your user. If you have created the domain in the MailSlurp dashboard and verified it you can use any email address that ends with the domain. Send an email to this address and the inbox will receive and store it for you. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.
27
+ # @option opts [String] :email_address A custom email address to use with the inbox. Defaults to null. When null MailSlurp will assign a random email address to the inbox such as &#x60;123@mailslurp.com&#x60;. If you use the &#x60;useDomainPool&#x60; option when the email address is null it will generate an email address with a more varied domain ending such as &#x60;123@mailslurp.info&#x60; or &#x60;123@mailslurp.biz&#x60;. When a custom email address is provided the address is split into a domain and the domain is queried against your user. If you have created the domain in the MailSlurp dashboard and verified it you can use any email address that ends with the domain. Note domain types must match the inbox type - so &#x60;SMTP&#x60; inboxes will only work with &#x60;SMTP&#x60; type domains. Send an email to this address and the inbox will receive and store it for you. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.
28
28
  # @option opts [DateTime] :expires_at Optional inbox expiration date. If null then this inbox is permanent and the emails in it won&#39;t be deleted. If an expiration date is provided or is required by your plan the inbox will be closed when the expiration time is reached. Expired inboxes still contain their emails but can no longer send or receive emails. An ExpiredInboxRecord is created when an inbox and the email address and inbox ID are recorded. The expiresAt property is a timestamp string in ISO DateTime Format yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSSXXX.
29
29
  # @option opts [Integer] :expires_in Number of milliseconds that inbox should exist for
30
- # @option opts [Boolean] :favourite Is the inbox favorited. Favouriting inboxes is typically done in the dashboard for quick access or filtering
31
- # @option opts [String] :name Optional name of the inbox. Displayed in the dashboard for easier search
30
+ # @option opts [Boolean] :favourite Is the inbox a favorite. Marking an inbox as a favorite is typically done in the dashboard for quick access or filtering
31
+ # @option opts [String] :inbox_type HTTP (default) or SMTP inbox type. HTTP inboxes are best for testing while SMTP inboxes are more reliable for public inbound email consumption. When using custom domains the domain type must match the inbox type. HTTP inboxes are processed by AWS SES while SMTP inboxes use a custom mail server running at &#x60;mx.mailslurp.com&#x60;.
32
+ # @option opts [String] :name Optional name of the inbox. Displayed in the dashboard for easier search and used as the sender name when sending emails.
32
33
  # @option opts [Array<String>] :tags Tags that inbox has been tagged with. Tags can be added to inboxes to group different inboxes within an account. You can also search for inboxes by tag in the dashboard UI.
33
- # @option opts [Boolean] :use_domain_pool Use the MailSlurp domain name pool with this inbox when creating the email address. Defaults to null. If enabled the inbox will be an email address with a domain randomly chosen from a list of the MailSlurp domains. This is useful when the default &#x60;@mailslurp.com&#x60; email addresses used with inboxes are blocked or considered spam by a provider or receiving service. When domain pool is enabled an email address will be generated ending in &#x60;@mailslurp.{world,info,xyz,...}&#x60; . This means a TLD is randomly selecting from a list of &#x60;.biz&#x60;, &#x60;.info&#x60;, &#x60;.xyz&#x60; etc to add variance to the generated email addresses. When null or false MailSlurp uses the default behavior of &#x60;@mailslurp.com&#x60; or custom email address provided by the emailAddress field.
34
+ # @option opts [Boolean] :use_domain_pool Use the MailSlurp domain name pool with this inbox when creating the email address. Defaults to null. If enabled the inbox will be an email address with a domain randomly chosen from a list of the MailSlurp domains. This is useful when the default &#x60;@mailslurp.com&#x60; email addresses used with inboxes are blocked or considered spam by a provider or receiving service. When domain pool is enabled an email address will be generated ending in &#x60;@mailslurp.{world,info,xyz,...}&#x60; . This means a TLD is randomly selecting from a list of &#x60;.biz&#x60;, &#x60;.info&#x60;, &#x60;.xyz&#x60; etc to add variance to the generated email addresses. When null or false MailSlurp uses the default behavior of &#x60;@mailslurp.com&#x60; or custom email address provided by the emailAddress field. Note this feature is only available for &#x60;HTTP&#x60; inbox types.
34
35
  # @return [Inbox]
35
36
  def create_inbox(opts = {})
36
37
  data, _status_code, _headers = create_inbox_with_http_info(opts)
37
38
  data
38
39
  end
39
40
 
40
- # Create an inbox email address. An inbox has a real email address and can send and receive emails.
41
+ # Create an inbox email address. An inbox has a real email address and can send and receive emails. Inboxes can be either &#x60;SMTP&#x60; or &#x60;HTTP&#x60; inboxes.
41
42
  # Create a new inbox and with a randomized email address to send and receive from. Pass emailAddress parameter if you wish to use a specific email address. Creating an inbox is required before sending or receiving emails. If writing tests it is recommended that you create a new inbox during each test method so that it is unique and empty.
42
43
  # @param [Hash] opts the optional parameters
43
44
  # @option opts [Boolean] :allow_team_access Grant team access to this inbox and the emails that belong to it for team members of your organization.
44
45
  # @option opts [String] :description Optional description of the inbox for labelling purposes. Is shown in the dashboard and can be used with
45
- # @option opts [String] :email_address A custom email address to use with the inbox. Defaults to null. When null MailSlurp will assign a random email address to the inbox such as &#x60;123@mailslurp.com&#x60;. If you use the &#x60;useDomainPool&#x60; option when the email address is null it will generate an email address with a more varied domain ending such as &#x60;123@mailslurp.info&#x60; or &#x60;123@mailslurp.biz&#x60;. When a custom email address is provided the address is split into a domain and the domain is queried against your user. If you have created the domain in the MailSlurp dashboard and verified it you can use any email address that ends with the domain. Send an email to this address and the inbox will receive and store it for you. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.
46
+ # @option opts [String] :email_address A custom email address to use with the inbox. Defaults to null. When null MailSlurp will assign a random email address to the inbox such as &#x60;123@mailslurp.com&#x60;. If you use the &#x60;useDomainPool&#x60; option when the email address is null it will generate an email address with a more varied domain ending such as &#x60;123@mailslurp.info&#x60; or &#x60;123@mailslurp.biz&#x60;. When a custom email address is provided the address is split into a domain and the domain is queried against your user. If you have created the domain in the MailSlurp dashboard and verified it you can use any email address that ends with the domain. Note domain types must match the inbox type - so &#x60;SMTP&#x60; inboxes will only work with &#x60;SMTP&#x60; type domains. Send an email to this address and the inbox will receive and store it for you. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.
46
47
  # @option opts [DateTime] :expires_at Optional inbox expiration date. If null then this inbox is permanent and the emails in it won&#39;t be deleted. If an expiration date is provided or is required by your plan the inbox will be closed when the expiration time is reached. Expired inboxes still contain their emails but can no longer send or receive emails. An ExpiredInboxRecord is created when an inbox and the email address and inbox ID are recorded. The expiresAt property is a timestamp string in ISO DateTime Format yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSSXXX.
47
48
  # @option opts [Integer] :expires_in Number of milliseconds that inbox should exist for
48
- # @option opts [Boolean] :favourite Is the inbox favorited. Favouriting inboxes is typically done in the dashboard for quick access or filtering
49
- # @option opts [String] :name Optional name of the inbox. Displayed in the dashboard for easier search
49
+ # @option opts [Boolean] :favourite Is the inbox a favorite. Marking an inbox as a favorite is typically done in the dashboard for quick access or filtering
50
+ # @option opts [String] :inbox_type HTTP (default) or SMTP inbox type. HTTP inboxes are best for testing while SMTP inboxes are more reliable for public inbound email consumption. When using custom domains the domain type must match the inbox type. HTTP inboxes are processed by AWS SES while SMTP inboxes use a custom mail server running at &#x60;mx.mailslurp.com&#x60;.
51
+ # @option opts [String] :name Optional name of the inbox. Displayed in the dashboard for easier search and used as the sender name when sending emails.
50
52
  # @option opts [Array<String>] :tags Tags that inbox has been tagged with. Tags can be added to inboxes to group different inboxes within an account. You can also search for inboxes by tag in the dashboard UI.
51
- # @option opts [Boolean] :use_domain_pool Use the MailSlurp domain name pool with this inbox when creating the email address. Defaults to null. If enabled the inbox will be an email address with a domain randomly chosen from a list of the MailSlurp domains. This is useful when the default &#x60;@mailslurp.com&#x60; email addresses used with inboxes are blocked or considered spam by a provider or receiving service. When domain pool is enabled an email address will be generated ending in &#x60;@mailslurp.{world,info,xyz,...}&#x60; . This means a TLD is randomly selecting from a list of &#x60;.biz&#x60;, &#x60;.info&#x60;, &#x60;.xyz&#x60; etc to add variance to the generated email addresses. When null or false MailSlurp uses the default behavior of &#x60;@mailslurp.com&#x60; or custom email address provided by the emailAddress field.
53
+ # @option opts [Boolean] :use_domain_pool Use the MailSlurp domain name pool with this inbox when creating the email address. Defaults to null. If enabled the inbox will be an email address with a domain randomly chosen from a list of the MailSlurp domains. This is useful when the default &#x60;@mailslurp.com&#x60; email addresses used with inboxes are blocked or considered spam by a provider or receiving service. When domain pool is enabled an email address will be generated ending in &#x60;@mailslurp.{world,info,xyz,...}&#x60; . This means a TLD is randomly selecting from a list of &#x60;.biz&#x60;, &#x60;.info&#x60;, &#x60;.xyz&#x60; etc to add variance to the generated email addresses. When null or false MailSlurp uses the default behavior of &#x60;@mailslurp.com&#x60; or custom email address provided by the emailAddress field. Note this feature is only available for &#x60;HTTP&#x60; inbox types.
52
54
  # @return [Array<(Inbox, Integer, Hash)>] Inbox data, response status code and response headers
53
55
  def create_inbox_with_http_info(opts = {})
54
56
  if @api_client.config.debugging
55
57
  @api_client.config.logger.debug 'Calling API: InboxControllerApi.create_inbox ...'
56
58
  end
59
+ allowable_values = ["HTTP_INBOX", "SMTP_INBOX"]
60
+ if @api_client.config.client_side_validation && opts[:'inbox_type'] && !allowable_values.include?(opts[:'inbox_type'])
61
+ fail ArgumentError, "invalid value for \"inbox_type\", must be one of #{allowable_values}"
62
+ end
57
63
  # resource path
58
64
  local_var_path = '/inboxes'
59
65
 
@@ -65,6 +71,7 @@ module MailSlurpClient
65
71
  query_params[:'expiresAt'] = opts[:'expires_at'] if !opts[:'expires_at'].nil?
66
72
  query_params[:'expiresIn'] = opts[:'expires_in'] if !opts[:'expires_in'].nil?
67
73
  query_params[:'favourite'] = opts[:'favourite'] if !opts[:'favourite'].nil?
74
+ query_params[:'inboxType'] = opts[:'inbox_type'] if !opts[:'inbox_type'].nil?
68
75
  query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
69
76
  query_params[:'tags'] = @api_client.build_collection_param(opts[:'tags'], :multi) if !opts[:'tags'].nil?
70
77
  query_params[:'useDomainPool'] = opts[:'use_domain_pool'] if !opts[:'use_domain_pool'].nil?
@@ -13,17 +13,18 @@ OpenAPI Generator version: 4.3.1
13
13
  require 'date'
14
14
 
15
15
  module MailSlurpClient
16
- class AttachmentEntity
16
+ class AttachmentProjection
17
+ # Attachment ID
17
18
  attr_accessor :attachment_id
18
19
 
20
+ # Content length of attachment in bytes
19
21
  attr_accessor :content_length
20
22
 
23
+ # Content type of attachment.
21
24
  attr_accessor :content_type
22
25
 
23
26
  attr_accessor :created_at
24
27
 
25
- attr_accessor :id
26
-
27
28
  attr_accessor :name
28
29
 
29
30
  attr_accessor :updated_at
@@ -37,7 +38,6 @@ module MailSlurpClient
37
38
  :'content_length' => :'contentLength',
38
39
  :'content_type' => :'contentType',
39
40
  :'created_at' => :'createdAt',
40
- :'id' => :'id',
41
41
  :'name' => :'name',
42
42
  :'updated_at' => :'updatedAt',
43
43
  :'user_id' => :'userId'
@@ -51,7 +51,6 @@ module MailSlurpClient
51
51
  :'content_length' => :'Integer',
52
52
  :'content_type' => :'String',
53
53
  :'created_at' => :'DateTime',
54
- :'id' => :'String',
55
54
  :'name' => :'String',
56
55
  :'updated_at' => :'DateTime',
57
56
  :'user_id' => :'String'
@@ -68,13 +67,13 @@ module MailSlurpClient
68
67
  # @param [Hash] attributes Model attributes in the form of hash
69
68
  def initialize(attributes = {})
70
69
  if (!attributes.is_a?(Hash))
71
- fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::AttachmentEntity` initialize method"
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::AttachmentProjection` initialize method"
72
71
  end
73
72
 
74
73
  # check to see if the attribute exists and convert string to symbol for hash key
75
74
  attributes = attributes.each_with_object({}) { |(k, v), h|
76
75
  if (!self.class.attribute_map.key?(k.to_sym))
77
- fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::AttachmentEntity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::AttachmentProjection`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
78
77
  end
79
78
  h[k.to_sym] = v
80
79
  }
@@ -95,10 +94,6 @@ module MailSlurpClient
95
94
  self.created_at = attributes[:'created_at']
96
95
  end
97
96
 
98
- if attributes.key?(:'id')
99
- self.id = attributes[:'id']
100
- end
101
-
102
97
  if attributes.key?(:'name')
103
98
  self.name = attributes[:'name']
104
99
  end
@@ -116,10 +111,6 @@ module MailSlurpClient
116
111
  # @return Array for valid properties with the reasons
117
112
  def list_invalid_properties
118
113
  invalid_properties = Array.new
119
- if @attachment_id.nil?
120
- invalid_properties.push('invalid value for "attachment_id", attachment_id cannot be nil.')
121
- end
122
-
123
114
  if @created_at.nil?
124
115
  invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
125
116
  end
@@ -138,7 +129,6 @@ module MailSlurpClient
138
129
  # Check to see if the all the properties in the model are valid
139
130
  # @return true if the model is valid
140
131
  def valid?
141
- return false if @attachment_id.nil?
142
132
  return false if @created_at.nil?
143
133
  return false if @updated_at.nil?
144
134
  return false if @user_id.nil?
@@ -154,7 +144,6 @@ module MailSlurpClient
154
144
  content_length == o.content_length &&
155
145
  content_type == o.content_type &&
156
146
  created_at == o.created_at &&
157
- id == o.id &&
158
147
  name == o.name &&
159
148
  updated_at == o.updated_at &&
160
149
  user_id == o.user_id
@@ -169,7 +158,7 @@ module MailSlurpClient
169
158
  # Calculates hash code according to all attributes.
170
159
  # @return [Integer] Hash code
171
160
  def hash
172
- [attachment_id, content_length, content_type, created_at, id, name, updated_at, user_id].hash
161
+ [attachment_id, content_length, content_type, created_at, name, updated_at, user_id].hash
173
162
  end
174
163
 
175
164
  # Builds the object from hash
@@ -13,7 +13,7 @@ OpenAPI Generator version: 4.3.1
13
13
  require 'date'
14
14
 
15
15
  module MailSlurpClient
16
- # Options for creating a domain to use with MailSlurp. You must have ownership access to this domain in order to verify it. Domains will not functionally currently until the domain has been verified. See https://www.mailslurp.com/guides/custom-domains for help.
16
+ # Options for creating a domain to use with MailSlurp. You must have ownership access to this domain in order to verify it. Domains will not function correctly until the domain has been verified. See https://www.mailslurp.com/guides/custom-domains for help. Domains can be either `HTTP` or `SMTP` type. The type of domain determines which inboxes can be used with it. `SMTP` inboxes use a mail server running `mx.mailslurp.com` while `HTTP` inboxes are handled by AWS SES.
17
17
  class CreateDomainOptions
18
18
  # Whether to create a catch all inbox for the domain. Any email sent to an address using your domain that cannot be matched to an existing inbox you created with the domain will be routed to the created catch all inbox. You can access emails using the regular methods on this inbox ID.
19
19
  attr_accessor :created_catch_all_inbox
@@ -24,7 +24,7 @@ module MailSlurpClient
24
24
  # The top level domain you wish to use with MailSlurp. Do not specify subdomain just the top level. So `test.com` covers all subdomains such as `mail.test.com`. Don't include a protocol such as `http://`. Once added you must complete the verification steps by adding the returned records to your domain.
25
25
  attr_accessor :domain
26
26
 
27
- # Domain type to create. HTTP or SMTP domain. HTTP domain uses MailSlurps SES MX records. SMTP uses a custom SMTP server MX record
27
+ # Domain type to create. HTTP or SMTP domain. HTTP domain uses MailSlurps SES MX records. SMTP uses a custom SMTP server MX record. SMTP domains can only be used with SMTP inboxes. SMTP inboxes are more reliable for public inbound emails while HTTP inboxes are more suitable for testing.
28
28
  attr_accessor :domain_type
29
29
 
30
30
  class EnumAttributeValidator
@@ -13,7 +13,7 @@ OpenAPI Generator version: 4.3.1
13
13
  require 'date'
14
14
 
15
15
  module MailSlurpClient
16
- # Options for creating an inbox. An inbox has a real email address that can send and receive emails. Inboxes can be permanent or expire at a given time. They can use a custom email address (by verifying your own domain) or a randomly assigned email ending in either `mailslurp.com` or if `useDomainPool` is enabled then ending in a similar domains such as `mailslurp.xyz` (selected at random).
16
+ # Options for creating an inbox. An inbox has a real email address that can send and receive emails. Inboxes can be permanent or expire at a given time. Inboxes are either `SMTP` or `HTTP` mailboxes. Use `SMTP` for public facing mailboxes and `HTTP` for test email accounts. `SMTP` inboxes are processed by a mail server running at `mx.mailslurp.com` while `HTTP` inboxes are processed by AWS SES. Inboxes can use a custom email address (by verifying your own domain) or a randomly assigned email ending in either `mailslurp.com` or (if `useDomainPool` is enabled) ending in a similar domain such as `mailslurp.xyz` (selected at random).
17
17
  class CreateInboxDto
18
18
  # Grant team access to this inbox and the emails that belong to it for team members of your organization.
19
19
  attr_accessor :allow_team_access
@@ -21,7 +21,7 @@ module MailSlurpClient
21
21
  # Optional description of the inbox for labelling purposes. Is shown in the dashboard and can be used with
22
22
  attr_accessor :description
23
23
 
24
- # A custom email address to use with the inbox. Defaults to null. When null MailSlurp will assign a random email address to the inbox such as `123@mailslurp.com`. If you use the `useDomainPool` option when the email address is null it will generate an email address with a more varied domain ending such as `123@mailslurp.info` or `123@mailslurp.biz`. When a custom email address is provided the address is split into a domain and the domain is queried against your user. If you have created the domain in the MailSlurp dashboard and verified it you can use any email address that ends with the domain. Send an email to this address and the inbox will receive and store it for you. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.
24
+ # A custom email address to use with the inbox. Defaults to null. When null MailSlurp will assign a random email address to the inbox such as `123@mailslurp.com`. If you use the `useDomainPool` option when the email address is null it will generate an email address with a more varied domain ending such as `123@mailslurp.info` or `123@mailslurp.biz`. When a custom email address is provided the address is split into a domain and the domain is queried against your user. If you have created the domain in the MailSlurp dashboard and verified it you can use any email address that ends with the domain. Note domain types must match the inbox type - so `SMTP` inboxes will only work with `SMTP` type domains. Send an email to this address and the inbox will receive and store it for you. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.
25
25
  attr_accessor :email_address
26
26
 
27
27
  # Optional inbox expiration date. If null then this inbox is permanent and the emails in it won't be deleted. If an expiration date is provided or is required by your plan the inbox will be closed when the expiration time is reached. Expired inboxes still contain their emails but can no longer send or receive emails. An ExpiredInboxRecord is created when an inbox and the email address and inbox ID are recorded. The expiresAt property is a timestamp string in ISO DateTime Format yyyy-MM-dd'T'HH:mm:ss.SSSXXX.
@@ -30,19 +30,19 @@ module MailSlurpClient
30
30
  # Number of milliseconds that inbox should exist for
31
31
  attr_accessor :expires_in
32
32
 
33
- # Is the inbox favorited. Favouriting inboxes is typically done in the dashboard for quick access or filtering
33
+ # Is the inbox a favorite. Marking an inbox as a favorite is typically done in the dashboard for quick access or filtering
34
34
  attr_accessor :favourite
35
35
 
36
- # HTTP or SMTP inbox
36
+ # HTTP (default) or SMTP inbox type. HTTP inboxes are best for testing while SMTP inboxes are more reliable for public inbound email consumption. When using custom domains the domain type must match the inbox type. HTTP inboxes are processed by AWS SES while SMTP inboxes use a custom mail server running at `mx.mailslurp.com`.
37
37
  attr_accessor :inbox_type
38
38
 
39
- # Optional name of the inbox. Displayed in the dashboard for easier search
39
+ # Optional name of the inbox. Displayed in the dashboard for easier search and used as the sender name when sending emails.
40
40
  attr_accessor :name
41
41
 
42
42
  # Tags that inbox has been tagged with. Tags can be added to inboxes to group different inboxes within an account. You can also search for inboxes by tag in the dashboard UI.
43
43
  attr_accessor :tags
44
44
 
45
- # Use the MailSlurp domain name pool with this inbox when creating the email address. Defaults to null. If enabled the inbox will be an email address with a domain randomly chosen from a list of the MailSlurp domains. This is useful when the default `@mailslurp.com` email addresses used with inboxes are blocked or considered spam by a provider or receiving service. When domain pool is enabled an email address will be generated ending in `@mailslurp.{world,info,xyz,...}` . This means a TLD is randomly selecting from a list of `.biz`, `.info`, `.xyz` etc to add variance to the generated email addresses. When null or false MailSlurp uses the default behavior of `@mailslurp.com` or custom email address provided by the emailAddress field.
45
+ # Use the MailSlurp domain name pool with this inbox when creating the email address. Defaults to null. If enabled the inbox will be an email address with a domain randomly chosen from a list of the MailSlurp domains. This is useful when the default `@mailslurp.com` email addresses used with inboxes are blocked or considered spam by a provider or receiving service. When domain pool is enabled an email address will be generated ending in `@mailslurp.{world,info,xyz,...}` . This means a TLD is randomly selecting from a list of `.biz`, `.info`, `.xyz` etc to add variance to the generated email addresses. When null or false MailSlurp uses the default behavior of `@mailslurp.com` or custom email address provided by the emailAddress field. Note this feature is only available for `HTTP` inbox types.
46
46
  attr_accessor :use_domain_pool
47
47
 
48
48
  class EnumAttributeValidator
@@ -29,6 +29,9 @@ module MailSlurpClient
29
29
  # List of DNS domain name records (C, MX, TXT) etc that you must add to the DNS server associated with your domain provider.
30
30
  attr_accessor :domain_name_records
31
31
 
32
+ # The type of domain. SMTP or HTTP domains differ in what inboxes can be used with them.
33
+ attr_accessor :domain_type
34
+
32
35
  attr_accessor :id
33
36
 
34
37
  # Whether domain has been verified or not. If the domain is not verified after 72 hours there is most likely an issue with the domains DNS records.
@@ -41,6 +44,28 @@ module MailSlurpClient
41
44
  # Verification tokens
42
45
  attr_accessor :verification_token
43
46
 
47
+ class EnumAttributeValidator
48
+ attr_reader :datatype
49
+ attr_reader :allowable_values
50
+
51
+ def initialize(datatype, allowable_values)
52
+ @allowable_values = allowable_values.map do |value|
53
+ case datatype.to_s
54
+ when /Integer/i
55
+ value.to_i
56
+ when /Float/i
57
+ value.to_f
58
+ else
59
+ value
60
+ end
61
+ end
62
+ end
63
+
64
+ def valid?(value)
65
+ !value || allowable_values.include?(value)
66
+ end
67
+ end
68
+
44
69
  # Attribute mapping from ruby-style variable name to JSON key.
45
70
  def self.attribute_map
46
71
  {
@@ -49,6 +74,7 @@ module MailSlurpClient
49
74
  :'dkim_tokens' => :'dkimTokens',
50
75
  :'domain' => :'domain',
51
76
  :'domain_name_records' => :'domainNameRecords',
77
+ :'domain_type' => :'domainType',
52
78
  :'id' => :'id',
53
79
  :'is_verified' => :'isVerified',
54
80
  :'updated_at' => :'updatedAt',
@@ -65,6 +91,7 @@ module MailSlurpClient
65
91
  :'dkim_tokens' => :'Array<String>',
66
92
  :'domain' => :'String',
67
93
  :'domain_name_records' => :'Array<DomainNameRecord>',
94
+ :'domain_type' => :'String',
68
95
  :'id' => :'String',
69
96
  :'is_verified' => :'Boolean',
70
97
  :'updated_at' => :'DateTime',
@@ -118,6 +145,10 @@ module MailSlurpClient
118
145
  end
119
146
  end
120
147
 
148
+ if attributes.key?(:'domain_type')
149
+ self.domain_type = attributes[:'domain_type']
150
+ end
151
+
121
152
  if attributes.key?(:'id')
122
153
  self.id = attributes[:'id']
123
154
  end
@@ -166,12 +197,24 @@ module MailSlurpClient
166
197
  # @return true if the model is valid
167
198
  def valid?
168
199
  return false if @created_at.nil?
200
+ domain_type_validator = EnumAttributeValidator.new('String', ["HTTP_INBOX", "SMTP_DOMAIN"])
201
+ return false unless domain_type_validator.valid?(@domain_type)
169
202
  return false if @id.nil?
170
203
  return false if @updated_at.nil?
171
204
  return false if @user_id.nil?
172
205
  true
173
206
  end
174
207
 
208
+ # Custom attribute writer method checking allowed values (enum).
209
+ # @param [Object] domain_type Object to be assigned
210
+ def domain_type=(domain_type)
211
+ validator = EnumAttributeValidator.new('String', ["HTTP_INBOX", "SMTP_DOMAIN"])
212
+ unless validator.valid?(domain_type)
213
+ fail ArgumentError, "invalid value for \"domain_type\", must be one of #{validator.allowable_values}."
214
+ end
215
+ @domain_type = domain_type
216
+ end
217
+
175
218
  # Checks equality by comparing each attribute.
176
219
  # @param [Object] Object to be compared
177
220
  def ==(o)
@@ -182,6 +225,7 @@ module MailSlurpClient
182
225
  dkim_tokens == o.dkim_tokens &&
183
226
  domain == o.domain &&
184
227
  domain_name_records == o.domain_name_records &&
228
+ domain_type == o.domain_type &&
185
229
  id == o.id &&
186
230
  is_verified == o.is_verified &&
187
231
  updated_at == o.updated_at &&
@@ -198,7 +242,7 @@ module MailSlurpClient
198
242
  # Calculates hash code according to all attributes.
199
243
  # @return [Integer] Hash code
200
244
  def hash
201
- [catch_all_inbox_id, created_at, dkim_tokens, domain, domain_name_records, id, is_verified, updated_at, user_id, verification_token].hash
245
+ [catch_all_inbox_id, created_at, dkim_tokens, domain, domain_name_records, domain_type, id, is_verified, updated_at, user_id, verification_token].hash
202
246
  end
203
247
 
204
248
  # Builds the object from hash
@@ -13,7 +13,7 @@ OpenAPI Generator version: 4.3.1
13
13
  require 'date'
14
14
 
15
15
  module MailSlurpClient
16
- # DNS Record required for verification of a domain
16
+ # DNS Record required for verification of a domain. Record vary depending on domain type.
17
17
  class DomainNameRecord
18
18
  attr_accessor :name
19
19
 
@@ -21,6 +21,9 @@ module MailSlurpClient
21
21
  # Optional cc recipients
22
22
  attr_accessor :cc
23
23
 
24
+ # Optional from override
25
+ attr_accessor :from
26
+
24
27
  # Subject for forwarded email
25
28
  attr_accessor :subject
26
29
 
@@ -32,6 +35,7 @@ module MailSlurpClient
32
35
  {
33
36
  :'bcc' => :'bcc',
34
37
  :'cc' => :'cc',
38
+ :'from' => :'from',
35
39
  :'subject' => :'subject',
36
40
  :'to' => :'to'
37
41
  }
@@ -42,6 +46,7 @@ module MailSlurpClient
42
46
  {
43
47
  :'bcc' => :'Array<String>',
44
48
  :'cc' => :'Array<String>',
49
+ :'from' => :'String',
45
50
  :'subject' => :'String',
46
51
  :'to' => :'Array<String>'
47
52
  }
@@ -80,6 +85,10 @@ module MailSlurpClient
80
85
  end
81
86
  end
82
87
 
88
+ if attributes.key?(:'from')
89
+ self.from = attributes[:'from']
90
+ end
91
+
83
92
  if attributes.key?(:'subject')
84
93
  self.subject = attributes[:'subject']
85
94
  end
@@ -111,6 +120,7 @@ module MailSlurpClient
111
120
  self.class == o.class &&
112
121
  bcc == o.bcc &&
113
122
  cc == o.cc &&
123
+ from == o.from &&
114
124
  subject == o.subject &&
115
125
  to == o.to
116
126
  end
@@ -124,7 +134,7 @@ module MailSlurpClient
124
134
  # Calculates hash code according to all attributes.
125
135
  # @return [Integer] Hash code
126
136
  def hash
127
- [bcc, cc, subject, to].hash
137
+ [bcc, cc, from, subject, to].hash
128
138
  end
129
139
 
130
140
  # Builds the object from hash
@@ -13,7 +13,7 @@ OpenAPI Generator version: 4.3.1
13
13
  require 'date'
14
14
 
15
15
  module MailSlurpClient
16
- # Representation of a MailSlurp inbox. An inbox has an ID and a real email address. Emails can be sent to or from this email address. Use the `EmailController` or the `InboxController` methods to send and receive emails and attachments.
16
+ # Representation of a MailSlurp inbox. An inbox has an ID and a real email address. Emails can be sent to or from this email address. Inboxes are either `SMTP` or `HTTP` mailboxes. The default, `HTTP` inboxes, use AWS SES to process emails and are best suited as test email accounts. `SMTP` inboxes use a custom mail server at `mx.mailslurp.com` and are best used for public facing email addresses. Use the `EmailController` or the `InboxController` methods to send and receive emails and attachments. Inboxes may have a description, name, and tags for display purposes. You can also favourite an inbox for easier searching. Inboxes can be private or allow team access. Team access enabled inboxes can be seen by other members of an organization.
17
17
  class Inbox
18
18
  # When the inbox was created. Time stamps are in ISO DateTime Format `yyyy-MM-dd'T'HH:mm:ss.SSSXXX` e.g. `2000-10-31T01:30:00.000-05:00`.
19
19
  attr_accessor :created_at
@@ -27,13 +27,16 @@ module MailSlurpClient
27
27
  # Inbox expiration time. When, if ever, the inbox should expire and be deleted. If null then this inbox is permanent and the emails in it won't be deleted. This is the default behavior unless expiration date is set. If an expiration date is set and the time is reached MailSlurp will expire the inbox and move it to an expired inbox entity. You can still access the emails belonging to it but it can no longer send or receive email.
28
28
  attr_accessor :expires_at
29
29
 
30
- # Is the inbox favorited. Favouriting inboxes is typically done in the dashboard for quick access or filtering
30
+ # Is the inbox a favorite inbox. Make an inbox a favorite is typically done in the dashboard for quick access or filtering
31
31
  attr_accessor :favourite
32
32
 
33
33
  # ID of the inbox. The ID is a UUID-V4 format string. Use the inboxId for calls to Inbox and Email Controller endpoints. See the emailAddress property for the email address or the inbox. To get emails in an inbox use the WaitFor and Inbox Controller methods `waitForLatestEmail` and `getEmails` methods respectively. Inboxes can be used with aliases to forward emails automatically.
34
34
  attr_accessor :id
35
35
 
36
- # Name of the inbox. Displayed in the dashboard for easier search
36
+ # Type of inbox - either HTTP (default) or SMTP. HTTP inboxes are great for testing. SMTP inboxes are processed by a custom SMTP mail server and are better for public facing inboxes that receive emails from Gmail and other large providers. If using a custom domain the domain type must match the inbox type. Use an SMTP domain for SMTP inboxes that includes an MX record pointing to `10 mx.mailslurp.com` for inbound messages.
37
+ attr_accessor :inbox_type
38
+
39
+ # Name of the inbox and used as the sender name when sending emails .Displayed in the dashboard for easier search
37
40
  attr_accessor :name
38
41
 
39
42
  # Is the inbox readOnly for the caller. Read only means can not be deleted or modified. This flag is present when using team accounts and shared inboxes.
@@ -48,6 +51,28 @@ module MailSlurpClient
48
51
  # ID of user that inbox belongs to
49
52
  attr_accessor :user_id
50
53
 
54
+ class EnumAttributeValidator
55
+ attr_reader :datatype
56
+ attr_reader :allowable_values
57
+
58
+ def initialize(datatype, allowable_values)
59
+ @allowable_values = allowable_values.map do |value|
60
+ case datatype.to_s
61
+ when /Integer/i
62
+ value.to_i
63
+ when /Float/i
64
+ value.to_f
65
+ else
66
+ value
67
+ end
68
+ end
69
+ end
70
+
71
+ def valid?(value)
72
+ !value || allowable_values.include?(value)
73
+ end
74
+ end
75
+
51
76
  # Attribute mapping from ruby-style variable name to JSON key.
52
77
  def self.attribute_map
53
78
  {
@@ -57,6 +82,7 @@ module MailSlurpClient
57
82
  :'expires_at' => :'expiresAt',
58
83
  :'favourite' => :'favourite',
59
84
  :'id' => :'id',
85
+ :'inbox_type' => :'inboxType',
60
86
  :'name' => :'name',
61
87
  :'read_only' => :'readOnly',
62
88
  :'tags' => :'tags',
@@ -74,6 +100,7 @@ module MailSlurpClient
74
100
  :'expires_at' => :'String',
75
101
  :'favourite' => :'Boolean',
76
102
  :'id' => :'String',
103
+ :'inbox_type' => :'String',
77
104
  :'name' => :'String',
78
105
  :'read_only' => :'Boolean',
79
106
  :'tags' => :'Array<String>',
@@ -127,6 +154,10 @@ module MailSlurpClient
127
154
  self.id = attributes[:'id']
128
155
  end
129
156
 
157
+ if attributes.key?(:'inbox_type')
158
+ self.inbox_type = attributes[:'inbox_type']
159
+ end
160
+
130
161
  if attributes.key?(:'name')
131
162
  self.name = attributes[:'name']
132
163
  end
@@ -160,9 +191,21 @@ module MailSlurpClient
160
191
  # Check to see if the all the properties in the model are valid
161
192
  # @return true if the model is valid
162
193
  def valid?
194
+ inbox_type_validator = EnumAttributeValidator.new('String', ["HTTP_INBOX", "SMTP_INBOX"])
195
+ return false unless inbox_type_validator.valid?(@inbox_type)
163
196
  true
164
197
  end
165
198
 
199
+ # Custom attribute writer method checking allowed values (enum).
200
+ # @param [Object] inbox_type Object to be assigned
201
+ def inbox_type=(inbox_type)
202
+ validator = EnumAttributeValidator.new('String', ["HTTP_INBOX", "SMTP_INBOX"])
203
+ unless validator.valid?(inbox_type)
204
+ fail ArgumentError, "invalid value for \"inbox_type\", must be one of #{validator.allowable_values}."
205
+ end
206
+ @inbox_type = inbox_type
207
+ end
208
+
166
209
  # Checks equality by comparing each attribute.
167
210
  # @param [Object] Object to be compared
168
211
  def ==(o)
@@ -174,6 +217,7 @@ module MailSlurpClient
174
217
  expires_at == o.expires_at &&
175
218
  favourite == o.favourite &&
176
219
  id == o.id &&
220
+ inbox_type == o.inbox_type &&
177
221
  name == o.name &&
178
222
  read_only == o.read_only &&
179
223
  tags == o.tags &&
@@ -190,7 +234,7 @@ module MailSlurpClient
190
234
  # Calculates hash code according to all attributes.
191
235
  # @return [Integer] Hash code
192
236
  def hash
193
- [created_at, description, email_address, expires_at, favourite, id, name, read_only, tags, team_access, user_id].hash
237
+ [created_at, description, email_address, expires_at, favourite, id, inbox_type, name, read_only, tags, team_access, user_id].hash
194
238
  end
195
239
 
196
240
  # Builds the object from hash
@@ -22,12 +22,36 @@ module MailSlurpClient
22
22
 
23
23
  attr_accessor :id
24
24
 
25
+ attr_accessor :inbox_type
26
+
25
27
  attr_accessor :name
26
28
 
27
29
  attr_accessor :tags
28
30
 
29
31
  attr_accessor :team_access
30
32
 
33
+ class EnumAttributeValidator
34
+ attr_reader :datatype
35
+ attr_reader :allowable_values
36
+
37
+ def initialize(datatype, allowable_values)
38
+ @allowable_values = allowable_values.map do |value|
39
+ case datatype.to_s
40
+ when /Integer/i
41
+ value.to_i
42
+ when /Float/i
43
+ value.to_f
44
+ else
45
+ value
46
+ end
47
+ end
48
+ end
49
+
50
+ def valid?(value)
51
+ !value || allowable_values.include?(value)
52
+ end
53
+ end
54
+
31
55
  # Attribute mapping from ruby-style variable name to JSON key.
32
56
  def self.attribute_map
33
57
  {
@@ -35,6 +59,7 @@ module MailSlurpClient
35
59
  :'email_address' => :'emailAddress',
36
60
  :'favourite' => :'favourite',
37
61
  :'id' => :'id',
62
+ :'inbox_type' => :'inboxType',
38
63
  :'name' => :'name',
39
64
  :'tags' => :'tags',
40
65
  :'team_access' => :'teamAccess'
@@ -48,6 +73,7 @@ module MailSlurpClient
48
73
  :'email_address' => :'String',
49
74
  :'favourite' => :'Boolean',
50
75
  :'id' => :'String',
76
+ :'inbox_type' => :'String',
51
77
  :'name' => :'String',
52
78
  :'tags' => :'Array<String>',
53
79
  :'team_access' => :'Boolean'
@@ -91,6 +117,10 @@ module MailSlurpClient
91
117
  self.id = attributes[:'id']
92
118
  end
93
119
 
120
+ if attributes.key?(:'inbox_type')
121
+ self.inbox_type = attributes[:'inbox_type']
122
+ end
123
+
94
124
  if attributes.key?(:'name')
95
125
  self.name = attributes[:'name']
96
126
  end
@@ -135,10 +165,22 @@ module MailSlurpClient
135
165
  return false if @created_at.nil?
136
166
  return false if @favourite.nil?
137
167
  return false if @id.nil?
168
+ inbox_type_validator = EnumAttributeValidator.new('String', ["HTTP_INBOX", "SMTP_INBOX"])
169
+ return false unless inbox_type_validator.valid?(@inbox_type)
138
170
  return false if @team_access.nil?
139
171
  true
140
172
  end
141
173
 
174
+ # Custom attribute writer method checking allowed values (enum).
175
+ # @param [Object] inbox_type Object to be assigned
176
+ def inbox_type=(inbox_type)
177
+ validator = EnumAttributeValidator.new('String', ["HTTP_INBOX", "SMTP_INBOX"])
178
+ unless validator.valid?(inbox_type)
179
+ fail ArgumentError, "invalid value for \"inbox_type\", must be one of #{validator.allowable_values}."
180
+ end
181
+ @inbox_type = inbox_type
182
+ end
183
+
142
184
  # Checks equality by comparing each attribute.
143
185
  # @param [Object] Object to be compared
144
186
  def ==(o)
@@ -148,6 +190,7 @@ module MailSlurpClient
148
190
  email_address == o.email_address &&
149
191
  favourite == o.favourite &&
150
192
  id == o.id &&
193
+ inbox_type == o.inbox_type &&
151
194
  name == o.name &&
152
195
  tags == o.tags &&
153
196
  team_access == o.team_access
@@ -162,7 +205,7 @@ module MailSlurpClient
162
205
  # Calculates hash code according to all attributes.
163
206
  # @return [Integer] Hash code
164
207
  def hash
165
- [created_at, email_address, favourite, id, name, tags, team_access].hash
208
+ [created_at, email_address, favourite, id, inbox_type, name, tags, team_access].hash
166
209
  end
167
210
 
168
211
  # Builds the object from hash
@@ -20,13 +20,16 @@ module MailSlurpClient
20
20
  # The inbox's email address. Inbox projections and previews may not include the email address. To view the email address fetch the inbox entity directly. Send an email to this address and the inbox will receive and store it for you. Note the email address in MailSlurp match characters exactly and are case sensitive so `+123` additions are considered different addresses. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.
21
21
  attr_accessor :email_address
22
22
 
23
- # Is the inbox favorited. Favouriting inboxes is typically done in the dashboard for quick access or filtering
23
+ # Is the inbox a favorite inbox. Make an inbox a favorite is typically done in the dashboard for quick access or filtering
24
24
  attr_accessor :favourite
25
25
 
26
26
  # ID of the inbox. The ID is a UUID-V4 format string. Use the inboxId for calls to Inbox and Email Controller endpoints. See the emailAddress property for the email address or the inbox. To get emails in an inbox use the WaitFor and Inbox Controller methods `waitForLatestEmail` and `getEmails` methods respectively. Inboxes can be used with aliases to forward emails automatically.
27
27
  attr_accessor :id
28
28
 
29
- # Name of the inbox. Displayed in the dashboard for easier search
29
+ # Type of inbox - either HTTP (default) or SMTP. HTTP inboxes are great for testing. SMTP inboxes are processed by a custom SMTP mail server and are better for public facing inboxes that receive emails from Gmail and other large providers. If using a custom domain the domain type must match the inbox type. Use an SMTP domain for SMTP inboxes that includes an MX record pointing to `10 mx.mailslurp.com` for inbound messages.
30
+ attr_accessor :inbox_type
31
+
32
+ # Name of the inbox and used as the sender name when sending emails .Displayed in the dashboard for easier search
30
33
  attr_accessor :name
31
34
 
32
35
  # Is the inbox readOnly for the caller. Read only means can not be deleted or modified. This flag is present when using team accounts and shared inboxes.
@@ -38,6 +41,28 @@ module MailSlurpClient
38
41
  # Does inbox permit team access for organization team members. If so team users can use inbox and emails associated with it. See the team access guide at https://www.mailslurp.com/guides/team-email-account-sharing/
39
42
  attr_accessor :team_access
40
43
 
44
+ class EnumAttributeValidator
45
+ attr_reader :datatype
46
+ attr_reader :allowable_values
47
+
48
+ def initialize(datatype, allowable_values)
49
+ @allowable_values = allowable_values.map do |value|
50
+ case datatype.to_s
51
+ when /Integer/i
52
+ value.to_i
53
+ when /Float/i
54
+ value.to_f
55
+ else
56
+ value
57
+ end
58
+ end
59
+ end
60
+
61
+ def valid?(value)
62
+ !value || allowable_values.include?(value)
63
+ end
64
+ end
65
+
41
66
  # Attribute mapping from ruby-style variable name to JSON key.
42
67
  def self.attribute_map
43
68
  {
@@ -45,6 +70,7 @@ module MailSlurpClient
45
70
  :'email_address' => :'emailAddress',
46
71
  :'favourite' => :'favourite',
47
72
  :'id' => :'id',
73
+ :'inbox_type' => :'inboxType',
48
74
  :'name' => :'name',
49
75
  :'read_only' => :'readOnly',
50
76
  :'tags' => :'tags',
@@ -59,6 +85,7 @@ module MailSlurpClient
59
85
  :'email_address' => :'String',
60
86
  :'favourite' => :'Boolean',
61
87
  :'id' => :'String',
88
+ :'inbox_type' => :'String',
62
89
  :'name' => :'String',
63
90
  :'read_only' => :'Boolean',
64
91
  :'tags' => :'Array<String>',
@@ -103,6 +130,10 @@ module MailSlurpClient
103
130
  self.id = attributes[:'id']
104
131
  end
105
132
 
133
+ if attributes.key?(:'inbox_type')
134
+ self.inbox_type = attributes[:'inbox_type']
135
+ end
136
+
106
137
  if attributes.key?(:'name')
107
138
  self.name = attributes[:'name']
108
139
  end
@@ -132,9 +163,21 @@ module MailSlurpClient
132
163
  # Check to see if the all the properties in the model are valid
133
164
  # @return true if the model is valid
134
165
  def valid?
166
+ inbox_type_validator = EnumAttributeValidator.new('String', ["HTTP_INBOX", "SMTP_INBOX"])
167
+ return false unless inbox_type_validator.valid?(@inbox_type)
135
168
  true
136
169
  end
137
170
 
171
+ # Custom attribute writer method checking allowed values (enum).
172
+ # @param [Object] inbox_type Object to be assigned
173
+ def inbox_type=(inbox_type)
174
+ validator = EnumAttributeValidator.new('String', ["HTTP_INBOX", "SMTP_INBOX"])
175
+ unless validator.valid?(inbox_type)
176
+ fail ArgumentError, "invalid value for \"inbox_type\", must be one of #{validator.allowable_values}."
177
+ end
178
+ @inbox_type = inbox_type
179
+ end
180
+
138
181
  # Checks equality by comparing each attribute.
139
182
  # @param [Object] Object to be compared
140
183
  def ==(o)
@@ -144,6 +187,7 @@ module MailSlurpClient
144
187
  email_address == o.email_address &&
145
188
  favourite == o.favourite &&
146
189
  id == o.id &&
190
+ inbox_type == o.inbox_type &&
147
191
  name == o.name &&
148
192
  read_only == o.read_only &&
149
193
  tags == o.tags &&
@@ -159,7 +203,7 @@ module MailSlurpClient
159
203
  # Calculates hash code according to all attributes.
160
204
  # @return [Integer] Hash code
161
205
  def hash
162
- [created_at, email_address, favourite, id, name, read_only, tags, team_access].hash
206
+ [created_at, email_address, favourite, id, inbox_type, name, read_only, tags, team_access].hash
163
207
  end
164
208
 
165
209
  # Builds the object from hash
@@ -57,7 +57,7 @@ module MailSlurpClient
57
57
  # Attribute type mapping.
58
58
  def self.openapi_types
59
59
  {
60
- :'content' => :'Array<AttachmentEntity>',
60
+ :'content' => :'Array<AttachmentProjection>',
61
61
  :'empty' => :'Boolean',
62
62
  :'first' => :'Boolean',
63
63
  :'last' => :'Boolean',
@@ -15,6 +15,7 @@ require 'date'
15
15
  module MailSlurpClient
16
16
  # Paginated sent email results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full sent email entity use the projection ID with individual method calls.
17
17
  class PageSentEmailProjection
18
+ # Collection of items
18
19
  attr_accessor :content
19
20
 
20
21
  attr_accessor :empty
@@ -23,18 +24,23 @@ module MailSlurpClient
23
24
 
24
25
  attr_accessor :last
25
26
 
27
+ # Page number starting at 0
26
28
  attr_accessor :number
27
29
 
30
+ # Number of items returned
28
31
  attr_accessor :number_of_elements
29
32
 
30
33
  attr_accessor :pageable
31
34
 
35
+ # Size of page requested
32
36
  attr_accessor :size
33
37
 
34
38
  attr_accessor :sort
35
39
 
40
+ # Total number of items available for querying
36
41
  attr_accessor :total_elements
37
42
 
43
+ # Total number of pages available
38
44
  attr_accessor :total_pages
39
45
 
40
46
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -15,7 +15,7 @@ require 'date'
15
15
  module MailSlurpClient
16
16
  # Options for setting inbox favourite state
17
17
  class SetInboxFavouritedOptions
18
- # Is the inbox favorited. Favouriting inboxes is typically done in the dashboard for quick access or filtering
18
+ # Is the inbox a favorite. Marking an inbox as a favorite is typically done in the dashboard for quick access or filtering
19
19
  attr_accessor :state
20
20
 
21
21
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -21,10 +21,10 @@ module MailSlurpClient
21
21
  # Inbox expiration time. When, if ever, the inbox should expire and be deleted. If null then this inbox is permanent and the emails in it won't be deleted. This is the default behavior unless expiration date is set. If an expiration date is set and the time is reached MailSlurp will expire the inbox and move it to an expired inbox entity. You can still access the emails belonging to it but it can no longer send or receive email.
22
22
  attr_accessor :expires_at
23
23
 
24
- # Is the inbox favorited. Favouriting inboxes is typically done in the dashboard for quick access or filtering
24
+ # Is the inbox a favorite inbox. Make an inbox a favorite is typically done in the dashboard for quick access or filtering
25
25
  attr_accessor :favourite
26
26
 
27
- # Name of the inbox. Displayed in the dashboard for easier search
27
+ # Name of the inbox and used as the sender name when sending emails .Displayed in the dashboard for easier search
28
28
  attr_accessor :name
29
29
 
30
30
  # Tags that inbox has been tagged with. Tags can be added to inboxes to group different inboxes within an account. You can also search for inboxes by tag in the dashboard UI.
@@ -80,12 +80,17 @@ module MailSlurpClient
80
80
  # @return Array for valid properties with the reasons
81
81
  def list_invalid_properties
82
82
  invalid_properties = Array.new
83
+ if @base64_contents.nil?
84
+ invalid_properties.push('invalid value for "base64_contents", base64_contents cannot be nil.')
85
+ end
86
+
83
87
  invalid_properties
84
88
  end
85
89
 
86
90
  # Check to see if the all the properties in the model are valid
87
91
  # @return true if the model is valid
88
92
  def valid?
93
+ return false if @base64_contents.nil?
89
94
  true
90
95
  end
91
96
 
@@ -11,5 +11,5 @@ OpenAPI Generator version: 4.3.1
11
11
  =end
12
12
 
13
13
  module MailSlurpClient
14
- VERSION = '11.12.0'
14
+ VERSION = '12.0.0'
15
15
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailslurp_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.12.0
4
+ version: 12.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mailslurp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-11 00:00:00.000000000 Z
11
+ date: 2021-05-22 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Create emails addresses in Ruby then send and receive real emails and
14
14
  attachments. See https://www.mailslurp.com/docs/ruby/ for full Ruby documentation.
@@ -46,8 +46,8 @@ files:
46
46
  - lib/mailslurp_client/models/abstract_webhook_payload.rb
47
47
  - lib/mailslurp_client/models/alias_dto.rb
48
48
  - lib/mailslurp_client/models/alias_projection.rb
49
- - lib/mailslurp_client/models/attachment_entity.rb
50
49
  - lib/mailslurp_client/models/attachment_meta_data.rb
50
+ - lib/mailslurp_client/models/attachment_projection.rb
51
51
  - lib/mailslurp_client/models/basic_auth_options.rb
52
52
  - lib/mailslurp_client/models/bulk_send_email_options.rb
53
53
  - lib/mailslurp_client/models/contact_dto.rb