notifo-io 1.0.0.1 → 1.0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -7
  3. data/docs/{AddAllowedTopicRequest.md → AddAllowedTopicDto.md} +2 -2
  4. data/docs/AppDetailsDto.md +2 -2
  5. data/docs/AppDto.md +1 -1
  6. data/docs/EventDto.md +5 -5
  7. data/docs/EventsApi.md +6 -6
  8. data/docs/MediaApi.md +2 -2
  9. data/docs/MediaDto.md +2 -2
  10. data/docs/NotificationFormattingDto.md +8 -8
  11. data/docs/NotificationSend.md +15 -0
  12. data/docs/NotificationSettingDto.md +1 -1
  13. data/docs/ProfileDto.md +32 -0
  14. data/docs/{PublishRequestDto.md → PublishDto.md} +5 -5
  15. data/docs/PublishManyDto.md +18 -0
  16. data/docs/SchedulingDto.md +2 -2
  17. data/docs/SubscriptionDto.md +1 -1
  18. data/docs/TemplateDto.md +2 -2
  19. data/docs/TopicDto.md +1 -1
  20. data/docs/TopicsApi.md +0 -192
  21. data/docs/UpdateProfileDto.md +28 -0
  22. data/docs/UpsertTemplateDto.md +2 -2
  23. data/docs/UpsertUserDto.md +1 -1
  24. data/docs/UserApi.md +323 -0
  25. data/docs/UserDto.md +2 -2
  26. data/docs/UsersApi.md +12 -12
  27. data/lib/notifo.rb +7 -4
  28. data/lib/notifo/api/events_api.rb +9 -9
  29. data/lib/notifo/api/media_api.rb +2 -2
  30. data/lib/notifo/api/topics_api.rb +0 -189
  31. data/lib/notifo/api/user_api.rb +331 -0
  32. data/lib/notifo/api/users_api.rb +18 -18
  33. data/lib/notifo/models/{add_allowed_topic_request.rb → add_allowed_topic_dto.rb} +3 -3
  34. data/lib/notifo/models/app_details_dto.rb +5 -4
  35. data/lib/notifo/models/app_dto.rb +4 -2
  36. data/lib/notifo/models/event_dto.rb +14 -11
  37. data/lib/notifo/models/media_dto.rb +5 -5
  38. data/lib/notifo/models/notification_formatting_dto.rb +29 -29
  39. data/lib/notifo/models/notification_send.rb +39 -0
  40. data/lib/notifo/models/notification_setting_dto.rb +1 -3
  41. data/lib/notifo/models/profile_dto.rb +295 -0
  42. data/lib/notifo/models/{publish_request_dto.rb → publish_dto.rb} +10 -11
  43. data/lib/notifo/models/{publish_many_request_dto.rb → publish_many_dto.rb} +4 -4
  44. data/lib/notifo/models/scheduling_dto.rb +2 -5
  45. data/lib/notifo/models/subscription_dto.rb +5 -2
  46. data/lib/notifo/models/template_dto.rb +5 -4
  47. data/lib/notifo/models/topic_dto.rb +4 -2
  48. data/lib/notifo/models/{subscribe_dto.rb → update_profile_dto.rb} +65 -17
  49. data/lib/notifo/models/upsert_template_dto.rb +5 -4
  50. data/lib/notifo/models/upsert_user_dto.rb +4 -2
  51. data/lib/notifo/models/user_dto.rb +8 -4
  52. data/notifo-1.0.0.gem +0 -0
  53. data/notifo-io-1.0.0.gem +0 -0
  54. data/notifo.gemspec +5 -5
  55. data/spec/api/events_api_spec.rb +1 -1
  56. data/spec/api/media_api_spec.rb +1 -1
  57. data/spec/api/topics_api_spec.rb +0 -36
  58. data/spec/api/user_api_spec.rb +92 -0
  59. data/spec/api/users_api_spec.rb +2 -2
  60. data/spec/models/{add_allowed_topic_request_spec.rb → add_allowed_topic_dto_spec.rb} +6 -6
  61. data/spec/models/notification_send_spec.rb +28 -0
  62. data/spec/models/profile_dto_spec.rb +76 -0
  63. data/spec/models/{publish_request_dto_spec.rb → publish_dto_spec.rb} +6 -6
  64. data/spec/models/{publish_many_request_dto_spec.rb → publish_many_dto_spec.rb} +6 -6
  65. data/spec/models/update_profile_dto_spec.rb +64 -0
  66. metadata +35 -25
  67. data/docs/PublishManyRequestDto.md +0 -18
  68. data/docs/SubscribeDto.md +0 -20
  69. data/notifo-io-1.0.0.pre.beta.gem +0 -0
  70. data/notifo-io-1.0.0.pre.gem +0 -0
  71. data/spec/models/subscribe_dto_spec.rb +0 -40
