solifyn 1.0.5 → 1.0.7

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 (124) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +202 -0
  3. data/README.md +6 -10
  4. data/docs/AffiliateApi.md +845 -0
  5. data/docs/BillingApi.md +68 -0
  6. data/docs/BrandsApi.md +286 -0
  7. data/docs/Business.md +56 -0
  8. data/docs/BusinessCreate.md +18 -0
  9. data/docs/BusinessFullCreate.md +26 -0
  10. data/docs/BusinessFullCreateResponse.md +20 -0
  11. data/docs/BusinessesApi.md +350 -0
  12. data/docs/ChatApi.md +246 -0
  13. data/docs/CollectionProductDto.md +0 -6
  14. data/docs/CommunityApi.md +497 -0
  15. data/docs/DefaultApi.md +0 -284
  16. data/docs/EntitlementGrantResponseDto.md +0 -8
  17. data/docs/PartnerApi.md +125 -0
  18. data/docs/PayoutAccessToken.md +20 -0
  19. data/docs/PayoutAccount.md +22 -0
  20. data/docs/PayoutAccountLink.md +20 -0
  21. data/docs/PayoutMethod.md +24 -0
  22. data/docs/PayoutMethodList.md +18 -0
  23. data/docs/PayoutVerification.md +24 -0
  24. data/docs/PayoutVerificationList.md +18 -0
  25. data/docs/PayoutsApi.md +579 -0
  26. data/docs/Product.md +0 -6
  27. data/docs/ProductCreate.md +0 -6
  28. data/docs/ProductUpdate.md +0 -6
  29. data/docs/TicketApi.md +318 -0
  30. data/docs/UserPage.md +26 -0
  31. data/docs/UserProfileThemesApi.md +345 -0
  32. data/docs/UserSettings.md +34 -0
  33. data/docs/UserSettingsUpdate.md +76 -0
  34. data/docs/UserStats.md +20 -0
  35. data/docs/UserTheme.md +26 -0
  36. data/docs/UserThemeUpdate.md +22 -0
  37. data/docs/WhopApiKeysRotation.md +18 -0
  38. data/docs/Withdrawal.md +46 -0
  39. data/docs/WithdrawalCreate.md +22 -0
  40. data/docs/WithdrawalList.md +20 -0
  41. data/git_push.sh +2 -2
  42. data/lib/solifyn/api/affiliate_api.rb +760 -0
  43. data/lib/solifyn/api/billing_api.rb +77 -0
  44. data/lib/solifyn/api/brands_api.rb +284 -0
  45. data/lib/solifyn/api/businesses_api.rb +338 -0
  46. data/lib/solifyn/api/chat_api.rb +232 -0
  47. data/lib/solifyn/api/community_api.rb +466 -0
  48. data/lib/solifyn/api/default_api.rb +0 -248
  49. data/lib/solifyn/api/{discord_integration_api.rb → partner_api.rb} +19 -32
  50. data/lib/solifyn/api/payouts_api.rb +520 -0
  51. data/lib/solifyn/api/ticket_api.rb +328 -0
  52. data/lib/solifyn/api/user_profile_themes_api.rb +313 -0
  53. data/lib/solifyn/models/business.rb +482 -0
  54. data/lib/solifyn/models/business_create.rb +241 -0
  55. data/lib/solifyn/models/business_full_create.rb +288 -0
  56. data/lib/solifyn/models/business_full_create_response.rb +239 -0
  57. data/lib/solifyn/models/collection_product_dto.rb +1 -52
  58. data/lib/solifyn/models/entitlement_grant_response_dto.rb +1 -41
  59. data/lib/solifyn/models/payout_access_token.rb +239 -0
  60. data/lib/solifyn/models/payout_account.rb +249 -0
  61. data/lib/solifyn/models/payout_account_link.rb +239 -0
  62. data/lib/solifyn/models/{discord_roles_response_dto.rb → payout_method.rb} +34 -41
  63. data/lib/solifyn/models/payout_method_list.rb +224 -0
  64. data/lib/solifyn/models/{webhook_entitlement_grant_payload.rb → payout_verification.rb} +41 -118
  65. data/lib/solifyn/models/payout_verification_list.rb +224 -0
  66. data/lib/solifyn/models/product.rb +1 -52
  67. data/lib/solifyn/models/product_create.rb +1 -33
  68. data/lib/solifyn/models/product_update.rb +1 -33
  69. data/lib/solifyn/models/user_page.rb +290 -0
  70. data/lib/solifyn/models/user_settings.rb +337 -0
  71. data/lib/solifyn/models/user_settings_update.rb +505 -0
  72. data/lib/solifyn/models/user_stats.rb +241 -0
  73. data/lib/solifyn/models/user_theme.rb +276 -0
  74. data/lib/solifyn/models/user_theme_update.rb +235 -0
  75. data/lib/solifyn/models/whop_api_keys_rotation.rb +222 -0
  76. data/lib/solifyn/models/withdrawal.rb +411 -0
  77. data/lib/solifyn/models/withdrawal_create.rb +249 -0
  78. data/lib/solifyn/models/withdrawal_list.rb +241 -0
  79. data/lib/solifyn/version.rb +1 -1
  80. data/lib/solifyn.rb +0 -3
  81. data/spec/api/affiliate_api_spec.rb +165 -0
  82. data/spec/api/billing_api_spec.rb +46 -0
  83. data/spec/api/brands_api_spec.rb +83 -0
  84. data/spec/api/businesses_api_spec.rb +93 -0
  85. data/spec/api/chat_api_spec.rb +72 -0
  86. data/spec/api/checkout_api_spec.rb +0 -12
  87. data/spec/api/community_api_spec.rb +113 -0
  88. data/spec/api/default_api_spec.rb +11 -59
  89. data/spec/api/developer_api_spec.rb +29 -52
  90. data/spec/api/{discord_integration_api_spec.rb → partner_api_spec.rb} +11 -16
  91. data/spec/api/payouts_api_spec.rb +133 -0
  92. data/spec/api/ticket_api_spec.rb +86 -0
  93. data/spec/api/user_profile_themes_api_spec.rb +91 -0
  94. data/spec/models/business_create_spec.rb +36 -0
  95. data/spec/models/business_full_create_response_spec.rb +42 -0
  96. data/spec/models/business_full_create_spec.rb +60 -0
  97. data/spec/models/business_spec.rb +150 -0
  98. data/spec/models/checkout_session_details_dto_spec.rb +0 -6
  99. data/spec/models/collection_product_dto_spec.rb +0 -28
  100. data/spec/models/order_spec.rb +0 -6
  101. data/spec/models/payout_access_token_spec.rb +42 -0
  102. data/spec/models/payout_account_link_spec.rb +42 -0
  103. data/spec/models/payout_account_spec.rb +48 -0
  104. data/spec/models/payout_method_list_spec.rb +36 -0
  105. data/spec/models/{discord_roles_response_dto_spec.rb → payout_method_spec.rb} +9 -9
  106. data/spec/models/payout_verification_list_spec.rb +36 -0
  107. data/spec/models/payout_verification_spec.rb +54 -0
  108. data/spec/models/product_create_spec.rb +0 -28
  109. data/spec/models/product_spec.rb +0 -28
  110. data/spec/models/product_update_spec.rb +0 -28
  111. data/spec/models/user_page_spec.rb +60 -0
  112. data/spec/models/user_settings_spec.rb +84 -0
  113. data/spec/models/user_settings_update_spec.rb +210 -0
  114. data/spec/models/user_stats_spec.rb +42 -0
  115. data/spec/models/user_theme_spec.rb +60 -0
  116. data/spec/models/user_theme_update_spec.rb +48 -0
  117. data/spec/models/whop_api_keys_rotation_spec.rb +36 -0
  118. data/spec/models/withdrawal_create_spec.rb +48 -0
  119. data/spec/models/withdrawal_list_spec.rb +42 -0
  120. data/spec/models/{webhook_entitlement_grant_payload_spec.rb → withdrawal_spec.rb} +23 -17
  121. metadata +258 -145
  122. data/docs/DiscordIntegrationApi.md +0 -135
  123. data/docs/DiscordRolesResponseDto.md +0 -24
  124. data/docs/WebhookEntitlementGrantPayload.md +0 -44
