devdraft 1.0.1 → 1.0.3

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 (234) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +160 -191
  3. data/Rakefile +2 -0
  4. data/devdraft-1.0.0.gem +0 -0
  5. data/{devdraft_ai_sdk.gemspec → devdraft.gemspec} +15 -11
  6. data/docs/APIHealthApi.md +82 -30
  7. data/docs/AggregatedBalanceResponse.md +19 -6
  8. data/docs/AllBalancesResponse.md +19 -6
  9. data/docs/AppBalancesApi.md +125 -65
  10. data/docs/BridgeFiatPaymentRail.md +15 -0
  11. data/docs/BridgePaymentRail.md +12 -3
  12. data/docs/CreateBankPaymentIntentDto.md +49 -21
  13. data/docs/CreateCustomerDto.md +25 -9
  14. data/docs/CreateDirectBankTransferDto.md +29 -11
  15. data/docs/CreateDirectWalletTransferDto.md +21 -7
  16. data/docs/CreateExternalBankTransferDto.md +40 -0
  17. data/docs/CreateExternalStablecoinTransferDto.md +28 -0
  18. data/docs/CreateInvoiceDto.md +45 -19
  19. data/docs/CreateLiquidationAddressDto.md +43 -18
  20. data/docs/CreatePaymentLinkDto.md +53 -28
  21. data/docs/CreateStablePaymentIntentDto.md +43 -18
  22. data/docs/CreateStablecoinConversionDto.md +23 -8
  23. data/docs/CreateTaxDto.md +26 -0
  24. data/docs/CreateWebhookDto.md +23 -8
  25. data/docs/CustomerStatus.md +12 -3
  26. data/docs/CustomerType.md +15 -0
  27. data/docs/CustomersApi.md +187 -114
  28. data/docs/DestinationCurrency.md +12 -3
  29. data/docs/ExchangeRateResponseDto.md +25 -9
  30. data/docs/ExchangeRatesApi.md +130 -72
  31. data/docs/FiatCurrency.md +12 -3
  32. data/docs/HealthResponseDto.md +25 -9
  33. data/docs/InvoiceProductDto.md +17 -5
  34. data/docs/InvoicesApi.md +177 -104
  35. data/docs/LiquidationAddressResponseDto.md +41 -17
  36. data/docs/LiquidationAddressesApi.md +115 -61
  37. data/docs/PaymentIntentsApi.md +93 -57
  38. data/docs/PaymentLinkProductDto.md +17 -5
  39. data/docs/PaymentLinksApi.md +175 -102
  40. data/docs/PaymentRequestDto.md +21 -7
  41. data/docs/PaymentResponseDto.md +23 -8
  42. data/docs/ProductsApi.md +307 -194
  43. data/docs/PublicHealthResponseDto.md +19 -6
  44. data/docs/RefundResponseDto.md +23 -8
  45. data/docs/StableCoinCurrency.md +12 -3
  46. data/docs/TaxControllerCreate201Response.md +30 -0
  47. data/docs/TaxControllerDeleteWithoutId400Response.md +22 -0
  48. data/docs/TaxControllerUpdateWithoutId400Response.md +22 -0
  49. data/docs/TaxesApi.md +374 -122
  50. data/docs/TestPaymentsApi.md +150 -60
  51. data/docs/TransfersApi.md +274 -72
  52. data/docs/UpdateCustomerDto.md +25 -9
  53. data/docs/UpdateTaxDto.md +26 -0
  54. data/docs/UpdateWebhookDto.md +23 -8
  55. data/docs/WalletsApi.md +44 -24
  56. data/docs/WebhookResponseDto.md +29 -11
  57. data/docs/WebhooksApi.md +225 -134
  58. data/git_push.sh +41 -28
  59. data/lib/devdraft/api/api_health_api.rb +32 -16
  60. data/lib/devdraft/api/app_balances_api.rb +45 -22
  61. data/lib/devdraft/api/customers_api.rb +124 -71
  62. data/lib/devdraft/api/exchange_rates_api.rb +49 -26
  63. data/lib/devdraft/api/invoices_api.rb +89 -53
  64. data/lib/devdraft/api/liquidation_addresses_api.rb +70 -44
  65. data/lib/devdraft/api/payment_intents_api.rb +62 -40
  66. data/lib/devdraft/api/payment_links_api.rb +85 -49
  67. data/lib/devdraft/api/products_api.rb +214 -216
  68. data/lib/devdraft/api/taxes_api.rb +257 -66
  69. data/lib/devdraft/api/test_payments_api.rb +70 -44
  70. data/lib/devdraft/api/transfers_api.rb +206 -46
  71. data/lib/devdraft/api/wallets_api.rb +18 -9
  72. data/lib/devdraft/api/webhooks_api.rb +109 -66
  73. data/lib/devdraft/api_client.rb +76 -71
  74. data/lib/devdraft/api_error.rb +5 -4
  75. data/lib/devdraft/api_model_base.rb +88 -0
  76. data/lib/devdraft/configuration.rb +121 -18
  77. data/lib/devdraft/models/aggregated_balance_response.rb +68 -101
  78. data/lib/devdraft/models/all_balances_response.rb +76 -99
  79. data/lib/devdraft/models/bridge_fiat_payment_rail.rb +45 -0
  80. data/lib/devdraft/models/bridge_payment_rail.rb +36 -24
  81. data/lib/devdraft/models/create_bank_payment_intent_dto.rb +191 -114
  82. data/lib/devdraft/models/create_customer_dto.rb +123 -113
  83. data/lib/devdraft/models/create_direct_bank_transfer_dto.rb +105 -104
  84. data/lib/devdraft/models/create_direct_wallet_transfer_dto.rb +89 -100
  85. data/lib/devdraft/models/create_external_bank_transfer_dto.rb +505 -0
  86. data/lib/devdraft/models/create_external_stablecoin_transfer_dto.rb +266 -0
  87. data/lib/devdraft/models/create_invoice_dto.rb +151 -121
  88. data/lib/devdraft/models/create_liquidation_address_dto.rb +195 -115
  89. data/lib/devdraft/models/create_payment_link_dto.rb +192 -214
  90. data/lib/devdraft/models/create_stable_payment_intent_dto.rb +324 -111
  91. data/lib/devdraft/models/create_stablecoin_conversion_dto.rb +102 -101
  92. data/lib/devdraft/models/create_tax_dto.rb +281 -0
  93. data/lib/devdraft/models/create_webhook_dto.rb +104 -101
  94. data/lib/devdraft/models/customer_status.rb +23 -10
  95. data/lib/devdraft/models/customer_type.rb +45 -0
  96. data/lib/devdraft/models/destination_currency.rb +27 -15
  97. data/lib/devdraft/models/exchange_rate_response_dto.rb +103 -102
  98. data/lib/devdraft/models/fiat_currency.rb +22 -10
  99. data/lib/devdraft/models/health_response_dto.rb +99 -106
  100. data/lib/devdraft/models/invoice_product_dto.rb +63 -98
  101. data/lib/devdraft/models/liquidation_address_response_dto.rb +147 -110
  102. data/lib/devdraft/models/payment_link_product_dto.rb +70 -98
  103. data/lib/devdraft/models/payment_request_dto.rb +77 -100
  104. data/lib/devdraft/models/payment_response_dto.rb +102 -101
  105. data/lib/devdraft/models/public_health_response_dto.rb +68 -101
  106. data/lib/devdraft/models/refund_response_dto.rb +102 -101
  107. data/lib/devdraft/models/stable_coin_currency.rb +21 -9
  108. data/lib/devdraft/models/tax_controller_create201_response.rb +201 -0
  109. data/lib/devdraft/models/tax_controller_delete_without_id400_response.rb +165 -0
  110. data/lib/devdraft/models/tax_controller_update_without_id400_response.rb +165 -0
  111. data/lib/devdraft/models/update_customer_dto.rb +117 -113
  112. data/lib/devdraft/models/update_tax_dto.rb +256 -0
  113. data/lib/devdraft/models/update_webhook_dto.rb +70 -101
  114. data/lib/devdraft/models/webhook_response_dto.rb +140 -103
  115. data/lib/devdraft/version.rb +6 -5
  116. data/lib/devdraft.rb +18 -27
  117. data/spec/api/api_health_api_spec.rb +10 -9
  118. data/spec/api/app_balances_api_spec.rb +11 -10
  119. data/spec/api/customers_api_spec.rb +25 -24
  120. data/spec/api/exchange_rates_api_spec.rb +11 -10
  121. data/spec/api/invoices_api_spec.rb +16 -15
  122. data/spec/api/liquidation_addresses_api_spec.rb +13 -12
  123. data/spec/api/payment_intents_api_spec.rb +12 -11
  124. data/spec/api/payment_links_api_spec.rb +14 -13
  125. data/spec/api/products_api_spec.rb +41 -40
  126. data/spec/api/taxes_api_spec.rb +51 -21
  127. data/spec/api/test_payments_api_spec.rb +14 -13
  128. data/spec/api/transfers_api_spec.rb +36 -13
  129. data/spec/api/wallets_api_spec.rb +9 -8
  130. data/spec/api/webhooks_api_spec.rb +20 -19
  131. data/spec/models/aggregated_balance_response_spec.rb +15 -19
  132. data/spec/models/all_balances_response_spec.rb +14 -18
  133. data/spec/models/bridge_fiat_payment_rail_spec.rb +30 -0
  134. data/spec/models/bridge_payment_rail_spec.rb +11 -15
  135. data/spec/models/create_bank_payment_intent_dto_spec.rb +29 -33
  136. data/spec/models/create_customer_dto_spec.rb +17 -25
  137. data/spec/models/create_direct_bank_transfer_dto_spec.rb +19 -23
  138. data/spec/models/create_direct_wallet_transfer_dto_spec.rb +15 -19
  139. data/spec/models/create_external_bank_transfer_dto_spec.rb +102 -0
  140. data/spec/models/create_external_stablecoin_transfer_dto_spec.rb +66 -0
  141. data/spec/models/create_invoice_dto_spec.rb +31 -35
  142. data/spec/models/create_liquidation_address_dto_spec.rb +28 -32
  143. data/spec/models/create_payment_link_dto_spec.rb +34 -76
  144. data/spec/models/create_stable_payment_intent_dto_spec.rb +26 -30
  145. data/spec/models/create_stablecoin_conversion_dto_spec.rb +16 -20
  146. data/spec/models/create_tax_dto_spec.rb +60 -0
  147. data/spec/models/create_webhook_dto_spec.rb +16 -20
  148. data/spec/models/customer_status_spec.rb +11 -15
  149. data/spec/models/customer_type_spec.rb +30 -0
  150. data/spec/models/destination_currency_spec.rb +11 -15
  151. data/spec/models/exchange_rate_response_dto_spec.rb +17 -21
  152. data/spec/models/fiat_currency_spec.rb +11 -15
  153. data/spec/models/health_response_dto_spec.rb +19 -23
  154. data/spec/models/invoice_product_dto_spec.rb +13 -17
  155. data/spec/models/liquidation_address_response_dto_spec.rb +25 -29
  156. data/spec/models/payment_link_product_dto_spec.rb +13 -17
  157. data/spec/models/payment_request_dto_spec.rb +15 -19
  158. data/spec/models/payment_response_dto_spec.rb +16 -20
  159. data/spec/models/public_health_response_dto_spec.rb +15 -19
  160. data/spec/models/refund_response_dto_spec.rb +16 -20
  161. data/spec/models/stable_coin_currency_spec.rb +11 -15
  162. data/spec/models/tax_controller_create201_response_spec.rb +72 -0
  163. data/spec/models/tax_controller_delete_without_id400_response_spec.rb +48 -0
  164. data/spec/models/tax_controller_update_without_id400_response_spec.rb +48 -0
  165. data/spec/models/update_customer_dto_spec.rb +17 -25
  166. data/spec/models/update_tax_dto_spec.rb +60 -0
  167. data/spec/models/update_webhook_dto_spec.rb +16 -20
  168. data/spec/models/webhook_response_dto_spec.rb +19 -23
  169. data/spec/spec_helper.rb +5 -4
  170. metadata +49 -116
  171. data/docs/AllOfAllBalancesResponseEurc.md +0 -9
  172. data/docs/AllOfAllBalancesResponseUsdc.md +0 -9
  173. data/docs/AllOfCreateBankPaymentIntentDtoDestinationCurrency.md +0 -6
  174. data/docs/AllOfCreateBankPaymentIntentDtoDestinationNetwork.md +0 -6
  175. data/docs/AllOfCreateBankPaymentIntentDtoSourceCurrency.md +0 -6
  176. data/docs/AllOfCreateBankPaymentIntentDtoSourcePaymentRail.md +0 -6
  177. data/docs/AllOfCreateCustomerDtoStatus.md +0 -6
  178. data/docs/AllOfCreateLiquidationAddressDtoDestinationCurrency.md +0 -6
  179. data/docs/AllOfCreateLiquidationAddressDtoDestinationPaymentRail.md +0 -6
  180. data/docs/AllOfCreateStablePaymentIntentDtoDestinationCurrency.md +0 -6
  181. data/docs/AllOfCreateStablePaymentIntentDtoDestinationNetwork.md +0 -6
  182. data/docs/AllOfCreateStablePaymentIntentDtoSourceCurrency.md +0 -6
  183. data/docs/AllOfCreateStablePaymentIntentDtoSourceNetwork.md +0 -6
  184. data/docs/AllOfUpdateCustomerDtoStatus.md +0 -6
  185. data/docs/CreateProductDto.md +0 -18
  186. data/docs/CreateTaxInput.md +0 -6
  187. data/docs/UpdatePaymentLinkDto.md +0 -6
  188. data/docs/UpdatePreferenceInput.md +0 -6
  189. data/docs/UpdateProductDto.md +0 -18
  190. data/docs/UpdateTaxInput.md +0 -6
  191. data/example.rb +0 -94
  192. data/lib/devdraft/models/all_of_all_balances_response_eurc.rb +0 -283
  193. data/lib/devdraft/models/all_of_all_balances_response_usdc.rb +0 -283
  194. data/lib/devdraft/models/all_of_create_bank_payment_intent_dto_destination_currency.rb +0 -202
  195. data/lib/devdraft/models/all_of_create_bank_payment_intent_dto_destination_network.rb +0 -202
  196. data/lib/devdraft/models/all_of_create_bank_payment_intent_dto_source_currency.rb +0 -202
  197. data/lib/devdraft/models/all_of_create_bank_payment_intent_dto_source_payment_rail.rb +0 -202
  198. data/lib/devdraft/models/all_of_create_customer_dto_status.rb +0 -202
  199. data/lib/devdraft/models/all_of_create_liquidation_address_dto_destination_currency.rb +0 -202
  200. data/lib/devdraft/models/all_of_create_liquidation_address_dto_destination_payment_rail.rb +0 -202
  201. data/lib/devdraft/models/all_of_create_stable_payment_intent_dto_destination_currency.rb +0 -202
  202. data/lib/devdraft/models/all_of_create_stable_payment_intent_dto_destination_network.rb +0 -202
  203. data/lib/devdraft/models/all_of_create_stable_payment_intent_dto_source_currency.rb +0 -202
  204. data/lib/devdraft/models/all_of_create_stable_payment_intent_dto_source_network.rb +0 -202
  205. data/lib/devdraft/models/all_of_update_customer_dto_status.rb +0 -202
  206. data/lib/devdraft/models/create_product_dto.rb +0 -370
  207. data/lib/devdraft/models/create_tax_input.rb +0 -197
  208. data/lib/devdraft/models/update_payment_link_dto.rb +0 -197
  209. data/lib/devdraft/models/update_preference_input.rb +0 -197
  210. data/lib/devdraft/models/update_product_dto.rb +0 -355
  211. data/lib/devdraft/models/update_tax_input.rb +0 -197
  212. data/spec/api_client_spec.rb +0 -225
  213. data/spec/base_object_spec.rb +0 -109
  214. data/spec/configuration_spec.rb +0 -41
  215. data/spec/models/all_of_all_balances_response_eurc_spec.rb +0 -56
  216. data/spec/models/all_of_all_balances_response_usdc_spec.rb +0 -56
  217. data/spec/models/all_of_create_bank_payment_intent_dto_destination_currency_spec.rb +0 -34
  218. data/spec/models/all_of_create_bank_payment_intent_dto_destination_network_spec.rb +0 -34
  219. data/spec/models/all_of_create_bank_payment_intent_dto_source_currency_spec.rb +0 -34
  220. data/spec/models/all_of_create_bank_payment_intent_dto_source_payment_rail_spec.rb +0 -34
  221. data/spec/models/all_of_create_customer_dto_status_spec.rb +0 -34
  222. data/spec/models/all_of_create_liquidation_address_dto_destination_currency_spec.rb +0 -34
  223. data/spec/models/all_of_create_liquidation_address_dto_destination_payment_rail_spec.rb +0 -34
  224. data/spec/models/all_of_create_stable_payment_intent_dto_destination_currency_spec.rb +0 -34
  225. data/spec/models/all_of_create_stable_payment_intent_dto_destination_network_spec.rb +0 -34
  226. data/spec/models/all_of_create_stable_payment_intent_dto_source_currency_spec.rb +0 -34
  227. data/spec/models/all_of_create_stable_payment_intent_dto_source_network_spec.rb +0 -34
  228. data/spec/models/all_of_update_customer_dto_status_spec.rb +0 -34
  229. data/spec/models/create_product_dto_spec.rb +0 -110
  230. data/spec/models/create_tax_input_spec.rb +0 -34
  231. data/spec/models/update_payment_link_dto_spec.rb +0 -34
  232. data/spec/models/update_preference_input_spec.rb +0 -34
  233. data/spec/models/update_product_dto_spec.rb +0 -110
  234. data/spec/models/update_tax_input_spec.rb +0 -34