@@ -0,0 +1,295 @@
1
+ =begin
2
+ #Notifo API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.0.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Notifo
17
+ class ProfileDto
18
+ # The full name of the user.
19
+ attr_accessor :full_name
20
+
21
+ # The email of the user.
22
+ attr_accessor :email_address
23
+
24
+ # The phone number.
25
+ attr_accessor :phone_number
26
+
27
+ # The preferred language of the user.
28
+ attr_accessor :preferred_language
29
+
30
+ # The timezone of the user.
31
+ attr_accessor :preferred_timezone
32
+
33
+ # The supported languages.
34
+ attr_accessor :supported_languages
35
+
36
+ # The supported timezones.
37
+ attr_accessor :supported_timezones
38
+
39
+ # Notification settings per channel.
40
+ attr_accessor :settings
41
+
42
+ # Attribute mapping from ruby-style variable name to JSON key.
43
+ def self.attribute_map
44
+ {
45
+ :'full_name' => :'fullName',
46
+ :'email_address' => :'emailAddress',
47
+ :'phone_number' => :'phoneNumber',
48
+ :'preferred_language' => :'preferredLanguage',
49
+ :'preferred_timezone' => :'preferredTimezone',
50
+ :'supported_languages' => :'supportedLanguages',
51
+ :'supported_timezones' => :'supportedTimezones',
52
+ :'settings' => :'settings'
53
+ }
54
+ end
55
+
56
+ # Returns all the JSON keys this model knows about
57
+ def self.acceptable_attributes
58
+ attribute_map.values
59
+ end
60
+
61
+ # Attribute type mapping.
62
+ def self.openapi_types
63
+ {
64
+ :'full_name' => :'String',
65
+ :'email_address' => :'String',
66
+ :'phone_number' => :'String',
67
+ :'preferred_language' => :'String',
68
+ :'preferred_timezone' => :'String',
69
+ :'supported_languages' => :'Array<String>',
70
+ :'supported_timezones' => :'Array<String>',
71
+ :'settings' => :'Hash<String, NotificationSettingDto>'
72
+ }
73
+ end
74
+
75
+ # List of attributes with nullable: true
76
+ def self.openapi_nullable
77
+ Set.new([
78
+ ])
79
+ end
80
+
81
+ # Initializes the object
82
+ # @param [Hash] attributes Model attributes in the form of hash
83
+ def initialize(attributes = {})
84
+ if (!attributes.is_a?(Hash))
85
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Notifo::ProfileDto` initialize method"
86
+ end
87
+
88
+ # check to see if the attribute exists and convert string to symbol for hash key
89
+ attributes = attributes.each_with_object({}) { |(k, v), h|
90
+ if (!self.class.attribute_map.key?(k.to_sym))
91
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Notifo::ProfileDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
92
+ end
93
+ h[k.to_sym] = v
94
+ }
95
+
96
+ if attributes.key?(:'full_name')
97
+ self.full_name = attributes[:'full_name']
98
+ end
99
+
100
+ if attributes.key?(:'email_address')
101
+ self.email_address = attributes[:'email_address']
102
+ end
103
+
104
+ if attributes.key?(:'phone_number')
105
+ self.phone_number = attributes[:'phone_number']
106
+ end
107
+
108
+ if attributes.key?(:'preferred_language')
109
+ self.preferred_language = attributes[:'preferred_language']
110
+ end
111
+
112
+ if attributes.key?(:'preferred_timezone')
113
+ self.preferred_timezone = attributes[:'preferred_timezone']
114
+ end
115
+
116
+ if attributes.key?(:'supported_languages')
117
+ if (value = attributes[:'supported_languages']).is_a?(Array)
118
+ self.supported_languages = value
119
+ end
120
+ end
121
+
122
+ if attributes.key?(:'supported_timezones')
123
+ if (value = attributes[:'supported_timezones']).is_a?(Array)
124
+ self.supported_timezones = value
125
+ end
126
+ end
127
+
128
+ if attributes.key?(:'settings')
129
+ if (value = attributes[:'settings']).is_a?(Hash)
130
+ self.settings = value
131
+ end
132
+ end
133
+ end
134
+
135
+ # Show invalid properties with the reasons. Usually used together with valid?
136
+ # @return Array for valid properties with the reasons
137
+ def list_invalid_properties
138
+ invalid_properties = Array.new
139
+ invalid_properties
140
+ end
141
+
142
+ # Check to see if the all the properties in the model are valid
143
+ # @return true if the model is valid
144
+ def valid?
145
+ true
146
+ end
147
+
148
+ # Checks equality by comparing each attribute.
149
+ # @param [Object] Object to be compared
150
+ def ==(o)
151
+ return true if self.equal?(o)
152
+ self.class == o.class &&
153
+ full_name == o.full_name &&
154
+ email_address == o.email_address &&
155
+ phone_number == o.phone_number &&
156
+ preferred_language == o.preferred_language &&
157
+ preferred_timezone == o.preferred_timezone &&
158
+ supported_languages == o.supported_languages &&
159
+ supported_timezones == o.supported_timezones &&
160
+ settings == o.settings
161
+ end
162
+
163
+ # @see the `==` method
164
+ # @param [Object] Object to be compared
165
+ def eql?(o)
166
+ self == o
167
+ end
168
+
169
+ # Calculates hash code according to all attributes.
170
+ # @return [Integer] Hash code
171
+ def hash
172
+ [full_name, email_address, phone_number, preferred_language, preferred_timezone, supported_languages, supported_timezones, settings].hash
173
+ end
174
+
175
+ # Builds the object from hash
176
+ # @param [Hash] attributes Model attributes in the form of hash
177
+ # @return [Object] Returns the model itself
178
+ def self.build_from_hash(attributes)
179
+ new.build_from_hash(attributes)
180
+ end
181
+
182
+ # Builds the object from hash
183
+ # @param [Hash] attributes Model attributes in the form of hash
184
+ # @return [Object] Returns the model itself
185
+ def build_from_hash(attributes)
186
+ return nil unless attributes.is_a?(Hash)
187
+ self.class.openapi_types.each_pair do |key, type|
188
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
189
+ self.send("#{key}=", nil)
190
+ elsif type =~ /\AArray<(.*)>/i
191
+ # check to ensure the input is an array given that the attribute
192
+ # is documented as an array but the input is not
193
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
194
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
195
+ end
196
+ elsif !attributes[self.class.attribute_map[key]].nil?
197
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
198
+ end
199
+ end
200
+
201
+ self
202
+ end
203
+
204
+ # Deserializes the data based on type
205
+ # @param string type Data type
206
+ # @param string value Value to be deserialized
207
+ # @return [Object] Deserialized data
208
+ def _deserialize(type, value)
209
+ case type.to_sym
210
+ when :Time
211
+ Time.parse(value)
212
+ when :Date
213
+ Date.parse(value)
214
+ when :String
215
+ value.to_s
216
+ when :Integer
217
+ value.to_i
218
+ when :Float
219
+ value.to_f
220
+ when :Boolean
221
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
222
+ true
223
+ else
224
+ false
225
+ end
226
+ when :Object
227
+ # generic object (usually a Hash), return directly
228
+ value
229
+ when /\AArray<(?<inner_type>.+)>\z/
230
+ inner_type = Regexp.last_match[:inner_type]
231
+ value.map { |v| _deserialize(inner_type, v) }
232
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
233
+ k_type = Regexp.last_match[:k_type]
234
+ v_type = Regexp.last_match[:v_type]
235
+ {}.tap do |hash|
236
+ value.each do |k, v|
237
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
238
+ end
239
+ end
240
+ else # model
241
+ # models (e.g. Pet) or oneOf
242
+ klass = Notifo.const_get(type)
243
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
244
+ end
245
+ end
246
+
247
+ # Returns the string representation of the object
248
+ # @return [String] String presentation of the object
249
+ def to_s
250
+ to_hash.to_s
251
+ end
252
+
253
+ # to_body is an alias to to_hash (backward compatibility)
254
+ # @return [Hash] Returns the object in the form of hash
255
+ def to_body
256
+ to_hash
257
+ end
258
+
259
+ # Returns the object in the form of hash
260
+ # @return [Hash] Returns the object in the form of hash
261
+ def to_hash
262
+ hash = {}
263
+ self.class.attribute_map.each_pair do |attr, param|
264
+ value = self.send(attr)
265
+ if value.nil?
266
+ is_nullable = self.class.openapi_nullable.include?(attr)
267
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
268
+ end
269
+
270
+ hash[param] = _to_hash(value)
271
+ end
272
+ hash
273
+ end
274
+
275
+ # Outputs non-array value in the form of hash
276
+ # For object, use to_hash. Otherwise, just return the value
277
+ # @param [Object] value Any valid value
278
+ # @return [Hash] Returns the value in the form of hash
279
+ def _to_hash(value)
280
+ if value.is_a?(Array)
281
+ value.compact.map { |v| _to_hash(v) }
282
+ elsif value.is_a?(Hash)
283
+ {}.tap do |hash|
284
+ value.each { |k, v| hash[k] = _to_hash(v) }
285
+ end
286
+ elsif value.respond_to? :to_hash
287
+ value.to_hash
288
+ else
289
+ value
290
+ end
291
+ end
292
+
293
+ end
294
+
295
+ end
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Notifo
17
- class PublishRequestDto
17
+ class PublishDto
18
18
  # The topic path.
19
19
  attr_accessor :topic
20
20
 
@@ -30,16 +30,13 @@ module Notifo
30
30
  # A custom timestamp.
31
31
  attr_accessor :timestamp
32
32
 
33
- # Preformatting when no template is used.
34
33
  attr_accessor :preformatted
35
34
 
36
35
  # The notification settings.
37
36
  attr_accessor :settings
38
37
 
39
- # User defined properties.
40
38
  attr_accessor :properties
41
39
 
42
- # The scheduling options.
43
40
  attr_accessor :scheduling
44
41
 
45
42
  # True when silent.
@@ -74,10 +71,10 @@ module Notifo
74
71
  :'template_code' => :'String',
75
72
  :'data' => :'String',
76
73
  :'timestamp' => :'Time',
77
- :'preformatted' => :'OneOfNotificationFormattingDto',
74
+ :'preformatted' => :'NotificationFormattingDto',
78
75
  :'settings' => :'Hash<String, NotificationSettingDto>',
79
- :'properties' => :'OneOfmap',
80
- :'scheduling' => :'OneOfSchedulingDto',
76
+ :'properties' => :'Hash<String, String>',
77
+ :'scheduling' => :'SchedulingDto',
81
78
  :'silent' => :'Boolean'
82
79
  }
83
80
  end
@@ -88,7 +85,7 @@ module Notifo
88
85
  :'creator_id',
89
86
  :'template_code',
90
87
  :'data',
91
- :'scheduling',
88
+ :'settings',
92
89
  ])
93
90
  end
94
91
 
@@ -96,13 +93,13 @@ module Notifo
96
93
  # @param [Hash] attributes Model attributes in the form of hash
97
94
  def initialize(attributes = {})
98
95
  if (!attributes.is_a?(Hash))
99
- fail ArgumentError, "The input argument (attributes) must be a hash in `Notifo::PublishRequestDto` initialize method"
96
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Notifo::PublishDto` initialize method"
100
97
  end