@@ -0,0 +1,224 @@
1
+ =begin
2
+ #Solifyn API
3
+
4
+ #Welcome to the Solifyn API Reference. Leverage our secure endpoints to manage products and issue, validate, and manage software license keys programmatically.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Solifyn
17
+ class PayoutMethodList
18
+ # List of payout methods available for the business
19
+ attr_accessor :data
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'data' => :'data'
25
+ }
26
+ end
27
+
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.openapi_types
35
+ {
36
+ :'data' => :'Array<PayoutMethod>'
37
+ }
38
+ end
39
+
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Solifyn::PayoutMethodList` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Solifyn::PayoutMethodList`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'data')
62
+ if (value = attributes[:'data']).is_a?(Array)
63
+ self.data = value
64
+ end
65
+ else
66
+ self.data = nil
67
+ end
68
+ end
69
+
70
+ # Show invalid properties with the reasons. Usually used together with valid?
71
+ # @return Array for valid properties with the reasons
72
+ def list_invalid_properties
73
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
74
+ invalid_properties = Array.new
75
+ if @data.nil?
76
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
77
+ end
78
+
79
+ invalid_properties
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ def valid?
85
+ warn '[DEPRECATED] the `valid?` method is obsolete'
86
+ return false if @data.nil?
87
+ true
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] Object to be compared
92
+ def ==(o)
93
+ return true if self.equal?(o)
94
+ self.class == o.class &&
95
+ data == o.data
96
+ end
97
+
98
+ # @see the `==` method
99
+ # @param [Object] Object to be compared
100
+ def eql?(o)
101
+ self == o
102
+ end
103
+
104
+ # Calculates hash code according to all attributes.
105
+ # @return [Integer] Hash code
106
+ def hash
107
+ [data].hash
108
+ end
109
+
110
+ # Builds the object from hash
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ # @return [Object] Returns the model itself
113
+ def self.build_from_hash(attributes)
114
+ return nil unless attributes.is_a?(Hash)
115
+ attributes = attributes.transform_keys(&:to_sym)
116
+ transformed_hash = {}
117
+ openapi_types.each_pair do |key, type|
118
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
119
+ transformed_hash["#{key}"] = nil
120
+ elsif type =~ /\AArray<(.*)>/i
121
+ # check to ensure the input is an array given that the attribute
122
+ # is documented as an array but the input is not
123
+ if attributes[attribute_map[key]].is_a?(Array)
124
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
125
+ end
126
+ elsif !attributes[attribute_map[key]].nil?
127
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
128
+ end
129
+ end
130
+ new(transformed_hash)
131
+ end
132
+
133
+ # Deserializes the data based on type
134
+ # @param string type Data type
135
+ # @param string value Value to be deserialized
136
+ # @return [Object] Deserialized data
137
+ def self._deserialize(type, value)
138
+ case type.to_sym
139
+ when :Time
140
+ Time.parse(value)
141
+ when :Date
142
+ Date.parse(value)
143
+ when :String
144
+ value.to_s
145
+ when :Integer
146
+ value.to_i
147
+ when :Float
148
+ value.to_f
149
+ when :Boolean
150
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
151
+ true
152
+ else
153
+ false
154
+ end
155
+ when :Object
156
+ # generic object (usually a Hash), return directly
157
+ value
158
+ when /\AArray<(?<inner_type>.+)>\z/
159
+ inner_type = Regexp.last_match[:inner_type]
160
+ value.map { |v| _deserialize(inner_type, v) }
161
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
162
+ k_type = Regexp.last_match[:k_type]
163
+ v_type = Regexp.last_match[:v_type]
164
+ {}.tap do |hash|
165
+ value.each do |k, v|
166
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
167
+ end
168
+ end
169
+ else # model
170
+ # models (e.g. Pet) or oneOf
171
+ klass = Solifyn.const_get(type)
172
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
173
+ end
174
+ end
175
+
176
+ # Returns the string representation of the object
177
+ # @return [String] String presentation of the object
178
+ def to_s
179
+ to_hash.to_s
180
+ end
181
+
182
+ # to_body is an alias to to_hash (backward compatibility)
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_body
185
+ to_hash
186
+ end
187
+
188
+ # Returns the object in the form of hash
189
+ # @return [Hash] Returns the object in the form of hash
190
+ def to_hash
191
+ hash = {}
192
+ self.class.attribute_map.each_pair do |attr, param|
193
+ value = self.send(attr)
194
+ if value.nil?
195
+ is_nullable = self.class.openapi_nullable.include?(attr)
196
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
197
+ end
198
+
199
+ hash[param] = _to_hash(value)
200
+ end
201
+ hash
202
+ end
203
+
204
+ # Outputs non-array value in the form of hash
205
+ # For object, use to_hash. Otherwise, just return the value
206
+ # @param [Object] value Any valid value
207
+ # @return [Hash] Returns the value in the form of hash
208
+ def _to_hash(value)
209
+ if value.is_a?(Array)
210
+ value.compact.map { |v| _to_hash(v) }
211
+ elsif value.is_a?(Hash)
212
+ {}.tap do |hash|
213
+ value.each { |k, v| hash[k] = _to_hash(v) }
214
+ end
215
+ elsif value.respond_to? :to_hash
216
+ value.to_hash
217
+ else
218
+ value
219
+ end
220
+ end
221
+
222
+ end
223
+
224
+ end
@@ -14,64 +14,26 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Solifyn
17
- class WebhookEntitlementGrantPayload
18
- # The unique entitlement grant ID.
17
+ class PayoutVerification
18
+ # The verification check ID
19
19
  attr_accessor :id