@@ -3,16 +3,18 @@
3
3
 
4
4
  # A comprehensive payment processing and business management API that enables seamless integration of cryptocurrency and traditional payment methods.
5
5
 
6
- OpenAPI spec version: 1.0.0
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.17.0
7
10
 
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 3.0.65
10
11
  =end
11
12
 
12
13
  require 'date'
14
+ require 'time'
13
15
 
14
- module DevDraftAI
15
- class CreateBankPaymentIntentDto
16
+ module Devdraft
17
+ class CreateBankPaymentIntentDto < ApiModelBase
16
18
  # The banking payment method to use for the transfer. Determines processing time and fees.
17
19
  attr_accessor :source_payment_rail
18
20
 
@@ -67,6 +69,28 @@ module DevDraftAI
67
69
  # ACH reference (for ACH transfers)
68
70
  attr_accessor :ach_reference
69
71
 
72
+ class EnumAttributeValidator
73
+ attr_reader :datatype
74
+ attr_reader :allowable_values
75
+
76
+ def initialize(datatype, allowable_values)
77
+ @allowable_values = allowable_values.map do |value|
78
+ case datatype.to_s
79
+ when /Integer/i
80
+ value.to_i
81
+ when /Float/i
82
+ value.to_f
83
+ else
84
+ value
85
+ end
86
+ end
87
+ end
88
+
89
+ def valid?(value)
90
+ !value || allowable_values.include?(value)
91
+ end
92
+ end
93
+
70
94
  # Attribute mapping from ruby-style variable name to JSON key.