101
98
 
102
99
  # check to see if the attribute exists and convert string to symbol for hash key
103
100
  attributes = attributes.each_with_object({}) { |(k, v), h|
104
101
  if (!self.class.attribute_map.key?(k.to_sym))
105
- fail ArgumentError, "`#{k}` is not a valid attribute in `Notifo::PublishRequestDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
102
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Notifo::PublishDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
106
103
  end
107
104
  h[k.to_sym] = v
108
105
  }
@@ -138,7 +135,9 @@ module Notifo
138
135
  end
139
136
 
140
137
  if attributes.key?(:'properties')
141
- self.properties = attributes[:'properties']
138
+ if (value = attributes[:'properties']).is_a?(Hash)
139
+ self.properties = value
140
+ end
142
141
  end
143
142
 
144
143
  if attributes.key?(:'scheduling')
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Notifo
17
- class PublishManyRequestDto
17
+ class PublishManyDto
18
18
  # The publish requests.
19
19
  attr_accessor :requests
20
20
 
@@ -33,7 +33,7 @@ module Notifo
33
33
  # Attribute type mapping.
34
34
  def self.openapi_types
35
35
  {
36
- :'requests' => :'Array<PublishRequestDto>'
36
+ :'requests' => :'Array<PublishDto>'
37
37
  }
