lago_ruby 0.46.0.pre.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (553) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +128 -0
  3. data/CONTRIBUTING.md +213 -0
  4. data/Gemfile +9 -0
  5. data/Gemfile.lock +72 -0
  6. data/LICENSE +21 -0
  7. data/README.md +343 -0
  8. data/Rakefile +10 -0
  9. data/docs/AddOn.md +18 -0
  10. data/docs/AddOnBaseInput.md +28 -0
  11. data/docs/AddOnCreateInput.md +18 -0
  12. data/docs/AddOnCreateInputAddOn.md +28 -0
  13. data/docs/AddOnObject.md +32 -0
  14. data/docs/AddOnUpdateInput.md +18 -0
  15. data/docs/AddOnsApi.md +433 -0
  16. data/docs/AddOnsPaginated.md +20 -0
  17. data/docs/ApiErrorBadRequest.md +20 -0
  18. data/docs/ApiErrorForbidden.md +22 -0
  19. data/docs/ApiErrorNotAllowed.md +22 -0
  20. data/docs/ApiErrorNotFound.md +22 -0
  21. data/docs/ApiErrorUnauthorized.md +20 -0
  22. data/docs/ApiErrorUnprocessableEntity.md +24 -0
  23. data/docs/AppliedAddOn.md +18 -0
  24. data/docs/AppliedAddOnInput.md +18 -0
  25. data/docs/AppliedAddOnInputAppliedAddOn.md +24 -0
  26. data/docs/AppliedAddOnObject.md +32 -0
  27. data/docs/AppliedCoupon.md +18 -0
  28. data/docs/AppliedCouponInput.md +18 -0
  29. data/docs/AppliedCouponInputAppliedCoupon.md +30 -0
  30. data/docs/AppliedCouponObject.md +50 -0
  31. data/docs/AppliedCouponObjectExtended.md +52 -0
  32. data/docs/AppliedCouponsPaginated.md +20 -0
  33. data/docs/BaseAppliedTax.md +34 -0
  34. data/docs/BillableMetric.md +18 -0
  35. data/docs/BillableMetricBaseInput.md +30 -0
  36. data/docs/BillableMetricCreateInput.md +18 -0
  37. data/docs/BillableMetricCreateInputBillableMetric.md +30 -0
  38. data/docs/BillableMetricGroup.md +20 -0
  39. data/docs/BillableMetricGroupValuesInner.md +49 -0
  40. data/docs/BillableMetricGroupValuesInnerOneOf.md +20 -0
  41. data/docs/BillableMetricObject.md +40 -0
  42. data/docs/BillableMetricUpdateInput.md +18 -0
  43. data/docs/BillableMetricsApi.md +439 -0
  44. data/docs/BillableMetricsPaginated.md +20 -0
  45. data/docs/ChargeObject.md +40 -0
  46. data/docs/ChargeObjectProperties.md +40 -0
  47. data/docs/ChargeProperties.md +40 -0
  48. data/docs/ChargePropertiesGraduatedPercentageRangesInner.md +24 -0
  49. data/docs/ChargePropertiesGraduatedRangesInner.md +24 -0
  50. data/docs/ChargePropertiesVolumeRangesInner.md +24 -0
  51. data/docs/Country.md +15 -0
  52. data/docs/Coupon.md +18 -0
  53. data/docs/CouponBaseInput.md +42 -0
  54. data/docs/CouponBaseInputAppliesTo.md +20 -0
  55. data/docs/CouponCreateInput.md +18 -0
  56. data/docs/CouponCreateInputCoupon.md +42 -0
  57. data/docs/CouponObject.md +52 -0
  58. data/docs/CouponUpdateInput.md +18 -0
  59. data/docs/CouponsApi.md +583 -0
  60. data/docs/CouponsPaginated.md +20 -0
  61. data/docs/CreateWebhookEndpoint200Response.md +18 -0
  62. data/docs/CreateWebhookEndpoint200ResponseWebhookEndpoint.md +26 -0
  63. data/docs/CreateWebhookEndpointRequest.md +18 -0
  64. data/docs/CreateWebhookEndpointRequestWebhookEndpoint.md +20 -0
  65. data/docs/CreditNote.md +18 -0
  66. data/docs/CreditNoteAppliedTaxObject.md +38 -0
  67. data/docs/CreditNoteCreateInput.md +18 -0
  68. data/docs/CreditNoteCreateInputCreditNote.md +28 -0
  69. data/docs/CreditNoteCreateInputCreditNoteItemsInner.md +20 -0
  70. data/docs/CreditNoteItemObject.md +24 -0
  71. data/docs/CreditNoteItemObjectFee.md +74 -0
  72. data/docs/CreditNoteObject.md +64 -0
  73. data/docs/CreditNoteUpdateInput.md +18 -0
  74. data/docs/CreditNoteUpdateInputCreditNote.md +18 -0
  75. data/docs/CreditNotes.md +18 -0
  76. data/docs/CreditNotesApi.md +435 -0
  77. data/docs/CreditObject.md +28 -0
  78. data/docs/CreditObjectInvoice.md +20 -0
  79. data/docs/CreditObjectItem.md +24 -0
  80. data/docs/Currency.md +15 -0
  81. data/docs/Customer.md +18 -0
  82. data/docs/CustomerBillingConfiguration.md +30 -0
  83. data/docs/CustomerChargeUsageObject.md +28 -0
  84. data/docs/CustomerChargeUsageObjectBillableMetric.md +24 -0
  85. data/docs/CustomerChargeUsageObjectCharge.md +20 -0
  86. data/docs/CustomerChargeUsageObjectGroupsInner.md +26 -0
  87. data/docs/CustomerCreateInput.md +18 -0
  88. data/docs/CustomerCreateInputCustomer.md +58 -0
  89. data/docs/CustomerCreateInputCustomerMetadataInner.md +24 -0
  90. data/docs/CustomerMetadata.md +26 -0
  91. data/docs/CustomerObject.md +68 -0
  92. data/docs/CustomerObjectExtended.md +70 -0
  93. data/docs/CustomerUsage.md +18 -0
  94. data/docs/CustomerUsageObject.md +32 -0
  95. data/docs/CustomersApi.md +505 -0
  96. data/docs/CustomersPaginated.md +20 -0
  97. data/docs/Event.md +18 -0
  98. data/docs/EventBatchInput.md +18 -0
  99. data/docs/EventBatchInputEvent.md +28 -0
  100. data/docs/EventBatchInputEventProperties.md +18 -0
  101. data/docs/EventEstimateFeesInput.md +18 -0
  102. data/docs/EventEstimateFeesInputEvent.md +24 -0
  103. data/docs/EventInput.md +18 -0
  104. data/docs/EventInputEvent.md +28 -0
  105. data/docs/EventObject.md +36 -0
  106. data/docs/EventsApi.md +285 -0
  107. data/docs/Fee.md +18 -0
  108. data/docs/FeeAppliedTaxObject.md +36 -0
  109. data/docs/FeeObject.md +74 -0
  110. data/docs/FeeObjectItem.md +26 -0
  111. data/docs/FeeUpdateInput.md +18 -0
  112. data/docs/FeeUpdateInputFee.md +18 -0
  113. data/docs/Fees.md +18 -0
  114. data/docs/FeesApi.md +253 -0
  115. data/docs/FeesPaginated.md +20 -0
  116. data/docs/FindAllWebhookEndpoints200Response.md +20 -0
  117. data/docs/GetCustomerPortalUrl200Response.md +18 -0
  118. data/docs/GetCustomerPortalUrl200ResponseCustomer.md +18 -0
  119. data/docs/GroupObject.md +22 -0
  120. data/docs/GroupPropertiesObject.md +20 -0
  121. data/docs/GroupPropertiesObjectValues.md +40 -0
  122. data/docs/GroupsPaginated.md +20 -0
  123. data/docs/Invoice.md +18 -0
  124. data/docs/InvoiceAppliedTaxObject.md +38 -0
  125. data/docs/InvoiceMetadataObject.md +24 -0
  126. data/docs/InvoiceObject.md +62 -0
  127. data/docs/InvoiceObjectCustomer.md +68 -0
  128. data/docs/InvoiceObjectExtended.md +68 -0
  129. data/docs/InvoiceOneOffCreateInput.md +18 -0
  130. data/docs/InvoiceOneOffCreateInputInvoice.md +22 -0
  131. data/docs/InvoiceOneOffCreateInputInvoiceFeesInner.md +26 -0
  132. data/docs/InvoiceUpdateInput.md +18 -0
  133. data/docs/InvoiceUpdateInputInvoice.md +20 -0
  134. data/docs/InvoiceUpdateInputInvoiceMetadataInner.md +22 -0
  135. data/docs/InvoicesApi.md +582 -0
  136. data/docs/InvoicesPaginated.md +20 -0
  137. data/docs/Organization.md +18 -0
  138. data/docs/OrganizationBillingConfiguration.md +22 -0
  139. data/docs/OrganizationObject.md +54 -0
  140. data/docs/OrganizationUpdateInput.md +18 -0
  141. data/docs/OrganizationUpdateInputOrganization.md +46 -0
  142. data/docs/OrganizationsApi.md +77 -0
  143. data/docs/PaginationMeta.md +26 -0
  144. data/docs/Plan.md +18 -0
  145. data/docs/PlanCreateInput.md +18 -0
  146. data/docs/PlanCreateInputPlan.md +38 -0
  147. data/docs/PlanCreateInputPlanChargesInner.md +34 -0
  148. data/docs/PlanCreateInputPlanChargesInnerGroupPropertiesInner.md +20 -0
  149. data/docs/PlanObject.md +46 -0
  150. data/docs/PlanUpdateInput.md +18 -0
  151. data/docs/PlanUpdateInputPlan.md +38 -0
  152. data/docs/PlanUpdateInputPlanChargesInner.md +36 -0
  153. data/docs/PlansApi.md +363 -0
  154. data/docs/PlansPaginated.md +20 -0
  155. data/docs/Subscription.md +18 -0
  156. data/docs/SubscriptionCreateInput.md +18 -0
  157. data/docs/SubscriptionCreateInputSubscription.md +28 -0
  158. data/docs/SubscriptionObject.md +48 -0
  159. data/docs/SubscriptionUpdateInput.md +18 -0
  160. data/docs/SubscriptionUpdateInputSubscription.md +20 -0
  161. data/docs/SubscriptionsApi.md +303 -0
  162. data/docs/SubscriptionsPaginated.md +20 -0
  163. data/docs/Tax.md +18 -0
  164. data/docs/TaxBaseInput.md +26 -0
  165. data/docs/TaxCreateInput.md +18 -0
  166. data/docs/TaxCreateInputTax.md +26 -0
  167. data/docs/TaxObject.md +38 -0
  168. data/docs/TaxUpdateInput.md +18 -0
  169. data/docs/TaxesApi.md +363 -0
  170. data/docs/TaxesPaginated.md +20 -0
  171. data/docs/Timezone.md +15 -0
  172. data/docs/Wallet.md +18 -0
  173. data/docs/WalletCreateInput.md +18 -0
  174. data/docs/WalletCreateInputWallet.md +30 -0
  175. data/docs/WalletObject.md +46 -0
  176. data/docs/WalletTransactionCreateInput.md +18 -0
  177. data/docs/WalletTransactionCreateInputWalletTransaction.md +22 -0
  178. data/docs/WalletTransactionObject.md +32 -0
  179. data/docs/WalletTransactions.md +18 -0
  180. data/docs/WalletTransactionsPaginated.md +20 -0
  181. data/docs/WalletUpdateInput.md +18 -0
  182. data/docs/WalletUpdateInputWallet.md +20 -0
  183. data/docs/WalletsApi.md +515 -0
  184. data/docs/WalletsPaginated.md +20 -0
  185. data/docs/WebhookEndpointsApi.md +363 -0
  186. data/docs/WebhooksApi.md +74 -0
  187. data/git_push.sh +57 -0
  188. data/lago_ruby.gemspec +42 -0
  189. data/lib/lago_ruby/api/add_ons_api.rb +421 -0
  190. data/lib/lago_ruby/api/billable_metrics_api.rb +422 -0
  191. data/lib/lago_ruby/api/coupons_api.rb +563 -0
  192. data/lib/lago_ruby/api/credit_notes_api.rb +419 -0
  193. data/lib/lago_ruby/api/customers_api.rb +481 -0
  194. data/lib/lago_ruby/api/events_api.rb +289 -0
  195. data/lib/lago_ruby/api/fees_api.rb +268 -0
  196. data/lib/lago_ruby/api/invoices_api.rb +565 -0
  197. data/lib/lago_ruby/api/organizations_api.rb +90 -0
  198. data/lib/lago_ruby/api/plans_api.rb +353 -0
  199. data/lib/lago_ruby/api/subscriptions_api.rb +306 -0
  200. data/lib/lago_ruby/api/taxes_api.rb +353 -0
  201. data/lib/lago_ruby/api/wallets_api.rb +503 -0
  202. data/lib/lago_ruby/api/webhook_endpoints_api.rb +353 -0
  203. data/lib/lago_ruby/api/webhooks_api.rb +79 -0
  204. data/lib/lago_ruby/api_client.rb +392 -0
  205. data/lib/lago_ruby/api_error.rb +58 -0
  206. data/lib/lago_ruby/configuration.rb +297 -0
  207. data/lib/lago_ruby/models/add_on.rb +221 -0
  208. data/lib/lago_ruby/models/add_on_base_input.rb +267 -0
  209. data/lib/lago_ruby/models/add_on_create_input.rb +221 -0
  210. data/lib/lago_ruby/models/add_on_create_input_add_on.rb +302 -0
  211. data/lib/lago_ruby/models/add_on_object.rb +329 -0
  212. data/lib/lago_ruby/models/add_on_update_input.rb +221 -0
  213. data/lib/lago_ruby/models/add_ons_paginated.rb +239 -0
  214. data/lib/lago_ruby/models/api_error_bad_request.rb +237 -0
  215. data/lib/lago_ruby/models/api_error_forbidden.rb +253 -0
  216. data/lib/lago_ruby/models/api_error_not_allowed.rb +253 -0
  217. data/lib/lago_ruby/models/api_error_not_found.rb +253 -0
  218. data/lib/lago_ruby/models/api_error_unauthorized.rb +237 -0
  219. data/lib/lago_ruby/models/api_error_unprocessable_entity.rb +269 -0
  220. data/lib/lago_ruby/models/applied_add_on.rb +221 -0
  221. data/lib/lago_ruby/models/applied_add_on_input.rb +221 -0
  222. data/lib/lago_ruby/models/applied_add_on_input_applied_add_on.rb +259 -0
  223. data/lib/lago_ruby/models/applied_add_on_object.rb +339 -0
  224. data/lib/lago_ruby/models/applied_coupon.rb +221 -0
  225. data/lib/lago_ruby/models/applied_coupon_input.rb +221 -0
  226. data/lib/lago_ruby/models/applied_coupon_input_applied_coupon.rb +343 -0
  227. data/lib/lago_ruby/models/applied_coupon_object.rb +507 -0
  228. data/lib/lago_ruby/models/applied_coupon_object_extended.rb +532 -0
  229. data/lib/lago_ruby/models/applied_coupons_paginated.rb +239 -0
  230. data/lib/lago_ruby/models/base_applied_tax.rb +294 -0
  231. data/lib/lago_ruby/models/billable_metric.rb +221 -0
  232. data/lib/lago_ruby/models/billable_metric_base_input.rb +310 -0
  233. data/lib/lago_ruby/models/billable_metric_create_input.rb +221 -0
  234. data/lib/lago_ruby/models/billable_metric_create_input_billable_metric.rb +338 -0
  235. data/lib/lago_ruby/models/billable_metric_group.rb +242 -0
  236. data/lib/lago_ruby/models/billable_metric_group_values_inner.rb +105 -0
  237. data/lib/lago_ruby/models/billable_metric_group_values_inner_one_of.rb +242 -0
  238. data/lib/lago_ruby/models/billable_metric_object.rb +423 -0
  239. data/lib/lago_ruby/models/billable_metric_update_input.rb +221 -0
  240. data/lib/lago_ruby/models/billable_metrics_paginated.rb +239 -0
  241. data/lib/lago_ruby/models/charge_object.rb +397 -0
  242. data/lib/lago_ruby/models/charge_object_properties.rb +422 -0
  243. data/lib/lago_ruby/models/charge_properties.rb +415 -0
  244. data/lib/lago_ruby/models/charge_properties_graduated_percentage_ranges_inner.rb +269 -0
  245. data/lib/lago_ruby/models/charge_properties_graduated_ranges_inner.rb +311 -0
  246. data/lib/lago_ruby/models/charge_properties_volume_ranges_inner.rb +311 -0
  247. data/lib/lago_ruby/models/country.rb +287 -0
  248. data/lib/lago_ruby/models/coupon.rb +221 -0
  249. data/lib/lago_ruby/models/coupon_base_input.rb +414 -0
  250. data/lib/lago_ruby/models/coupon_base_input_applies_to.rb +232 -0
  251. data/lib/lago_ruby/models/coupon_create_input.rb +221 -0
  252. data/lib/lago_ruby/models/coupon_create_input_coupon.rb +449 -0
  253. data/lib/lago_ruby/models/coupon_object.rb +538 -0
  254. data/lib/lago_ruby/models/coupon_update_input.rb +221 -0
  255. data/lib/lago_ruby/models/coupons_paginated.rb +239 -0
  256. data/lib/lago_ruby/models/create_webhook_endpoint200_response.rb +221 -0
  257. data/lib/lago_ruby/models/create_webhook_endpoint200_response_webhook_endpoint.rb +317 -0
  258. data/lib/lago_ruby/models/create_webhook_endpoint_request.rb +214 -0
  259. data/lib/lago_ruby/models/create_webhook_endpoint_request_webhook_endpoint.rb +267 -0
  260. data/lib/lago_ruby/models/credit_note.rb +221 -0
  261. data/lib/lago_ruby/models/credit_note_applied_tax_object.rb +320 -0
  262. data/lib/lago_ruby/models/credit_note_create_input.rb +221 -0
  263. data/lib/lago_ruby/models/credit_note_create_input_credit_note.rb +318 -0
  264. data/lib/lago_ruby/models/credit_note_create_input_credit_note_items_inner.rb +239 -0
  265. data/lib/lago_ruby/models/credit_note_item_object.rb +271 -0
  266. data/lib/lago_ruby/models/credit_note_item_object_fee.rb +628 -0
  267. data/lib/lago_ruby/models/credit_note_object.rb +635 -0
  268. data/lib/lago_ruby/models/credit_note_update_input.rb +221 -0
  269. data/lib/lago_ruby/models/credit_note_update_input_credit_note.rb +256 -0
  270. data/lib/lago_ruby/models/credit_notes.rb +223 -0
  271. data/lib/lago_ruby/models/credit_object.rb +304 -0
  272. data/lib/lago_ruby/models/credit_object_invoice.rb +271 -0
  273. data/lib/lago_ruby/models/credit_object_item.rb +308 -0
  274. data/lib/lago_ruby/models/currency.rb +175 -0
  275. data/lib/lago_ruby/models/customer.rb +221 -0
  276. data/lib/lago_ruby/models/customer_billing_configuration.rb +313 -0
  277. data/lib/lago_ruby/models/customer_charge_usage_object.rb +327 -0
  278. data/lib/lago_ruby/models/customer_charge_usage_object_billable_metric.rb +308 -0
  279. data/lib/lago_ruby/models/customer_charge_usage_object_charge.rb +274 -0
  280. data/lib/lago_ruby/models/customer_charge_usage_object_groups_inner.rb +277 -0
  281. data/lib/lago_ruby/models/customer_create_input.rb +221 -0
  282. data/lib/lago_ruby/models/customer_create_input_customer.rb +436 -0
  283. data/lib/lago_ruby/models/customer_create_input_customer_metadata_inner.rb +266 -0
  284. data/lib/lago_ruby/models/customer_metadata.rb +291 -0
  285. data/lib/lago_ruby/models/customer_object.rb +517 -0
  286. data/lib/lago_ruby/models/customer_object_extended.rb +536 -0
  287. data/lib/lago_ruby/models/customer_usage.rb +221 -0
  288. data/lib/lago_ruby/models/customer_usage_object.rb +335 -0
  289. data/lib/lago_ruby/models/customers_paginated.rb +239 -0
  290. data/lib/lago_ruby/models/event.rb +221 -0
  291. data/lib/lago_ruby/models/event_batch_input.rb +221 -0
  292. data/lib/lago_ruby/models/event_batch_input_event.rb +287 -0
  293. data/lib/lago_ruby/models/event_batch_input_event_properties.rb +250 -0
  294. data/lib/lago_ruby/models/event_estimate_fees_input.rb +221 -0
  295. data/lib/lago_ruby/models/event_estimate_fees_input_event.rb +252 -0
  296. data/lib/lago_ruby/models/event_input.rb +221 -0
  297. data/lib/lago_ruby/models/event_input_event.rb +278 -0
  298. data/lib/lago_ruby/models/event_object.rb +367 -0
  299. data/lib/lago_ruby/models/fee.rb +221 -0
  300. data/lib/lago_ruby/models/fee_applied_tax_object.rb +311 -0
  301. data/lib/lago_ruby/models/fee_object.rb +621 -0
  302. data/lib/lago_ruby/models/fee_object_item.rb +337 -0
  303. data/lib/lago_ruby/models/fee_update_input.rb +221 -0
  304. data/lib/lago_ruby/models/fee_update_input_fee.rb +256 -0
  305. data/lib/lago_ruby/models/fees.rb +223 -0
  306. data/lib/lago_ruby/models/fees_paginated.rb +246 -0
  307. data/lib/lago_ruby/models/find_all_webhook_endpoints200_response.rb +239 -0
  308. data/lib/lago_ruby/models/get_customer_portal_url200_response.rb +221 -0
  309. data/lib/lago_ruby/models/get_customer_portal_url200_response_customer.rb +222 -0
  310. data/lib/lago_ruby/models/group_object.rb +256 -0
  311. data/lib/lago_ruby/models/group_properties_object.rb +238 -0
  312. data/lib/lago_ruby/models/group_properties_object_values.rb +422 -0
  313. data/lib/lago_ruby/models/groups_paginated.rb +239 -0
  314. data/lib/lago_ruby/models/invoice.rb +221 -0
  315. data/lib/lago_ruby/models/invoice_applied_tax_object.rb +321 -0
  316. data/lib/lago_ruby/models/invoice_metadata_object.rb +245 -0
  317. data/lib/lago_ruby/models/invoice_object.rb +611 -0
  318. data/lib/lago_ruby/models/invoice_object_customer.rb +524 -0
  319. data/lib/lago_ruby/models/invoice_object_extended.rb +651 -0
  320. data/lib/lago_ruby/models/invoice_one_off_create_input.rb +221 -0
  321. data/lib/lago_ruby/models/invoice_one_off_create_input_invoice.rb +249 -0
  322. data/lib/lago_ruby/models/invoice_one_off_create_input_invoice_fees_inner.rb +284 -0
  323. data/lib/lago_ruby/models/invoice_update_input.rb +221 -0
  324. data/lib/lago_ruby/models/invoice_update_input_invoice.rb +260 -0
  325. data/lib/lago_ruby/models/invoice_update_input_invoice_metadata_inner.rb +235 -0
  326. data/lib/lago_ruby/models/invoices_paginated.rb +239 -0
  327. data/lib/lago_ruby/models/organization.rb +221 -0
  328. data/lib/lago_ruby/models/organization_billing_configuration.rb +237 -0
  329. data/lib/lago_ruby/models/organization_object.rb +431 -0
  330. data/lib/lago_ruby/models/organization_update_input.rb +221 -0
  331. data/lib/lago_ruby/models/organization_update_input_organization.rb +386 -0
  332. data/lib/lago_ruby/models/pagination_meta.rb +278 -0
  333. data/lib/lago_ruby/models/plan.rb +221 -0
  334. data/lib/lago_ruby/models/plan_create_input.rb +221 -0
  335. data/lib/lago_ruby/models/plan_create_input_plan.rb +353 -0
  336. data/lib/lago_ruby/models/plan_create_input_plan_charges_inner.rb +332 -0
  337. data/lib/lago_ruby/models/plan_create_input_plan_charges_inner_group_properties_inner.rb +238 -0
  338. data/lib/lago_ruby/models/plan_object.rb +456 -0
  339. data/lib/lago_ruby/models/plan_update_input.rb +221 -0
  340. data/lib/lago_ruby/models/plan_update_input_plan.rb +353 -0
  341. data/lib/lago_ruby/models/plan_update_input_plan_charges_inner.rb +342 -0
  342. data/lib/lago_ruby/models/plans_paginated.rb +239 -0
  343. data/lib/lago_ruby/models/subscription.rb +221 -0
  344. data/lib/lago_ruby/models/subscription_create_input.rb +221 -0
  345. data/lib/lago_ruby/models/subscription_create_input_subscription.rb +320 -0
  346. data/lib/lago_ruby/models/subscription_object.rb +481 -0
  347. data/lib/lago_ruby/models/subscription_update_input.rb +221 -0
  348. data/lib/lago_ruby/models/subscription_update_input_subscription.rb +226 -0
  349. data/lib/lago_ruby/models/subscriptions_paginated.rb +239 -0
  350. data/lib/lago_ruby/models/tax.rb +221 -0
  351. data/lib/lago_ruby/models/tax_base_input.rb +277 -0
  352. data/lib/lago_ruby/models/tax_create_input.rb +221 -0
  353. data/lib/lago_ruby/models/tax_create_input_tax.rb +305 -0
  354. data/lib/lago_ruby/models/tax_object.rb +364 -0
  355. data/lib/lago_ruby/models/tax_update_input.rb +221 -0
  356. data/lib/lago_ruby/models/taxes_paginated.rb +239 -0
  357. data/lib/lago_ruby/models/timezone.rb +173 -0
  358. data/lib/lago_ruby/models/wallet.rb +221 -0
  359. data/lib/lago_ruby/models/wallet_create_input.rb +214 -0
  360. data/lib/lago_ruby/models/wallet_create_input_wallet.rb +353 -0
  361. data/lib/lago_ruby/models/wallet_object.rb +525 -0
  362. data/lib/lago_ruby/models/wallet_transaction_create_input.rb +221 -0
  363. data/lib/lago_ruby/models/wallet_transaction_create_input_wallet_transaction.rb +284 -0
  364. data/lib/lago_ruby/models/wallet_transaction_object.rb +422 -0
  365. data/lib/lago_ruby/models/wallet_transactions.rb +223 -0
  366. data/lib/lago_ruby/models/wallet_transactions_paginated.rb +246 -0
  367. data/lib/lago_ruby/models/wallet_update_input.rb +221 -0
  368. data/lib/lago_ruby/models/wallet_update_input_wallet.rb +227 -0
  369. data/lib/lago_ruby/models/wallets_paginated.rb +239 -0
  370. data/lib/lago_ruby/version.rb +15 -0
  371. data/lib/lago_ruby.rb +217 -0
  372. data/spec/api/add_ons_api_spec.rb +109 -0
  373. data/spec/api/billable_metrics_api_spec.rb +111 -0
  374. data/spec/api/coupons_api_spec.rb +137 -0
  375. data/spec/api/credit_notes_api_spec.rb +110 -0
  376. data/spec/api/customers_api_spec.rb +122 -0
  377. data/spec/api/events_api_spec.rb +83 -0
  378. data/spec/api/fees_api_spec.rb +87 -0
  379. data/spec/api/invoices_api_spec.rb +138 -0
  380. data/spec/api/organizations_api_spec.rb +47 -0
  381. data/spec/api/plans_api_spec.rb +97 -0
  382. data/spec/api/subscriptions_api_spec.rb +89 -0
  383. data/spec/api/taxes_api_spec.rb +97 -0
  384. data/spec/api/wallets_api_spec.rb +126 -0
  385. data/spec/api/webhook_endpoints_api_spec.rb +97 -0
  386. data/spec/api/webhooks_api_spec.rb +46 -0
  387. data/spec/api_client_spec.rb +228 -0
  388. data/spec/configuration_spec.rb +42 -0
  389. data/spec/models/add_on_base_input_spec.rb +64 -0
  390. data/spec/models/add_on_create_input_add_on_spec.rb +64 -0
  391. data/spec/models/add_on_create_input_spec.rb +34 -0
  392. data/spec/models/add_on_object_spec.rb +76 -0
  393. data/spec/models/add_on_spec.rb +34 -0
  394. data/spec/models/add_on_update_input_spec.rb +34 -0
  395. data/spec/models/add_ons_paginated_spec.rb +40 -0
  396. data/spec/models/api_error_bad_request_spec.rb +40 -0
  397. data/spec/models/api_error_forbidden_spec.rb +46 -0
  398. data/spec/models/api_error_not_allowed_spec.rb +46 -0
  399. data/spec/models/api_error_not_found_spec.rb +46 -0
  400. data/spec/models/api_error_unauthorized_spec.rb +40 -0
  401. data/spec/models/api_error_unprocessable_entity_spec.rb +52 -0
  402. data/spec/models/applied_add_on_input_applied_add_on_spec.rb +52 -0
  403. data/spec/models/applied_add_on_input_spec.rb +34 -0
  404. data/spec/models/applied_add_on_object_spec.rb +76 -0
  405. data/spec/models/applied_add_on_spec.rb +34 -0
  406. data/spec/models/applied_coupon_input_applied_coupon_spec.rb +74 -0
  407. data/spec/models/applied_coupon_input_spec.rb +34 -0
  408. data/spec/models/applied_coupon_object_extended_spec.rb +144 -0
  409. data/spec/models/applied_coupon_object_spec.rb +138 -0
  410. data/spec/models/applied_coupon_spec.rb +34 -0
  411. data/spec/models/applied_coupons_paginated_spec.rb +40 -0
  412. data/spec/models/base_applied_tax_spec.rb +82 -0
  413. data/spec/models/billable_metric_base_input_spec.rb +74 -0
  414. data/spec/models/billable_metric_create_input_billable_metric_spec.rb +74 -0
  415. data/spec/models/billable_metric_create_input_spec.rb +34 -0
  416. data/spec/models/billable_metric_group_spec.rb +40 -0
  417. data/spec/models/billable_metric_group_values_inner_one_of_spec.rb +40 -0
  418. data/spec/models/billable_metric_group_values_inner_spec.rb +31 -0
  419. data/spec/models/billable_metric_object_spec.rb +104 -0
  420. data/spec/models/billable_metric_spec.rb +34 -0
  421. data/spec/models/billable_metric_update_input_spec.rb +34 -0
  422. data/spec/models/billable_metrics_paginated_spec.rb +40 -0
  423. data/spec/models/charge_object_properties_spec.rb +100 -0
  424. data/spec/models/charge_object_spec.rb +104 -0
  425. data/spec/models/charge_properties_graduated_percentage_ranges_inner_spec.rb +52 -0
  426. data/spec/models/charge_properties_graduated_ranges_inner_spec.rb +59 -0
  427. data/spec/models/charge_properties_spec.rb +100 -0
  428. data/spec/models/charge_properties_volume_ranges_inner_spec.rb +59 -0
  429. data/spec/models/country_spec.rb +28 -0
  430. data/spec/models/coupon_base_input_applies_to_spec.rb +40 -0
  431. data/spec/models/coupon_base_input_spec.rb +118 -0
  432. data/spec/models/coupon_create_input_coupon_spec.rb +118 -0
  433. data/spec/models/coupon_create_input_spec.rb +34 -0
  434. data/spec/models/coupon_object_spec.rb +148 -0
  435. data/spec/models/coupon_spec.rb +34 -0
  436. data/spec/models/coupon_update_input_spec.rb +34 -0
  437. data/spec/models/coupons_paginated_spec.rb +40 -0
  438. data/spec/models/create_webhook_endpoint200_response_spec.rb +34 -0
  439. data/spec/models/create_webhook_endpoint200_response_webhook_endpoint_spec.rb +62 -0
  440. data/spec/models/create_webhook_endpoint_request_spec.rb +34 -0
  441. data/spec/models/create_webhook_endpoint_request_webhook_endpoint_spec.rb +44 -0
  442. data/spec/models/credit_note_applied_tax_object_spec.rb +94 -0
  443. data/spec/models/credit_note_create_input_credit_note_items_inner_spec.rb +40 -0
  444. data/spec/models/credit_note_create_input_credit_note_spec.rb +68 -0
  445. data/spec/models/credit_note_create_input_spec.rb +34 -0
  446. data/spec/models/credit_note_item_object_fee_spec.rb +206 -0
  447. data/spec/models/credit_note_item_object_spec.rb +52 -0
  448. data/spec/models/credit_note_object_spec.rb +184 -0
  449. data/spec/models/credit_note_spec.rb +34 -0
  450. data/spec/models/credit_note_update_input_credit_note_spec.rb +38 -0
  451. data/spec/models/credit_note_update_input_spec.rb +34 -0
  452. data/spec/models/credit_notes_spec.rb +34 -0
  453. data/spec/models/credit_object_invoice_spec.rb +44 -0
  454. data/spec/models/credit_object_item_spec.rb +56 -0
  455. data/spec/models/credit_object_spec.rb +64 -0
  456. data/spec/models/currency_spec.rb +28 -0
  457. data/spec/models/customer_billing_configuration_spec.rb +74 -0
  458. data/spec/models/customer_charge_usage_object_billable_metric_spec.rb +56 -0
  459. data/spec/models/customer_charge_usage_object_charge_spec.rb +44 -0
  460. data/spec/models/customer_charge_usage_object_groups_inner_spec.rb +58 -0
  461. data/spec/models/customer_charge_usage_object_spec.rb +89 -0
  462. data/spec/models/customer_create_input_customer_metadata_inner_spec.rb +52 -0
  463. data/spec/models/customer_create_input_customer_spec.rb +154 -0
  464. data/spec/models/customer_create_input_spec.rb +34 -0
  465. data/spec/models/customer_metadata_spec.rb +58 -0
  466. data/spec/models/customer_object_extended_spec.rb +190 -0
  467. data/spec/models/customer_object_spec.rb +184 -0
  468. data/spec/models/customer_spec.rb +34 -0
  469. data/spec/models/customer_usage_object_spec.rb +76 -0
  470. data/spec/models/customer_usage_spec.rb +34 -0
  471. data/spec/models/customers_paginated_spec.rb +40 -0
  472. data/spec/models/event_batch_input_event_properties_spec.rb +38 -0
  473. data/spec/models/event_batch_input_event_spec.rb +64 -0
  474. data/spec/models/event_batch_input_spec.rb +34 -0
  475. data/spec/models/event_estimate_fees_input_event_spec.rb +52 -0
  476. data/spec/models/event_estimate_fees_input_spec.rb +34 -0
  477. data/spec/models/event_input_event_spec.rb +64 -0
  478. data/spec/models/event_input_spec.rb +34 -0
  479. data/spec/models/event_object_spec.rb +88 -0
  480. data/spec/models/event_spec.rb +34 -0
  481. data/spec/models/fee_applied_tax_object_spec.rb +88 -0
  482. data/spec/models/fee_object_item_spec.rb +66 -0
  483. data/spec/models/fee_object_spec.rb +206 -0
  484. data/spec/models/fee_spec.rb +34 -0
  485. data/spec/models/fee_update_input_fee_spec.rb +38 -0
  486. data/spec/models/fee_update_input_spec.rb +34 -0
  487. data/spec/models/fees_paginated_spec.rb +40 -0
  488. data/spec/models/fees_spec.rb +34 -0
  489. data/spec/models/find_all_webhook_endpoints200_response_spec.rb +40 -0
  490. data/spec/models/get_customer_portal_url200_response_customer_spec.rb +34 -0
  491. data/spec/models/get_customer_portal_url200_response_spec.rb +34 -0
  492. data/spec/models/group_object_spec.rb +46 -0
  493. data/spec/models/group_properties_object_spec.rb +40 -0
  494. data/spec/models/group_properties_object_values_spec.rb +100 -0
  495. data/spec/models/groups_paginated_spec.rb +40 -0
  496. data/spec/models/invoice_applied_tax_object_spec.rb +94 -0
  497. data/spec/models/invoice_metadata_object_spec.rb +52 -0
  498. data/spec/models/invoice_object_customer_spec.rb +184 -0
  499. data/spec/models/invoice_object_extended_spec.rb +196 -0
  500. data/spec/models/invoice_object_spec.rb +178 -0
  501. data/spec/models/invoice_one_off_create_input_invoice_fees_inner_spec.rb +58 -0
  502. data/spec/models/invoice_one_off_create_input_invoice_spec.rb +46 -0
  503. data/spec/models/invoice_one_off_create_input_spec.rb +34 -0
  504. data/spec/models/invoice_spec.rb +34 -0
  505. data/spec/models/invoice_update_input_invoice_metadata_inner_spec.rb +46 -0
  506. data/spec/models/invoice_update_input_invoice_spec.rb +44 -0
  507. data/spec/models/invoice_update_input_spec.rb +34 -0
  508. data/spec/models/invoices_paginated_spec.rb +40 -0
  509. data/spec/models/organization_billing_configuration_spec.rb +46 -0
  510. data/spec/models/organization_object_spec.rb +142 -0
  511. data/spec/models/organization_spec.rb +34 -0
  512. data/spec/models/organization_update_input_organization_spec.rb +122 -0
  513. data/spec/models/organization_update_input_spec.rb +34 -0
  514. data/spec/models/pagination_meta_spec.rb +58 -0
  515. data/spec/models/plan_create_input_plan_charges_inner_group_properties_inner_spec.rb +40 -0
  516. data/spec/models/plan_create_input_plan_charges_inner_spec.rb +86 -0
  517. data/spec/models/plan_create_input_plan_spec.rb +98 -0
  518. data/spec/models/plan_create_input_spec.rb +34 -0
  519. data/spec/models/plan_object_spec.rb +122 -0
  520. data/spec/models/plan_spec.rb +34 -0
  521. data/spec/models/plan_update_input_plan_charges_inner_spec.rb +92 -0
  522. data/spec/models/plan_update_input_plan_spec.rb +98 -0
  523. data/spec/models/plan_update_input_spec.rb +34 -0
  524. data/spec/models/plans_paginated_spec.rb +40 -0
  525. data/spec/models/subscription_create_input_spec.rb +34 -0
  526. data/spec/models/subscription_create_input_subscription_spec.rb +68 -0
  527. data/spec/models/subscription_object_spec.rb +132 -0
  528. data/spec/models/subscription_spec.rb +34 -0
  529. data/spec/models/subscription_update_input_spec.rb +34 -0
  530. data/spec/models/subscription_update_input_subscription_spec.rb +40 -0
  531. data/spec/models/subscriptions_paginated_spec.rb +40 -0
  532. data/spec/models/tax_base_input_spec.rb +58 -0
  533. data/spec/models/tax_create_input_spec.rb +34 -0
  534. data/spec/models/tax_create_input_tax_spec.rb +66 -0
  535. data/spec/models/tax_object_spec.rb +94 -0
  536. data/spec/models/tax_spec.rb +34 -0
  537. data/spec/models/tax_update_input_spec.rb +34 -0
  538. data/spec/models/taxes_paginated_spec.rb +40 -0
  539. data/spec/models/timezone_spec.rb +28 -0
  540. data/spec/models/wallet_create_input_spec.rb +34 -0
  541. data/spec/models/wallet_create_input_wallet_spec.rb +80 -0
  542. data/spec/models/wallet_object_spec.rb +140 -0
  543. data/spec/models/wallet_spec.rb +34 -0
  544. data/spec/models/wallet_transaction_create_input_spec.rb +34 -0
  545. data/spec/models/wallet_transaction_create_input_wallet_transaction_spec.rb +46 -0
  546. data/spec/models/wallet_transaction_object_spec.rb +95 -0
  547. data/spec/models/wallet_transactions_paginated_spec.rb +40 -0
  548. data/spec/models/wallet_transactions_spec.rb +34 -0
  549. data/spec/models/wallet_update_input_spec.rb +34 -0
  550. data/spec/models/wallet_update_input_wallet_spec.rb +40 -0
  551. data/spec/models/wallets_paginated_spec.rb +40 -0
  552. data/spec/spec_helper.rb +111 -0
  553. metadata +818 -0
