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,621 @@
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 FeeObject
18
+ # Unique identifier assigned to the fee within the Lago application. This ID is exclusively created by Lago and serves as a unique identifier for the fee’s record within the Lago system.
19
+ attr_accessor :lago_id
20
+
21
+ # Unique identifier assigned to the group that the fee belongs to
22
+ attr_accessor :lago_group_id
23
+
24
+ # Unique identifier assigned to the invoice that the fee belongs to
25
+ attr_accessor :lago_invoice_id
26
+
27
+ # Unique identifier assigned to the true-up fee when a minimum has been set to the charge. This identifier helps to distinguish and manage the true-up fee associated with the charge, which may be applicable when a minimum threshold or limit is set for the charge amount.
28
+ attr_accessor :lago_true_up_fee_id
29
+
30
+ # Unique identifier assigned to the parent fee on which the true-up fee is assigned. This identifier establishes the relationship between the parent fee and the associated true-up fee.
31
+ attr_accessor :lago_true_up_parent_fee_id
32
+
33
+ # Unique identifier assigned to the subscription, created by Lago. This field is specifically displayed when the fee type is charge and the payment for the fee is made in advance (`pay_in_advance` is set to true).
34
+ attr_accessor :lago_subscription_id
35
+
36
+ # Unique identifier assigned to the customer, created by Lago. This field is specifically displayed when the fee type is charge and the payment for the fee is made in advance (`pay_in_advance` is set to true).
37
+ attr_accessor :lago_customer_id
38
+
39
+ # Unique identifier assigned to the customer in your application. This field is specifically displayed when the fee type is charge and the payment for the fee is made in advance (`pay_in_advance` is set to true).
40
+ attr_accessor :external_customer_id
41
+
42
+ # Unique identifier assigned to the subscription in your application. This field is specifically displayed when the fee type is charge and the payment for the fee is made in advance (`pay_in_advance` is set to true).
43
+ attr_accessor :external_subscription_id
44
+
45
+ # The cost of this specific fee, excluding any applicable taxes.
46
+ attr_accessor :amount_cents
47
+
48
+ attr_accessor :amount_currency
49
+
50
+ # The cost of the tax associated with this specific fee.
51
+ attr_accessor :taxes_amount_cents
52
+
53
+ # The tax rate associated with this specific fee.
54
+ attr_accessor :taxes_rate
55
+
56
+ # The number of units used to charge the customer. This field indicates the quantity or count of units consumed or utilized in the context of the charge. It helps in determining the basis for calculating the fee or cost associated with the usage of the service or product provided to the customer.
57
+ attr_accessor :units
58
+
59
+ # The cost of this specific fee, including any applicable taxes.
60
+ attr_accessor :total_amount_cents
61
+
62
+ attr_accessor :total_amount_currency
63
+
64
+ # The number of events that have been sent and used to charge the customer. This field indicates the count or quantity of events that have been processed and considered in the charging process.
65
+ attr_accessor :events_count
66
+
67
+ # Flag that indicates whether the fee was paid in advance. It serves as a boolean value, where `true` represents that the fee was paid in advance (straightaway), and `false` indicates that the fee was not paid in arrears (at the end of the period).
68
+ attr_accessor :pay_in_advance
69
+
70
+ # Flag that indicates whether the fee was included on the invoice. It serves as a boolean value, where `true` represents that the fee was included on the invoice, and `false` indicates that the fee was not included on the invoice.
71
+ attr_accessor :invoiceable
72
+
73
+ # The beginning date of the period that the fee covers. It is applicable only to `subscription` and `charge` fees. This field indicates the start date of the billing period or subscription period associated with the fee.
74
+ attr_accessor :from_date
75
+
76
+ # The ending date of the period that the fee covers. It is applicable only to `subscription` and `charge` fees. This field indicates the end date of the billing period or subscription period associated with the fee.
77
+ attr_accessor :to_date
78
+
79
+ # Indicates the payment status of the fee. It represents the current status of the payment associated with the fee. The possible values for this field are `pending`, `succeeded`, `failed` and `refunded`.
80
+ attr_accessor :payment_status
81
+
82
+ # The date and time when the fee was created. It is provided in Coordinated Universal Time (UTC) format.
83
+ attr_accessor :created_at
84
+
85
+ # The date and time when the payment for the fee was successfully processed. It is provided in Coordinated Universal Time (UTC) format.
86
+ attr_accessor :succeeded_at
87
+
88
+ # The date and time when the payment for the fee failed to process. It is provided in Coordinated Universal Time (UTC) format.
89
+ attr_accessor :failed_at
90
+
91
+ # The date and time when the payment for the fee was refunded. It is provided in Coordinated Universal Time (UTC) format
92
+ attr_accessor :refunded_at
93
+
94
+ # Unique identifier assigned to the transaction. This field is specifically displayed when the fee type is `charge` and the payment for the fee is made in advance (`pay_in_advance` is set to `true`).
95
+ attr_accessor :event_transaction_id
96
+
97
+ attr_accessor :item
98
+
99
+ # List of fee applied taxes
100
+ attr_accessor :applied_taxes
101
+
102
+ class EnumAttributeValidator
103
+ attr_reader :datatype
104
+ attr_reader :allowable_values
105
+
106
+ def initialize(datatype, allowable_values)
107
+ @allowable_values = allowable_values.map do |value|
108
+ case datatype.to_s
109
+ when /Integer/i
110
+ value.to_i
111
+ when /Float/i
112
+ value.to_f
113
+ else
114
+ value
115
+ end
116
+ end
117
+ end
118
+
119
+ def valid?(value)
120
+ !value || allowable_values.include?(value)
121
+ end
122
+ end
123
+
124
+ # Attribute mapping from ruby-style variable name to JSON key.
125
+ def self.attribute_map
126
+ {
127
+ :'lago_id' => :'lago_id',
128
+ :'lago_group_id' => :'lago_group_id',
129
+ :'lago_invoice_id' => :'lago_invoice_id',
130
+ :'lago_true_up_fee_id' => :'lago_true_up_fee_id',
131
+ :'lago_true_up_parent_fee_id' => :'lago_true_up_parent_fee_id',
132
+ :'lago_subscription_id' => :'lago_subscription_id',
133
+ :'lago_customer_id' => :'lago_customer_id',
134
+ :'external_customer_id' => :'external_customer_id',
135
+ :'external_subscription_id' => :'external_subscription_id',
136
+ :'amount_cents' => :'amount_cents',
137
+ :'amount_currency' => :'amount_currency',
138
+ :'taxes_amount_cents' => :'taxes_amount_cents',
139
+ :'taxes_rate' => :'taxes_rate',
140
+ :'units' => :'units',
141
+ :'total_amount_cents' => :'total_amount_cents',
142
+ :'total_amount_currency' => :'total_amount_currency',
143
+ :'events_count' => :'events_count',
144
+ :'pay_in_advance' => :'pay_in_advance',
145
+ :'invoiceable' => :'invoiceable',
146
+ :'from_date' => :'from_date',
147
+ :'to_date' => :'to_date',
148
+ :'payment_status' => :'payment_status',
149
+ :'created_at' => :'created_at',
150
+ :'succeeded_at' => :'succeeded_at',
151
+ :'failed_at' => :'failed_at',
152
+ :'refunded_at' => :'refunded_at',
153
+ :'event_transaction_id' => :'event_transaction_id',
154
+ :'item' => :'item',
155
+ :'applied_taxes' => :'applied_taxes'
156
+ }
157
+ end
158
+
159
+ # Returns all the JSON keys this model knows about
160
+ def self.acceptable_attributes
161
+ attribute_map.values
162
+ end
163
+
164
+ # Attribute type mapping.
165
+ def self.openapi_types
166
+ {
167
+ :'lago_id' => :'String',
168
+ :'lago_group_id' => :'String',
169
+ :'lago_invoice_id' => :'String',
170
+ :'lago_true_up_fee_id' => :'String',
171
+ :'lago_true_up_parent_fee_id' => :'String',
172
+ :'lago_subscription_id' => :'String',
173
+ :'lago_customer_id' => :'String',
174
+ :'external_customer_id' => :'String',
175
+ :'external_subscription_id' => :'String',
176
+ :'amount_cents' => :'Integer',
177
+ :'amount_currency' => :'Currency',
178
+ :'taxes_amount_cents' => :'Integer',
179
+ :'taxes_rate' => :'Float',
180
+ :'units' => :'String',
181
+ :'total_amount_cents' => :'Integer',
182
+ :'total_amount_currency' => :'Currency',
183
+ :'events_count' => :'Integer',
184
+ :'pay_in_advance' => :'Boolean',
185
+ :'invoiceable' => :'Boolean',
186
+ :'from_date' => :'Time',
187
+ :'to_date' => :'Time',
188
+ :'payment_status' => :'String',
189
+ :'created_at' => :'Time',
190
+ :'succeeded_at' => :'Time',
191
+ :'failed_at' => :'Time',
192
+ :'refunded_at' => :'Time',
193
+ :'event_transaction_id' => :'String',
194
+ :'item' => :'FeeObjectItem',
195
+ :'applied_taxes' => :'Array<FeeAppliedTaxObject>'
196
+ }
197
+ end
198
+
199
+ # List of attributes with nullable: true
200
+ def self.openapi_nullable
201
+ Set.new([
202
+ :'lago_id',
203
+ :'lago_group_id',
204
+ :'lago_invoice_id',
205
+ :'lago_true_up_fee_id',
206
+ :'lago_true_up_parent_fee_id',
207
+ :'lago_subscription_id',
208
+ :'lago_customer_id',
209
+ :'external_customer_id',
210
+ :'external_subscription_id',
211
+ :'from_date',
212
+ :'to_date',
213
+ :'created_at',
214
+ :'succeeded_at',
215
+ :'failed_at',
216
+ :'refunded_at',
217
+ :'event_transaction_id',
218
+ ])
219
+ end
220
+
221
+ # Initializes the object
222
+ # @param [Hash] attributes Model attributes in the form of hash
223
+ def initialize(attributes = {})
224
+ if (!attributes.is_a?(Hash))
225
+ fail ArgumentError, "The input argument (attributes) must be a hash in `LagoAPI::FeeObject` initialize method"
226
+ end
227
+
228
+ # check to see if the attribute exists and convert string to symbol for hash key
229
+ attributes = attributes.each_with_object({}) { |(k, v), h|
230
+ if (!self.class.attribute_map.key?(k.to_sym))
231
+ fail ArgumentError, "`#{k}` is not a valid attribute in `LagoAPI::FeeObject`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
232
+ end
233
+ h[k.to_sym] = v
234
+ }
235
+
236
+ if attributes.key?(:'lago_id')
237
+ self.lago_id = attributes[:'lago_id']
238
+ end
239
+
240
+ if attributes.key?(:'lago_group_id')
241
+ self.lago_group_id = attributes[:'lago_group_id']
242
+ end
243
+
244
+ if attributes.key?(:'lago_invoice_id')
245
+ self.lago_invoice_id = attributes[:'lago_invoice_id']
246
+ end
247
+
248
+ if attributes.key?(:'lago_true_up_fee_id')
249
+ self.lago_true_up_fee_id = attributes[:'lago_true_up_fee_id']
250
+ end
251
+
252
+ if attributes.key?(:'lago_true_up_parent_fee_id')
253
+ self.lago_true_up_parent_fee_id = attributes[:'lago_true_up_parent_fee_id']
254
+ end
255
+
256
+ if attributes.key?(:'lago_subscription_id')
257
+ self.lago_subscription_id = attributes[:'lago_subscription_id']
258
+ end
259
+
260
+ if attributes.key?(:'lago_customer_id')
261
+ self.lago_customer_id = attributes[:'lago_customer_id']
262
+ end
263
+
264
+ if attributes.key?(:'external_customer_id')
265
+ self.external_customer_id = attributes[:'external_customer_id']
266
+ end
267
+
268
+ if attributes.key?(:'external_subscription_id')
269
+ self.external_subscription_id = attributes[:'external_subscription_id']
270
+ end
271
+
272
+ if attributes.key?(:'amount_cents')
273
+ self.amount_cents = attributes[:'amount_cents']
274
+ else
275
+ self.amount_cents = nil
276
+ end
277
+
278
+ if attributes.key?(:'amount_currency')
279
+ self.amount_currency = attributes[:'amount_currency']
280
+ else
281
+ self.amount_currency = nil
282
+ end
283
+
284
+ if attributes.key?(:'taxes_amount_cents')
285
+ self.taxes_amount_cents = attributes[:'taxes_amount_cents']
286
+ else
287
+ self.taxes_amount_cents = nil
288
+ end
289
+
290
+ if attributes.key?(:'taxes_rate')
291
+ self.taxes_rate = attributes[:'taxes_rate']
292
+ else
293
+ self.taxes_rate = nil
294
+ end
295
+
296
+ if attributes.key?(:'units')
297
+ self.units = attributes[:'units']
298
+ else
299
+ self.units = nil
300
+ end
301
+
302
+ if attributes.key?(:'total_amount_cents')
303
+ self.total_amount_cents = attributes[:'total_amount_cents']
304
+ else
305
+ self.total_amount_cents = nil
306
+ end
307
+
308
+ if attributes.key?(:'total_amount_currency')
309
+ self.total_amount_currency = attributes[:'total_amount_currency']
310
+ else
311
+ self.total_amount_currency = nil
312
+ end
313
+
314
+ if attributes.key?(:'events_count')
315
+ self.events_count = attributes[:'events_count']
316
+ end
317
+
318
+ if attributes.key?(:'pay_in_advance')
319
+ self.pay_in_advance = attributes[:'pay_in_advance']
320
+ else
321
+ self.pay_in_advance = nil
322
+ end
323
+
324
+ if attributes.key?(:'invoiceable')
325
+ self.invoiceable = attributes[:'invoiceable']
326
+ else
327
+ self.invoiceable = nil
328
+ end
329
+
330
+ if attributes.key?(:'from_date')
331
+ self.from_date = attributes[:'from_date']
332
+ end
333
+
334
+ if attributes.key?(:'to_date')
335
+ self.to_date = attributes[:'to_date']
336
+ end
337
+
338
+ if attributes.key?(:'payment_status')
339
+ self.payment_status = attributes[:'payment_status']
340
+ else
341
+ self.payment_status = nil
342
+ end
343
+
344
+ if attributes.key?(:'created_at')
345
+ self.created_at = attributes[:'created_at']
346
+ end
347
+
348
+ if attributes.key?(:'succeeded_at')
349
+ self.succeeded_at = attributes[:'succeeded_at']
350
+ end
351
+
352
+ if attributes.key?(:'failed_at')
353
+ self.failed_at = attributes[:'failed_at']
354
+ end
355
+
356
+ if attributes.key?(:'refunded_at')
357
+ self.refunded_at = attributes[:'refunded_at']
358
+ end
359
+
360
+ if attributes.key?(:'event_transaction_id')
361
+ self.event_transaction_id = attributes[:'event_transaction_id']
362
+ end
363
+
364
+ if attributes.key?(:'item')
365
+ self.item = attributes[:'item']
366
+ else
367
+ self.item = nil
368
+ end
369
+
370
+ if attributes.key?(:'applied_taxes')
371
+ if (value = attributes[:'applied_taxes']).is_a?(Array)
372
+ self.applied_taxes = value
373
+ end
374
+ end
375
+ end
376
+
377
+ # Show invalid properties with the reasons. Usually used together with valid?
378
+ # @return Array for valid properties with the reasons
379
+ def list_invalid_properties
380
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
381
+ invalid_properties = Array.new
382
+ if @amount_cents.nil?
383
+ invalid_properties.push('invalid value for "amount_cents", amount_cents cannot be nil.')
384
+ end
385
+
386
+ if @amount_currency.nil?
387
+ invalid_properties.push('invalid value for "amount_currency", amount_currency cannot be nil.')
388
+ end
389
+
390
+ if @taxes_amount_cents.nil?
391
+ invalid_properties.push('invalid value for "taxes_amount_cents", taxes_amount_cents cannot be nil.')
392
+ end
393
+
394
+ if @taxes_rate.nil?
395
+ invalid_properties.push('invalid value for "taxes_rate", taxes_rate cannot be nil.')
396
+ end
397
+
398
+ if @units.nil?
399
+ invalid_properties.push('invalid value for "units", units cannot be nil.')
400
+ end
401
+
402
+ if @total_amount_cents.nil?
403
+ invalid_properties.push('invalid value for "total_amount_cents", total_amount_cents cannot be nil.')
404
+ end
405
+
406
+ if @total_amount_currency.nil?
407
+ invalid_properties.push('invalid value for "total_amount_currency", total_amount_currency cannot be nil.')
408
+ end
409
+
410
+ if @pay_in_advance.nil?
411
+ invalid_properties.push('invalid value for "pay_in_advance", pay_in_advance cannot be nil.')
412
+ end
413
+
414
+ if @invoiceable.nil?
415
+ invalid_properties.push('invalid value for "invoiceable", invoiceable cannot be nil.')
416
+ end
417
+
418
+ if @payment_status.nil?
419
+ invalid_properties.push('invalid value for "payment_status", payment_status cannot be nil.')
420
+ end
421
+
422
+ if @item.nil?
423
+ invalid_properties.push('invalid value for "item", item cannot be nil.')
424
+ end
425
+
426
+ invalid_properties
427
+ end
428
+
429
+ # Check to see if the all the properties in the model are valid
430
+ # @return true if the model is valid
431
+ def valid?
432
+ warn '[DEPRECATED] the `valid?` method is obsolete'
433
+ return false if @amount_cents.nil?
434
+ return false if @amount_currency.nil?
435
+ return false if @taxes_amount_cents.nil?
436
+ return false if @taxes_rate.nil?
437
+ return false if @units.nil?
438
+ return false if @total_amount_cents.nil?
439
+ return false if @total_amount_currency.nil?
440
+ return false if @pay_in_advance.nil?
441
+ return false if @invoiceable.nil?
442
+ return false if @payment_status.nil?
443
+ payment_status_validator = EnumAttributeValidator.new('String', ["pending", "succeeded", "failed", "refunded"])
444
+ return false unless payment_status_validator.valid?(@payment_status)
445
+ return false if @item.nil?
446
+ true
447
+ end
448
+
449
+ # Custom attribute writer method checking allowed values (enum).
450
+ # @param [Object] payment_status Object to be assigned
451
+ def payment_status=(payment_status)
452
+ validator = EnumAttributeValidator.new('String', ["pending", "succeeded", "failed", "refunded"])
453
+ unless validator.valid?(payment_status)
454
+ fail ArgumentError, "invalid value for \"payment_status\", must be one of #{validator.allowable_values}."
455
+ end
456
+ @payment_status = payment_status
457
+ end
458
+
459
+ # Checks equality by comparing each attribute.
460
+ # @param [Object] Object to be compared
461
+ def ==(o)
462
+ return true if self.equal?(o)
463
+ self.class == o.class &&
464
+ lago_id == o.lago_id &&
465
+ lago_group_id == o.lago_group_id &&
466
+ lago_invoice_id == o.lago_invoice_id &&
467
+ lago_true_up_fee_id == o.lago_true_up_fee_id &&
468
+ lago_true_up_parent_fee_id == o.lago_true_up_parent_fee_id &&
469
+ lago_subscription_id == o.lago_subscription_id &&
470
+ lago_customer_id == o.lago_customer_id &&
471
+ external_customer_id == o.external_customer_id &&
472
+ external_subscription_id == o.external_subscription_id &&
473
+ amount_cents == o.amount_cents &&
474
+ amount_currency == o.amount_currency &&
475
+ taxes_amount_cents == o.taxes_amount_cents &&
476
+ taxes_rate == o.taxes_rate &&
477
+ units == o.units &&
478
+ total_amount_cents == o.total_amount_cents &&
479
+ total_amount_currency == o.total_amount_currency &&
480
+ events_count == o.events_count &&
481
+ pay_in_advance == o.pay_in_advance &&
482
+ invoiceable == o.invoiceable &&
483
+ from_date == o.from_date &&
484
+ to_date == o.to_date &&
485
+ payment_status == o.payment_status &&
486
+ created_at == o.created_at &&
487
+ succeeded_at == o.succeeded_at &&
488
+ failed_at == o.failed_at &&
489
+ refunded_at == o.refunded_at &&
490
+ event_transaction_id == o.event_transaction_id &&
491
+ item == o.item &&
492
+ applied_taxes == o.applied_taxes
493
+ end
494
+
495
+ # @see the `==` method
496
+ # @param [Object] Object to be compared
497
+ def eql?(o)
498
+ self == o
499
+ end
500
+
501
+ # Calculates hash code according to all attributes.
502
+ # @return [Integer] Hash code
503
+ def hash
504
+ [lago_id, lago_group_id, lago_invoice_id, lago_true_up_fee_id, lago_true_up_parent_fee_id, lago_subscription_id, lago_customer_id, external_customer_id, external_subscription_id, amount_cents, amount_currency, taxes_amount_cents, taxes_rate, units, total_amount_cents, total_amount_currency, events_count, pay_in_advance, invoiceable, from_date, to_date, payment_status, created_at, succeeded_at, failed_at, refunded_at, event_transaction_id, item, applied_taxes].hash
505
+ end
506
+
507
+ # Builds the object from hash
508
+ # @param [Hash] attributes Model attributes in the form of hash
509
+ # @return [Object] Returns the model itself
510
+ def self.build_from_hash(attributes)
511
+ return nil unless attributes.is_a?(Hash)
512
+ attributes = attributes.transform_keys(&:to_sym)
513
+ transformed_hash = {}
514
+ openapi_types.each_pair do |key, type|
515
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
516
+ transformed_hash["#{key}"] = nil
517
+ elsif type =~ /\AArray<(.*)>/i
518
+ # check to ensure the input is an array given that the attribute
519
+ # is documented as an array but the input is not
520
+ if attributes[attribute_map[key]].is_a?(Array)
521
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
522
+ end
523
+ elsif !attributes[attribute_map[key]].nil?
524
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
525
+ end
526
+ end
527
+ new(transformed_hash)
528
+ end
529
+
530
+ # Deserializes the data based on type
531
+ # @param string type Data type
532
+ # @param string value Value to be deserialized
533
+ # @return [Object] Deserialized data
534
+ def self._deserialize(type, value)
535
+ case type.to_sym
536
+ when :Time
537
+ Time.parse(value)
538
+ when :Date
539
+ Date.parse(value)
540
+ when :String
541
+ value.to_s
542
+ when :Integer
543
+ value.to_i
544
+ when :Float
545
+ value.to_f
546
+ when :Boolean
547
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
548
+ true
549
+ else
550
+ false
551
+ end
552
+ when :Object
553
+ # generic object (usually a Hash), return directly
554
+ value
555
+ when /\AArray<(?<inner_type>.+)>\z/
556
+ inner_type = Regexp.last_match[:inner_type]
557
+ value.map { |v| _deserialize(inner_type, v) }
558
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
559
+ k_type = Regexp.last_match[:k_type]
560
+ v_type = Regexp.last_match[:v_type]
561
+ {}.tap do |hash|
562
+ value.each do |k, v|
563
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
564
+ end
565
+ end
566
+ else # model
567
+ # models (e.g. Pet) or oneOf
568
+ klass = LagoAPI.const_get(type)
569
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
570
+ end
571
+ end
572
+
573
+ # Returns the string representation of the object
574
+ # @return [String] String presentation of the object
575
+ def to_s
576
+ to_hash.to_s
577
+ end
578
+
579
+ # to_body is an alias to to_hash (backward compatibility)
580
+ # @return [Hash] Returns the object in the form of hash
581
+ def to_body
582
+ to_hash
583
+ end
584
+
585
+ # Returns the object in the form of hash
586
+ # @return [Hash] Returns the object in the form of hash
587
+ def to_hash
588
+ hash = {}
589
+ self.class.attribute_map.each_pair do |attr, param|
590
+ value = self.send(attr)
591
+ if value.nil?
592
+ is_nullable = self.class.openapi_nullable.include?(attr)
593
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
594
+ end
595
+
596
+ hash[param] = _to_hash(value)
597
+ end
598
+ hash
599
+ end
600
+
601
+ # Outputs non-array value in the form of hash
602
+ # For object, use to_hash. Otherwise, just return the value
603
+ # @param [Object] value Any valid value
604
+ # @return [Hash] Returns the value in the form of hash
605
+ def _to_hash(value)
606
+ if value.is_a?(Array)
607
+ value.compact.map { |v| _to_hash(v) }
608
+ elsif value.is_a?(Hash)
609
+ {}.tap do |hash|
610
+ value.each { |k, v| hash[k] = _to_hash(v) }
611
+ end
612
+ elsif value.respond_to? :to_hash
613
+ value.to_hash
614
+ else
615
+ value
616
+ end
617
+ end
618
+
619
+ end
620
+
621
+ end