hubspot-api-client 10.0.1 → 10.1.0

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile.lock +3 -3
  4. data/lib/hubspot/codegen/communication_preferences/api/definition_api.rb +80 -0
  5. data/lib/hubspot/codegen/communication_preferences/api/status_api.rb +214 -0
  6. data/lib/hubspot/codegen/communication_preferences/api_client.rb +404 -0
  7. data/lib/hubspot/codegen/communication_preferences/api_error.rb +59 -0
  8. data/lib/hubspot/codegen/communication_preferences/configuration.rb +254 -0
  9. data/lib/hubspot/codegen/communication_preferences/models/error.rb +290 -0
  10. data/lib/hubspot/codegen/communication_preferences/models/error_detail.rb +256 -0
  11. data/lib/hubspot/codegen/communication_preferences/models/public_subscription_status.rb +372 -0
  12. data/lib/hubspot/codegen/communication_preferences/models/public_subscription_statuses_response.rb +231 -0
  13. data/lib/hubspot/codegen/communication_preferences/models/public_update_subscription_status_request.rb +283 -0
  14. data/lib/hubspot/codegen/communication_preferences/models/subscription_definition.rb +339 -0
  15. data/lib/hubspot/codegen/communication_preferences/models/subscription_definitions_response.rb +216 -0
  16. data/lib/hubspot/version.rb +1 -1
  17. data/spec/codegen/communication_preferences/api/definition_api_spec.rb +46 -0
  18. data/spec/codegen/communication_preferences/api/status_api_spec.rb +71 -0
  19. data/spec/codegen/communication_preferences/models/error_detail_spec.rb +65 -0
  20. data/spec/codegen/communication_preferences/models/error_spec.rb +77 -0
  21. data/spec/codegen/communication_preferences/models/public_subscription_status_spec.rb +101 -0
  22. data/spec/codegen/communication_preferences/models/public_subscription_statuses_response_spec.rb +47 -0
  23. data/spec/codegen/communication_preferences/models/public_update_subscription_status_request_spec.rb +63 -0
  24. data/spec/codegen/communication_preferences/models/subscription_definition_spec.rb +95 -0
  25. data/spec/codegen/communication_preferences/models/subscription_definitions_response_spec.rb +41 -0
  26. data/spec/codegen/crm/extensions/calling/api/settings_api_spec.rb +2 -2
  27. data/spec/codegen/crm/extensions/calling/models/settings_patch_request_spec.rb +6 -0
  28. data/spec/codegen/crm/extensions/calling/models/settings_request_spec.rb +6 -0
  29. data/spec/codegen/crm/extensions/calling/models/settings_response_spec.rb +6 -0
  30. data/spec/codegen/crm/extensions/cards/api/cards_api_spec.rb +2 -2
  31. data/spec/features/communication_preferences/definition_api_spec.rb +7 -0
  32. data/spec/features/communication_preferences/status_api_spec.rb +9 -0
  33. metadata +36 -2
