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,628 @@
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 CreditNoteItemObjectFee
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
+ # List of class defined in allOf (OpenAPI v3)
222
+ def self.openapi_all_of
223
+ [
224
+ :'FeeObject'
225
+ ]
226
+ end
227
+
228
+ # Initializes the object
229
+ # @param [Hash] attributes Model attributes in the form of hash
230
+ def initialize(attributes = {})
231
+ if (!attributes.is_a?(Hash))
232
+ fail ArgumentError, "The input argument (attributes) must be a hash in `LagoAPI::CreditNoteItemObjectFee` initialize method"
233
+ end
234
+
235
+ # check to see if the attribute exists and convert string to symbol for hash key
236
+ attributes = attributes.each_with_object({}) { |(k, v), h|
237
+ if (!self.class.attribute_map.key?(k.to_sym))
238
+ fail ArgumentError, "`#{k}` is not a valid attribute in `LagoAPI::CreditNoteItemObjectFee`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
239
+ end
240
+ h[k.to_sym] = v
241
+ }
242
+
243
+ if attributes.key?(:'lago_id')
244
+ self.lago_id = attributes[:'lago_id']
245
+ end
246
+
247
+ if attributes.key?(:'lago_group_id')
248
+ self.lago_group_id = attributes[:'lago_group_id']
249
+ end
250
+
251
+ if attributes.key?(:'lago_invoice_id')
252
+ self.lago_invoice_id = attributes[:'lago_invoice_id']
253
+ end
254
+
255
+ if attributes.key?(:'lago_true_up_fee_id')
256
+ self.lago_true_up_fee_id = attributes[:'lago_true_up_fee_id']
257
+ end
258
+
259
+ if attributes.key?(:'lago_true_up_parent_fee_id')
260
+ self.lago_true_up_parent_fee_id = attributes[:'lago_true_up_parent_fee_id']
261
+ end
262
+
263
+ if attributes.key?(:'lago_subscription_id')
264
+ self.lago_subscription_id = attributes[:'lago_subscription_id']
265
+ end
266
+
267
+ if attributes.key?(:'lago_customer_id')
268
+ self.lago_customer_id = attributes[:'lago_customer_id']
269
+ end
270
+
271
+ if attributes.key?(:'external_customer_id')
272
+ self.external_customer_id = attributes[:'external_customer_id']
273
+ end
274
+
275
+ if attributes.key?(:'external_subscription_id')
276
+ self.external_subscription_id = attributes[:'external_subscription_id']
277
+ end
278
+
279
+ if attributes.key?(:'amount_cents')
280
+ self.amount_cents = attributes[:'amount_cents']
281
+ else
282
+ self.amount_cents = nil
283
+ end
284
+
285
+ if attributes.key?(:'amount_currency')
286
+ self.amount_currency = attributes[:'amount_currency']
287
+ else
288
+ self.amount_currency = nil
289
+ end
290
+
291
+ if attributes.key?(:'taxes_amount_cents')
292
+ self.taxes_amount_cents = attributes[:'taxes_amount_cents']
293
+ else
294
+ self.taxes_amount_cents = nil
295
+ end
296
+
297
+ if attributes.key?(:'taxes_rate')
298
+ self.taxes_rate = attributes[:'taxes_rate']
299
+ else
300
+ self.taxes_rate = nil
301
+ end
302
+
303
+ if attributes.key?(:'units')
304
+ self.units = attributes[:'units']
305
+ else
306
+ self.units = nil
307
+ end
308
+
309
+ if attributes.key?(:'total_amount_cents')
310
+ self.total_amount_cents = attributes[:'total_amount_cents']
311
+ else
312
+ self.total_amount_cents = nil
313
+ end
314
+
315
+ if attributes.key?(:'total_amount_currency')
316
+ self.total_amount_currency = attributes[:'total_amount_currency']
317
+ else
318
+ self.total_amount_currency = nil
319
+ end
320
+
321
+ if attributes.key?(:'events_count')
322
+ self.events_count = attributes[:'events_count']
323
+ end
324
+
325
+ if attributes.key?(:'pay_in_advance')
326
+ self.pay_in_advance = attributes[:'pay_in_advance']
327
+ else
328
+ self.pay_in_advance = nil
329
+ end
330
+
331
+ if attributes.key?(:'invoiceable')
332
+ self.invoiceable = attributes[:'invoiceable']
333
+ else
334
+ self.invoiceable = nil
335
+ end
336
+
337
+ if attributes.key?(:'from_date')
338
+ self.from_date = attributes[:'from_date']
339
+ end
340
+
341
+ if attributes.key?(:'to_date')
342
+ self.to_date = attributes[:'to_date']
343
+ end
344
+
345
+ if attributes.key?(:'payment_status')
346
+ self.payment_status = attributes[:'payment_status']
347
+ else
348
+ self.payment_status = nil
349
+ end
350
+
351
+ if attributes.key?(:'created_at')
352
+ self.created_at = attributes[:'created_at']
353
+ end
354
+
355
+ if attributes.key?(:'succeeded_at')
356
+ self.succeeded_at = attributes[:'succeeded_at']
357
+ end
358
+
359
+ if attributes.key?(:'failed_at')
360
+ self.failed_at = attributes[:'failed_at']
361
+ end
362
+
363
+ if attributes.key?(:'refunded_at')
364
+ self.refunded_at = attributes[:'refunded_at']
365
+ end
366
+
367
+ if attributes.key?(:'event_transaction_id')
368
+ self.event_transaction_id = attributes[:'event_transaction_id']
369
+ end
370
+
371
+ if attributes.key?(:'item')
372
+ self.item = attributes[:'item']
373
+ else
374
+ self.item = nil
375
+ end
376
+
377
+ if attributes.key?(:'applied_taxes')
378
+ if (value = attributes[:'applied_taxes']).is_a?(Array)
379
+ self.applied_taxes = value
380
+ end
381
+ end
382
+ end
383
+
384
+ # Show invalid properties with the reasons. Usually used together with valid?
385
+ # @return Array for valid properties with the reasons
386
+ def list_invalid_properties
387
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
388
+ invalid_properties = Array.new
389
+ if @amount_cents.nil?
390
+ invalid_properties.push('invalid value for "amount_cents", amount_cents cannot be nil.')
391
+ end
392
+
393
+ if @amount_currency.nil?
394
+ invalid_properties.push('invalid value for "amount_currency", amount_currency cannot be nil.')
395
+ end
396
+
397
+ if @taxes_amount_cents.nil?
398
+ invalid_properties.push('invalid value for "taxes_amount_cents", taxes_amount_cents cannot be nil.')
399
+ end
400
+
401
+ if @taxes_rate.nil?
402
+ invalid_properties.push('invalid value for "taxes_rate", taxes_rate cannot be nil.')
403
+ end
404
+
405
+ if @units.nil?
406
+ invalid_properties.push('invalid value for "units", units cannot be nil.')
407
+ end
408
+
409
+ if @total_amount_cents.nil?
410
+ invalid_properties.push('invalid value for "total_amount_cents", total_amount_cents cannot be nil.')
411
+ end
412
+
413
+ if @total_amount_currency.nil?
414
+ invalid_properties.push('invalid value for "total_amount_currency", total_amount_currency cannot be nil.')
415
+ end
416
+
417
+ if @pay_in_advance.nil?
418
+ invalid_properties.push('invalid value for "pay_in_advance", pay_in_advance cannot be nil.')
419
+ end
420
+
421
+ if @invoiceable.nil?
422
+ invalid_properties.push('invalid value for "invoiceable", invoiceable cannot be nil.')
423
+ end
424
+
425
+ if @payment_status.nil?
426
+ invalid_properties.push('invalid value for "payment_status", payment_status cannot be nil.')
427
+ end
428
+
429
+ if @item.nil?
430
+ invalid_properties.push('invalid value for "item", item cannot be nil.')
431
+ end
432
+
433
+ invalid_properties
434
+ end
435
+
436
+ # Check to see if the all the properties in the model are valid
437
+ # @return true if the model is valid
438
+ def valid?
439
+ warn '[DEPRECATED] the `valid?` method is obsolete'
440
+ return false if @amount_cents.nil?
441
+ return false if @amount_currency.nil?
442
+ return false if @taxes_amount_cents.nil?
443
+ return false if @taxes_rate.nil?
444
+ return false if @units.nil?
445
+ return false if @total_amount_cents.nil?
446
+ return false if @total_amount_currency.nil?
447
+ return false if @pay_in_advance.nil?
448
+ return false if @invoiceable.nil?
449
+ return false if @payment_status.nil?
450
+ payment_status_validator = EnumAttributeValidator.new('String', ["pending", "succeeded", "failed", "refunded"])
451
+ return false unless payment_status_validator.valid?(@payment_status)
452
+ return false if @item.nil?
453
+ true
454
+ end
455
+
456
+ # Custom attribute writer method checking allowed values (enum).
457
+ # @param [Object] payment_status Object to be assigned
458
+ def payment_status=(payment_status)
459
+ validator = EnumAttributeValidator.new('String', ["pending", "succeeded", "failed", "refunded"])
460
+ unless validator.valid?(payment_status)
461
+ fail ArgumentError, "invalid value for \"payment_status\", must be one of #{validator.allowable_values}."
462
+ end
463
+ @payment_status = payment_status
464
+ end
465
+
466
+ # Checks equality by comparing each attribute.
467
+ # @param [Object] Object to be compared
468
+ def ==(o)
469
+ return true if self.equal?(o)
470
+ self.class == o.class &&
471
+ lago_id == o.lago_id &&
472
+ lago_group_id == o.lago_group_id &&
473
+ lago_invoice_id == o.lago_invoice_id &&
474
+ lago_true_up_fee_id == o.lago_true_up_fee_id &&
475
+ lago_true_up_parent_fee_id == o.lago_true_up_parent_fee_id &&
476
+ lago_subscription_id == o.lago_subscription_id &&
477
+ lago_customer_id == o.lago_customer_id &&
478
+ external_customer_id == o.external_customer_id &&
479
+ external_subscription_id == o.external_subscription_id &&
480
+ amount_cents == o.amount_cents &&
481
+ amount_currency == o.amount_currency &&
482
+ taxes_amount_cents == o.taxes_amount_cents &&
483
+ taxes_rate == o.taxes_rate &&
484
+ units == o.units &&
485
+ total_amount_cents == o.total_amount_cents &&
486
+ total_amount_currency == o.total_amount_currency &&
487
+ events_count == o.events_count &&
488
+ pay_in_advance == o.pay_in_advance &&
489
+ invoiceable == o.invoiceable &&
490
+ from_date == o.from_date &&
491
+ to_date == o.to_date &&
492
+ payment_status == o.payment_status &&
493
+ created_at == o.created_at &&
494
+ succeeded_at == o.succeeded_at &&
495
+ failed_at == o.failed_at &&
496
+ refunded_at == o.refunded_at &&
497
+ event_transaction_id == o.event_transaction_id &&
498
+ item == o.item &&
499
+ applied_taxes == o.applied_taxes
500
+ end
501
+
502
+ # @see the `==` method
503
+ # @param [Object] Object to be compared
504
+ def eql?(o)
505
+ self == o
506
+ end
507
+
508
+ # Calculates hash code according to all attributes.
509
+ # @return [Integer] Hash code
510
+ def hash
511
+ [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
512
+ end
513
+
514
+ # Builds the object from hash
515
+ # @param [Hash] attributes Model attributes in the form of hash
516
+ # @return [Object] Returns the model itself
517
+ def self.build_from_hash(attributes)
518
+ return nil unless attributes.is_a?(Hash)
519
+ attributes = attributes.transform_keys(&:to_sym)
520
+ transformed_hash = {}
521
+ openapi_types.each_pair do |key, type|
522
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
523
+ transformed_hash["#{key}"] = nil
524
+ elsif type =~ /\AArray<(.*)>/i
525
+ # check to ensure the input is an array given that the attribute
526
+ # is documented as an array but the input is not
527
+ if attributes[attribute_map[key]].is_a?(Array)
528
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
529
+ end
530
+ elsif !attributes[attribute_map[key]].nil?
531
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
532
+ end
533
+ end
534
+ new(transformed_hash)
535
+ end
536
+
537
+ # Deserializes the data based on type
538
+ # @param string type Data type
539
+ # @param string value Value to be deserialized
540
+ # @return [Object] Deserialized data
541
+ def self._deserialize(type, value)
542
+ case type.to_sym
543
+ when :Time
544
+ Time.parse(value)
545
+ when :Date
546
+ Date.parse(value)
547
+ when :String
548
+ value.to_s
549
+ when :Integer
550
+ value.to_i
551
+ when :Float
552
+ value.to_f
553
+ when :Boolean
554
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
555
+ true
556
+ else
557
+ false
558
+ end
559
+ when :Object
560
+ # generic object (usually a Hash), return directly
561
+ value
562
+ when /\AArray<(?<inner_type>.+)>\z/
563
+ inner_type = Regexp.last_match[:inner_type]
564
+ value.map { |v| _deserialize(inner_type, v) }
565
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
566
+ k_type = Regexp.last_match[:k_type]
567
+ v_type = Regexp.last_match[:v_type]
568
+ {}.tap do |hash|
569
+ value.each do |k, v|
570
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
571
+ end
572
+ end
573
+ else # model
574
+ # models (e.g. Pet) or oneOf
575
+ klass = LagoAPI.const_get(type)
576
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
577
+ end
578
+ end
579
+
580
+ # Returns the string representation of the object
581
+ # @return [String] String presentation of the object
582
+ def to_s
583
+ to_hash.to_s
584
+ end
585
+
586
+ # to_body is an alias to to_hash (backward compatibility)
587
+ # @return [Hash] Returns the object in the form of hash
588
+ def to_body
589
+ to_hash
590
+ end
591
+
592
+ # Returns the object in the form of hash
593
+ # @return [Hash] Returns the object in the form of hash
594
+ def to_hash
595
+ hash = {}
596
+ self.class.attribute_map.each_pair do |attr, param|
597
+ value = self.send(attr)
598
+ if value.nil?
599
+ is_nullable = self.class.openapi_nullable.include?(attr)
600
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
601
+ end
602
+
603
+ hash[param] = _to_hash(value)
604
+ end
605
+ hash
606
+ end
607
+
608
+ # Outputs non-array value in the form of hash
609
+ # For object, use to_hash. Otherwise, just return the value
610
+ # @param [Object] value Any valid value
611
+ # @return [Hash] Returns the value in the form of hash
612
+ def _to_hash(value)
613
+ if value.is_a?(Array)
614
+ value.compact.map { |v| _to_hash(v) }
615
+ elsif value.is_a?(Hash)
616
+ {}.tap do |hash|
617
+ value.each { |k, v| hash[k] = _to_hash(v) }
618
+ end
619
+ elsif value.respond_to? :to_hash
620
+ value.to_hash
621
+ else
622
+ value
623
+ end
624
+ end
625
+
626
+ end
627
+
628
+ end