71
95
  def self.attribute_map
72
96
  {
@@ -91,27 +115,37 @@ module DevDraftAI
91
115
  }
92
116
  end
93
117
 
118
+ # Returns attribute mapping this model knows about
119
+ def self.acceptable_attribute_map
120
+ attribute_map
121
+ end
122
+
123
+ # Returns all the JSON keys this model knows about
124
+ def self.acceptable_attributes
125
+ acceptable_attribute_map.values
126
+ end
127
+
94
128
  # Attribute type mapping.
95
129
  def self.openapi_types
96
130
  {
97
- :'source_payment_rail' => :'Object',
98
- :'source_currency' => :'Object',
99
- :'destination_currency' => :'Object',
100
- :'destination_network' => :'Object',
101
- :'destination_address' => :'Object',
102
- :'amount' => :'Object',
103
- :'customer_first_name' => :'Object',
104
- :'customer_last_name' => :'Object',
105
- :'customer_email' => :'Object',
106
- :'customer_address' => :'Object',
107
- :'customer_country' => :'Object',
108
- :'customer_country_iso' => :'Object',
109
- :'customer_province' => :'Object',
110
- :'customer_province_iso' => :'Object',
111
- :'phone_number' => :'Object',
112
- :'wire_message' => :'Object',
113
- :'sepa_reference' => :'Object',
114
- :'ach_reference' => :'Object'
131
+ :'source_payment_rail' => :'BridgePaymentRail',
132
+ :'source_currency' => :'FiatCurrency',
133
+ :'destination_currency' => :'StableCoinCurrency',
134
+ :'destination_network' => :'BridgePaymentRail',
135
+ :'destination_address' => :'String',
136
+ :'amount' => :'String',
137
+ :'customer_first_name' => :'String',
138
+ :'customer_last_name' => :'String',
139
+ :'customer_email' => :'String',
140
+ :'customer_address' => :'String',
141
+ :'customer_country' => :'String',
142
+ :'customer_country_iso' => :'String',
143
+ :'customer_province' => :'String',
144
+ :'customer_province_iso' => :'String',
145
+ :'phone_number' => :'String',
146
+ :'wire_message' => :'String',
147
+ :'sepa_reference' => :'String',
148
+ :'ach_reference' => :'String'
115
149
  }