38
38
  end
39
39
 
@@ -47,13 +47,13 @@ module Notifo
47
47
  # @param [Hash] attributes Model attributes in the form of hash
48
48
  def initialize(attributes = {})
49
49
  if (!attributes.is_a?(Hash))
50
- fail ArgumentError, "The input argument (attributes) must be a hash in `Notifo::PublishManyRequestDto` initialize method"
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Notifo::PublishManyDto` initialize method"
51
51
  end
52
52
 
53
53
  # check to see if the attribute exists and convert string to symbol for hash key
54
54
  attributes = attributes.each_with_object({}) { |(k, v), h|
55
55
  if (!self.class.attribute_map.key?(k.to_sym))
56
- fail ArgumentError, "`#{k}` is not a valid attribute in `Notifo::PublishManyRequestDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Notifo::PublishManyDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
57
  end
58
58
  h[k.to_sym] = v
59
59
  }
@@ -15,10 +15,8 @@ require 'time'
15
15
 
16
16
  module Notifo
17
17
  class SchedulingDto
18
- # The scheduling type.
19
18
  attr_accessor :type
20
19
 
21
- # To schedule the event at the next day of the week.
22
20
  attr_accessor :next_week_day
23
21
 
24
22
  # The scheduling date.
@@ -45,8 +43,8 @@ module Notifo
45
43
  # Attribute type mapping.
