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.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/README.md +127 -40
- data/docs/AttachmentControllerApi.md +124 -0
- data/docs/AttachmentMetaData.md +23 -0
- data/docs/BasicAuthOptions.md +10 -0
- data/docs/BulkActionsControllerApi.md +165 -0
- data/docs/BulkSendEmailOptions.md +11 -1
- data/docs/CommonActionsControllerApi.md +167 -0
- data/docs/ContactControllerApi.md +274 -0
- data/docs/ContactDto.md +31 -0
- data/docs/ContactProjection.md +27 -0
- data/docs/CreateContactOptions.md +31 -0
- data/docs/CreateDomainOptions.md +17 -0
- data/docs/CreateGroupOptions.md +19 -0
- data/docs/CreateTemplateOptions.md +19 -0
- data/docs/CreateWebhookOptions.md +13 -2
- data/docs/DomainControllerApi.md +223 -0
- data/docs/DomainDto.md +29 -0
- data/docs/DomainPreview.md +21 -0
- data/docs/Email.md +40 -15
- data/docs/EmailAnalysis.md +18 -5
- data/docs/EmailControllerApi.md +740 -0
- data/docs/EmailPreview.md +24 -6
- data/docs/EmailProjection.md +33 -0
- data/docs/ForwardEmailOptions.md +12 -0
- data/docs/GroupContactsDto.md +19 -0
- data/docs/GroupControllerApi.md +437 -0
- data/docs/GroupDto.md +23 -0
- data/docs/GroupProjection.md +23 -0
- data/docs/HTMLValidationResult.md +21 -0
- data/docs/Inbox.md +26 -4
- data/docs/InboxControllerApi.md +652 -0
- data/docs/InboxProjection.md +29 -0
- data/docs/JsonNode.md +59 -0
- data/docs/MatchOption.md +13 -2
- data/docs/MatchOptions.md +9 -0
- data/docs/PageContactProjection.md +37 -0
- data/docs/PageEmailPreview.md +37 -0
- data/docs/PageEmailProjection.md +37 -0
- data/docs/PageGroupProjection.md +37 -0
- data/docs/PageInboxProjection.md +37 -0
- data/docs/PageTemplateProjection.md +37 -0
- data/docs/PageWebhookProjection.md +37 -0
- data/docs/Pageable.md +27 -0
- data/docs/RawEmailJson.md +17 -0
- data/docs/SendEmailOptions.md +33 -6
- data/docs/SetInboxFavouritedOptions.md +17 -0
- data/docs/Sort.md +21 -0
- data/docs/TemplateControllerApi.md +274 -0
- data/docs/TemplateDto.md +25 -0
- data/docs/TemplateProjection.md +25 -0
- data/docs/TemplateVariable.md +19 -0
- data/docs/UnreadCount.md +17 -0
- data/docs/UpdateGroupContacts.md +17 -0
- data/docs/UpdateInboxOptions.md +25 -0
- data/docs/UploadAttachmentOptions.md +12 -1
- data/docs/ValidationDto.md +19 -0
- data/docs/ValidationMessage.md +19 -0
- data/docs/WaitForConditions.md +29 -0
- data/docs/WaitForControllerApi.md +317 -0
- data/docs/WebhookControllerApi.md +339 -0
- data/docs/WebhookDto.md +33 -0
- data/docs/WebhookProjection.md +27 -0
- data/docs/WebhookTestRequest.md +23 -0
- data/docs/WebhookTestResponse.md +19 -0
- data/docs/WebhookTestResult.md +21 -0
- data/git_push.sh +10 -7
- data/lib/mailslurp_client.rb +56 -7
- data/lib/mailslurp_client/api/attachment_controller_api.rb +157 -0
- data/lib/mailslurp_client/api/bulk_actions_controller_api.rb +203 -0
- data/lib/mailslurp_client/api/common_actions_controller_api.rb +201 -0
- data/lib/mailslurp_client/api/contact_controller_api.rb +323 -0
- data/lib/mailslurp_client/api/domain_controller_api.rb +264 -0
- data/lib/mailslurp_client/api/email_controller_api.rb +852 -0
- data/lib/mailslurp_client/api/group_controller_api.rb +519 -0
- data/lib/mailslurp_client/api/inbox_controller_api.rb +763 -0
- data/lib/mailslurp_client/api/template_controller_api.rb +323 -0
- data/lib/mailslurp_client/api/wait_for_controller_api.rb +359 -0
- data/lib/mailslurp_client/api/webhook_controller_api.rb +405 -0
- data/lib/mailslurp_client/api_client.rb +36 -39
- data/lib/mailslurp_client/api_error.rb +23 -4
- data/lib/mailslurp_client/configuration.rb +8 -11
- data/lib/mailslurp_client/models/attachment_meta_data.rb +253 -0
- data/lib/mailslurp_client/models/basic_auth_options.rb +39 -15
- data/lib/mailslurp_client/models/bulk_send_email_options.rb +42 -19
- data/lib/mailslurp_client/models/contact_dto.rb +288 -0
- data/lib/mailslurp_client/models/contact_projection.rb +261 -0
- data/lib/mailslurp_client/models/create_contact_options.rb +277 -0
- data/lib/mailslurp_client/models/create_domain_options.rb +208 -0
- data/lib/mailslurp_client/models/create_group_options.rb +220 -0
- data/lib/mailslurp_client/models/create_template_options.rb +225 -0
- data/lib/mailslurp_client/models/create_webhook_options.rb +54 -29
- data/lib/mailslurp_client/models/domain_dto.rb +296 -0
- data/lib/mailslurp_client/models/domain_preview.rb +240 -0
- data/lib/mailslurp_client/models/email.rb +86 -78
- data/lib/mailslurp_client/models/email_analysis.rb +46 -48
- data/lib/mailslurp_client/models/email_preview.rb +77 -41
- data/lib/mailslurp_client/models/email_projection.rb +306 -0
- data/lib/mailslurp_client/models/forward_email_options.rb +40 -17
- data/lib/mailslurp_client/models/group_contacts_dto.rb +227 -0
- data/lib/mailslurp_client/models/{webhook.rb → group_dto.rb} +60 -54
- data/lib/mailslurp_client/models/group_projection.rb +248 -0
- data/lib/mailslurp_client/models/html_validation_result.rb +243 -0
- data/lib/mailslurp_client/models/inbox.rb +104 -26
- data/lib/mailslurp_client/models/inbox_projection.rb +272 -0
- data/lib/mailslurp_client/models/json_node.rb +429 -0
- data/lib/mailslurp_client/models/match_option.rb +48 -24
- data/lib/mailslurp_client/models/match_options.rb +37 -14
- data/lib/mailslurp_client/models/page_contact_projection.rb +298 -0
- data/lib/mailslurp_client/models/page_email_preview.rb +298 -0
- data/lib/mailslurp_client/models/page_email_projection.rb +298 -0
- data/lib/mailslurp_client/models/page_group_projection.rb +298 -0
- data/lib/mailslurp_client/models/page_inbox_projection.rb +298 -0
- data/lib/mailslurp_client/models/page_template_projection.rb +298 -0
- data/lib/mailslurp_client/models/page_webhook_projection.rb +298 -0
- data/lib/mailslurp_client/models/pageable.rb +251 -0
- data/lib/mailslurp_client/models/raw_email_json.rb +211 -0
- data/lib/mailslurp_client/models/send_email_options.rb +141 -46
- data/lib/mailslurp_client/models/set_inbox_favourited_options.rb +208 -0
- data/lib/mailslurp_client/models/sort.rb +224 -0
- data/lib/mailslurp_client/models/template_dto.rb +269 -0
- data/lib/mailslurp_client/models/template_projection.rb +269 -0
- data/lib/mailslurp_client/models/template_variable.rb +259 -0
- data/lib/mailslurp_client/models/unread_count.rb +211 -0
- data/lib/mailslurp_client/models/update_group_contacts.rb +213 -0
- data/lib/mailslurp_client/models/update_inbox_options.rb +250 -0
- data/lib/mailslurp_client/models/upload_attachment_options.rb +43 -20
- data/lib/mailslurp_client/models/validation_dto.rb +225 -0
- data/lib/mailslurp_client/models/validation_message.rb +220 -0
- data/lib/mailslurp_client/models/wait_for_conditions.rb +315 -0
- data/lib/mailslurp_client/models/webhook_dto.rb +326 -0
- data/lib/mailslurp_client/models/webhook_projection.rb +277 -0
- data/lib/mailslurp_client/models/webhook_test_request.rb +284 -0
- data/lib/mailslurp_client/models/webhook_test_response.rb +215 -0
- data/lib/mailslurp_client/models/webhook_test_result.rb +235 -0
- data/lib/mailslurp_client/version.rb +5 -5
- data/mailslurp_client.gemspec +4 -10
- data/spec/api/attachment_controller_api_spec.rb +61 -0
- data/spec/api/bulk_actions_controller_api_spec.rb +68 -0
- data/spec/api/common_actions_controller_api_spec.rb +129 -0
- data/spec/api/contact_controller_api_spec.rb +91 -0
- data/spec/api/domain_controller_api_spec.rb +82 -0
- data/spec/api/email_controller_api_spec.rb +162 -0
- data/spec/api/group_controller_api_spec.rb +126 -0
- data/spec/api/inbox_controller_api_spec.rb +172 -0
- data/spec/api/template_controller_api_spec.rb +91 -0
- data/spec/api/wait_for_controller_api_spec.rb +107 -0
- data/spec/api/webhook_controller_api_spec.rb +107 -0
- data/spec/api_client_spec.rb +5 -5
- data/spec/configuration_spec.rb +4 -4
- data/spec/models/attachment_meta_data_spec.rb +59 -0
- data/spec/models/basic_auth_options_spec.rb +4 -4
- data/spec/models/bulk_send_email_options_spec.rb +4 -4
- data/spec/models/contact_dto_spec.rb +83 -0
- data/spec/models/contact_projection_spec.rb +71 -0
- data/spec/models/create_contact_options_spec.rb +83 -0
- data/spec/models/create_domain_options_spec.rb +41 -0
- data/spec/models/create_group_options_spec.rb +47 -0
- data/spec/models/create_template_options_spec.rb +47 -0
- data/spec/models/create_webhook_options_spec.rb +6 -6
- data/spec/models/domain_dto_spec.rb +77 -0
- data/spec/models/domain_preview_spec.rb +53 -0
- data/spec/models/email_analysis_spec.rb +4 -4
- data/spec/models/email_preview_spec.rb +41 -5
- data/spec/models/email_projection_spec.rb +89 -0
- data/spec/models/email_spec.rb +17 -5
- data/spec/models/forward_email_options_spec.rb +4 -4
- data/spec/models/group_contacts_dto_spec.rb +47 -0
- data/spec/models/group_dto_spec.rb +59 -0
- data/spec/models/group_projection_spec.rb +59 -0
- data/spec/models/html_validation_result_spec.rb +53 -0
- data/spec/models/inbox_projection_spec.rb +77 -0
- data/spec/models/inbox_spec.rb +35 -5
- data/spec/models/json_node_spec.rb +171 -0
- data/spec/models/match_option_spec.rb +4 -4
- data/spec/models/match_options_spec.rb +4 -4
- data/spec/models/page_contact_projection_spec.rb +101 -0
- data/spec/models/page_email_preview_spec.rb +101 -0
- data/spec/models/page_email_projection_spec.rb +101 -0
- data/spec/models/page_group_projection_spec.rb +101 -0
- data/spec/models/page_inbox_projection_spec.rb +101 -0
- data/spec/models/page_template_projection_spec.rb +101 -0
- data/spec/models/page_webhook_projection_spec.rb +101 -0
- data/spec/models/pageable_spec.rb +71 -0
- data/spec/models/raw_email_json_spec.rb +41 -0
- data/spec/models/send_email_options_spec.rb +45 -5
- data/spec/models/set_inbox_favourited_options_spec.rb +41 -0
- data/spec/models/sort_spec.rb +53 -0
- data/spec/models/template_dto_spec.rb +65 -0
- data/spec/models/template_projection_spec.rb +65 -0
- data/spec/models/template_variable_spec.rb +51 -0
- data/spec/models/unread_count_spec.rb +41 -0
- data/spec/models/update_group_contacts_spec.rb +41 -0
- data/spec/models/{webhook_spec.rb → update_inbox_options_spec.rb} +14 -20
- data/spec/models/upload_attachment_options_spec.rb +4 -4
- data/spec/models/validation_dto_spec.rb +47 -0
- data/spec/models/validation_message_spec.rb +47 -0
- data/spec/models/wait_for_conditions_spec.rb +85 -0
- data/spec/models/webhook_dto_spec.rb +93 -0
- data/spec/models/webhook_projection_spec.rb +71 -0
- data/spec/models/webhook_test_request_spec.rb +63 -0
- data/spec/models/webhook_test_response_spec.rb +47 -0
- data/spec/models/webhook_test_result_spec.rb +53 -0
- data/spec/spec_helper.rb +4 -4
- metadata +223 -149
- data/Gemfile.lock +0 -79
- data/docs/CommonOperationsApi.md +0 -499
- data/docs/ExtraOperationsApi.md +0 -1021
- data/docs/Webhook.md +0 -13
- data/lib/mailslurp_client/api/common_operations_api.rb +0 -502
- data/lib/mailslurp_client/api/extra_operations_api.rb +0 -1054
- data/spec/api/common_operations_api_spec.rb +0 -95
- data/spec/api/extra_operations_api_spec.rb +0 -231
@@ -0,0 +1,211 @@
|
|
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 'date'
|
14
|
+
|
15
|
+
module MailSlurpClient
|
16
|
+
class RawEmailJson
|
17
|
+
attr_accessor :content
|
18
|
+
|
19
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
20
|
+
def self.attribute_map
|
21
|
+
{
|
22
|
+
:'content' => :'content'
|
23
|
+
}
|
24
|
+
end
|
25
|
+
|
26
|
+
# Attribute type mapping.
|
27
|
+
def self.openapi_types
|
28
|
+
{
|
29
|
+
:'content' => :'String'
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
# List of attributes with nullable: true
|
34
|
+
def self.openapi_nullable
|
35
|
+
Set.new([
|
36
|
+
])
|
37
|
+
end
|
38
|
+
|
39
|
+
# Initializes the object
|
40
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
41
|
+
def initialize(attributes = {})
|
42
|
+
if (!attributes.is_a?(Hash))
|
43
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::RawEmailJson` initialize method"
|
44
|
+
end
|
45
|
+
|
46
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
47
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
48
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
49
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::RawEmailJson`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
50
|
+
end
|
51
|
+
h[k.to_sym] = v
|
52
|
+
}
|
53
|
+
|
54
|
+
if attributes.key?(:'content')
|
55
|
+
self.content = attributes[:'content']
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
60
|
+
# @return Array for valid properties with the reasons
|
61
|
+
def list_invalid_properties
|
62
|
+
invalid_properties = Array.new
|
63
|
+
if @content.nil?
|
64
|
+
invalid_properties.push('invalid value for "content", content cannot be nil.')
|
65
|
+
end
|
66
|
+
|
67
|
+
invalid_properties
|
68
|
+
end
|
69
|
+
|
70
|
+
# Check to see if the all the properties in the model are valid
|
71
|
+
# @return true if the model is valid
|
72
|
+
def valid?
|
73
|
+
return false if @content.nil?
|
74
|
+
true
|
75
|
+
end
|
76
|
+
|
77
|
+
# Checks equality by comparing each attribute.
|
78
|
+
# @param [Object] Object to be compared
|
79
|
+
def ==(o)
|
80
|
+
return true if self.equal?(o)
|
81
|
+
self.class == o.class &&
|
82
|
+
content == o.content
|
83
|
+
end
|
84
|
+
|
85
|
+
# @see the `==` method
|
86
|
+
# @param [Object] Object to be compared
|
87
|
+
def eql?(o)
|
88
|
+
self == o
|
89
|
+
end
|
90
|
+
|
91
|
+
# Calculates hash code according to all attributes.
|
92
|
+
# @return [Integer] Hash code
|
93
|
+
def hash
|
94
|
+
[content].hash
|
95
|
+
end
|
96
|
+
|
97
|
+
# Builds the object from hash
|
98
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
99
|
+
# @return [Object] Returns the model itself
|
100
|
+
def self.build_from_hash(attributes)
|
101
|
+
new.build_from_hash(attributes)
|
102
|
+
end
|
103
|
+
|
104
|
+
# Builds the object from hash
|
105
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
106
|
+
# @return [Object] Returns the model itself
|
107
|
+
def build_from_hash(attributes)
|
108
|
+
return nil unless attributes.is_a?(Hash)
|
109
|
+
self.class.openapi_types.each_pair do |key, type|
|
110
|
+
if type =~ /\AArray<(.*)>/i
|
111
|
+
# check to ensure the input is an array given that the attribute
|
112
|
+
# is documented as an array but the input is not
|
113
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
114
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
115
|
+
end
|
116
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
117
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
118
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
119
|
+
end
|
120
|
+
|
121
|
+
self
|
122
|
+
end
|
123
|
+
|
124
|
+
# Deserializes the data based on type
|
125
|
+
# @param string type Data type
|
126
|
+
# @param string value Value to be deserialized
|
127
|
+
# @return [Object] Deserialized data
|
128
|
+
def _deserialize(type, value)
|
129
|
+
case type.to_sym
|
130
|
+
when :DateTime
|
131
|
+
DateTime.parse(value)
|
132
|
+
when :Date
|
133
|
+
Date.parse(value)
|
134
|
+
when :String
|
135
|
+
value.to_s
|
136
|
+
when :Integer
|
137
|
+
value.to_i
|
138
|
+
when :Float
|
139
|
+
value.to_f
|
140
|
+
when :Boolean
|
141
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
142
|
+
true
|
143
|
+
else
|
144
|
+
false
|
145
|
+
end
|
146
|
+
when :Object
|
147
|
+
# generic object (usually a Hash), return directly
|
148
|
+
value
|
149
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
150
|
+
inner_type = Regexp.last_match[:inner_type]
|
151
|
+
value.map { |v| _deserialize(inner_type, v) }
|
152
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
153
|
+
k_type = Regexp.last_match[:k_type]
|
154
|
+
v_type = Regexp.last_match[:v_type]
|
155
|
+
{}.tap do |hash|
|
156
|
+
value.each do |k, v|
|
157
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
158
|
+
end
|
159
|
+
end
|
160
|
+
else # model
|
161
|
+
MailSlurpClient.const_get(type).build_from_hash(value)
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
# Returns the string representation of the object
|
166
|
+
# @return [String] String presentation of the object
|
167
|
+
def to_s
|
168
|
+
to_hash.to_s
|
169
|
+
end
|
170
|
+
|
171
|
+
# to_body is an alias to to_hash (backward compatibility)
|
172
|
+
# @return [Hash] Returns the object in the form of hash
|
173
|
+
def to_body
|
174
|
+
to_hash
|
175
|
+
end
|
176
|
+
|
177
|
+
# Returns the object in the form of hash
|
178
|
+
# @return [Hash] Returns the object in the form of hash
|
179
|
+
def to_hash
|
180
|
+
hash = {}
|
181
|
+
self.class.attribute_map.each_pair do |attr, param|
|
182
|
+
value = self.send(attr)
|
183
|
+
if value.nil?
|
184
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
185
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
186
|
+
end
|
187
|
+
|
188
|
+
hash[param] = _to_hash(value)
|
189
|
+
end
|
190
|
+
hash
|
191
|
+
end
|
192
|
+
|
193
|
+
# Outputs non-array value in the form of hash
|
194
|
+
# For object, use to_hash. Otherwise, just return the value
|
195
|
+
# @param [Object] value Any valid value
|
196
|
+
# @return [Hash] Returns the value in the form of hash
|
197
|
+
def _to_hash(value)
|
198
|
+
if value.is_a?(Array)
|
199
|
+
value.compact.map { |v| _to_hash(v) }
|
200
|
+
elsif value.is_a?(Hash)
|
201
|
+
{}.tap do |hash|
|
202
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
203
|
+
end
|
204
|
+
elsif value.respond_to? :to_hash
|
205
|
+
value.to_hash
|
206
|
+
else
|
207
|
+
value
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
211
|
+
end
|
@@ -1,27 +1,27 @@
|
|
1
1
|
=begin
|
2
2
|
#MailSlurp API
|
3
3
|
|
4
|
-
#
|
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
|
5
7
|
|
6
|
-
OpenAPI spec version: 0.0.1-alpha
|
7
|
-
Contact: contact@mailslurp.dev
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version:
|
9
|
+
OpenAPI Generator version: 4.2.3
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
13
13
|
require 'date'
|
14
14
|
|
15
15
|
module MailSlurpClient
|
16
|
-
# Options for sending an email message from an inbox
|
16
|
+
# Options for sending an email message from an inbox. You must provide one of: `to`, `toGroup`, or `toContacts` to send an email. All other parameters are optional.
|
17
17
|
class SendEmailOptions
|
18
|
-
# Optional list of attachment IDs to send with this email. You must first upload each attachment separately in order to obtain attachment IDs
|
18
|
+
# Optional list of attachment IDs to send with this email. You must first upload each attachment separately in order to obtain attachment IDs. This way you can reuse attachments with different emails once uploaded.
|
19
19
|
attr_accessor :attachments
|
20
20
|
|
21
21
|
# Optional list of bcc destination email addresses
|
22
22
|
attr_accessor :bcc
|
23
23
|
|
24
|
-
#
|
24
|
+
# Optional contents of email. If body contains HTML then set `isHTML` to true to ensure that email clients render it correctly. You can use moustache template syntax in the email body in conjunction with `toGroup` contact variables or `templateVariables` data. If you need more templating control consider creating a template and using the `template` property instead of the body.
|
25
25
|
attr_accessor :body
|
26
26
|
|
27
27
|
# Optional list of cc destination email addresses
|
@@ -30,23 +30,58 @@ module MailSlurpClient
|
|
30
30
|
# Optional charset
|
31
31
|
attr_accessor :charset
|
32
32
|
|
33
|
-
# Optional from address. If not set source inbox address will be used
|
33
|
+
# Optional from address. If not set the source inbox address will be used for this field. Beware of potential spam penalties when setting this field to an address not used by the inbox. For custom email addresses use a custom domain.
|
34
34
|
attr_accessor :from
|
35
35
|
|
36
|
-
|
36
|
+
# Optional HTML flag. If true the `content-type` of the email will be `text/html`. Set to true when sending HTML to ensure proper rending on email clients
|
37
|
+
attr_accessor :is_html
|
37
38
|
|
38
39
|
# Optional replyTo header
|
39
40
|
attr_accessor :reply_to
|
40
41
|
|
42
|
+
# Optional strategy to use when sending the email
|
43
|
+
attr_accessor :send_strategy
|
44
|
+
|
41
45
|
# Optional email subject line
|
42
46
|
attr_accessor :subject
|
43
47
|
|
44
|
-
# Optional
|
48
|
+
# Optional template ID to use for body. Will override body if provided. When using a template make sure you pass the corresponding map of `templateVariables`. You can find which variables are needed by fetching the template itself or viewing it in the dashboard.
|
49
|
+
attr_accessor :template
|
50
|
+
|
51
|
+
# Optional map of template variables. Will replace moustache syntax variables in subject and body or template with the associated values if found.
|
45
52
|
attr_accessor :template_variables
|
46
53
|
|
47
|
-
# List of destination email addresses. Even single recipients must be in array form.
|
54
|
+
# List of destination email addresses. Even single recipients must be in array form. Maximum recipients per email depends on your plan. If you need to send many emails try using contacts or contact groups or use a non standard sendStrategy to ensure that spam filters are not triggered (many recipients in one email can affect your spam rating).
|
48
55
|
attr_accessor :to
|
49
56
|
|
57
|
+
# Optional list of contact IDs to send email to. Manage your contacts via the API or dashboard. When contacts are used the email is sent to each contact separately so they will not see other recipients.
|
58
|
+
attr_accessor :to_contacts
|
59
|
+
|
60
|
+
# Optional contact group ID to send email to. You can create contacts and contact groups in the API or dashboard and use them for email campaigns. When contact groups are used the email is sent to each contact separately so they will not see other recipients
|
61
|
+
attr_accessor :to_group
|
62
|
+
|
63
|
+
class EnumAttributeValidator
|
64
|
+
attr_reader :datatype
|
65
|
+
attr_reader :allowable_values
|
66
|
+
|
67
|
+
def initialize(datatype, allowable_values)
|
68
|
+
@allowable_values = allowable_values.map do |value|
|
69
|
+
case datatype.to_s
|
70
|
+
when /Integer/i
|
71
|
+
value.to_i
|
72
|
+
when /Float/i
|
73
|
+
value.to_f
|
74
|
+
else
|
75
|
+
value
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def valid?(value)
|
81
|
+
!value || allowable_values.include?(value)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
50
85
|
# Attribute mapping from ruby-style variable name to JSON key.
|
51
86
|
def self.attribute_map
|
52
87
|
{
|
@@ -56,11 +91,15 @@ module MailSlurpClient
|
|
56
91
|
:'cc' => :'cc',
|
57
92
|
:'charset' => :'charset',
|
58
93
|
:'from' => :'from',
|
59
|
-
:'
|
94
|
+
:'is_html' => :'isHTML',
|
60
95
|
:'reply_to' => :'replyTo',
|
96
|
+
:'send_strategy' => :'sendStrategy',
|
61
97
|
:'subject' => :'subject',
|
98
|
+
:'template' => :'template',
|
62
99
|
:'template_variables' => :'templateVariables',
|
63
|
-
:'to' => :'to'
|
100
|
+
:'to' => :'to',
|
101
|
+
:'to_contacts' => :'toContacts',
|
102
|
+
:'to_group' => :'toGroup'
|
64
103
|
}
|
65
104
|
end
|
66
105
|
|
@@ -73,93 +112,135 @@ module MailSlurpClient
|
|
73
112
|
:'cc' => :'Array<String>',
|
74
113
|
:'charset' => :'String',
|
75
114
|
:'from' => :'String',
|
76
|
-
:'
|
115
|
+
:'is_html' => :'Boolean',
|
77
116
|
:'reply_to' => :'String',
|
117
|
+
:'send_strategy' => :'String',
|
78
118
|
:'subject' => :'String',
|
119
|
+
:'template' => :'String',
|
79
120
|
:'template_variables' => :'Object',
|
80
|
-
:'to' => :'Array<String>'
|
121
|
+
:'to' => :'Array<String>',
|
122
|
+
:'to_contacts' => :'Array<String>',
|
123
|
+
:'to_group' => :'String'
|
81
124
|
}
|
82
125
|
end
|
83
126
|
|
127
|
+
# List of attributes with nullable: true
|
128
|
+
def self.openapi_nullable
|
129
|
+
Set.new([
|
130
|
+
])
|
131
|
+
end
|
132
|
+
|
84
133
|
# Initializes the object
|
85
134
|
# @param [Hash] attributes Model attributes in the form of hash
|
86
135
|
def initialize(attributes = {})
|
87
|
-
|
136
|
+
if (!attributes.is_a?(Hash))
|
137
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::SendEmailOptions` initialize method"
|
138
|
+
end
|
88
139
|
|
89
|
-
# convert string to symbol for hash key
|
90
|
-
attributes = attributes.each_with_object({}) { |(k, v), h|
|
140
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
141
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
142
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
143
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::SendEmailOptions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
144
|
+
end
|
145
|
+
h[k.to_sym] = v
|
146
|
+
}
|
91
147
|
|
92
|
-
if attributes.
|
148
|
+
if attributes.key?(:'attachments')
|
93
149
|
if (value = attributes[:'attachments']).is_a?(Array)
|
94
150
|
self.attachments = value
|
95
151
|
end
|
96
152
|
end
|
97
153
|
|
98
|
-
if attributes.
|
154
|
+
if attributes.key?(:'bcc')
|
99
155
|
if (value = attributes[:'bcc']).is_a?(Array)
|
100
156
|
self.bcc = value
|
101
157
|
end
|
102
158
|
end
|
103
159
|
|
104
|
-
if attributes.
|
160
|
+
if attributes.key?(:'body')
|
105
161
|
self.body = attributes[:'body']
|
106
162
|
end
|
107
163
|
|
108
|
-
if attributes.
|
164
|
+
if attributes.key?(:'cc')
|
109
165
|
if (value = attributes[:'cc']).is_a?(Array)
|
110
166
|
self.cc = value
|
111
167
|
end
|
112
168
|
end
|
113
169
|
|
114
|
-
if attributes.
|
170
|
+
if attributes.key?(:'charset')
|
115
171
|
self.charset = attributes[:'charset']
|
116
172
|
end
|
117
173
|
|
118
|
-
if attributes.
|
174
|
+
if attributes.key?(:'from')
|
119
175
|
self.from = attributes[:'from']
|
120
176
|
end
|
121
177
|
|
122
|
-
if attributes.
|
123
|
-
self.
|
178
|
+
if attributes.key?(:'is_html')
|
179
|
+
self.is_html = attributes[:'is_html']
|
180
|
+
end
|
181
|
+
|
182
|
+
if attributes.key?(:'reply_to')
|
183
|
+
self.reply_to = attributes[:'reply_to']
|
124
184
|
end
|
125
185
|
|
126
|
-
if attributes.
|
127
|
-
self.
|
186
|
+
if attributes.key?(:'send_strategy')
|
187
|
+
self.send_strategy = attributes[:'send_strategy']
|
128
188
|
end
|
129
189
|
|
130
|
-
if attributes.
|
190
|
+
if attributes.key?(:'subject')
|
131
191
|
self.subject = attributes[:'subject']
|
132
192
|
end
|
133
193
|
|
134
|
-
if attributes.
|
135
|
-
self.
|
194
|
+
if attributes.key?(:'template')
|
195
|
+
self.template = attributes[:'template']
|
136
196
|
end
|
137
197
|
|
138
|
-
if attributes.
|
198
|
+
if attributes.key?(:'template_variables')
|
199
|
+
self.template_variables = attributes[:'template_variables']
|
200
|
+
end
|
201
|
+
|
202
|
+
if attributes.key?(:'to')
|
139
203
|
if (value = attributes[:'to']).is_a?(Array)
|
140
204
|
self.to = value
|
141
205
|
end
|
142
206
|
end
|
207
|
+
|
208
|
+
if attributes.key?(:'to_contacts')
|
209
|
+
if (value = attributes[:'to_contacts']).is_a?(Array)
|
210
|
+
self.to_contacts = value
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
214
|
+
if attributes.key?(:'to_group')
|
215
|
+
self.to_group = attributes[:'to_group']
|
216
|
+
end
|
143
217
|
end
|
144
218
|
|
145
219
|
# Show invalid properties with the reasons. Usually used together with valid?
|
146
220
|
# @return Array for valid properties with the reasons
|
147
221
|
def list_invalid_properties
|
148
222
|
invalid_properties = Array.new
|
149
|
-
if @to.nil?
|
150
|
-
invalid_properties.push('invalid value for "to", to cannot be nil.')
|
151
|
-
end
|
152
|
-
|
153
223
|
invalid_properties
|
154
224
|
end
|
155
225
|
|
156
226
|
# Check to see if the all the properties in the model are valid
|
157
227
|
# @return true if the model is valid
|
158
228
|
def valid?
|
159
|
-
|
229
|
+
send_strategy_validator = EnumAttributeValidator.new('String', ["SINGLE_MESSAGE"])
|
230
|
+
return false unless send_strategy_validator.valid?(@send_strategy)
|
160
231
|
true
|
161
232
|
end
|
162
233
|
|
234
|
+
# Custom attribute writer method checking allowed values (enum).
|
235
|
+
# @param [Object] send_strategy Object to be assigned
|
236
|
+
def send_strategy=(send_strategy)
|
237
|
+
validator = EnumAttributeValidator.new('String', ["SINGLE_MESSAGE"])
|
238
|
+
unless validator.valid?(send_strategy)
|
239
|
+
fail ArgumentError, "invalid value for \"send_strategy\", must be one of #{validator.allowable_values}."
|
240
|
+
end
|
241
|
+
@send_strategy = send_strategy
|
242
|
+
end
|
243
|
+
|
163
244
|
# Checks equality by comparing each attribute.
|
164
245
|
# @param [Object] Object to be compared
|
165
246
|
def ==(o)
|
@@ -171,11 +252,15 @@ module MailSlurpClient
|
|
171
252
|
cc == o.cc &&
|
172
253
|
charset == o.charset &&
|
173
254
|
from == o.from &&
|
174
|
-
|
255
|
+
is_html == o.is_html &&
|
175
256
|
reply_to == o.reply_to &&
|
257
|
+
send_strategy == o.send_strategy &&
|
176
258
|
subject == o.subject &&
|
259
|
+
template == o.template &&
|
177
260
|
template_variables == o.template_variables &&
|
178
|
-
to == o.to
|
261
|
+
to == o.to &&
|
262
|
+
to_contacts == o.to_contacts &&
|
263
|
+
to_group == o.to_group
|
179
264
|
end
|
180
265
|
|
181
266
|
# @see the `==` method
|
@@ -185,9 +270,16 @@ module MailSlurpClient
|
|
185
270
|
end
|
186
271
|
|
187
272
|
# Calculates hash code according to all attributes.
|
188
|
-
# @return [
|
273
|
+
# @return [Integer] Hash code
|
189
274
|
def hash
|
190
|
-
[attachments, bcc, body, cc, charset, from,
|
275
|
+
[attachments, bcc, body, cc, charset, from, is_html, reply_to, send_strategy, subject, template, template_variables, to, to_contacts, to_group].hash
|
276
|
+
end
|
277
|
+
|
278
|
+
# Builds the object from hash
|
279
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
280
|
+
# @return [Object] Returns the model itself
|
281
|
+
def self.build_from_hash(attributes)
|
282
|
+
new.build_from_hash(attributes)
|
191
283
|
end
|
192
284
|
|
193
285
|
# Builds the object from hash
|
@@ -197,7 +289,7 @@ module MailSlurpClient
|
|
197
289
|
return nil unless attributes.is_a?(Hash)
|
198
290
|
self.class.openapi_types.each_pair do |key, type|
|
199
291
|
if type =~ /\AArray<(.*)>/i
|
200
|
-
# check to ensure the input is an array given that the
|
292
|
+
# check to ensure the input is an array given that the attribute
|
201
293
|
# is documented as an array but the input is not
|
202
294
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
203
295
|
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
@@ -226,7 +318,7 @@ module MailSlurpClient
|
|
226
318
|
value.to_i
|
227
319
|
when :Float
|
228
320
|
value.to_f
|
229
|
-
when :
|
321
|
+
when :Boolean
|
230
322
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
231
323
|
true
|
232
324
|
else
|
@@ -247,8 +339,7 @@ module MailSlurpClient
|
|
247
339
|
end
|
248
340
|
end
|
249
341
|
else # model
|
250
|
-
|
251
|
-
temp_model.build_from_hash(value)
|
342
|
+
MailSlurpClient.const_get(type).build_from_hash(value)
|
252
343
|
end
|
253
344
|
end
|
254
345
|
|
@@ -270,7 +361,11 @@ module MailSlurpClient
|
|
270
361
|
hash = {}
|
271
362
|
self.class.attribute_map.each_pair do |attr, param|
|
272
363
|
value = self.send(attr)
|
273
|
-
|
364
|
+
if value.nil?
|
365
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
366
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
367
|
+
end
|
368
|
+
|
274
369
|
hash[param] = _to_hash(value)
|
275
370
|
end
|
276
371
|
hash
|