116
150
  end
117
151
 
@@ -120,36 +154,45 @@ module DevDraftAI
120
154
  Set.new([
121
155
  ])
122
156
  end
123
-
157
+
124
158
  # Initializes the object
125
159
  # @param [Hash] attributes Model attributes in the form of hash
126
160
  def initialize(attributes = {})
127
161
  if (!attributes.is_a?(Hash))
128
- fail ArgumentError, "The input argument (attributes) must be a hash in `DevDraftAI::CreateBankPaymentIntentDto` initialize method"
162
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Devdraft::CreateBankPaymentIntentDto` initialize method"
129
163
  end
130
164
 
131
165
  # check to see if the attribute exists and convert string to symbol for hash key
166
+ acceptable_attribute_map = self.class.acceptable_attribute_map
132
167
  attributes = attributes.each_with_object({}) { |(k, v), h|
133
- if (!self.class.attribute_map.key?(k.to_sym))
134
- fail ArgumentError, "`#{k}` is not a valid attribute in `DevDraftAI::CreateBankPaymentIntentDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
168
+ if (!acceptable_attribute_map.key?(k.to_sym))
169
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Devdraft::CreateBankPaymentIntentDto`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
135
170
  end
136
171
  h[k.to_sym] = v
137
172
  }
138
173
 
139
174
  if attributes.key?(:'source_payment_rail')
140
175
  self.source_payment_rail = attributes[:'source_payment_rail']
176
+ else
177
+ self.source_payment_rail = nil
141
178
  end
142
179
 
143
180
  if attributes.key?(:'source_currency')
144
181
  self.source_currency = attributes[:'source_currency']
182
+ else
183
+ self.source_currency = nil
145
184
  end
146
185
 
147
186
  if attributes.key?(:'destination_currency')
148
187
  self.destination_currency = attributes[:'destination_currency']
188
+ else
189
+ self.destination_currency = nil
149
190
  end
150
191
 
151
192
  if attributes.key?(:'destination_network')
152
193
  self.destination_network = attributes[:'destination_network']
194
+ else
195
+ self.destination_network = nil
153
196
  end
154
197
 
155
198
  if attributes.key?(:'destination_address')
@@ -212,6 +255,7 @@ module DevDraftAI
212
255
  # Show invalid properties with the reasons. Usually used together with valid?
213
256
  # @return Array for valid properties with the reasons
214
257
  def list_invalid_properties
258
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
215
259
  invalid_properties = Array.new
216
260
  if @source_payment_rail.nil?
217
261
  invalid_properties.push('invalid value for "source_payment_rail", source_payment_rail cannot be nil.')
@@ -229,19 +273,126 @@ module DevDraftAI
229
273
  invalid_properties.push('invalid value for "destination_network", destination_network cannot be nil.')
230
274
  end
231
275
 
276
+ if !@wire_message.nil? && @wire_message.to_s.length > 256
277
+ invalid_properties.push('invalid value for "wire_message", the character length must be smaller than or equal to 256.')
278
+ end
279
+
280
+ if !@sepa_reference.nil? && @sepa_reference.to_s.length > 140
281
+ invalid_properties.push('invalid value for "sepa_reference", the character length must be smaller than or equal to 140.')
282
+ end
283
+
284
+ if !@sepa_reference.nil? && @sepa_reference.to_s.length < 6
285
+ invalid_properties.push('invalid value for "sepa_reference", the character length must be greater than or equal to 6.')
286
+ end
287
+
288
+ if !@ach_reference.nil? && @ach_reference.to_s.length > 10
289
+ invalid_properties.push('invalid value for "ach_reference", the character length must be smaller than or equal to 10.')
290
+ end
291
+
232
292
  invalid_properties
233
293
  end
234
294
 
235
295
  # Check to see if the all the properties in the model are valid
236
296
  # @return true if the model is valid
237
297
  def valid?
298
+ warn '[DEPRECATED] the `valid?` method is obsolete'
238
299
  return false if @source_payment_rail.nil?
239
300
  return false if @source_currency.nil?
240
301
  return false if @destination_currency.nil?
241
302
  return false if @destination_network.nil?
303
+ return false if !@wire_message.nil? && @wire_message.to_s.length > 256
304
+ return false if !@sepa_reference.nil? && @sepa_reference.to_s.length > 140
305
+ return false if !@sepa_reference.nil? && @sepa_reference.to_s.length < 6
306
+ return false if !@ach_reference.nil? && @ach_reference.to_s.length > 10
242
307
  true
243
308
  end
244
309
 
310
+ # Custom attribute writer method with validation
311
+ # @param [Object] source_payment_rail Value to be assigned
312
+ def source_payment_rail=(source_payment_rail)
313
+ if source_payment_rail.nil?
314
+ fail ArgumentError, 'source_payment_rail cannot be nil'
315
+ end
316
+
317
+ @source_payment_rail = source_payment_rail
318
+ end
319
+
320
+ # Custom attribute writer method with validation
321
+ # @param [Object] source_currency Value to be assigned
322
+ def source_currency=(source_currency)
323
+ if source_currency.nil?
324
+ fail ArgumentError, 'source_currency cannot be nil'
325
+ end
326
+
327
+ @source_currency = source_currency
328
+ end
329
+
330
+ # Custom attribute writer method with validation
331
+ # @param [Object] destination_currency Value to be assigned
332
+ def destination_currency=(destination_currency)
333
+ if destination_currency.nil?
334
+ fail ArgumentError, 'destination_currency cannot be nil'
335
+ end
336
+
337
+ @destination_currency = destination_currency
338
+ end
339
+
340
+ # Custom attribute writer method with validation
341
+ # @param [Object] destination_network Value to be assigned
342
+ def destination_network=(destination_network)
343
+ if destination_network.nil?
344
+ fail ArgumentError, 'destination_network cannot be nil'
345
+ end
346
+
347
+ @destination_network = destination_network
348
+ end
349
+
350
+ # Custom attribute writer method with validation
351
+ # @param [Object] wire_message Value to be assigned
352
+ def wire_message=(wire_message)
353
+ if wire_message.nil?
354
+ fail ArgumentError, 'wire_message cannot be nil'
355
+ end
356
+
357
+ if wire_message.to_s.length > 256
358
+ fail ArgumentError, 'invalid value for "wire_message", the character length must be smaller than or equal to 256.'
359
+ end
360
+
361
+ @wire_message = wire_message
362
+ end
363
+
364
+ # Custom attribute writer method with validation
365
+ # @param [Object] sepa_reference Value to be assigned
366
+ def sepa_reference=(sepa_reference)
367
+ if sepa_reference.nil?
368
+ fail ArgumentError, 'sepa_reference cannot be nil'
369
+ end
370
+
371
+ if sepa_reference.to_s.length > 140
372
+ fail ArgumentError, 'invalid value for "sepa_reference", the character length must be smaller than or equal to 140.'
373
+ end
374
+
375
+ if sepa_reference.to_s.length < 6
376
+ fail ArgumentError, 'invalid value for "sepa_reference", the character length must be greater than or equal to 6.'
377
+ end
378
+
379
+ @sepa_reference = sepa_reference
380
+ end
381
+
382
+ # Custom attribute writer method with validation
383
+ # @param [Object] ach_reference Value to be assigned
384
+ def ach_reference=(ach_reference)
385
+ if ach_reference.nil?
386
+ fail ArgumentError, 'ach_reference cannot be nil'
387
+ end
388
+
389
+ if ach_reference.to_s.length > 10
390
+ fail ArgumentError, 'invalid value for "ach_reference", the character length must be smaller than or equal to 10.'
391
+ end
392
+
393
+ @ach_reference = ach_reference
394
+ end
395
+
245
396
  # Checks equality by comparing each attribute.
246
397
  # @param [Object] Object to be compared
247
398
  def ==(o)
@@ -283,82 +434,23 @@ module DevDraftAI
283
434
  # @param [Hash] attributes Model attributes in the form of hash
284
435
  # @return [Object] Returns the model itself
285
436
  def self.build_from_hash(attributes)
286
- new.build_from_hash(attributes)
287
- end
288
-
289
- # Builds the object from hash
290
- # @param [Hash] attributes Model attributes in the form of hash
291
- # @return [Object] Returns the model itself
292
- def build_from_hash(attributes)
293
437
  return nil unless attributes.is_a?(Hash)
294
- self.class.openapi_types.each_pair do |key, type|
295
- if type =~ /\AArray<(.*)>/i
438
+ attributes = attributes.transform_keys(&:to_sym)
439
+ transformed_hash = {}
440
+ openapi_types.each_pair do |key, type|
441
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
442
+ transformed_hash["#{key}"] = nil
443
+ elsif type =~ /\AArray<(.*)>/i
296
444
  # check to ensure the input is an array given that the attribute
297
445
  # is documented as an array but the input is not
298
- if attributes[self.class.attribute_map[key]].is_a?(Array)
299
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
300
- end
301
- elsif !attributes[self.class.attribute_map[key]].nil?
302
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
303
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
304
- self.send("#{key}=", nil)
305
- end
306
- end
307
-
308
- self
309
- end
310
-
311
- # Deserializes the data based on type
312
- # @param string type Data type
313
- # @param string value Value to be deserialized
314
- # @return [Object] Deserialized data
315
- def _deserialize(type, value)
316
- case type.to_sym
317
- when :DateTime
318
- DateTime.parse(value)
319
- when :Date
320
- Date.parse(value)
321
- when :String
322
- value.to_s
323
- when :Integer
324
- value.to_i
325
- when :Float
326
- value.to_f
327
- when :Boolean
328
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
329
- true
330
- else
331
- false
332
- end
333
- when :Object
334
- # generic object (usually a Hash), return directly
335
- value
336
- when /\AArray<(?<inner_type>.+)>\z/
337
- inner_type = Regexp.last_match[:inner_type]
338
- value.map { |v| _deserialize(inner_type, v) }
339
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
340
- k_type = Regexp.last_match[:k_type]
341
- v_type = Regexp.last_match[:v_type]
342
- {}.tap do |hash|
343
- value.each do |k, v|
344
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
446
+ if attributes[attribute_map[key]].is_a?(Array)
447
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
345
448
  end
449
+ elsif !attributes[attribute_map[key]].nil?
450
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
346
451
  end
347
- else # model
348
- DevDraftAI.const_get(type).build_from_hash(value)
349
452
  end
350
- end
351
-
352
- # Returns the string representation of the object
353
- # @return [String] String presentation of the object
354
- def to_s
355
- to_hash.to_s
356
- end
357
-
358
- # to_body is an alias to to_hash (backward compatibility)
359
- # @return [Hash] Returns the object in the form of hash
360
- def to_body
361
- to_hash
453
+ new(transformed_hash)
362
454
  end
363
455
 
364
456
  # Returns the object in the form of hash
@@ -377,21 +469,6 @@ module DevDraftAI
377
469
  hash
378
470
  end
379
471
 
380
- # Outputs non-array value in the form of hash
381
- # For object, use to_hash. Otherwise, just return the value
382
- # @param [Object] value Any valid value
383
- # @return [Hash] Returns the value in the form of hash
384
- def _to_hash(value)
385
- if value.is_a?(Array)
386
- value.compact.map { |v| _to_hash(v) }
387
- elsif value.is_a?(Hash)
388
- {}.tap do |hash|
389
- value.each { |k, v| hash[k] = _to_hash(v) }
390
- end
391
- elsif value.respond_to? :to_hash
392
- value.to_hash
393
- else
394
- value
395
- end
396
- end end
472
+ end
473
+
397
474
  end