20
20
 
21
- # The business ID context.
22
- attr_accessor :business_id
23
-
24
- # The customer ID.
25
- attr_accessor :customer_id
26
-
27
- # Associated payment transaction ID.
28
- attr_accessor :payment_id
29
-
30
- # The purchased product ID.
31
- attr_accessor :product_id
32
-
33
- # The type of entitlement (e.g. GITHUB).
34
- attr_accessor :type
35
-
36
- # Target GitHub repository (owner/repo) if type is GITHUB.
37
- attr_accessor :github_repo
38
-
39
- # GitHub access permission level if type is GITHUB.
40
- attr_accessor :github_permission
41
-
42
- # The connected customer GitHub username.
43
- attr_accessor :github_username
44
-
45
- # Delivery status of the collaborator invite (PENDING, DELIVERED, FAILED, REVOKED).
21
+ # Status of verification (pending, verified, rejected)
46
22
  attr_accessor :status
47
23
 
48
- # OAuth URL to redirect the customer to.
49
- attr_accessor :oauth_url
50
-
51
- # Error message if invitation delivery failed.
52
- attr_accessor :error_details
53
-
54
- attr_accessor :created_at
24
+ # Verification type (identity, business, address)
25
+ attr_accessor :type
55
26
 
56
- attr_accessor :updated_at
27
+ # Details and requirements of the verification check
28
+ attr_accessor :details
57
29
 