46
44
  def self.openapi_types
47
45
  {
48
- :'type' => :'OneOfSchedulingType',
49
- :'next_week_day' => :'OneOfIsoDayOfWeek',
46
+ :'type' => :'SchedulingType',
47
+ :'next_week_day' => :'IsoDayOfWeek',
50
48
  :'date' => :'Date',
51
49
  :'time' => :'String'
52
50
  }
@@ -55,7 +53,6 @@ module Notifo
55
53
  # List of attributes with nullable: true
56
54
  def self.openapi_nullable
57
55
  Set.new([
58
- :'next_week_day',
59
56
  :'date',
60
57
  ])
61
58
  end
@@ -38,13 +38,14 @@ module Notifo
38
38
  def self.openapi_types
39
39
  {
40
40
  :'topic_prefix' => :'String',
41
- :'topic_settings' => :'OneOfmap'
41
+ :'topic_settings' => :'Hash<String, NotificationSettingDto>'
42
42
  }
43
43
  end
44
44
 
45
45
  # List of attributes with nullable: true
46
46
  def self.openapi_nullable
47
47
  Set.new([
48
+ :'topic_settings'
48
49
  ])
49
50
  end
50
51
 
@@ -68,7 +69,9 @@ module Notifo
68
69
  end
69
70
 
70
71
  if attributes.key?(:'topic_settings')
71
- self.topic_settings = attributes[:'topic_settings']
72
+ if (value = attributes[:'topic_settings']).is_a?(Hash)
73
+ self.topic_settings = value
74
+ end
72
75
  end
73
76
  end
74
77