@@ -0,0 +1,635 @@
1
+ =begin
2
+ #Lago API documentation
3
+
4
+ #Lago API allows your application to push customer information and metrics (events) from your application to the billing application.
5
+
6
+ The version of the OpenAPI document: 0.46.0-beta
7
+ Contact: tech@getlago.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module LagoAPI
17
+ class CreditNoteObject
18
+ # The credit note unique identifier, created by Lago.
19
+ attr_accessor :lago_id
20
+
21
+ # The sequential identifier of the credit note, specifically scoped on the associated invoice. It provides a unique numerical identifier for the credit note within the context of the invoice.
22
+ attr_accessor :sequential_id
23
+
24
+ # The credit note unique number.
25
+ attr_accessor :number
26
+
27
+ # Unique identifier assigned to the invoice that the credit note belongs to
28
+ attr_accessor :lago_invoice_id
29
+
30
+ # The invoice unique number, related to the credit note.
31
+ attr_accessor :invoice_number
32
+
33
+ # The date of creation of the credit note. It follows the ISO 8601 date format and provides the specific date when the credit note was created.
34
+ attr_accessor :issuing_date
35
+
36
+ # The status of the credit portion of the credit note. It indicates the current state or condition of the credit amount associated with the credit note. The possible values for this field are: - `available`: this status indicates that an amount remains available for future usage. The credit can be applied towards future transactions or invoices. - `consumed`: this status indicates that the credit amount has been fully consumed. The remaining amount is 0, indicating that the credit has been utilized in its entirety. - `voided`: this status indicates that the remaining amount of the credit cannot be used any further. The credit has been voided and is no longer available for application or redemption.
37
+ attr_accessor :credit_status
38
+
39
+ # The status of the refund portion of the credit note. It indicates the current state or condition of the refund associated with the credit note. The possible values for this field are: - `pending`: this status indicates that the refund is pending execution. The refund request has been initiated but has not been processed or completed yet. - `succeeded`: this status indicates that the refund has been successfully executed. The refund amount has been processed and returned to the customer or the designated recipient. - `failed`: this status indicates that the refund failed to execute. The refund request encountered an error or unsuccessful processing, and the refund amount could not be returned.
40
+ attr_accessor :refund_status
41
+
42
+ # The reason of the credit note creation. Possible values are `duplicated_charge`, `product_unsatisfactory`, `order_change`, `order_cancellation`, `fraudulent_charge` or `other`.
43
+ attr_accessor :reason
44
+
45
+ # The description of the credit note.
46
+ attr_accessor :description
47
+
48
+ attr_accessor :currency
49
+
50
+ # The total amount of the credit note, expressed in cents.
51
+ attr_accessor :total_amount_cents
52
+
53
+ # The tax amount of the credit note, expressed in cents.
54
+ attr_accessor :taxes_amount_cents
55
+
56
+ # The tax rate associated with this specific credit note.
57
+ attr_accessor :taxes_rate
58
+
59
+ # The subtotal of the credit note excluding any applicable taxes, expressed in cents.
60
+ attr_accessor :sub_total_excluding_taxes_amount_cents
61
+
62
+ # The remaining credit note amount, expressed in cents.
63
+ attr_accessor :balance_amount_cents
64
+
65
+ # The credited amount of the credit note, expressed in cents.
66
+ attr_accessor :credit_amount_cents
67
+
68
+ # The refunded amount of the credit note, expressed in cents.
69
+ attr_accessor :refund_amount_cents
70
+
71
+ # The pro-rated amount of the coupons applied to the source invoice.
72
+ attr_accessor :coupons_adjustement_amount_cents
73
+
74
+ # The date when the credit note was created. It is expressed in Coordinated Universal Time (UTC).
75
+ attr_accessor :created_at
76
+
77
+ # The date when the credit note was last updated. It is expressed in Coordinated Universal Time (UTC).
78
+ attr_accessor :updated_at
79
+
80
+ # The PDF file of the credit note.
81
+ attr_accessor :file_url
82
+
83
+ # Array of credit note’s items.
84
+ attr_accessor :items
85
+
86
+ attr_accessor :applied_taxes
87
+
88
+ class EnumAttributeValidator
89
+ attr_reader :datatype
90
+ attr_reader :allowable_values
91
+
92
+ def initialize(datatype, allowable_values)
93
+ @allowable_values = allowable_values.map do |value|
94
+ case datatype.to_s
95
+ when /Integer/i
96
+ value.to_i
97
+ when /Float/i
98
+ value.to_f
99
+ else
100
+ value
101
+ end
102
+ end
103
+ end
104
+
105
+ def valid?(value)
106
+ !value || allowable_values.include?(value)
107
+ end
108
+ end
109
+
110
+ # Attribute mapping from ruby-style variable name to JSON key.
111
+ def self.attribute_map
112
+ {
113
+ :'lago_id' => :'lago_id',
114
+ :'sequential_id' => :'sequential_id',
115
+ :'number' => :'number',
116
+ :'lago_invoice_id' => :'lago_invoice_id',
117
+ :'invoice_number' => :'invoice_number',
118
+ :'issuing_date' => :'issuing_date',
119
+ :'credit_status' => :'credit_status',
120
+ :'refund_status' => :'refund_status',
121
+ :'reason' => :'reason',
122
+ :'description' => :'description',
123
+ :'currency' => :'currency',
124
+ :'total_amount_cents' => :'total_amount_cents',
125
+ :'taxes_amount_cents' => :'taxes_amount_cents',
126
+ :'taxes_rate' => :'taxes_rate',
127
+ :'sub_total_excluding_taxes_amount_cents' => :'sub_total_excluding_taxes_amount_cents',
128
+ :'balance_amount_cents' => :'balance_amount_cents',
129
+ :'credit_amount_cents' => :'credit_amount_cents',
130
+ :'refund_amount_cents' => :'refund_amount_cents',
131
+ :'coupons_adjustement_amount_cents' => :'coupons_adjustement_amount_cents',
132
+ :'created_at' => :'created_at',
133
+ :'updated_at' => :'updated_at',
134
+ :'file_url' => :'file_url',
135
+ :'items' => :'items',
136
+ :'applied_taxes' => :'applied_taxes'
137
+ }
138
+ end
139
+
140
+ # Returns all the JSON keys this model knows about
141
+ def self.acceptable_attributes
142
+ attribute_map.values
143
+ end
144
+
145
+ # Attribute type mapping.
146
+ def self.openapi_types
147
+ {
148
+ :'lago_id' => :'String',
149
+ :'sequential_id' => :'Integer',
150
+ :'number' => :'String',
151
+ :'lago_invoice_id' => :'String',
152
+ :'invoice_number' => :'String',
153
+ :'issuing_date' => :'Date',
154
+ :'credit_status' => :'String',
155
+ :'refund_status' => :'String',
156
+ :'reason' => :'String',
157
+ :'description' => :'String',
158
+ :'currency' => :'Currency',
159
+ :'total_amount_cents' => :'Integer',
160
+ :'taxes_amount_cents' => :'Integer',
161
+ :'taxes_rate' => :'Float',
162
+ :'sub_total_excluding_taxes_amount_cents' => :'Integer',
163
+ :'balance_amount_cents' => :'Integer',
164
+ :'credit_amount_cents' => :'Integer',
165
+ :'refund_amount_cents' => :'Integer',
166
+ :'coupons_adjustement_amount_cents' => :'Integer',
167
+ :'created_at' => :'Time',
168
+ :'updated_at' => :'Time',
169
+ :'file_url' => :'String',
170
+ :'items' => :'Array<CreditNoteItemObject>',
171
+ :'applied_taxes' => :'Array<CreditNoteAppliedTaxObject>'
172
+ }
173
+ end
174
+
175
+ # List of attributes with nullable: true
176
+ def self.openapi_nullable
177
+ Set.new([
178
+ :'credit_status',
179
+ :'refund_status',
180
+ :'description',
181
+ :'file_url',
182
+ ])
183
+ end
184
+
185
+ # Initializes the object
186
+ # @param [Hash] attributes Model attributes in the form of hash
187
+ def initialize(attributes = {})
188
+ if (!attributes.is_a?(Hash))
189
+ fail ArgumentError, "The input argument (attributes) must be a hash in `LagoAPI::CreditNoteObject` initialize method"
190
+ end
191
+
192
+ # check to see if the attribute exists and convert string to symbol for hash key
193
+ attributes = attributes.each_with_object({}) { |(k, v), h|
194
+ if (!self.class.attribute_map.key?(k.to_sym))
195
+ fail ArgumentError, "`#{k}` is not a valid attribute in `LagoAPI::CreditNoteObject`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
196
+ end
197
+ h[k.to_sym] = v
198
+ }
199
+
200
+ if attributes.key?(:'lago_id')
201
+ self.lago_id = attributes[:'lago_id']
202
+ else
203
+ self.lago_id = nil
204
+ end
205
+
206
+ if attributes.key?(:'sequential_id')
207
+ self.sequential_id = attributes[:'sequential_id']
208
+ else
209
+ self.sequential_id = nil
210
+ end
211
+
212
+ if attributes.key?(:'number')
213
+ self.number = attributes[:'number']
214
+ else
215
+ self.number = nil
216
+ end
217
+
218
+ if attributes.key?(:'lago_invoice_id')
219
+ self.lago_invoice_id = attributes[:'lago_invoice_id']
220
+ else
221
+ self.lago_invoice_id = nil
222
+ end
223
+
224
+ if attributes.key?(:'invoice_number')
225
+ self.invoice_number = attributes[:'invoice_number']
226
+ else
227
+ self.invoice_number = nil
228
+ end
229
+
230
+ if attributes.key?(:'issuing_date')
231
+ self.issuing_date = attributes[:'issuing_date']
232
+ else
233
+ self.issuing_date = nil
234
+ end
235
+
236
+ if attributes.key?(:'credit_status')
237
+ self.credit_status = attributes[:'credit_status']
238
+ end
239
+
240
+ if attributes.key?(:'refund_status')
241
+ self.refund_status = attributes[:'refund_status']
242
+ end
243
+
244
+ if attributes.key?(:'reason')
245
+ self.reason = attributes[:'reason']
246
+ else
247
+ self.reason = nil
248
+ end
249
+
250
+ if attributes.key?(:'description')
251
+ self.description = attributes[:'description']
252
+ end
253
+
254
+ if attributes.key?(:'currency')
255
+ self.currency = attributes[:'currency']
256
+ else
257
+ self.currency = nil
258
+ end
259
+
260
+ if attributes.key?(:'total_amount_cents')
261
+ self.total_amount_cents = attributes[:'total_amount_cents']
262
+ else
263
+ self.total_amount_cents = nil
264
+ end
265
+
266
+ if attributes.key?(:'taxes_amount_cents')
267
+ self.taxes_amount_cents = attributes[:'taxes_amount_cents']
268
+ else
269
+ self.taxes_amount_cents = nil
270
+ end
271
+
272
+ if attributes.key?(:'taxes_rate')
273
+ self.taxes_rate = attributes[:'taxes_rate']
274
+ else
275
+ self.taxes_rate = nil
276
+ end
277
+
278
+ if attributes.key?(:'sub_total_excluding_taxes_amount_cents')
279
+ self.sub_total_excluding_taxes_amount_cents = attributes[:'sub_total_excluding_taxes_amount_cents']
280
+ else
281
+ self.sub_total_excluding_taxes_amount_cents = nil
282
+ end
283
+
284
+ if attributes.key?(:'balance_amount_cents')
285
+ self.balance_amount_cents = attributes[:'balance_amount_cents']
286
+ else
287
+ self.balance_amount_cents = nil
288
+ end
289
+
290
+ if attributes.key?(:'credit_amount_cents')
291
+ self.credit_amount_cents = attributes[:'credit_amount_cents']
292
+ else
293
+ self.credit_amount_cents = nil
294
+ end
295
+
296
+ if attributes.key?(:'refund_amount_cents')
297
+ self.refund_amount_cents = attributes[:'refund_amount_cents']
298
+ else
299
+ self.refund_amount_cents = nil
300
+ end
301
+
302
+ if attributes.key?(:'coupons_adjustement_amount_cents')
303
+ self.coupons_adjustement_amount_cents = attributes[:'coupons_adjustement_amount_cents']
304
+ else
305
+ self.coupons_adjustement_amount_cents = nil
306
+ end
307
+
308
+ if attributes.key?(:'created_at')
309
+ self.created_at = attributes[:'created_at']
310
+ else
311
+ self.created_at = nil
312
+ end
313
+
314
+ if attributes.key?(:'updated_at')
315
+ self.updated_at = attributes[:'updated_at']
316
+ else
317
+ self.updated_at = nil
318
+ end
319
+
320
+ if attributes.key?(:'file_url')
321
+ self.file_url = attributes[:'file_url']
322
+ end
323
+
324
+ if attributes.key?(:'items')
325
+ if (value = attributes[:'items']).is_a?(Array)
326
+ self.items = value
327
+ end
328
+ end
329
+
330
+ if attributes.key?(:'applied_taxes')
331
+ if (value = attributes[:'applied_taxes']).is_a?(Array)
332
+ self.applied_taxes = value
333
+ end
334
+ end
335
+ end
336
+
337
+ # Show invalid properties with the reasons. Usually used together with valid?
338
+ # @return Array for valid properties with the reasons
339
+ def list_invalid_properties
340
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
341
+ invalid_properties = Array.new
342
+ if @lago_id.nil?
343
+ invalid_properties.push('invalid value for "lago_id", lago_id cannot be nil.')
344
+ end
345
+
346
+ if @sequential_id.nil?
347
+ invalid_properties.push('invalid value for "sequential_id", sequential_id cannot be nil.')
348
+ end
349
+
350
+ if @number.nil?
351
+ invalid_properties.push('invalid value for "number", number cannot be nil.')
352
+ end
353
+
354
+ if @lago_invoice_id.nil?
355
+ invalid_properties.push('invalid value for "lago_invoice_id", lago_invoice_id cannot be nil.')
356
+ end
357
+
358
+ if @invoice_number.nil?
359
+ invalid_properties.push('invalid value for "invoice_number", invoice_number cannot be nil.')
360
+ end
361
+
362
+ if @issuing_date.nil?
363
+ invalid_properties.push('invalid value for "issuing_date", issuing_date cannot be nil.')
364
+ end
365
+
366
+ if @reason.nil?
367
+ invalid_properties.push('invalid value for "reason", reason cannot be nil.')
368
+ end
369
+
370
+ if @currency.nil?
371
+ invalid_properties.push('invalid value for "currency", currency cannot be nil.')
372
+ end
373
+
374
+ if @total_amount_cents.nil?
375
+ invalid_properties.push('invalid value for "total_amount_cents", total_amount_cents cannot be nil.')
376
+ end
377
+
378
+ if @taxes_amount_cents.nil?
379
+ invalid_properties.push('invalid value for "taxes_amount_cents", taxes_amount_cents cannot be nil.')
380
+ end
381
+
382
+ if @taxes_rate.nil?
383
+ invalid_properties.push('invalid value for "taxes_rate", taxes_rate cannot be nil.')
384
+ end
385
+
386
+ if @sub_total_excluding_taxes_amount_cents.nil?
387
+ invalid_properties.push('invalid value for "sub_total_excluding_taxes_amount_cents", sub_total_excluding_taxes_amount_cents cannot be nil.')
388
+ end
389
+
390
+ if @balance_amount_cents.nil?
391
+ invalid_properties.push('invalid value for "balance_amount_cents", balance_amount_cents cannot be nil.')
392
+ end
393
+
394
+ if @credit_amount_cents.nil?
395
+ invalid_properties.push('invalid value for "credit_amount_cents", credit_amount_cents cannot be nil.')
396
+ end
397
+
398
+ if @refund_amount_cents.nil?
399
+ invalid_properties.push('invalid value for "refund_amount_cents", refund_amount_cents cannot be nil.')
400
+ end
401
+
402
+ if @coupons_adjustement_amount_cents.nil?
403
+ invalid_properties.push('invalid value for "coupons_adjustement_amount_cents", coupons_adjustement_amount_cents cannot be nil.')
404
+ end
405
+
406
+ if @created_at.nil?
407
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
408
+ end
409
+
410
+ if @updated_at.nil?
411
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
412
+ end
413
+
414
+ invalid_properties
415
+ end
416
+
417
+ # Check to see if the all the properties in the model are valid
418
+ # @return true if the model is valid
419
+ def valid?
420
+ warn '[DEPRECATED] the `valid?` method is obsolete'
421
+ return false if @lago_id.nil?
422
+ return false if @sequential_id.nil?
423
+ return false if @number.nil?
424
+ return false if @lago_invoice_id.nil?
425
+ return false if @invoice_number.nil?
426
+ return false if @issuing_date.nil?
427
+ credit_status_validator = EnumAttributeValidator.new('String', ["available", "consumed", "voided"])
428
+ return false unless credit_status_validator.valid?(@credit_status)
429
+ refund_status_validator = EnumAttributeValidator.new('String', ["pending", "succeeded", "failed"])
430
+ return false unless refund_status_validator.valid?(@refund_status)
431
+ return false if @reason.nil?
432
+ reason_validator = EnumAttributeValidator.new('String', ["duplicated_charge", "product_unsatisfactory", "order_change", "order_cancellation", "fraudulent_charge", "other"])
433
+ return false unless reason_validator.valid?(@reason)
434
+ return false if @currency.nil?
435
+ return false if @total_amount_cents.nil?
436
+ return false if @taxes_amount_cents.nil?
437
+ return false if @taxes_rate.nil?
438
+ return false if @sub_total_excluding_taxes_amount_cents.nil?
439
+ return false if @balance_amount_cents.nil?
440
+ return false if @credit_amount_cents.nil?
441
+ return false if @refund_amount_cents.nil?
442
+ return false if @coupons_adjustement_amount_cents.nil?
443
+ return false if @created_at.nil?
444
+ return false if @updated_at.nil?
445
+ true
446
+ end
447
+
448
+ # Custom attribute writer method checking allowed values (enum).
449
+ # @param [Object] credit_status Object to be assigned
450
+ def credit_status=(credit_status)
451
+ validator = EnumAttributeValidator.new('String', ["available", "consumed", "voided"])
452
+ unless validator.valid?(credit_status)
453
+ fail ArgumentError, "invalid value for \"credit_status\", must be one of #{validator.allowable_values}."
454
+ end
455
+ @credit_status = credit_status
456
+ end
457
+
458
+ # Custom attribute writer method checking allowed values (enum).
459
+ # @param [Object] refund_status Object to be assigned
460
+ def refund_status=(refund_status)
461
+ validator = EnumAttributeValidator.new('String', ["pending", "succeeded", "failed"])
462
+ unless validator.valid?(refund_status)
463
+ fail ArgumentError, "invalid value for \"refund_status\", must be one of #{validator.allowable_values}."
464
+ end
465
+ @refund_status = refund_status
466
+ end
467
+
468
+ # Custom attribute writer method checking allowed values (enum).
469
+ # @param [Object] reason Object to be assigned
470
+ def reason=(reason)
471
+ validator = EnumAttributeValidator.new('String', ["duplicated_charge", "product_unsatisfactory", "order_change", "order_cancellation", "fraudulent_charge", "other"])
472
+ unless validator.valid?(reason)
473
+ fail ArgumentError, "invalid value for \"reason\", must be one of #{validator.allowable_values}."
474
+ end
475
+ @reason = reason
476
+ end
477
+
478
+ # Checks equality by comparing each attribute.
479
+ # @param [Object] Object to be compared
480
+ def ==(o)
481
+ return true if self.equal?(o)
482
+ self.class == o.class &&
483
+ lago_id == o.lago_id &&
484
+ sequential_id == o.sequential_id &&
485
+ number == o.number &&
486
+ lago_invoice_id == o.lago_invoice_id &&
487
+ invoice_number == o.invoice_number &&
488
+ issuing_date == o.issuing_date &&
489
+ credit_status == o.credit_status &&
490
+ refund_status == o.refund_status &&
491
+ reason == o.reason &&
492
+ description == o.description &&
493
+ currency == o.currency &&
494
+ total_amount_cents == o.total_amount_cents &&
495
+ taxes_amount_cents == o.taxes_amount_cents &&
496
+ taxes_rate == o.taxes_rate &&
497
+ sub_total_excluding_taxes_amount_cents == o.sub_total_excluding_taxes_amount_cents &&
498
+ balance_amount_cents == o.balance_amount_cents &&
499
+ credit_amount_cents == o.credit_amount_cents &&
500
+ refund_amount_cents == o.refund_amount_cents &&
501
+ coupons_adjustement_amount_cents == o.coupons_adjustement_amount_cents &&
502
+ created_at == o.created_at &&
503
+ updated_at == o.updated_at &&
504
+ file_url == o.file_url &&
505
+ items == o.items &&
506
+ applied_taxes == o.applied_taxes
507
+ end
508
+
509
+ # @see the `==` method
510
+ # @param [Object] Object to be compared
511
+ def eql?(o)
512
+ self == o
513
+ end
514
+
515
+ # Calculates hash code according to all attributes.
516
+ # @return [Integer] Hash code
517
+ def hash
518
+ [lago_id, sequential_id, number, lago_invoice_id, invoice_number, issuing_date, credit_status, refund_status, reason, description, currency, total_amount_cents, taxes_amount_cents, taxes_rate, sub_total_excluding_taxes_amount_cents, balance_amount_cents, credit_amount_cents, refund_amount_cents, coupons_adjustement_amount_cents, created_at, updated_at, file_url, items, applied_taxes].hash
519
+ end
520
+
521
+ # Builds the object from hash
522
+ # @param [Hash] attributes Model attributes in the form of hash
523
+ # @return [Object] Returns the model itself
524
+ def self.build_from_hash(attributes)
525
+ return nil unless attributes.is_a?(Hash)
526
+ attributes = attributes.transform_keys(&:to_sym)
527
+ transformed_hash = {}
528
+ openapi_types.each_pair do |key, type|
529
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
530
+ transformed_hash["#{key}"] = nil
531
+ elsif type =~ /\AArray<(.*)>/i
532
+ # check to ensure the input is an array given that the attribute
533
+ # is documented as an array but the input is not
534
+ if attributes[attribute_map[key]].is_a?(Array)
535
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
536
+ end
537
+ elsif !attributes[attribute_map[key]].nil?
538
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
539
+ end
540
+ end
541
+ new(transformed_hash)
542
+ end
543
+
544
+ # Deserializes the data based on type
545
+ # @param string type Data type
546
+ # @param string value Value to be deserialized
547
+ # @return [Object] Deserialized data
548
+ def self._deserialize(type, value)
549
+ case type.to_sym
550
+ when :Time
551
+ Time.parse(value)
552
+ when :Date
553
+ Date.parse(value)
554
+ when :String
555
+ value.to_s
556
+ when :Integer
557
+ value.to_i
558
+ when :Float
559
+ value.to_f
560
+ when :Boolean
561
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
562
+ true
563
+ else
564
+ false
565
+ end
566
+ when :Object
567
+ # generic object (usually a Hash), return directly
568
+ value
569
+ when /\AArray<(?<inner_type>.+)>\z/
570
+ inner_type = Regexp.last_match[:inner_type]
571
+ value.map { |v| _deserialize(inner_type, v) }
572
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
573
+ k_type = Regexp.last_match[:k_type]
574
+ v_type = Regexp.last_match[:v_type]
575
+ {}.tap do |hash|
576
+ value.each do |k, v|
577
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
578
+ end
579
+ end
580
+ else # model
581
+ # models (e.g. Pet) or oneOf
582
+ klass = LagoAPI.const_get(type)
583
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
584
+ end
585
+ end
586
+
587
+ # Returns the string representation of the object
588
+ # @return [String] String presentation of the object
589
+ def to_s
590
+ to_hash.to_s
591
+ end
592
+
593
+ # to_body is an alias to to_hash (backward compatibility)
594
+ # @return [Hash] Returns the object in the form of hash
595
+ def to_body
596
+ to_hash
597
+ end
598
+
599
+ # Returns the object in the form of hash
600
+ # @return [Hash] Returns the object in the form of hash
601
+ def to_hash
602
+ hash = {}
603
+ self.class.attribute_map.each_pair do |attr, param|
604
+ value = self.send(attr)
605
+ if value.nil?
606
+ is_nullable = self.class.openapi_nullable.include?(attr)
607
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
608
+ end
609
+
610
+ hash[param] = _to_hash(value)
611
+ end
612
+ hash
613
+ end
614
+
615
+ # Outputs non-array value in the form of hash
616
+ # For object, use to_hash. Otherwise, just return the value
617
+ # @param [Object] value Any valid value
618
+ # @return [Hash] Returns the value in the form of hash
619
+ def _to_hash(value)
620
+ if value.is_a?(Array)
621
+ value.compact.map { |v| _to_hash(v) }
622
+ elsif value.is_a?(Hash)
623
+ {}.tap do |hash|
624
+ value.each { |k, v| hash[k] = _to_hash(v) }
625
+ end
626
+ elsif value.respond_to? :to_hash
627
+ value.to_hash
628
+ else
629
+ value
630
+ end
631
+ end
632
+
633
+ end
634
+
635
+ end