58
30
  # Attribute mapping from ruby-style variable name to JSON key.
59
31
  def self.attribute_map
60
32
  {
61
33
  :'id' => :'id',
62
- :'business_id' => :'businessId',
63
- :'customer_id' => :'customerId',
64
- :'payment_id' => :'paymentId',
65
- :'product_id' => :'productId',
66
- :'type' => :'type',
67
- :'github_repo' => :'githubRepo',
68
- :'github_permission' => :'githubPermission',
69
- :'github_username' => :'githubUsername',
70
34
  :'status' => :'status',
71
- :'oauth_url' => :'oauthUrl',
72
- :'error_details' => :'errorDetails',
73
- :'created_at' => :'createdAt',
74
- :'updated_at' => :'updatedAt'
35
+ :'type' => :'type',
36
+ :'details' => :'details'
75
37
  }
76
38
  end
77
39
 
@@ -84,19 +46,9 @@ module Solifyn
84
46
  def self.openapi_types
85
47
  {
86
48
  :'id' => :'String',
87
- :'business_id' => :'String',
88
- :'customer_id' => :'String',
89
- :'payment_id' => :'String',
90
- :'product_id' => :'String',
91
- :'type' => :'String',
92
- :'github_repo' => :'String',
93
- :'github_permission' => :'String',
94
- :'github_username' => :'String',
95
49
  :'status' => :'String',
96
- :'oauth_url' => :'String',
97
- :'error_details' => :'String',
98
- :'created_at' => :'Time',
99
- :'updated_at' => :'Time'
50
+ :'type' => :'String',
51
+ :'details' => :'Object'
100
52
  }
