avalara_sdk 25.6.0 → 25.7.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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -3
  3. data/docs/A1099/V2/BulkUpsert1099FormsRequest.md +3 -1
  4. data/docs/A1099/V2/CompaniesW9Api.md +45 -31
  5. data/docs/A1099/V2/CoveredIndividualReference.md +58 -0
  6. data/docs/A1099/V2/CoveredIndividualRequest.md +54 -0
  7. data/docs/A1099/V2/Form1095B.md +86 -0
  8. data/docs/A1099/V2/Form1095BList.md +20 -0
  9. data/docs/A1099/V2/Form1095BListItem.md +74 -0
  10. data/docs/A1099/V2/Form1095BRequest.md +76 -0
  11. data/docs/A1099/V2/Form1099Base.md +8 -8
  12. data/docs/A1099/V2/Form1099DivListItem.md +11 -11
  13. data/docs/A1099/V2/Form1099DivRequest.md +11 -17
  14. data/docs/A1099/V2/Form1099DivResponse.md +88 -0
  15. data/docs/A1099/V2/Form1099K.md +8 -8
  16. data/docs/A1099/V2/Form1099KListItem.md +11 -11
  17. data/docs/A1099/V2/Form1099KRequest.md +11 -17
  18. data/docs/A1099/V2/Form1099List.md +1 -1
  19. data/docs/A1099/V2/Form1099ListDataInner.md +32 -0
  20. data/docs/A1099/V2/Form1099Misc.md +8 -8
  21. data/docs/A1099/V2/Form1099MiscListItem.md +11 -11
  22. data/docs/A1099/V2/Form1099MiscRequest.md +11 -17
  23. data/docs/A1099/V2/Form1099MiscResponse.md +120 -0
  24. data/docs/A1099/V2/Form1099Nec.md +8 -8
  25. data/docs/A1099/V2/Form1099NecListItem.md +11 -11
  26. data/docs/A1099/V2/Form1099NecRequest.md +11 -17
  27. data/docs/A1099/V2/Form1099NecResponse.md +96 -0
  28. data/docs/A1099/V2/Form1099R.md +8 -8
  29. data/docs/A1099/V2/Form1099RListItem.md +11 -11
  30. data/docs/A1099/V2/Form1099RRequest.md +11 -17
  31. data/docs/A1099/V2/FormRequestBase.md +9 -13
  32. data/docs/A1099/V2/FormRequestCsvBase.md +66 -0
  33. data/docs/A1099/V2/FormResponseBase.md +43 -9
  34. data/docs/A1099/V2/FormSingleRequestBase.md +11 -15
  35. data/docs/A1099/V2/Forms1099Api.md +75 -57
  36. data/docs/A1099/V2/FormsW9Api.md +63 -123
  37. data/docs/A1099/V2/Get1099Form200Response.md +55 -0
  38. data/docs/A1099/V2/IncludedBase.md +20 -0
  39. data/docs/A1099/V2/Issuers1099Api.md +45 -31
  40. data/docs/A1099/V2/Jobs1099Api.md +10 -6
  41. data/docs/A1099/V2/StateAndLocalWithholdingResponse.md +32 -0
  42. data/docs/A1099/V2/StateEfileStatusDetail.md +1 -1
  43. data/docs/A1099/V2/StateEfileStatusDetailApp.md +22 -0
  44. data/docs/A1099/V2/StatusDetail.md +20 -0
  45. data/docs/A1099/V2/Update1099Form200Response.md +53 -0
  46. data/docs/A1099/V2/ValidationErrorApp.md +20 -0
  47. data/docs/EInvoicing/V1/DataInputFieldsApi.md +4 -4
  48. data/docs/EInvoicing/V1/DocumentsApi.md +2 -2
  49. data/docs/EInvoicing/V1/MandatesApi.md +4 -4
  50. data/docs/EInvoicing/V1/SubscriptionsApi.md +4 -4
  51. data/docs/EInvoicing/V1/TradingPartnersApi.md +4 -4
  52. data/lib/avalara_sdk/api/A1099/V2/companies_w9_api.rb +103 -43
  53. data/lib/avalara_sdk/api/A1099/V2/forms1099_api.rb +171 -87
  54. data/lib/avalara_sdk/api/A1099/V2/forms_w9_api.rb +135 -176
  55. data/lib/avalara_sdk/api/A1099/V2/issuers1099_api.rb +103 -43
  56. data/lib/avalara_sdk/api/A1099/V2/jobs1099_api.rb +19 -7
  57. data/lib/avalara_sdk/api/EInvoicing/V1/data_input_fields_api.rb +6 -6
  58. data/lib/avalara_sdk/api/EInvoicing/V1/documents_api.rb +4 -4
  59. data/lib/avalara_sdk/api/EInvoicing/V1/interop_api.rb +1 -1
  60. data/lib/avalara_sdk/api/EInvoicing/V1/mandates_api.rb +6 -6
  61. data/lib/avalara_sdk/api/EInvoicing/V1/subscriptions_api.rb +6 -6
  62. data/lib/avalara_sdk/api/EInvoicing/V1/trading_partners_api.rb +7 -7
  63. data/lib/avalara_sdk/models/A1099/V2/bulk_upsert1099_forms_request.rb +1 -0
  64. data/lib/avalara_sdk/models/A1099/V2/covered_individual_reference.rb +403 -0
  65. data/lib/avalara_sdk/models/A1099/V2/covered_individual_request.rb +378 -0
  66. data/lib/avalara_sdk/models/A1099/V2/form1095_b.rb +572 -0
  67. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list.rb +238 -0
  68. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item.rb +538 -0
  69. data/lib/avalara_sdk/models/A1099/V2/form1095_b_request.rb +559 -0
  70. data/lib/avalara_sdk/models/A1099/V2/form1099_base.rb +29 -29
  71. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item.rb +78 -36
  72. data/lib/avalara_sdk/models/A1099/V2/form1099_div_request.rb +80 -53
  73. data/lib/avalara_sdk/models/A1099/V2/form1099_div_response.rb +600 -0
  74. data/lib/avalara_sdk/models/A1099/V2/form1099_k.rb +29 -29
  75. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item.rb +56 -37
  76. data/lib/avalara_sdk/models/A1099/V2/form1099_k_request.rb +80 -54
  77. data/lib/avalara_sdk/models/A1099/V2/form1099_list.rb +1 -1
  78. data/lib/avalara_sdk/models/A1099/V2/form1099_list_data_inner.rb +20 -68
  79. data/lib/avalara_sdk/models/A1099/V2/form1099_misc.rb +29 -29
  80. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item.rb +78 -36
  81. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_request.rb +80 -53
  82. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_response.rb +744 -0
  83. data/lib/avalara_sdk/models/A1099/V2/form1099_nec.rb +29 -29
  84. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item.rb +78 -36
  85. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_request.rb +80 -53
  86. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_response.rb +636 -0
  87. data/lib/avalara_sdk/models/A1099/V2/form1099_r.rb +29 -29
  88. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item.rb +56 -36
  89. data/lib/avalara_sdk/models/A1099/V2/form1099_r_request.rb +80 -53
  90. data/lib/avalara_sdk/models/A1099/V2/form_request_base.rb +68 -44
  91. data/lib/avalara_sdk/models/A1099/V2/form_request_csv_base.rb +475 -0
  92. data/lib/avalara_sdk/models/A1099/V2/form_response_base.rb +252 -31
  93. data/lib/avalara_sdk/models/A1099/V2/form_single_request_base.rb +80 -44
  94. data/lib/avalara_sdk/models/A1099/V2/get1099_form200_response.rb +104 -0
  95. data/lib/avalara_sdk/models/A1099/V2/included_base.rb +219 -0
  96. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_request.rb +1 -0
  97. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_response.rb +274 -0
  98. data/lib/avalara_sdk/models/A1099/V2/state_efile_status_detail_app.rb +231 -0
  99. data/lib/avalara_sdk/models/A1099/V2/status_detail.rb +221 -0
  100. data/lib/avalara_sdk/models/A1099/V2/update1099_form200_response.rb +103 -0
  101. data/lib/avalara_sdk/models/A1099/V2/validation_error_app.rb +229 -0
  102. data/lib/avalara_sdk/version.rb +1 -1
  103. data/lib/avalara_sdk.rb +17 -0
  104. data/spec/integration/a1099_spec.rb +12 -12
  105. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-11.1.3/gem_make.out +5 -5
  106. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  107. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/gem_make.out +5 -5
  108. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debug-1.10.0/gem_make.out +5 -5
  109. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/erb-5.0.1/gem_make.out +5 -5
  110. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/gem_make.out +5 -5
  111. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/gem_make.out +5 -5
  112. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.4.0/gem_make.out +5 -5
  113. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  114. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  115. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  116. metadata +36 -2
