onesignal 1.0.0.beta1 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +31 -0
- data/LICENSE +24 -0
- data/README.md +75 -45
- data/RELEASE_INSTRUCTIONS.md +11 -0
- data/docs/DefaultApi.md +86 -86
- data/docs/InlineResponse200.md +1 -1
- data/docs/InlineResponse2001.md +1 -1
- data/docs/InlineResponse2002.md +1 -1
- data/docs/InlineResponse2005.md +4 -2
- data/docs/{InlineResponse2003.md → InlineResponse2007.md} +3 -3
- data/docs/InlineResponse2008.md +18 -0
- data/docs/InlineResponse4002.md +4 -2
- data/docs/InlineResponse4003.md +18 -0
- data/docs/InvalidIdentifierError.md +20 -0
- data/docs/Notification.md +12 -12
- data/docs/Notification200Errors.md +49 -0
- data/docs/NotificationAllOf.md +11 -11
- data/docs/NotificationSlice.md +1 -1
- data/docs/NotificationTarget.md +1 -1
- data/docs/NotificationWithMeta.md +260 -0
- data/docs/NotificationWithMetaAllOf.md +38 -0
- data/docs/OutcomesData.md +18 -0
- data/docs/Player.md +2 -2
- data/docs/PlayerNotificationTarget.md +1 -1
- data/docs/StringMap.md +1 -1
- data/lib/onesignal/api/default_api.rb +82 -55
- data/lib/onesignal/api_client.rb +9 -7
- data/lib/onesignal/api_error.rb +2 -2
- data/lib/onesignal/configuration.rb +6 -3
- data/lib/onesignal/models/app.rb +3 -2
- data/lib/onesignal/models/button.rb +3 -2
- data/lib/onesignal/models/delivery_data.rb +8 -2
- data/lib/onesignal/models/export_players_request_body.rb +3 -2
- data/lib/onesignal/models/filter.rb +3 -2
- data/lib/onesignal/models/filter_expressions.rb +3 -2
- data/lib/onesignal/models/filter_notification_target.rb +3 -2
- data/lib/onesignal/models/get_notification_request_body.rb +3 -2
- data/lib/onesignal/models/inline_response200.rb +4 -3
- data/lib/onesignal/models/inline_response2001.rb +4 -3
- data/lib/onesignal/models/inline_response2002.rb +4 -3
- data/lib/onesignal/models/inline_response2005.rb +19 -9
- data/lib/onesignal/models/{inline_response2003.rb → inline_response2007.rb} +7 -6
- data/lib/onesignal/models/{inline_response2004.rb → inline_response2008.rb} +13 -21
- data/lib/onesignal/models/inline_response201.rb +3 -2
- data/lib/onesignal/models/inline_response400.rb +3 -2
- data/lib/onesignal/models/inline_response4001.rb +3 -2
- data/lib/onesignal/models/inline_response4002.rb +20 -10
- data/lib/onesignal/models/{inline_response409.rb → inline_response4003.rb} +14 -22
- data/lib/onesignal/models/invalid_identifier_error.rb +234 -0
- data/lib/onesignal/models/notification.rb +39 -19
- data/lib/onesignal/models/notification200_errors.rb +105 -0
- data/lib/onesignal/models/notification_all_of.rb +38 -18
- data/lib/onesignal/models/notification_all_of_android_background_layout.rb +3 -2
- data/lib/onesignal/models/notification_slice.rb +4 -3
- data/lib/onesignal/models/notification_target.rb +4 -3
- data/lib/onesignal/models/notification_with_meta.rb +1526 -0
- data/lib/onesignal/models/notification_with_meta_all_of.rb +322 -0
- data/lib/onesignal/models/operator.rb +3 -2
- data/lib/onesignal/models/outcome_data.rb +3 -2
- data/lib/onesignal/models/outcomes_data.rb +221 -0
- data/lib/onesignal/models/platform_delivery_data.rb +3 -2
- data/lib/onesignal/models/player.rb +6 -8
- data/lib/onesignal/models/player_notification_target.rb +4 -3
- data/lib/onesignal/models/player_slice.rb +3 -2
- data/lib/onesignal/models/purchase.rb +3 -2
- data/lib/onesignal/models/segment.rb +3 -2
- data/lib/onesignal/models/segment_notification_target.rb +3 -2
- data/lib/onesignal/models/string_map.rb +3 -7
- data/lib/onesignal/models/update_player_tags_request_body.rb +3 -2
- data/lib/onesignal/version.rb +3 -3
- data/lib/{OneSignal.rb → onesignal.rb} +10 -5
- data/onesignal.gemspec +5 -4
- data/spec/api/default_api_spec.rb +20 -20
- data/spec/api_client_spec.rb +4 -4
- data/spec/configuration_spec.rb +2 -2
- data/spec/models/app_spec.rb +2 -2
- data/spec/models/button_spec.rb +2 -2
- data/spec/models/delivery_data_spec.rb +2 -2
- data/spec/models/export_players_request_body_spec.rb +2 -2
- data/spec/models/filter_expressions_spec.rb +2 -2
- data/spec/models/filter_notification_target_spec.rb +2 -2
- data/spec/models/filter_spec.rb +2 -2
- data/spec/models/get_notification_request_body_spec.rb +2 -2
- data/spec/models/inline_response2001_spec.rb +2 -2
- data/spec/models/inline_response2002_spec.rb +2 -2
- data/spec/models/inline_response2005_spec.rb +9 -3
- data/spec/models/{inline_response2003_spec.rb → inline_response2007_spec.rb} +8 -8
- data/spec/models/{inline_response409_spec.rb → inline_response2008_spec.rb} +9 -15
- data/spec/models/inline_response200_spec.rb +2 -2
- data/spec/models/inline_response201_spec.rb +2 -2
- data/spec/models/inline_response4001_spec.rb +2 -2
- data/spec/models/inline_response4002_spec.rb +9 -3
- data/spec/models/inline_response4003_spec.rb +34 -0
- data/spec/models/inline_response400_spec.rb +2 -2
- data/spec/models/{inline_response2004_spec.rb → invalid_identifier_error_spec.rb} +10 -10
- data/spec/models/notification200_errors_spec.rb +31 -0
- data/spec/models/notification_all_of_android_background_layout_spec.rb +2 -2
- data/spec/models/notification_all_of_spec.rb +3 -3
- data/spec/models/notification_slice_spec.rb +2 -2
- data/spec/models/notification_spec.rb +3 -3
- data/spec/models/notification_target_spec.rb +2 -2
- data/spec/models/notification_with_meta_all_of_spec.rb +94 -0
- data/spec/models/notification_with_meta_spec.rb +764 -0
- data/spec/models/operator_spec.rb +2 -2
- data/spec/models/outcome_data_spec.rb +2 -2
- data/spec/models/outcomes_data_spec.rb +34 -0
- data/spec/models/platform_delivery_data_spec.rb +2 -2
- data/spec/models/player_notification_target_spec.rb +2 -2
- data/spec/models/player_slice_spec.rb +2 -2
- data/spec/models/player_spec.rb +2 -2
- data/spec/models/purchase_spec.rb +2 -2
- data/spec/models/segment_notification_target_spec.rb +2 -2
- data/spec/models/segment_spec.rb +2 -2
- data/spec/models/string_map_spec.rb +2 -2
- data/spec/models/update_player_tags_request_body_spec.rb +2 -2
- data/spec/spec_helper.rb +2 -2
- metadata +51 -29
- data/docs/InlineResponse2004.md +0 -20
- data/docs/InlineResponse409.md +0 -20
- data/git_push.sh +0 -58
@@ -3,10 +3,10 @@
|
|
3
3
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.0.
|
6
|
+
The version of the OpenAPI document: 1.0.1
|
7
7
|
Contact: devrel@onesignal.com
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version:
|
9
|
+
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -14,16 +14,13 @@ require 'date'
|
|
14
14
|
require 'time'
|
15
15
|
|
16
16
|
module OneSignal
|
17
|
-
class
|
18
|
-
attr_accessor :
|
19
|
-
|
20
|
-
attr_accessor :errors
|
17
|
+
class InlineResponse4003
|
18
|
+
attr_accessor :erorrs
|
21
19
|
|
22
20
|
# Attribute mapping from ruby-style variable name to JSON key.
|
23
21
|
def self.attribute_map
|
24
22
|
{
|
25
|
-
:'
|
26
|
-
:'errors' => :'errors'
|
23
|
+
:'erorrs' => :'erorrs'
|
27
24
|
}
|
28
25
|
end
|
29
26
|
|
@@ -35,8 +32,7 @@ module OneSignal
|
|
35
32
|
# Attribute type mapping.
|
36
33
|
def self.openapi_types
|
37
34
|
{
|
38
|
-
:'
|
39
|
-
:'errors' => :'Array<String>'
|
35
|
+
:'erorrs' => :'Array<String>'
|
40
36
|
}
|
41
37
|
end
|
42
38
|
|
@@ -50,24 +46,20 @@ module OneSignal
|
|
50
46
|
# @param [Hash] attributes Model attributes in the form of hash
|
51
47
|
def initialize(attributes = {})
|
52
48
|
if (!attributes.is_a?(Hash))
|
53
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `OneSignal::
|
49
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `OneSignal::InlineResponse4003` initialize method"
|
54
50
|
end
|
55
51
|
|
56
52
|
# check to see if the attribute exists and convert string to symbol for hash key
|
57
53
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
58
54
|
if (!self.class.attribute_map.key?(k.to_sym))
|
59
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `OneSignal::
|
55
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `OneSignal::InlineResponse4003`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
60
56
|
end
|
61
57
|
h[k.to_sym] = v
|
62
58
|
}
|
63
59
|
|
64
|
-
if attributes.key?(:'
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
if attributes.key?(:'errors')
|
69
|
-
if (value = attributes[:'errors']).is_a?(Array)
|
70
|
-
self.errors = value
|
60
|
+
if attributes.key?(:'erorrs')
|
61
|
+
if (value = attributes[:'erorrs']).is_a?(Array)
|
62
|
+
self.erorrs = value
|
71
63
|
end
|
72
64
|
end
|
73
65
|
end
|
@@ -90,8 +82,7 @@ module OneSignal
|
|
90
82
|
def ==(o)
|
91
83
|
return true if self.equal?(o)
|
92
84
|
self.class == o.class &&
|
93
|
-
|
94
|
-
errors == o.errors
|
85
|
+
erorrs == o.erorrs
|
95
86
|
end
|
96
87
|
|
97
88
|
# @see the `==` method
|
@@ -103,7 +94,7 @@ module OneSignal
|
|
103
94
|
# Calculates hash code according to all attributes.
|
104
95
|
# @return [Integer] Hash code
|
105
96
|
def hash
|
106
|
-
[
|
97
|
+
[erorrs].hash
|
107
98
|
end
|
108
99
|
|
109
100
|
# Builds the object from hash
|
@@ -118,6 +109,7 @@ module OneSignal
|
|
118
109
|
# @return [Object] Returns the model itself
|
119
110
|
def build_from_hash(attributes)
|
120
111
|
return nil unless attributes.is_a?(Hash)
|
112
|
+
attributes = attributes.transform_keys(&:to_sym)
|
121
113
|
self.class.openapi_types.each_pair do |key, type|
|
122
114
|
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
123
115
|
self.send("#{key}=", nil)
|
@@ -0,0 +1,234 @@
|
|
1
|
+
=begin
|
2
|
+
#OneSignal
|
3
|
+
|
4
|
+
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0.1
|
7
|
+
Contact: devrel@onesignal.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
require 'time'
|
15
|
+
|
16
|
+
module OneSignal
|
17
|
+
class InvalidIdentifierError
|
18
|
+
# Returned if using include_external_user_ids
|
19
|
+
attr_accessor :invalid_external_user_ids
|
20
|
+
|
21
|
+
# Returned if using include_player_ids and some were valid and others were not.
|
22
|
+
attr_accessor :invalid_player_ids
|
23
|
+
|
24
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
25
|
+
def self.attribute_map
|
26
|
+
{
|
27
|
+
:'invalid_external_user_ids' => :'invalid_external_user_ids',
|
28
|
+
:'invalid_player_ids' => :'invalid_player_ids'
|
29
|
+
}
|
30
|
+
end
|
31
|
+
|
32
|
+
# Returns all the JSON keys this model knows about
|
33
|
+
def self.acceptable_attributes
|
34
|
+
attribute_map.values
|
35
|
+
end
|
36
|
+
|
37
|
+
# Attribute type mapping.
|
38
|
+
def self.openapi_types
|
39
|
+
{
|
40
|
+
:'invalid_external_user_ids' => :'Array<String>',
|
41
|
+
:'invalid_player_ids' => :'Array<String>'
|
42
|
+
}
|
43
|
+
end
|
44
|
+
|
45
|
+
# List of attributes with nullable: true
|
46
|
+
def self.openapi_nullable
|
47
|
+
Set.new([
|
48
|
+
])
|
49
|
+
end
|
50
|
+
|
51
|
+
# Initializes the object
|
52
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
53
|
+
def initialize(attributes = {})
|
54
|
+
if (!attributes.is_a?(Hash))
|
55
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `OneSignal::InvalidIdentifierError` initialize method"
|
56
|
+
end
|
57
|
+
|
58
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
59
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
60
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
61
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `OneSignal::InvalidIdentifierError`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
62
|
+
end
|
63
|
+
h[k.to_sym] = v
|
64
|
+
}
|
65
|
+
|
66
|
+
if attributes.key?(:'invalid_external_user_ids')
|
67
|
+
if (value = attributes[:'invalid_external_user_ids']).is_a?(Array)
|
68
|
+
self.invalid_external_user_ids = value
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
if attributes.key?(:'invalid_player_ids')
|
73
|
+
if (value = attributes[:'invalid_player_ids']).is_a?(Array)
|
74
|
+
self.invalid_player_ids = value
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
80
|
+
# @return Array for valid properties with the reasons
|
81
|
+
def list_invalid_properties
|
82
|
+
invalid_properties = Array.new
|
83
|
+
invalid_properties
|
84
|
+
end
|
85
|
+
|
86
|
+
# Check to see if the all the properties in the model are valid
|
87
|
+
# @return true if the model is valid
|
88
|
+
def valid?
|
89
|
+
true
|
90
|
+
end
|
91
|
+
|
92
|
+
# Checks equality by comparing each attribute.
|
93
|
+
# @param [Object] Object to be compared
|
94
|
+
def ==(o)
|
95
|
+
return true if self.equal?(o)
|
96
|
+
self.class == o.class &&
|
97
|
+
invalid_external_user_ids == o.invalid_external_user_ids &&
|
98
|
+
invalid_player_ids == o.invalid_player_ids
|
99
|
+
end
|
100
|
+
|
101
|
+
# @see the `==` method
|
102
|
+
# @param [Object] Object to be compared
|
103
|
+
def eql?(o)
|
104
|
+
self == o
|
105
|
+
end
|
106
|
+
|
107
|
+
# Calculates hash code according to all attributes.
|
108
|
+
# @return [Integer] Hash code
|
109
|
+
def hash
|
110
|
+
[invalid_external_user_ids, invalid_player_ids].hash
|
111
|
+
end
|
112
|
+
|
113
|
+
# Builds the object from hash
|
114
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
115
|
+
# @return [Object] Returns the model itself
|
116
|
+
def self.build_from_hash(attributes)
|
117
|
+
new.build_from_hash(attributes)
|
118
|
+
end
|
119
|
+
|
120
|
+
# Builds the object from hash
|
121
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
122
|
+
# @return [Object] Returns the model itself
|
123
|
+
def build_from_hash(attributes)
|
124
|
+
return nil unless attributes.is_a?(Hash)
|
125
|
+
attributes = attributes.transform_keys(&:to_sym)
|
126
|
+
self.class.openapi_types.each_pair do |key, type|
|
127
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
128
|
+
self.send("#{key}=", nil)
|
129
|
+
elsif type =~ /\AArray<(.*)>/i
|
130
|
+
# check to ensure the input is an array given that the attribute
|
131
|
+
# is documented as an array but the input is not
|
132
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
133
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
134
|
+
end
|
135
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
136
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
self
|
141
|
+
end
|
142
|
+
|
143
|
+
# Deserializes the data based on type
|
144
|
+
# @param string type Data type
|
145
|
+
# @param string value Value to be deserialized
|
146
|
+
# @return [Object] Deserialized data
|
147
|
+
def _deserialize(type, value)
|
148
|
+
case type.to_sym
|
149
|
+
when :Time
|
150
|
+
Time.parse(value)
|
151
|
+
when :Date
|
152
|
+
Date.parse(value)
|
153
|
+
when :String
|
154
|
+
value.to_s
|
155
|
+
when :Integer
|
156
|
+
value.to_i
|
157
|
+
when :Float
|
158
|
+
value.to_f
|
159
|
+
when :Boolean
|
160
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
161
|
+
true
|
162
|
+
else
|
163
|
+
false
|
164
|
+
end
|
165
|
+
when :Object
|
166
|
+
# generic object (usually a Hash), return directly
|
167
|
+
value
|
168
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
169
|
+
inner_type = Regexp.last_match[:inner_type]
|
170
|
+
value.map { |v| _deserialize(inner_type, v) }
|
171
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
172
|
+
k_type = Regexp.last_match[:k_type]
|
173
|
+
v_type = Regexp.last_match[:v_type]
|
174
|
+
{}.tap do |hash|
|
175
|
+
value.each do |k, v|
|
176
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
177
|
+
end
|
178
|
+
end
|
179
|
+
else # model
|
180
|
+
# models (e.g. Pet) or oneOf
|
181
|
+
klass = OneSignal.const_get(type)
|
182
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
# Returns the string representation of the object
|
187
|
+
# @return [String] String presentation of the object
|
188
|
+
def to_s
|
189
|
+
to_hash.to_s
|
190
|
+
end
|
191
|
+
|
192
|
+
# to_body is an alias to to_hash (backward compatibility)
|
193
|
+
# @return [Hash] Returns the object in the form of hash
|
194
|
+
def to_body
|
195
|
+
to_hash
|
196
|
+
end
|
197
|
+
|
198
|
+
# Returns the object in the form of hash
|
199
|
+
# @return [Hash] Returns the object in the form of hash
|
200
|
+
def to_hash
|
201
|
+
hash = {}
|
202
|
+
self.class.attribute_map.each_pair do |attr, param|
|
203
|
+
value = self.send(attr)
|
204
|
+
if value.nil?
|
205
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
206
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
207
|
+
end
|
208
|
+
|
209
|
+
hash[param] = _to_hash(value)
|
210
|
+
end
|
211
|
+
hash
|
212
|
+
end
|
213
|
+
|
214
|
+
# Outputs non-array value in the form of hash
|
215
|
+
# For object, use to_hash. Otherwise, just return the value
|
216
|
+
# @param [Object] value Any valid value
|
217
|
+
# @return [Hash] Returns the value in the form of hash
|
218
|
+
def _to_hash(value)
|
219
|
+
if value.is_a?(Array)
|
220
|
+
value.compact.map { |v| _to_hash(v) }
|
221
|
+
elsif value.is_a?(Hash)
|
222
|
+
{}.tap do |hash|
|
223
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
224
|
+
end
|
225
|
+
elsif value.respond_to? :to_hash
|
226
|
+
value.to_hash
|
227
|
+
else
|
228
|
+
value
|
229
|
+
end
|
230
|
+
end
|
231
|
+
|
232
|
+
end
|
233
|
+
|
234
|
+
end
|
@@ -3,10 +3,10 @@
|
|
3
3
|
|
4
4
|
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.0.
|
6
|
+
The version of the OpenAPI document: 1.0.1
|
7
7
|
Contact: devrel@onesignal.com
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version:
|
9
|
+
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -60,7 +60,7 @@ module OneSignal
|
|
60
60
|
# Specific playerids to send your notification to. _Does not require API Auth Key. Do not combine with other targeting parameters. Not compatible with any other targeting parameters. Example: [\"1dd608f2-c6a1-11e3-851d-000c2940e62c\"] Limit of 2,000 entries per REST API call
|
61
61
|
attr_accessor :include_player_ids
|
62
62
|
|
63
|
-
# Target specific devices by custom user IDs assigned via API. Not compatible with any other targeting parameters Example: [
|
63
|
+
# Target specific devices by custom user IDs assigned via API. Not compatible with any other targeting parameters Example: [\"custom-id-assigned-by-api\"] REQUIRED: REST API Key Authentication Limit of 2,000 entries per REST API call. Note: If targeting push, email, or sms subscribers with same ids, use with channel_for_external_user_ids to indicate you are sending a push or email or sms.
|
64
64
|
attr_accessor :include_external_user_ids
|
65
65
|
|
66
66
|
# Recommended for Sending Emails - Target specific email addresses. If an email does not correspond to an existing user, a new user will be created. Example: nick@catfac.ts Limit of 2,000 entries per REST API call
|
@@ -239,34 +239,34 @@ module OneSignal
|
|
239
239
|
# Channel: Push Notifications Platform: iOS Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable vibration and sound for the notification. Example: \"notification.wav\"
|
240
240
|
attr_accessor :ios_sound
|
241
241
|
|
242
|
-
# Channel: Push Notifications Platform: Android
|
242
|
+
# Channel: Push Notifications Platform: Android ⚠️Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable sound for the notification. NOTE: Leave off file extension for Android. Example: \"notification\"
|
243
243
|
attr_accessor :android_sound
|
244
244
|
|
245
|
-
# Channel: Push Notifications Platform: Huawei
|
245
|
+
# Channel: Push Notifications Platform: Huawei ⚠️Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. Sound file that is included in your app to play instead of the default device notification sound. NOTE: Leave off file extension for and include the full path. Example: \"/res/raw/notification\"
|
246
246
|
attr_accessor :huawei_sound
|
247
247
|
|
248
|
-
# Channel: Push Notifications Platform: Amazon
|
248
|
+
# Channel: Push Notifications Platform: Amazon ⚠️Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sound file that is included in your app to play instead of the default device notification sound. Pass nil to disable sound for the notification. NOTE: Leave off file extension for Android. Example: \"notification\"
|
249
249
|
attr_accessor :adm_sound
|
250
250
|
|
251
251
|
# Channel: Push Notifications Platform: Windows Sound file that is included in your app to play instead of the default device notification sound. Example: \"notification.wav\"
|
252
252
|
attr_accessor :wp_wns_sound
|
253
253
|
|
254
|
-
# Channel: Push Notifications Platform: Android
|
254
|
+
# Channel: Push Notifications Platform: Android ⚠️Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. Sets the devices LED notification light if the device has one. ARGB Hex format. Example(Blue): \"FF0000FF\"
|
255
255
|
attr_accessor :android_led_color
|
256
256
|
|
257
|
-
# Channel: Push Notifications Platform: Huawei
|
257
|
+
# Channel: Push Notifications Platform: Huawei ⚠️Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. Sets the devices LED notification light if the device has one. RGB Hex format. Example(Blue): \"0000FF\"
|
258
258
|
attr_accessor :huawei_led_color
|
259
259
|
|
260
260
|
# Channel: Push Notifications Platform: Android Sets the background color of the notification circle to the left of the notification text. Only applies to apps targeting Android API level 21+ on Android 5.0+ devices. Example(Red): \"FFFF0000\"
|
261
261
|
attr_accessor :android_accent_color
|
262
262
|
|
263
|
-
# Channel: Push Notifications Platform: Huawei Accent Color used on Action Buttons and Group overflow count. Uses RGB Hex value (E.g. #9900FF). Defaults to device
|
263
|
+
# Channel: Push Notifications Platform: Huawei Accent Color used on Action Buttons and Group overflow count. Uses RGB Hex value (E.g. #9900FF). Defaults to device's theme color if not set.
|
264
264
|
attr_accessor :huawei_accent_color
|
265
265
|
|
266
|
-
# Channel: Push Notifications Platform: Android 5.0_
|
266
|
+
# Channel: Push Notifications Platform: Android 5.0_ ⚠️Deprecated, this field doesn't work on Android 8 (Oreo) and newer devices! Please use Notification Categories / Channels noted above instead to support ALL versions of Android. 1 = Public (default) (Shows the full message on the lock screen unless the user has disabled all notifications from showing on the lock screen. Please consider the user and mark private if the contents are.) 0 = Private (Hides message contents on lock screen if the user set \"Hide sensitive notification content\" in the system settings) -1 = Secret (Notification does not show on the lock screen at all)
|
267
267
|
attr_accessor :android_visibility
|
268
268
|
|
269
|
-
# Channel: Push Notifications Platform: Huawei
|
269
|
+
# Channel: Push Notifications Platform: Huawei ⚠️Deprecated, this field ONLY works on EMUI 5 (Android 7 based) and older devices. Please also set Notification Categories / Channels noted above to support EMUI 8 (Android 8 based) devices. 1 = Public (default) (Shows the full message on the lock screen unless the user has disabled all notifications from showing on the lock screen. Please consider the user and mark private if the contents are.) 0 = Private (Hides message contents on lock screen if the user set \"Hide sensitive notification content\" in the system settings) -1 = Secret (Notification does not show on the lock screen at all)
|
270
270
|
attr_accessor :huawei_visibility
|
271
271
|
|
272
272
|
# Channel: Push Notifications Platform: iOS Describes whether to set or increase/decrease your app's iOS badge count by the ios_badgeCount specified count. Can specify None, SetTo, or Increase. `None` leaves the count unaffected. `SetTo` directly sets the badge count to the number specified in ios_badgeCount. `Increase` adds the number specified in ios_badgeCount to the total. Use a negative number to decrease the badge count.
|
@@ -327,7 +327,7 @@ module OneSignal
|
|
327
327
|
attr_accessor :summary_arg_count
|
328
328
|
|
329
329
|
# Channel: Email Required. The subject of the email.
|
330
|
-
attr_accessor :
|
330
|
+
attr_accessor :email_subject
|
331
331
|
|
332
332
|
# Channel: Email Required unless template_id is set. HTML suported The body of the email you wish to send. Typically, customers include their own HTML templates here. Must include [unsubscribe_url] in an <a> tag somewhere in the email. Note: any malformed HTML content will be sent to users. Please double-check your HTML is valid.
|
333
333
|
attr_accessor :email_body
|
@@ -475,7 +475,7 @@ module OneSignal
|
|
475
475
|
:'thread_id' => :'thread_id',
|
476
476
|
:'summary_arg' => :'summary_arg',
|
477
477
|
:'summary_arg_count' => :'summary_arg_count',
|
478
|
-
:'
|
478
|
+
:'email_subject' => :'email_subject',
|
479
479
|
:'email_body' => :'email_body',
|
480
480
|
:'email_from_name' => :'email_from_name',
|
481
481
|
:'email_from_address' => :'email_from_address',
|
@@ -584,7 +584,7 @@ module OneSignal
|
|
584
584
|
:'collapse_id' => :'String',
|
585
585
|
:'web_push_topic' => :'String',
|
586
586
|
:'apns_alert' => :'Object',
|
587
|
-
:'send_after' => :'
|
587
|
+
:'send_after' => :'Time',
|
588
588
|
:'delayed_option' => :'String',
|
589
589
|
:'delivery_time_of_day' => :'String',
|
590
590
|
:'ttl' => :'Integer',
|
@@ -598,7 +598,7 @@ module OneSignal
|
|
598
598
|
:'thread_id' => :'String',
|
599
599
|
:'summary_arg' => :'String',
|
600
600
|
:'summary_arg_count' => :'Integer',
|
601
|
-
:'
|
601
|
+
:'email_subject' => :'String',
|
602
602
|
:'email_body' => :'String',
|
603
603
|
:'email_from_name' => :'String',
|
604
604
|
:'email_from_address' => :'String',
|
@@ -610,6 +610,25 @@ module OneSignal
|
|
610
610
|
# List of attributes with nullable: true
|
611
611
|
def self.openapi_nullable
|
612
612
|
Set.new([
|
613
|
+
:'is_ios',
|
614
|
+
:'is_android',
|
615
|
+
:'is_huawei',
|
616
|
+
:'is_any_web',
|
617
|
+
:'is_chrome_web',
|
618
|
+
:'is_firefox',
|
619
|
+
:'is_safari',
|
620
|
+
:'is_wp_wns',
|
621
|
+
:'is_adm',
|
622
|
+
:'is_chrome',
|
623
|
+
:'contents',
|
624
|
+
:'headings',
|
625
|
+
:'subtitle',
|
626
|
+
:'content_available',
|
627
|
+
:'android_visibility',
|
628
|
+
:'huawei_visibility',
|
629
|
+
:'ios_badge_count',
|
630
|
+
:'ttl',
|
631
|
+
:'priority',
|
613
632
|
])
|
614
633
|
end
|
615
634
|
|
@@ -1090,8 +1109,8 @@ module OneSignal
|
|
1090
1109
|
self.summary_arg_count = attributes[:'summary_arg_count']
|
1091
1110
|
end
|
1092
1111
|
|
1093
|
-
if attributes.key?(:'
|
1094
|
-
self.
|
1112
|
+
if attributes.key?(:'email_subject')
|
1113
|
+
self.email_subject = attributes[:'email_subject']
|
1095
1114
|
end
|
1096
1115
|
|
1097
1116
|
if attributes.key?(:'email_body')
|
@@ -1258,7 +1277,7 @@ module OneSignal
|
|
1258
1277
|
thread_id == o.thread_id &&
|
1259
1278
|
summary_arg == o.summary_arg &&
|
1260
1279
|
summary_arg_count == o.summary_arg_count &&
|
1261
|
-
|
1280
|
+
email_subject == o.email_subject &&
|
1262
1281
|
email_body == o.email_body &&
|
1263
1282
|
email_from_name == o.email_from_name &&
|
1264
1283
|
email_from_address == o.email_from_address &&
|
@@ -1275,7 +1294,7 @@ module OneSignal
|
|
1275
1294
|
# Calculates hash code according to all attributes.
|
1276
1295
|
# @return [Integer] Hash code
|
1277
1296
|
def hash
|
1278
|
-
[included_segments, excluded_segments, last_session, first_session, session_count, session_time, amount_spent, bought_sku, tag, language, app_version, location, email, country, include_player_ids, include_external_user_ids, include_email_tokens, include_phone_numbers, include_ios_tokens, include_wp_wns_uris, include_amazon_reg_ids, include_chrome_reg_ids, include_chrome_web_reg_ids, include_android_reg_ids, id, value, aggregation, is_ios, is_android, is_huawei, is_any_web, is_chrome_web, is_firefox, is_safari, is_wp_wns, is_adm, is_chrome, channel_for_external_user_ids, app_id, external_id, contents, headings, subtitle, data, huawei_msg_type, url, web_url, app_url, ios_attachments, template_id, content_available, mutable_content, target_content_identifier, big_picture, huawei_big_picture, adm_big_picture, chrome_big_picture, chrome_web_image, buttons, web_buttons, ios_category, android_channel_id, huawei_channel_id, existing_android_channel_id, huawei_existing_channel_id, android_background_layout, small_icon, huawei_small_icon, large_icon, huawei_large_icon, adm_small_icon, adm_large_icon, chrome_web_icon, chrome_web_badge, firefox_icon, chrome_icon, ios_sound, android_sound, huawei_sound, adm_sound, wp_wns_sound, android_led_color, huawei_led_color, android_accent_color, huawei_accent_color, android_visibility, huawei_visibility, ios_badge_type, ios_badge_count, collapse_id, web_push_topic, apns_alert, send_after, delayed_option, delivery_time_of_day, ttl, priority, apns_push_type_override, throttle_rate_per_minute, android_group, android_group_message, adm_group, adm_group_message, thread_id, summary_arg, summary_arg_count,
|
1297
|
+
[included_segments, excluded_segments, last_session, first_session, session_count, session_time, amount_spent, bought_sku, tag, language, app_version, location, email, country, include_player_ids, include_external_user_ids, include_email_tokens, include_phone_numbers, include_ios_tokens, include_wp_wns_uris, include_amazon_reg_ids, include_chrome_reg_ids, include_chrome_web_reg_ids, include_android_reg_ids, id, value, aggregation, is_ios, is_android, is_huawei, is_any_web, is_chrome_web, is_firefox, is_safari, is_wp_wns, is_adm, is_chrome, channel_for_external_user_ids, app_id, external_id, contents, headings, subtitle, data, huawei_msg_type, url, web_url, app_url, ios_attachments, template_id, content_available, mutable_content, target_content_identifier, big_picture, huawei_big_picture, adm_big_picture, chrome_big_picture, chrome_web_image, buttons, web_buttons, ios_category, android_channel_id, huawei_channel_id, existing_android_channel_id, huawei_existing_channel_id, android_background_layout, small_icon, huawei_small_icon, large_icon, huawei_large_icon, adm_small_icon, adm_large_icon, chrome_web_icon, chrome_web_badge, firefox_icon, chrome_icon, ios_sound, android_sound, huawei_sound, adm_sound, wp_wns_sound, android_led_color, huawei_led_color, android_accent_color, huawei_accent_color, android_visibility, huawei_visibility, ios_badge_type, ios_badge_count, collapse_id, web_push_topic, apns_alert, send_after, delayed_option, delivery_time_of_day, ttl, priority, apns_push_type_override, throttle_rate_per_minute, android_group, android_group_message, adm_group, adm_group_message, thread_id, summary_arg, summary_arg_count, email_subject, email_body, email_from_name, email_from_address, sms_from, sms_media_urls].hash
|
1279
1298
|
end
|
1280
1299
|
|
1281
1300
|
# Builds the object from hash
|
@@ -1290,6 +1309,7 @@ module OneSignal
|
|
1290
1309
|
# @return [Object] Returns the model itself
|
1291
1310
|
def build_from_hash(attributes)
|
1292
1311
|
return nil unless attributes.is_a?(Hash)
|
1312
|
+
attributes = attributes.transform_keys(&:to_sym)
|
1293
1313
|
self.class.openapi_types.each_pair do |key, type|
|
1294
1314
|
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
1295
1315
|
self.send("#{key}=", nil)
|
@@ -0,0 +1,105 @@
|
|
1
|
+
=begin
|
2
|
+
#OneSignal
|
3
|
+
|
4
|
+
#A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0.1
|
7
|
+
Contact: devrel@onesignal.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 6.0.0-SNAPSHOT
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
require 'time'
|
15
|
+
|
16
|
+
module OneSignal
|
17
|
+
module Notification200Errors
|
18
|
+
class << self
|
19
|
+
# List of class defined in oneOf (OpenAPI v3)
|
20
|
+
def openapi_one_of
|
21
|
+
[
|
22
|
+
:'Array<String>',
|
23
|
+
:'InvalidIdentifierError'
|
24
|
+
]
|
25
|
+
end
|
26
|
+
|
27
|
+
# Builds the object
|
28
|
+
# @param [Mixed] Data to be matched against the list of oneOf items
|
29
|
+
# @return [Object] Returns the model or the data itself
|
30
|
+
def build(data)
|
31
|
+
# Go through the list of oneOf items and attempt to identify the appropriate one.
|
32
|
+
# Note:
|
33
|
+
# - We do not attempt to check whether exactly one item matches.
|
34
|
+
# - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
|
35
|
+
# due to the way the deserialization is made in the base_object template (it just casts without verifying).
|
36
|
+
# - TODO: scalar values are de facto behaving as if they were nullable.
|
37
|
+
# - TODO: logging when debugging is set.
|
38
|
+
openapi_one_of.each do |klass|
|
39
|
+
begin
|
40
|
+
next if klass == :AnyType # "nullable: true"
|
41
|
+
typed_data = find_and_cast_into_type(klass, data)
|
42
|
+
return typed_data if typed_data
|
43
|
+
rescue # rescue all errors so we keep iterating even if the current item lookup raises
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
openapi_one_of.include?(:AnyType) ? data : nil
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
SchemaMismatchError = Class.new(StandardError)
|
53
|
+
|
54
|
+
# Note: 'File' is missing here because in the regular case we get the data _after_ a call to JSON.parse.
|
55
|
+
def find_and_cast_into_type(klass, data)
|
56
|
+
return if data.nil?
|
57
|
+
|
58
|
+
case klass.to_s
|
59
|
+
when 'Boolean'
|
60
|
+
return data if data.instance_of?(TrueClass) || data.instance_of?(FalseClass)
|
61
|
+
when 'Float'
|
62
|
+
return data if data.instance_of?(Float)
|
63
|
+
when 'Integer'
|
64
|
+
return data if data.instance_of?(Integer)
|
65
|
+
when 'Time'
|
66
|
+
return Time.parse(data)
|
67
|
+
when 'Date'
|
68
|
+
return Date.parse(data)
|
69
|
+
when 'String'
|
70
|
+
return data if data.instance_of?(String)
|
71
|
+
when 'Object' # "type: object"
|
72
|
+
return data if data.instance_of?(Hash)
|
73
|
+
when /\AArray<(?<sub_type>.+)>\z/ # "type: array"
|
74
|
+
if data.instance_of?(Array)
|
75
|
+
sub_type = Regexp.last_match[:sub_type]
|
76
|
+
return data.map { |item| find_and_cast_into_type(sub_type, item) }
|
77
|
+
end
|
78
|
+
when /\AHash<String, (?<sub_type>.+)>\z/ # "type: object" with "additionalProperties: { ... }"
|
79
|
+
if data.instance_of?(Hash) && data.keys.all? { |k| k.instance_of?(Symbol) || k.instance_of?(String) }
|
80
|
+
sub_type = Regexp.last_match[:sub_type]
|
81
|
+
return data.each_with_object({}) { |(k, v), hsh| hsh[k] = find_and_cast_into_type(sub_type, v) }
|
82
|
+
end
|
83
|
+
else # model
|
84
|
+
const = OneSignal.const_get(klass)
|
85
|
+
if const
|
86
|
+
if const.respond_to?(:openapi_one_of) # nested oneOf model
|
87
|
+
model = const.build(data)
|
88
|
+
return model if model
|
89
|
+
else
|
90
|
+
# raise if data contains keys that are not known to the model
|
91
|
+
raise unless (data.keys - const.acceptable_attributes).empty?
|
92
|
+
model = const.build_from_hash(data)
|
93
|
+
return model if model && model.valid?
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
raise # if no match by now, raise
|
99
|
+
rescue
|
100
|
+
raise SchemaMismatchError, "#{data} doesn't match the #{klass} type"
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
end
|