101
53
  end
102
54
 
@@ -110,71 +62,37 @@ module Solifyn
110
62
  # @param [Hash] attributes Model attributes in the form of hash
111
63
  def initialize(attributes = {})
112
64
  if (!attributes.is_a?(Hash))
113
- fail ArgumentError, "The input argument (attributes) must be a hash in `Solifyn::WebhookEntitlementGrantPayload` initialize method"
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Solifyn::PayoutVerification` initialize method"
114
66
  end
115
67
 
116
68
  # check to see if the attribute exists and convert string to symbol for hash key
117
69
  attributes = attributes.each_with_object({}) { |(k, v), h|
118
70
  if (!self.class.attribute_map.key?(k.to_sym))
119
- fail ArgumentError, "`#{k}` is not a valid attribute in `Solifyn::WebhookEntitlementGrantPayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Solifyn::PayoutVerification`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
120
72
  end
121
73
  h[k.to_sym] = v
122
74
  }
123
75
 
124
76
  if attributes.key?(:'id')
125
77
  self.id = attributes[:'id']
126
- end
127
-
128
- if attributes.key?(:'business_id')
129
- self.business_id = attributes[:'business_id']
130
- end
131
-
132
- if attributes.key?(:'customer_id')
133
- self.customer_id = attributes[:'customer_id']
134
- end
135
-
136
- if attributes.key?(:'payment_id')
137
- self.payment_id = attributes[:'payment_id']
138
- end
139
-
140
- if attributes.key?(:'product_id')
141
- self.product_id = attributes[:'product_id']
142
- end
143
-
144
- if attributes.key?(:'type')
145
- self.type = attributes[:'type']
146
- end
147
-
148
- if attributes.key?(:'github_repo')
149
- self.github_repo = attributes[:'github_repo']
150
- end
151
-
152
- if attributes.key?(:'github_permission')
153
- self.github_permission = attributes[:'github_permission']
154
- end
155
-
156
- if attributes.key?(:'github_username')
157
- self.github_username = attributes[:'github_username']
78
+ else
79
+ self.id = nil
158
80
  end
159
81
 
160
82
  if attributes.key?(:'status')
161
83
  self.status = attributes[:'status']
84
+ else
85
+ self.status = nil
162
86
  end
163
87
 
164
- if attributes.key?(:'oauth_url')
165
- self.oauth_url = attributes[:'oauth_url']
166
- end
167
-
168
- if attributes.key?(:'error_details')
169
- self.error_details = attributes[:'error_details']
170
- end
171
-
172
- if attributes.key?(:'created_at')
173
- self.created_at = attributes[:'created_at']
88
+ if attributes.key?(:'type')
89
+ self.type = attributes[:'type']
90
+ else
91
+ self.type = nil
174
92
  end