@@ -0,0 +1,339 @@
1
+ =begin
2
+ #Subscriptions
3
+
4
+ #Subscriptions allow contacts to control what forms of communications they receive. Contacts can decide whether they want to receive communication pertaining to a specific topic, brand, or an entire HubSpot account.
5
+
6
+ The version of the OpenAPI document: v3
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Hubspot
16
+ module CommunicationPreferences
17
+ class SubscriptionDefinition
18
+ # The ID of the definition.
19
+ attr_accessor :id
20
+
21
+ # The name of the subscription.
22
+ attr_accessor :name
23
+
24
+ # A description of the subscription.
25
+ attr_accessor :description
26
+
27
+ # The purpose of this subscription or the department in your organization that uses it.
28
+ attr_accessor :purpose
29
+
30
+ # The method or technology used to contact.
31
+ attr_accessor :communication_method
32
+
33
+ # Whether the definition is active or archived.
34
+ attr_accessor :is_active
35
+
36
+ # A subscription definition created by HubSpot.
37
+ attr_accessor :is_default
38
+
39
+ # A default description that is used by some HubSpot tools and cannot be edited.
40
+ attr_accessor :is_internal
41
+
42
+ # Time at which the definition was created.
43
+ attr_accessor :created_at
44
+
45
+ # Time at which the definition was last updated.
46
+ attr_accessor :updated_at
47
+
48
+ # Attribute mapping from ruby-style variable name to JSON key.
49
+ def self.attribute_map
50
+ {
51
+ :'id' => :'id',
52
+ :'name' => :'name',
53
+ :'description' => :'description',
54
+ :'purpose' => :'purpose',
55
+ :'communication_method' => :'communicationMethod',
56
+ :'is_active' => :'isActive',
57
+ :'is_default' => :'isDefault',
58
+ :'is_internal' => :'isInternal',
59
+ :'created_at' => :'createdAt',
60
+ :'updated_at' => :'updatedAt'
61
+ }
62
+ end
63
+
64
+ # Attribute type mapping.
65
+ def self.openapi_types
66
+ {
67
+ :'id' => :'String',
68
+ :'name' => :'String',
69
+ :'description' => :'String',
70
+ :'purpose' => :'String',
71
+ :'communication_method' => :'String',
72
+ :'is_active' => :'Boolean',
73
+ :'is_default' => :'Boolean',
74
+ :'is_internal' => :'Boolean',
75
+ :'created_at' => :'DateTime',
76
+ :'updated_at' => :'DateTime'
77
+ }
78
+ end
79
+
80
+ # List of attributes with nullable: true
81
+ def self.openapi_nullable
82
+ Set.new([
83
+ ])
84
+ end
85
+
86
+ # Initializes the object
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ def initialize(attributes = {})
89
+ if (!attributes.is_a?(Hash))
90
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Hubspot::CommunicationPreferences::SubscriptionDefinition` initialize method"
91
+ end
92
+
93
+ # check to see if the attribute exists and convert string to symbol for hash key
94
+ attributes = attributes.each_with_object({}) { |(k, v), h|
95
+ if (!self.class.attribute_map.key?(k.to_sym))
96
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Hubspot::CommunicationPreferences::SubscriptionDefinition`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
97
+ end
98
+ h[k.to_sym] = v
99
+ }
100
+
101
+ if attributes.key?(:'id')
102
+ self.id = attributes[:'id']
103
+ end
104
+
105
+ if attributes.key?(:'name')
106
+ self.name = attributes[:'name']
107
+ end
108
+
109
+ if attributes.key?(:'description')
110
+ self.description = attributes[:'description']
111
+ end
112
+
113
+ if attributes.key?(:'purpose')
114
+ self.purpose = attributes[:'purpose']
115
+ end
116
+
117
+ if attributes.key?(:'communication_method')
118
+ self.communication_method = attributes[:'communication_method']
119
+ end
120
+
121
+ if attributes.key?(:'is_active')
122
+ self.is_active = attributes[:'is_active']
123
+ end
124
+
125
+ if attributes.key?(:'is_default')
126
+ self.is_default = attributes[:'is_default']
127
+ end
128
+
129
+ if attributes.key?(:'is_internal')
130
+ self.is_internal = attributes[:'is_internal']
131
+ end
132
+
133
+ if attributes.key?(:'created_at')
134
+ self.created_at = attributes[:'created_at']
135
+ end
136
+
137
+ if attributes.key?(:'updated_at')
138
+ self.updated_at = attributes[:'updated_at']
139
+ end
140
+ end
141
+
142
+ # Show invalid properties with the reasons. Usually used together with valid?
143
+ # @return Array for valid properties with the reasons
144
+ def list_invalid_properties
145
+ invalid_properties = Array.new
146
+ if @id.nil?
147
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
148
+ end
149
+
150
+ if @name.nil?
151
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
152
+ end
153
+
154
+ if @description.nil?
155
+ invalid_properties.push('invalid value for "description", description cannot be nil.')
156
+ end
157
+
158
+ if @is_active.nil?
159
+ invalid_properties.push('invalid value for "is_active", is_active cannot be nil.')
160
+ end
161
+
162
+ if @is_default.nil?
163
+ invalid_properties.push('invalid value for "is_default", is_default cannot be nil.')
164
+ end
165
+
166
+ if @is_internal.nil?
167
+ invalid_properties.push('invalid value for "is_internal", is_internal cannot be nil.')
168
+ end
169
+
170
+ if @created_at.nil?
171
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
172
+ end
173
+
174
+ if @updated_at.nil?
175
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
176
+ end
177
+
178
+ invalid_properties
179
+ end
180
+
181
+ # Check to see if the all the properties in the model are valid
182
+ # @return true if the model is valid
183
+ def valid?
184
+ return false if @id.nil?
185
+ return false if @name.nil?
186
+ return false if @description.nil?
187
+ return false if @is_active.nil?
188
+ return false if @is_default.nil?
189
+ return false if @is_internal.nil?
190
+ return false if @created_at.nil?
191
+ return false if @updated_at.nil?
192
+ true
193
+ end
194
+
195
+ # Checks equality by comparing each attribute.
196
+ # @param [Object] Object to be compared
197
+ def ==(o)
198
+ return true if self.equal?(o)
199
+ self.class == o.class &&
200
+ id == o.id &&
201
+ name == o.name &&
202
+ description == o.description &&
203
+ purpose == o.purpose &&
204
+ communication_method == o.communication_method &&
205
+ is_active == o.is_active &&
206
+ is_default == o.is_default &&
207
+ is_internal == o.is_internal &&
208
+ created_at == o.created_at &&
209
+ updated_at == o.updated_at
210
+ end
211
+
212
+ # @see the `==` method
213
+ # @param [Object] Object to be compared
214
+ def eql?(o)
215
+ self == o
216
+ end
217
+
218
+ # Calculates hash code according to all attributes.
219
+ # @return [Integer] Hash code
220
+ def hash
221
+ [id, name, description, purpose, communication_method, is_active, is_default, is_internal, created_at, updated_at].hash
222
+ end
223
+
224
+ # Builds the object from hash
225
+ # @param [Hash] attributes Model attributes in the form of hash
226
+ # @return [Object] Returns the model itself
227
+ def self.build_from_hash(attributes)
228
+ new.build_from_hash(attributes)
229
+ end
230
+
231
+ # Builds the object from hash
232
+ # @param [Hash] attributes Model attributes in the form of hash
233
+ # @return [Object] Returns the model itself
234
+ def build_from_hash(attributes)
235
+ return nil unless attributes.is_a?(Hash)
236
+ self.class.openapi_types.each_pair do |key, type|
237
+ if type =~ /\AArray<(.*)>/i
238
+ # check to ensure the input is an array given that the attribute
239
+ # is documented as an array but the input is not
240
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
241
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
242
+ end
243
+ elsif !attributes[self.class.attribute_map[key]].nil?
244
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
245
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
246
+ end
247
+
248
+ self
249
+ end
250
+
251
+ # Deserializes the data based on type
252
+ # @param string type Data type
253
+ # @param string value Value to be deserialized
254
+ # @return [Object] Deserialized data
255
+ def _deserialize(type, value)
256
+ case type.to_sym
257
+ when :DateTime
258
+ DateTime.parse(value)
259
+ when :Date
260
+ Date.parse(value)
261
+ when :String
262
+ value.to_s
263
+ when :Integer
264
+ value.to_i
265
+ when :Float
266
+ value.to_f
267
+ when :Boolean
268
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
269
+ true
270
+ else
271
+ false
272
+ end
273
+ when :Object
274
+ # generic object (usually a Hash), return directly
275
+ value
276
+ when /\AArray<(?<inner_type>.+)>\z/
277
+ inner_type = Regexp.last_match[:inner_type]
278
+ value.map { |v| _deserialize(inner_type, v) }
279
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
280
+ k_type = Regexp.last_match[:k_type]
281
+ v_type = Regexp.last_match[:v_type]
282
+ {}.tap do |hash|
283
+ value.each do |k, v|
284
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
285
+ end
286
+ end
287
+ else # model
288
+ Hubspot::CommunicationPreferences.const_get(type).build_from_hash(value)
289
+ end
290
+ end
291
+
292
+ # Returns the string representation of the object
293
+ # @return [String] String presentation of the object
294
+ def to_s
295
+ to_hash.to_s
296
+ end
297
+
298
+ # to_body is an alias to to_hash (backward compatibility)
299
+ # @return [Hash] Returns the object in the form of hash
300
+ def to_body
301
+ to_hash
302
+ end
303
+
304
+ # Returns the object in the form of hash
305
+ # @return [Hash] Returns the object in the form of hash
306
+ def to_hash
307
+ hash = {}
308
+ self.class.attribute_map.each_pair do |attr, param|
309
+ value = self.send(attr)
310
+ if value.nil?
311
+ is_nullable = self.class.openapi_nullable.include?(attr)
312
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
313
+ end
314
+
315
+ hash[param] = _to_hash(value)
316
+ end
317
+ hash
318
+ end
319
+
320
+ # Outputs non-array value in the form of hash
321
+ # For object, use to_hash. Otherwise, just return the value
322
+ # @param [Object] value Any valid value
323
+ # @return [Hash] Returns the value in the form of hash
324
+ def _to_hash(value)
325
+ if value.is_a?(Array)
326
+ value.compact.map { |v| _to_hash(v) }
327
+ elsif value.is_a?(Hash)
328
+ {}.tap do |hash|
329
+ value.each { |k, v| hash[k] = _to_hash(v) }
330
+ end
331
+ elsif value.respond_to? :to_hash
332
+ value.to_hash
333
+ else
334
+ value
335
+ end
336
+ end
337
+ end
338
+ end
339
+ end
@@ -0,0 +1,216 @@
1
+ =begin
2
+ #Subscriptions
3
+
4
+ #Subscriptions allow contacts to control what forms of communications they receive. Contacts can decide whether they want to receive communication pertaining to a specific topic, brand, or an entire HubSpot account.
5
+
6
+ The version of the OpenAPI document: v3
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Hubspot
16
+ module CommunicationPreferences
17
+ class SubscriptionDefinitionsResponse
18
+ # A list of all subscription definitions.
19
+ attr_accessor :subscription_definitions
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'subscription_definitions' => :'subscriptionDefinitions'
25
+ }
26
+ end
27
+
28
+ # Attribute type mapping.
29
+ def self.openapi_types
30
+ {
31
+ :'subscription_definitions' => :'Array<SubscriptionDefinition>'
32
+ }
33
+ end
34
+
35
+ # List of attributes with nullable: true
36
+ def self.openapi_nullable
37
+ Set.new([
38
+ ])
39
+ end
40
+
41
+ # Initializes the object
42
+ # @param [Hash] attributes Model attributes in the form of hash
43
+ def initialize(attributes = {})
44
+ if (!attributes.is_a?(Hash))
45
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Hubspot::CommunicationPreferences::SubscriptionDefinitionsResponse` initialize method"
46
+ end
47
+
48
+ # check to see if the attribute exists and convert string to symbol for hash key
49
+ attributes = attributes.each_with_object({}) { |(k, v), h|
50
+ if (!self.class.attribute_map.key?(k.to_sym))
51
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Hubspot::CommunicationPreferences::SubscriptionDefinitionsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
52
+ end
53
+ h[k.to_sym] = v
54
+ }
55
+
56
+ if attributes.key?(:'subscription_definitions')
57
+ if (value = attributes[:'subscription_definitions']).is_a?(Array)
58
+ self.subscription_definitions = value
59
+ end
60
+ end
61
+ end
62
+
63
+ # Show invalid properties with the reasons. Usually used together with valid?
64
+ # @return Array for valid properties with the reasons
65
+ def list_invalid_properties
66
+ invalid_properties = Array.new
67
+ if @subscription_definitions.nil?
68
+ invalid_properties.push('invalid value for "subscription_definitions", subscription_definitions cannot be nil.')
69
+ end
70
+
71
+ invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ return false if @subscription_definitions.nil?
78
+ true
79
+ end
80
+
81
+ # Checks equality by comparing each attribute.
82
+ # @param [Object] Object to be compared
83
+ def ==(o)
84
+ return true if self.equal?(o)
85
+ self.class == o.class &&
86
+ subscription_definitions == o.subscription_definitions
87
+ end
88
+
89
+ # @see the `==` method
90
+ # @param [Object] Object to be compared
91
+ def eql?(o)
92
+ self == o
93
+ end
94
+
95
+ # Calculates hash code according to all attributes.
96
+ # @return [Integer] Hash code
97
+ def hash
98
+ [subscription_definitions].hash
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def self.build_from_hash(attributes)
105
+ new.build_from_hash(attributes)
106
+ end
107
+
108
+ # Builds the object from hash
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ # @return [Object] Returns the model itself
111
+ def build_from_hash(attributes)
112
+ return nil unless attributes.is_a?(Hash)
113
+ self.class.openapi_types.each_pair do |key, type|
114
+ if type =~ /\AArray<(.*)>/i
115
+ # check to ensure the input is an array given that the attribute
116
+ # is documented as an array but the input is not
117
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
118
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
119
+ end
120
+ elsif !attributes[self.class.attribute_map[key]].nil?
121
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
122
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
123
+ end
124
+
125
+ self
126
+ end
127
+
128
+ # Deserializes the data based on type
129
+ # @param string type Data type
130
+ # @param string value Value to be deserialized
131
+ # @return [Object] Deserialized data
132
+ def _deserialize(type, value)
133
+ case type.to_sym
134
+ when :DateTime
135
+ DateTime.parse(value)
136
+ when :Date
137
+ Date.parse(value)
138
+ when :String
139
+ value.to_s
140
+ when :Integer
141
+ value.to_i
142
+ when :Float
143
+ value.to_f
144
+ when :Boolean
145
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
146
+ true
147
+ else
148
+ false
149
+ end
150
+ when :Object
151
+ # generic object (usually a Hash), return directly
152
+ value
153
+ when /\AArray<(?<inner_type>.+)>\z/
154
+ inner_type = Regexp.last_match[:inner_type]
155
+ value.map { |v| _deserialize(inner_type, v) }
156
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
157
+ k_type = Regexp.last_match[:k_type]
158
+ v_type = Regexp.last_match[:v_type]
159
+ {}.tap do |hash|
160
+ value.each do |k, v|
161
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
162
+ end
163
+ end
164
+ else # model
165
+ Hubspot::CommunicationPreferences.const_get(type).build_from_hash(value)
166
+ end
167
+ end
168
+
169
+ # Returns the string representation of the object
170
+ # @return [String] String presentation of the object
171
+ def to_s
172
+ to_hash.to_s
173
+ end
174
+
175
+ # to_body is an alias to to_hash (backward compatibility)
176
+ # @return [Hash] Returns the object in the form of hash
177
+ def to_body
178
+ to_hash
179
+ end
180
+
181
+ # Returns the object in the form of hash
182
+ # @return [Hash] Returns the object in the form of hash
183
+ def to_hash
184
+ hash = {}
185
+ self.class.attribute_map.each_pair do |attr, param|
186
+ value = self.send(attr)
187
+ if value.nil?
188
+ is_nullable = self.class.openapi_nullable.include?(attr)
189
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
190
+ end
191
+
192
+ hash[param] = _to_hash(value)
193
+ end
194
+ hash
195
+ end
196
+
197
+ # Outputs non-array value in the form of hash
198
+ # For object, use to_hash. Otherwise, just return the value
199
+ # @param [Object] value Any valid value
200
+ # @return [Hash] Returns the value in the form of hash
201
+ def _to_hash(value)
202
+ if value.is_a?(Array)
203
+ value.compact.map { |v| _to_hash(v) }
204
+ elsif value.is_a?(Hash)
205
+ {}.tap do |hash|
206
+ value.each { |k, v| hash[k] = _to_hash(v) }
207
+ end
208
+ elsif value.respond_to? :to_hash
209
+ value.to_hash
210
+ else
211
+ value
212
+ end
213
+ end
214
+ end
215
+ end
216
+ end