@@ -0,0 +1,600 @@
1
+ =begin
2
+ #Avalara 1099 & W-9 API Definition
3
+
4
+ ### 🔐 Authentication Use **username/password** or generate a **license key** from: *Avalara Portal → Settings → License and API Keys*. [More on authentication methods](https://developer.avalara.com/avatax-dm-combined-erp/common-setup/authentication/authentication-methods/) [Test your credentials](https://developer.avalara.com/avatax/test-credentials/) ## 📘 API & SDK Documentation [Avalara SDK (.NET) on GitHub](https://github.com/avadev/Avalara-SDK-DotNet#avalarasdk--the-unified-c-library-for-next-gen-avalara-services) [Code Examples – 1099 API](https://github.com/avadev/Avalara-SDK-DotNet/blob/main/docs/A1099/V2/Class1099IssuersApi.md#call1099issuersget)
5
+
6
+
7
+ =end
8
+
9
+ require 'date'
10
+ require 'time'
11
+
12
+ module AvalaraSdk::A1099::V2
13
+ class Form1099DivResponse
14
+ attr_accessor :type
15
+
16
+ attr_accessor :created_at
17
+
18
+ attr_accessor :updated_at
19
+
20
+ attr_accessor :user_id
21
+
22
+ attr_accessor :state_and_local_withholding
23
+
24
+ attr_accessor :tin_type
25
+
26
+ attr_accessor :id
27
+
28
+ attr_accessor :issuer_id
29
+
30
+ attr_accessor :issuer_reference_id
31
+
32
+ attr_accessor :issuer_tin
33
+
34
+ attr_accessor :tax_year
35
+
36
+ attr_accessor :reference_id
37
+
38
+ attr_accessor :recipient_name
39
+
40
+ attr_accessor :recipient_tin
41
+
42
+ attr_accessor :recipient_second_name
43
+
44
+ attr_accessor :address
45
+
46
+ attr_accessor :address2
47
+
48
+ attr_accessor :city
49
+
50
+ attr_accessor :state
51
+
52
+ attr_accessor :zip
53
+
54
+ attr_accessor :recipient_email
55
+
56
+ attr_accessor :account_number
57
+
58
+ attr_accessor :office_code
59
+
60
+ attr_accessor :recipient_non_us_province
61
+
62
+ attr_accessor :country_code
63
+
64
+ attr_accessor :federal_e_file
65
+
66
+ attr_accessor :postal_mail
67
+
68
+ attr_accessor :state_e_file
69
+
70
+ attr_accessor :tin_match
71
+
72
+ attr_accessor :address_verification
73
+
74
+ attr_accessor :federal_efile_status
75
+
76
+ attr_accessor :state_efile_status
77
+
78
+ attr_accessor :postal_mail_status
79
+
80
+ attr_accessor :tin_match_status
81
+
82
+ attr_accessor :address_verification_status
83
+
84
+ attr_accessor :validation_errors
85
+
86
+ class EnumAttributeValidator
87
+ attr_reader :datatype
88
+ attr_reader :allowable_values
89
+
90
+ def initialize(datatype, allowable_values)
91
+ @allowable_values = allowable_values.map do |value|
92
+ case datatype.to_s
93
+ when /Integer/i
94
+ value.to_i
95
+ when /Float/i
96
+ value.to_f
97
+ else
98
+ value
99
+ end
100
+ end
101
+ end
102
+
103
+ def valid?(value)
104
+ !value || allowable_values.include?(value)
105
+ end
106
+ end
107
+
108
+ # Attribute mapping from ruby-style variable name to JSON key.
109
+ def self.attribute_map
110
+ {
111
+ :'type' => :'type',
112
+ :'created_at' => :'createdAt',
113
+ :'updated_at' => :'updatedAt',
114
+ :'user_id' => :'userId',
115
+ :'state_and_local_withholding' => :'stateAndLocalWithholding',
116
+ :'tin_type' => :'tinType',
117
+ :'id' => :'id',
118
+ :'issuer_id' => :'issuerId',
119
+ :'issuer_reference_id' => :'issuerReferenceId',
120
+ :'issuer_tin' => :'issuerTin',
121
+ :'tax_year' => :'taxYear',
122
+ :'reference_id' => :'referenceId',
123
+ :'recipient_name' => :'recipientName',
124
+ :'recipient_tin' => :'recipientTin',
125
+ :'recipient_second_name' => :'recipientSecondName',
126
+ :'address' => :'address',
127
+ :'address2' => :'address2',
128
+ :'city' => :'city',
129
+ :'state' => :'state',
130
+ :'zip' => :'zip',
131
+ :'recipient_email' => :'recipientEmail',
132
+ :'account_number' => :'accountNumber',
133
+ :'office_code' => :'officeCode',
134
+ :'recipient_non_us_province' => :'recipientNonUsProvince',
135
+ :'country_code' => :'countryCode',
136
+ :'federal_e_file' => :'federalEFile',
137
+ :'postal_mail' => :'postalMail',
138
+ :'state_e_file' => :'stateEFile',
139
+ :'tin_match' => :'tinMatch',
140
+ :'address_verification' => :'addressVerification',
141
+ :'federal_efile_status' => :'federalEfileStatus',
142
+ :'state_efile_status' => :'stateEfileStatus',
143
+ :'postal_mail_status' => :'postalMailStatus',
144
+ :'tin_match_status' => :'tinMatchStatus',
145
+ :'address_verification_status' => :'addressVerificationStatus',
146
+ :'validation_errors' => :'validationErrors'
147
+ }
148
+ end
149
+
150
+ # Returns all the JSON keys this model knows about
151
+ def self.acceptable_attributes
152
+ attribute_map.values
153
+ end
154
+
155
+ # Attribute type mapping.
156
+ def self.openapi_types
157
+ {
158
+ :'type' => :'String',
159
+ :'created_at' => :'Time',
160
+ :'updated_at' => :'Time',
161
+ :'user_id' => :'String',
162
+ :'state_and_local_withholding' => :'StateAndLocalWithholdingResponse',
163
+ :'tin_type' => :'String',
164
+ :'id' => :'String',
165
+ :'issuer_id' => :'String',
166
+ :'issuer_reference_id' => :'String',
167
+ :'issuer_tin' => :'String',
168
+ :'tax_year' => :'Integer',
169
+ :'reference_id' => :'String',
170
+ :'recipient_name' => :'String',
171
+ :'recipient_tin' => :'String',
172
+ :'recipient_second_name' => :'String',
173
+ :'address' => :'String',
174
+ :'address2' => :'String',
175
+ :'city' => :'String',
176
+ :'state' => :'String',
177
+ :'zip' => :'String',
178
+ :'recipient_email' => :'String',
179
+ :'account_number' => :'String',
180
+ :'office_code' => :'String',
181
+ :'recipient_non_us_province' => :'String',
182
+ :'country_code' => :'String',
183
+ :'federal_e_file' => :'Boolean',
184
+ :'postal_mail' => :'Boolean',
185
+ :'state_e_file' => :'Boolean',
186
+ :'tin_match' => :'Boolean',
187
+ :'address_verification' => :'Boolean',
188
+ :'federal_efile_status' => :'StatusDetail',
189
+ :'state_efile_status' => :'Array<StateEfileStatusDetailApp>',
190
+ :'postal_mail_status' => :'StatusDetail',
191
+ :'tin_match_status' => :'StatusDetail',
192
+ :'address_verification_status' => :'StatusDetail',
193
+ :'validation_errors' => :'Array<ValidationErrorApp>'
194
+ }
195
+ end
196
+
197
+ # List of attributes with nullable: true
198
+ def self.openapi_nullable
199
+ Set.new([
200
+ :'federal_efile_status',
201
+ :'state_efile_status',
202
+ :'postal_mail_status',
203
+ :'tin_match_status',
204
+ :'address_verification_status',
205
+ :'validation_errors'
206
+ ])
207
+ end
208
+
209
+ # List of class defined in allOf (OpenAPI v3)
210
+ def self.openapi_all_of
211
+ [
212
+ :'FormResponseBase'
213
+ ]
214
+ end
215
+
216
+ # Initializes the object
217
+ # @param [Hash] attributes Model attributes in the form of hash
218
+ def initialize(attributes = {})
219
+ if (!attributes.is_a?(Hash))
220
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AvalaraSdk::A1099::V2::Form1099DivResponse` initialize method"
221
+ end
222
+
223
+ # check to see if the attribute exists and convert string to symbol for hash key
224
+ attributes = attributes.each_with_object({}) { |(k, v), h|
225
+ if (!self.class.attribute_map.key?(k.to_sym))
226
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AvalaraSdk::A1099::V2::Form1099DivResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
227
+ end
228
+ h[k.to_sym] = v
229
+ }
230
+
231
+ if attributes.key?(:'type')
232
+ self.type = attributes[:'type']
233
+ end
234
+
235
+ if attributes.key?(:'created_at')
236
+ self.created_at = attributes[:'created_at']
237
+ end
238
+
239
+ if attributes.key?(:'updated_at')
240
+ self.updated_at = attributes[:'updated_at']
241
+ end
242
+
243
+ if attributes.key?(:'user_id')
244
+ self.user_id = attributes[:'user_id']
245
+ end
246
+
247
+ if attributes.key?(:'state_and_local_withholding')
248
+ self.state_and_local_withholding = attributes[:'state_and_local_withholding']
249
+ end
250
+
251
+ if attributes.key?(:'tin_type')
252
+ self.tin_type = attributes[:'tin_type']
253
+ end
254
+
255
+ if attributes.key?(:'id')
256
+ self.id = attributes[:'id']
257
+ end
258
+
259
+ if attributes.key?(:'issuer_id')
260
+ self.issuer_id = attributes[:'issuer_id']
261
+ end
262
+
263
+ if attributes.key?(:'issuer_reference_id')
264
+ self.issuer_reference_id = attributes[:'issuer_reference_id']
265
+ end
266
+
267
+ if attributes.key?(:'issuer_tin')
268
+ self.issuer_tin = attributes[:'issuer_tin']
269
+ end
270
+
271
+ if attributes.key?(:'tax_year')
272
+ self.tax_year = attributes[:'tax_year']
273
+ end
274
+
275
+ if attributes.key?(:'reference_id')
276
+ self.reference_id = attributes[:'reference_id']
277
+ end
278
+
279
+ if attributes.key?(:'recipient_name')
280
+ self.recipient_name = attributes[:'recipient_name']
281
+ end
282
+
283
+ if attributes.key?(:'recipient_tin')
284
+ self.recipient_tin = attributes[:'recipient_tin']
285
+ end
286
+
287
+ if attributes.key?(:'recipient_second_name')
288
+ self.recipient_second_name = attributes[:'recipient_second_name']
289
+ end
290
+
291
+ if attributes.key?(:'address')
292
+ self.address = attributes[:'address']
293
+ end
294
+
295
+ if attributes.key?(:'address2')
296
+ self.address2 = attributes[:'address2']
297
+ end
298
+
299
+ if attributes.key?(:'city')
300
+ self.city = attributes[:'city']
301
+ end
302
+
303
+ if attributes.key?(:'state')
304
+ self.state = attributes[:'state']
305
+ end
306
+
307
+ if attributes.key?(:'zip')
308
+ self.zip = attributes[:'zip']
309
+ end
310
+
311
+ if attributes.key?(:'recipient_email')
312
+ self.recipient_email = attributes[:'recipient_email']
313
+ end
314
+
315
+ if attributes.key?(:'account_number')
316
+ self.account_number = attributes[:'account_number']
317
+ end
318
+
319
+ if attributes.key?(:'office_code')
320
+ self.office_code = attributes[:'office_code']
321
+ end
322
+
323
+ if attributes.key?(:'recipient_non_us_province')
324
+ self.recipient_non_us_province = attributes[:'recipient_non_us_province']
325
+ end
326
+
327
+ if attributes.key?(:'country_code')
328
+ self.country_code = attributes[:'country_code']
329
+ end
330
+
331
+ if attributes.key?(:'federal_e_file')
332
+ self.federal_e_file = attributes[:'federal_e_file']
333
+ end
334
+
335
+ if attributes.key?(:'postal_mail')
336
+ self.postal_mail = attributes[:'postal_mail']
337
+ end
338
+
339
+ if attributes.key?(:'state_e_file')
340
+ self.state_e_file = attributes[:'state_e_file']
341
+ end
342
+
343
+ if attributes.key?(:'tin_match')
344
+ self.tin_match = attributes[:'tin_match']
345
+ end
346
+
347
+ if attributes.key?(:'address_verification')
348
+ self.address_verification = attributes[:'address_verification']
349
+ end
350
+
351
+ if attributes.key?(:'federal_efile_status')
352
+ self.federal_efile_status = attributes[:'federal_efile_status']
353
+ end
354
+
355
+ if attributes.key?(:'state_efile_status')
356
+ if (value = attributes[:'state_efile_status']).is_a?(Array)
357
+ self.state_efile_status = value
358
+ end
359
+ end
360
+
361
+ if attributes.key?(:'postal_mail_status')
362
+ self.postal_mail_status = attributes[:'postal_mail_status']
363
+ end
364
+
365
+ if attributes.key?(:'tin_match_status')
366
+ self.tin_match_status = attributes[:'tin_match_status']
367
+ end
368
+
369
+ if attributes.key?(:'address_verification_status')
370
+ self.address_verification_status = attributes[:'address_verification_status']
371
+ end
372
+
373
+ if attributes.key?(:'validation_errors')
374
+ if (value = attributes[:'validation_errors']).is_a?(Array)
375
+ self.validation_errors = value
376
+ end
377
+ end
378
+ end
379
+
380
+ # Show invalid properties with the reasons. Usually used together with valid?
381
+ # @return Array for valid properties with the reasons
382
+ def list_invalid_properties
383
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
384
+ invalid_properties = Array.new
385
+ invalid_properties
386
+ end
387
+
388
+ # Check to see if the all the properties in the model are valid
389
+ # @return true if the model is valid
390
+ def valid?
391
+ warn '[DEPRECATED] the `valid?` method is obsolete'
392
+ type_validator = EnumAttributeValidator.new('String', ["Form1099Nec", "Form1099Misc", "Form1099Div", "Form1099R", "Form1099K", "Form1095B"])
393
+ return false unless type_validator.valid?(@type)
394
+ tin_type_validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
395
+ return false unless tin_type_validator.valid?(@tin_type)
396
+ true
397
+ end
398
+
399
+ # Custom attribute writer method checking allowed values (enum).
400
+ # @param [Object] type Object to be assigned
401
+ def type=(type)
402
+ validator = EnumAttributeValidator.new('String', ["Form1099Nec", "Form1099Misc", "Form1099Div", "Form1099R", "Form1099K", "Form1095B"])
403
+ unless validator.valid?(type)
404
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
405
+ end
406
+ @type = type
407
+ end
408
+
409
+ # Custom attribute writer method checking allowed values (enum).
410
+ # @param [Object] tin_type Object to be assigned
411
+ def tin_type=(tin_type)
412
+ validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
413
+ unless validator.valid?(tin_type)
414
+ fail ArgumentError, "invalid value for \"tin_type\", must be one of #{validator.allowable_values}."
415
+ end
416
+ @tin_type = tin_type
417
+ end
418
+
419
+ # Custom attribute writer method with validation
420
+ # @param [Object] state_efile_status Value to be assigned
421
+ def state_efile_status=(state_efile_status)
422
+ @state_efile_status = state_efile_status
423
+ end
424
+
425
+ # Custom attribute writer method with validation
426
+ # @param [Object] validation_errors Value to be assigned
427
+ def validation_errors=(validation_errors)
428
+ @validation_errors = validation_errors
429
+ end
430
+
431
+ # Checks equality by comparing each attribute.
432
+ # @param [Object] Object to be compared
433
+ def ==(o)
434
+ return true if self.equal?(o)
435
+ self.class == o.class &&
436
+ type == o.type &&
437
+ created_at == o.created_at &&
438
+ updated_at == o.updated_at &&
439
+ user_id == o.user_id &&
440
+ state_and_local_withholding == o.state_and_local_withholding &&
441
+ tin_type == o.tin_type &&
442
+ id == o.id &&
443
+ issuer_id == o.issuer_id &&
444
+ issuer_reference_id == o.issuer_reference_id &&
445
+ issuer_tin == o.issuer_tin &&
446
+ tax_year == o.tax_year &&
447
+ reference_id == o.reference_id &&
448
+ recipient_name == o.recipient_name &&
449
+ recipient_tin == o.recipient_tin &&
450
+ recipient_second_name == o.recipient_second_name &&
451
+ address == o.address &&
452
+ address2 == o.address2 &&
453
+ city == o.city &&
454
+ state == o.state &&
455
+ zip == o.zip &&
456
+ recipient_email == o.recipient_email &&
457
+ account_number == o.account_number &&
458
+ office_code == o.office_code &&
459
+ recipient_non_us_province == o.recipient_non_us_province &&
460
+ country_code == o.country_code &&
461
+ federal_e_file == o.federal_e_file &&
462
+ postal_mail == o.postal_mail &&
463
+ state_e_file == o.state_e_file &&
464
+ tin_match == o.tin_match &&
465
+ address_verification == o.address_verification &&
466
+ federal_efile_status == o.federal_efile_status &&
467
+ state_efile_status == o.state_efile_status &&
468
+ postal_mail_status == o.postal_mail_status &&
469
+ tin_match_status == o.tin_match_status &&
470
+ address_verification_status == o.address_verification_status &&
471
+ validation_errors == o.validation_errors
472
+ end
473
+
474
+ # @see the `==` method
475
+ # @param [Object] Object to be compared
476
+ def eql?(o)
477
+ self == o
478
+ end
479
+
480
+ # Calculates hash code according to all attributes.
481
+ # @return [Integer] Hash code
482
+ def hash
483
+ [type, created_at, updated_at, user_id, state_and_local_withholding, tin_type, id, issuer_id, issuer_reference_id, issuer_tin, tax_year, reference_id, recipient_name, recipient_tin, recipient_second_name, address, address2, city, state, zip, recipient_email, account_number, office_code, recipient_non_us_province, country_code, federal_e_file, postal_mail, state_e_file, tin_match, address_verification, federal_efile_status, state_efile_status, postal_mail_status, tin_match_status, address_verification_status, validation_errors].hash
484
+ end
485
+
486
+ # Builds the object from hash
487
+ # @param [Hash] attributes Model attributes in the form of hash
488
+ # @return [Object] Returns the model itself
489
+ def self.build_from_hash(attributes)
490
+ return nil unless attributes.is_a?(Hash)
491
+ attributes = attributes.transform_keys(&:to_sym)
492
+ transformed_hash = {}
493
+ openapi_types.each_pair do |key, type|
494
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
495
+ transformed_hash["#{key}"] = nil
496
+ elsif type =~ /\AArray<(.*)>/i
497
+ # check to ensure the input is an array given that the attribute
498
+ # is documented as an array but the input is not
499
+ if attributes[attribute_map[key]].is_a?(Array)
500
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
501
+ end
502
+ elsif !attributes[attribute_map[key]].nil?
503
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
504
+ end
505
+ end
506
+ new(transformed_hash)
507
+ end
508
+
509
+ # Deserializes the data based on type
510
+ # @param string type Data type
511
+ # @param string value Value to be deserialized
512
+ # @return [Object] Deserialized data
513
+ def self._deserialize(type, value)
514
+ case type.to_sym
515
+ when :Time
516
+ Time.parse(value)
517
+ when :Date
518
+ Date.parse(value)
519
+ when :String
520
+ value.to_s
521
+ when :Integer
522
+ value.to_i
523
+ when :Float
524
+ value.to_f
525
+ when :Boolean
526
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
527
+ true
528
+ else
529
+ false
530
+ end
531
+ when :Object
532
+ # generic object (usually a Hash), return directly
533
+ value
534
+ when /\AArray<(?<inner_type>.+)>\z/
535
+ inner_type = Regexp.last_match[:inner_type]
536
+ value.map { |v| _deserialize(inner_type, v) }
537
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
538
+ k_type = Regexp.last_match[:k_type]
539
+ v_type = Regexp.last_match[:v_type]
540
+ {}.tap do |hash|
541
+ value.each do |k, v|
542
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
543
+ end
544
+ end
545
+ else # model
546
+ # models (e.g. Pet) or oneOf
547
+ klass = AvalaraSdk::A1099::V2.const_get(type)
548
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
549
+ end
550
+ end
551
+
552
+ # Returns the string representation of the object
553
+ # @return [String] String presentation of the object
554
+ def to_s
555
+ to_hash.to_s
556
+ end
557
+
558
+ # to_body is an alias to to_hash (backward compatibility)
559
+ # @return [Hash] Returns the object in the form of hash
560
+ def to_body
561
+ to_hash
562
+ end
563
+
564
+ # Returns the object in the form of hash
565
+ # @return [Hash] Returns the object in the form of hash
566
+ def to_hash
567
+ hash = {}
568
+ self.class.attribute_map.each_pair do |attr, param|
569
+ value = self.send(attr)
570
+ if value.nil?
571
+ is_nullable = self.class.openapi_nullable.include?(attr)
572
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
573
+ end
574
+
575
+ hash[param] = _to_hash(value)
576
+ end
577
+ hash
578
+ end
579
+
580
+ # Outputs non-array value in the form of hash
581
+ # For object, use to_hash. Otherwise, just return the value
582
+ # @param [Object] value Any valid value
583
+ # @return [Hash] Returns the value in the form of hash
584
+ def _to_hash(value)
585
+ if value.is_a?(Array)
586
+ value.compact.map { |v| _to_hash(v) }
587
+ elsif value.is_a?(Hash)
588
+ {}.tap do |hash|
589
+ value.each { |k, v| hash[k] = _to_hash(v) }
590
+ end
591
+ elsif value.respond_to? :to_hash
592
+ value.to_hash
593
+ else
594
+ value
595
+ end
596
+ end
597
+
598
+ end
599
+
600
+ end