175
93
 
176
- if attributes.key?(:'updated_at')
177
- self.updated_at = attributes[:'updated_at']
94
+ if attributes.key?(:'details')
95
+ self.details = attributes[:'details']
178
96
  end
179
97
  end
180
98
 
@@ -183,6 +101,18 @@ module Solifyn
183
101
  def list_invalid_properties
184
102
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
185
103
  invalid_properties = Array.new
104
+ if @id.nil?
105
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
106
+ end
107
+
108
+ if @status.nil?
109
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
110
+ end
111
+
112
+ if @type.nil?
113
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
114
+ end
115
+
186
116
  invalid_properties
187
117
  end
188
118
 
@@ -190,6 +120,9 @@ module Solifyn
190
120
  # @return true if the model is valid
191
121
  def valid?
192
122
  warn '[DEPRECATED] the `valid?` method is obsolete'
123
+ return false if @id.nil?
124
+ return false if @status.nil?
125
+ return false if @type.nil?
193
126
  true
194
127
  end
195
128
 
@@ -199,19 +132,9 @@ module Solifyn
199
132
  return true if self.equal?(o)
200
133
  self.class == o.class &&
201
134
  id == o.id &&
202
- business_id == o.business_id &&
203
- customer_id == o.customer_id &&
204
- payment_id == o.payment_id &&
205
- product_id == o.product_id &&
206
- type == o.type &&
207
- github_repo == o.github_repo &&
208
- github_permission == o.github_permission &&
209
- github_username == o.github_username &&
210
135
  status == o.status &&
211
- oauth_url == o.oauth_url &&
212
- error_details == o.error_details &&
213
- created_at == o.created_at &&
214
- updated_at == o.updated_at
136
+ type == o.type &&
137
+ details == o.details
215
138
  end
216
139
 
217
140
  # @see the `==` method
@@ -223,7 +146,7 @@ module Solifyn
223
146
  # Calculates hash code according to all attributes.
224
147
  # @return [Integer] Hash code
225
148
  def hash
226
- [id, business_id, customer_id, payment_id, product_id, type, github_repo, github_permission, github_username, status, oauth_url, error_details, created_at, updated_at].hash
149
+ [id, status, type, details].hash
227
150
  end
228
151
 
229
152
  # Builds the object from hash
@@ -0,0 +1,224 @@
1
+ =begin
2
+ #Solifyn API
3
+
4
+ #Welcome to the Solifyn API Reference. Leverage our secure endpoints to manage products and issue, validate, and manage software license keys programmatically.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Solifyn
17
+ class PayoutVerificationList
18
+ # List of verifications for the payout account
19
+ attr_accessor :data
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'data' => :'data'
25
+ }
26
+ end
27
+
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.openapi_types
35
+ {
36
+ :'data' => :'Array<PayoutVerification>'
37
+ }
38
+ end
39
+
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Solifyn::PayoutVerificationList` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Solifyn::PayoutVerificationList`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'data')
62
+ if (value = attributes[:'data']).is_a?(Array)
63
+ self.data = value
64
+ end
65
+ else
66
+ self.data = nil
67
+ end
68
+ end
69
+
70
+ # Show invalid properties with the reasons. Usually used together with valid?
71
+ # @return Array for valid properties with the reasons
72
+ def list_invalid_properties
73
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
74
+ invalid_properties = Array.new
75
+ if @data.nil?
76
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
77
+ end
78
+
79
+ invalid_properties
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ def valid?
85
+ warn '[DEPRECATED] the `valid?` method is obsolete'
86
+ return false if @data.nil?
87
+ true
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] Object to be compared
92
+ def ==(o)
93
+ return true if self.equal?(o)
94
+ self.class == o.class &&
95
+ data == o.data
96
+ end
97
+
98
+ # @see the `==` method
99
+ # @param [Object] Object to be compared
100
+ def eql?(o)
101
+ self == o
102
+ end
103
+
104
+ # Calculates hash code according to all attributes.
105
+ # @return [Integer] Hash code
106
+ def hash
107
+ [data].hash
108
+ end
109
+
110
+ # Builds the object from hash
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ # @return [Object] Returns the model itself
113
+ def self.build_from_hash(attributes)
114
+ return nil unless attributes.is_a?(Hash)
115
+ attributes = attributes.transform_keys(&:to_sym)
116
+ transformed_hash = {}
117
+ openapi_types.each_pair do |key, type|
118
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
119
+ transformed_hash["#{key}"] = nil
120
+ elsif type =~ /\AArray<(.*)>/i
121
+ # check to ensure the input is an array given that the attribute
122
+ # is documented as an array but the input is not
123
+ if attributes[attribute_map[key]].is_a?(Array)
124
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
125
+ end
126
+ elsif !attributes[attribute_map[key]].nil?
127
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
128
+ end
129
+ end
130
+ new(transformed_hash)
131
+ end
132
+
133
+ # Deserializes the data based on type
134
+ # @param string type Data type
135
+ # @param string value Value to be deserialized
136
+ # @return [Object] Deserialized data
137
+ def self._deserialize(type, value)
138
+ case type.to_sym
139
+ when :Time
140
+ Time.parse(value)
141
+ when :Date
142
+ Date.parse(value)
143
+ when :String
144
+ value.to_s
145
+ when :Integer
146
+ value.to_i
147
+ when :Float
148
+ value.to_f
149
+ when :Boolean
150
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
151
+ true
152
+ else
153
+ false
154
+ end
155
+ when :Object
156
+ # generic object (usually a Hash), return directly
157
+ value
158
+ when /\AArray<(?<inner_type>.+)>\z/
159
+ inner_type = Regexp.last_match[:inner_type]
160
+ value.map { |v| _deserialize(inner_type, v) }
161
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
162
+ k_type = Regexp.last_match[:k_type]
163
+ v_type = Regexp.last_match[:v_type]
164
+ {}.tap do |hash|
165
+ value.each do |k, v|
166
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
167
+ end
168
+ end
169
+ else # model
170
+ # models (e.g. Pet) or oneOf
171
+ klass = Solifyn.const_get(type)
172
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
173
+ end
174
+ end
175
+
176
+ # Returns the string representation of the object
177
+ # @return [String] String presentation of the object
178
+ def to_s
179
+ to_hash.to_s
180
+ end
181
+
182
+ # to_body is an alias to to_hash (backward compatibility)
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_body
185
+ to_hash
186
+ end
187
+
188
+ # Returns the object in the form of hash
189
+ # @return [Hash] Returns the object in the form of hash
190
+ def to_hash
191
+ hash = {}
192
+ self.class.attribute_map.each_pair do |attr, param|
193
+ value = self.send(attr)
194
+ if value.nil?
195
+ is_nullable = self.class.openapi_nullable.include?(attr)
196
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
197
+ end
198
+
199
+ hash[param] = _to_hash(value)
200
+ end
201
+ hash
202
+ end
203
+
204
+ # Outputs non-array value in the form of hash
205
+ # For object, use to_hash. Otherwise, just return the value
206
+ # @param [Object] value Any valid value
207
+ # @return [Hash] Returns the value in the form of hash
208
+ def _to_hash(value)
209
+ if value.is_a?(Array)
210
+ value.compact.map { |v| _to_hash(v) }
211
+ elsif value.is_a?(Hash)
212
+ {}.tap do |hash|
213
+ value.each { |k, v| hash[k] = _to_hash(v) }
214
+ end
215
+ elsif value.respond_to? :to_hash
216
+ value.to_hash
217
+ else
218
+ value
219
+ end
220
+ end
221
+
222
+ end
223
+
224
+ end