solifyn 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +344 -0
  4. data/Rakefile +10 -0
  5. data/docs/AddCollectionProductsDto.md +18 -0
  6. data/docs/Addon.md +26 -0
  7. data/docs/AddonCreate.md +26 -0
  8. data/docs/AddonUpdate.md +24 -0
  9. data/docs/AffiliateApi.md +845 -0
  10. data/docs/ApiKeyResponseDto.md +34 -0
  11. data/docs/AppPortalUrlResponseDto.md +18 -0
  12. data/docs/BalanceApi.md +184 -0
  13. data/docs/BillingApi.md +68 -0
  14. data/docs/Brand.md +40 -0
  15. data/docs/BrandCreate.md +28 -0
  16. data/docs/BrandUpdate.md +28 -0
  17. data/docs/BrandsApi.md +286 -0
  18. data/docs/Business.md +56 -0
  19. data/docs/BusinessCreate.md +18 -0
  20. data/docs/BusinessFullCreate.md +26 -0
  21. data/docs/BusinessFullCreateResponse.md +20 -0
  22. data/docs/BusinessesApi.md +350 -0
  23. data/docs/ChatApi.md +246 -0
  24. data/docs/CheckoutApi.md +405 -0
  25. data/docs/CheckoutLinkMessageResponseDto.md +18 -0
  26. data/docs/CheckoutLinkResponseDto.md +50 -0
  27. data/docs/CheckoutLinksApi.md +356 -0
  28. data/docs/CheckoutResponseDto.md +22 -0
  29. data/docs/CheckoutSessionDetailsDto.md +38 -0
  30. data/docs/CollectionArchivedResponseDto.md +18 -0
  31. data/docs/CollectionDetailResponseDto.md +36 -0
  32. data/docs/CollectionProductDeletedResponseDto.md +18 -0
  33. data/docs/CollectionProductDto.md +84 -0
  34. data/docs/CollectionProductEntry.md +20 -0
  35. data/docs/CollectionProductRefDto.md +20 -0
  36. data/docs/CollectionProductUpdatedResponseDto.md +18 -0
  37. data/docs/CollectionResponseDto.md +36 -0
  38. data/docs/CollectionUnarchivedResponseDto.md +18 -0
  39. data/docs/CollectionUpdatedResponseDto.md +18 -0
  40. data/docs/CollectionsApi.md +711 -0
  41. data/docs/CommunityApi.md +497 -0
  42. data/docs/CreateApiKeyDto.md +20 -0
  43. data/docs/CreateCheckoutDto.md +36 -0
  44. data/docs/CreateCheckoutLinkDto.md +44 -0
  45. data/docs/CreateCollectionCheckoutDto.md +26 -0
  46. data/docs/CreateCollectionDto.md +26 -0
  47. data/docs/CreateCustomerDto.md +26 -0
  48. data/docs/CreateMeterDto.md +32 -0
  49. data/docs/CreateSetupCheckoutDto.md +26 -0
  50. data/docs/CreateWebhookEndpointDto.md +22 -0
  51. data/docs/CustomerListResponseDto.md +20 -0
  52. data/docs/CustomerMessageResponseDto.md +18 -0
  53. data/docs/CustomerResponseDto.md +38 -0
  54. data/docs/CustomerSharedInviteResponseDto.md +22 -0
  55. data/docs/CustomersApi.md +356 -0
  56. data/docs/DashboardStatsDto.md +24 -0
  57. data/docs/DefaultApi.md +930 -0
  58. data/docs/DeveloperApi.md +628 -0
  59. data/docs/DigitalFileApi.md +187 -0
  60. data/docs/Discount.md +42 -0
  61. data/docs/DiscountCreate.md +36 -0
  62. data/docs/DiscountUpdate.md +34 -0
  63. data/docs/DiscountsApi.md +441 -0
  64. data/docs/DiscountsList200Response.md +24 -0
  65. data/docs/DiscountsList200ResponsePagination.md +22 -0
  66. data/docs/Dispute.md +58 -0
  67. data/docs/DisputeAttachmentDto.md +18 -0
  68. data/docs/DisputeEvidenceDto.md +24 -0
  69. data/docs/DisputeEvidenceUpdate.md +24 -0
  70. data/docs/DisputeFileUpload.md +24 -0
  71. data/docs/DisputeList.md +20 -0
  72. data/docs/DisputeListMetaDto.md +24 -0
  73. data/docs/DisputesApi.md +442 -0
  74. data/docs/Instance.md +30 -0
  75. data/docs/Invoice.md +26 -0
  76. data/docs/License.md +48 -0
  77. data/docs/LicenseApi.md +716 -0
  78. data/docs/LicenseKeysApi.md +716 -0
  79. data/docs/LicenseKeysClientApi.md +289 -0
  80. data/docs/LicenseSubDto.md +30 -0
  81. data/docs/LicenseValidationResponse.md +22 -0
  82. data/docs/LicensesActivateRequest.md +22 -0
  83. data/docs/LicensesCreateRequest.md +26 -0
  84. data/docs/LicensesDeactivate200Response.md +18 -0
  85. data/docs/LicensesDeactivateRequest.md +18 -0
  86. data/docs/LicensesUpdateInstancePostRequest.md +20 -0
  87. data/docs/LicensesUpdateRequest.md +22 -0
  88. data/docs/LicensesVerifyRequest.md +20 -0
  89. data/docs/MeterDetailResponseDto.md +44 -0
  90. data/docs/MeterEventsResponseDto.md +22 -0
  91. data/docs/MeterIngestEventDto.md +28 -0
  92. data/docs/MeterIngestRequestDto.md +18 -0
  93. data/docs/MeterIngestResponseDto.md +22 -0
  94. data/docs/MeterQuantitiesCostDto.md +26 -0
  95. data/docs/MeterQuantitiesResponseDto.md +24 -0
  96. data/docs/MeterResponseDto.md +40 -0
  97. data/docs/MeterUsageEventDto.md +30 -0
  98. data/docs/MetersApi.md +515 -0
  99. data/docs/OperationalWebhookEndpointHeadersInDto.md +18 -0
  100. data/docs/OperationalWebhookEndpointHeadersResponseDto.md +20 -0
  101. data/docs/OperationalWebhookEndpointInDto.md +32 -0
  102. data/docs/OperationalWebhookEndpointListResponseDto.md +24 -0
  103. data/docs/OperationalWebhookEndpointResponseDto.md +38 -0
  104. data/docs/OperationalWebhookEndpointSecretInDto.md +18 -0
  105. data/docs/OperationalWebhookEndpointSecretResponseDto.md +18 -0
  106. data/docs/OperationalWebhookEndpointUpdateDto.md +30 -0
  107. data/docs/Order.md +68 -0
  108. data/docs/OrderBilling.md +26 -0
  109. data/docs/OrderBillingUpdate.md +26 -0
  110. data/docs/OrderCustomer.md +24 -0
  111. data/docs/OrderDetail.md +22 -0
  112. data/docs/OrderList.md +20 -0
  113. data/docs/OrderProductCart.md +26 -0
  114. data/docs/OrderRefund.md +32 -0
  115. data/docs/OrderRefundCreate.md +26 -0
  116. data/docs/OrderUpdate.md +18 -0
  117. data/docs/OrdersApi.md +369 -0
  118. data/docs/PartnerApi.md +125 -0
  119. data/docs/PayoutAccessToken.md +20 -0
  120. data/docs/PayoutAccount.md +22 -0
  121. data/docs/PayoutAccountLink.md +20 -0
  122. data/docs/PayoutMethod.md +24 -0
  123. data/docs/PayoutMethodList.md +18 -0
  124. data/docs/PayoutVerification.md +24 -0
  125. data/docs/PayoutVerificationList.md +18 -0
  126. data/docs/PayoutsApi.md +579 -0
  127. data/docs/PricePreviewResponseDto.md +24 -0
  128. data/docs/Product.md +82 -0
  129. data/docs/ProductAddOnsApi.md +433 -0
  130. data/docs/ProductCreate.md +62 -0
  131. data/docs/ProductCreateAddonsInner.md +26 -0
  132. data/docs/ProductCreateCustomFieldsInner.md +24 -0
  133. data/docs/ProductMessageResponseDto.md +18 -0
  134. data/docs/ProductSubDto.md +22 -0
  135. data/docs/ProductUpdate.md +62 -0
  136. data/docs/ProductsApi.md +445 -0
  137. data/docs/ProductsArchive200Response.md +18 -0
  138. data/docs/ProductsList200Response.md +20 -0
  139. data/docs/ProductsList200ResponsePagination.md +20 -0
  140. data/docs/ProductsUnarchive200Response.md +18 -0
  141. data/docs/Refund.md +42 -0
  142. data/docs/RefundRequestsApi.md +311 -0
  143. data/docs/RefundsChargebacksApi.md +215 -0
  144. data/docs/ResolvedAddon.md +24 -0
  145. data/docs/RevokeSeatDto.md +20 -0
  146. data/docs/Subscription.md +68 -0
  147. data/docs/SubscriptionAction.md +30 -0
  148. data/docs/SubscriptionCompanyDto.md +20 -0
  149. data/docs/SubscriptionDetail.md +24 -0
  150. data/docs/SubscriptionDetailProduct.md +28 -0
  151. data/docs/SubscriptionList.md +20 -0
  152. data/docs/SubscriptionMemberDto.md +18 -0
  153. data/docs/SubscriptionPlanDto.md +20 -0
  154. data/docs/SubscriptionProductDto.md +22 -0
  155. data/docs/SubscriptionSeatAdjustment.md +34 -0
  156. data/docs/SubscriptionUserDto.md +24 -0
  157. data/docs/SubscriptionsAction201Response.md +49 -0
  158. data/docs/SubscriptionsApi.md +223 -0
  159. data/docs/SupportedCurrenciesResponseDto.md +20 -0
  160. data/docs/TicketApi.md +318 -0
  161. data/docs/UpdateCheckoutLinkDto.md +44 -0
  162. data/docs/UpdateCollectionDto.md +22 -0
  163. data/docs/UpdateCollectionProductDto.md +18 -0
  164. data/docs/UpdateCustomerDto.md +24 -0
  165. data/docs/UpdateInstanceDto.md +20 -0
  166. data/docs/UpdateMeterDto.md +32 -0
  167. data/docs/UpdateWebhookEndpointDto.md +24 -0
  168. data/docs/UserPage.md +26 -0
  169. data/docs/UserProfileThemesApi.md +345 -0
  170. data/docs/UserSettings.md +34 -0
  171. data/docs/UserSettingsUpdate.md +76 -0
  172. data/docs/UserStats.md +20 -0
  173. data/docs/UserTheme.md +26 -0
  174. data/docs/UserThemeUpdate.md +22 -0
  175. data/docs/WebhookApi.md +128 -0
  176. data/docs/WebhookDeliveryResponseDto.md +34 -0
  177. data/docs/WebhookDisputePayload.md +42 -0
  178. data/docs/WebhookEndpointApi.md +574 -0
  179. data/docs/WebhookEndpointResponseDto.md +34 -0
  180. data/docs/WebhookLicensePayload.md +48 -0
  181. data/docs/WebhookPaymentPayload.md +116 -0
  182. data/docs/WebhookPaymentPayloadBillingAddress.md +30 -0
  183. data/docs/WebhookRefundPayload.md +38 -0
  184. data/docs/WebhookSubscriptionPayload.md +44 -0
  185. data/docs/WhopApiKeysRotation.md +18 -0
  186. data/docs/Withdrawal.md +46 -0
  187. data/docs/WithdrawalCreate.md +22 -0
  188. data/docs/WithdrawalList.md +20 -0
  189. data/git_push.sh +57 -0
  190. data/lib/solifyn/api/affiliate_api.rb +760 -0
  191. data/lib/solifyn/api/balance_api.rb +175 -0
  192. data/lib/solifyn/api/billing_api.rb +77 -0
  193. data/lib/solifyn/api/brands_api.rb +284 -0
  194. data/lib/solifyn/api/businesses_api.rb +338 -0
  195. data/lib/solifyn/api/chat_api.rb +232 -0
  196. data/lib/solifyn/api/checkout_api.rb +427 -0
  197. data/lib/solifyn/api/checkout_links_api.rb +347 -0
  198. data/lib/solifyn/api/collections_api.rb +690 -0
  199. data/lib/solifyn/api/community_api.rb +466 -0
  200. data/lib/solifyn/api/customers_api.rb +347 -0
  201. data/lib/solifyn/api/default_api.rb +828 -0
  202. data/lib/solifyn/api/developer_api.rb +631 -0
  203. data/lib/solifyn/api/digital_file_api.rb +181 -0
  204. data/lib/solifyn/api/discounts_api.rb +437 -0
  205. data/lib/solifyn/api/disputes_api.rb +424 -0
  206. data/lib/solifyn/api/license_api.rb +702 -0
  207. data/lib/solifyn/api/license_keys_api.rb +702 -0
  208. data/lib/solifyn/api/license_keys_client_api.rb +295 -0
  209. data/lib/solifyn/api/meters_api.rb +508 -0
  210. data/lib/solifyn/api/orders_api.rb +372 -0
  211. data/lib/solifyn/api/partner_api.rb +124 -0
  212. data/lib/solifyn/api/payouts_api.rb +520 -0
  213. data/lib/solifyn/api/product_add_ons_api.rb +432 -0
  214. data/lib/solifyn/api/products_api.rb +438 -0
  215. data/lib/solifyn/api/refund_requests_api.rb +305 -0
  216. data/lib/solifyn/api/refunds_chargebacks_api.rb +214 -0
  217. data/lib/solifyn/api/subscriptions_api.rb +230 -0
  218. data/lib/solifyn/api/ticket_api.rb +328 -0
  219. data/lib/solifyn/api/user_profile_themes_api.rb +313 -0
  220. data/lib/solifyn/api/webhook_api.rb +131 -0
  221. data/lib/solifyn/api/webhook_endpoint_api.rb +597 -0
  222. data/lib/solifyn/api_client.rb +394 -0
  223. data/lib/solifyn/api_error.rb +58 -0
  224. data/lib/solifyn/configuration.rb +313 -0
  225. data/lib/solifyn/models/add_collection_products_dto.rb +224 -0
  226. data/lib/solifyn/models/addon.rb +290 -0
  227. data/lib/solifyn/models/addon_create.rb +276 -0
  228. data/lib/solifyn/models/addon_update.rb +245 -0
  229. data/lib/solifyn/models/api_key_response_dto.rb +336 -0
  230. data/lib/solifyn/models/app_portal_url_response_dto.rb +221 -0
  231. data/lib/solifyn/models/brand.rb +367 -0
  232. data/lib/solifyn/models/brand_create.rb +310 -0
  233. data/lib/solifyn/models/brand_update.rb +303 -0
  234. data/lib/solifyn/models/business.rb +482 -0
  235. data/lib/solifyn/models/business_create.rb +241 -0
  236. data/lib/solifyn/models/business_full_create.rb +288 -0
  237. data/lib/solifyn/models/business_full_create_response.rb +239 -0
  238. data/lib/solifyn/models/checkout_link_message_response_dto.rb +222 -0
  239. data/lib/solifyn/models/checkout_link_response_dto.rb +410 -0
  240. data/lib/solifyn/models/checkout_response_dto.rb +256 -0
  241. data/lib/solifyn/models/checkout_session_details_dto.rb +350 -0
  242. data/lib/solifyn/models/collection_archived_response_dto.rb +222 -0
  243. data/lib/solifyn/models/collection_detail_response_dto.rb +390 -0
  244. data/lib/solifyn/models/collection_product_deleted_response_dto.rb +222 -0
  245. data/lib/solifyn/models/collection_product_dto.rb +826 -0
  246. data/lib/solifyn/models/collection_product_entry.rb +258 -0
  247. data/lib/solifyn/models/collection_product_ref_dto.rb +239 -0
  248. data/lib/solifyn/models/collection_product_updated_response_dto.rb +222 -0
  249. data/lib/solifyn/models/collection_response_dto.rb +390 -0
  250. data/lib/solifyn/models/collection_unarchived_response_dto.rb +222 -0
  251. data/lib/solifyn/models/collection_updated_response_dto.rb +222 -0
  252. data/lib/solifyn/models/create_api_key_dto.rb +234 -0
  253. data/lib/solifyn/models/create_checkout_dto.rb +314 -0
  254. data/lib/solifyn/models/create_checkout_link_dto.rb +582 -0
  255. data/lib/solifyn/models/create_collection_checkout_dto.rb +264 -0
  256. data/lib/solifyn/models/create_collection_dto.rb +305 -0
  257. data/lib/solifyn/models/create_customer_dto.rb +345 -0
  258. data/lib/solifyn/models/create_meter_dto.rb +344 -0
  259. data/lib/solifyn/models/create_setup_checkout_dto.rb +264 -0
  260. data/lib/solifyn/models/create_webhook_endpoint_dto.rb +251 -0
  261. data/lib/solifyn/models/customer_list_response_dto.rb +241 -0
  262. data/lib/solifyn/models/customer_message_response_dto.rb +222 -0
  263. data/lib/solifyn/models/customer_response_dto.rb +350 -0
  264. data/lib/solifyn/models/customer_shared_invite_response_dto.rb +249 -0
  265. data/lib/solifyn/models/dashboard_stats_dto.rb +273 -0
  266. data/lib/solifyn/models/discount.rb +466 -0
  267. data/lib/solifyn/models/discount_create.rb +362 -0
  268. data/lib/solifyn/models/discount_update.rb +331 -0
  269. data/lib/solifyn/models/discounts_list200_response.rb +273 -0
  270. data/lib/solifyn/models/discounts_list200_response_pagination.rb +256 -0
  271. data/lib/solifyn/models/dispute.rb +492 -0
  272. data/lib/solifyn/models/dispute_attachment_dto.rb +222 -0
  273. data/lib/solifyn/models/dispute_evidence_dto.rb +245 -0
  274. data/lib/solifyn/models/dispute_evidence_update.rb +245 -0
  275. data/lib/solifyn/models/dispute_file_upload.rb +259 -0
  276. data/lib/solifyn/models/dispute_list.rb +241 -0
  277. data/lib/solifyn/models/dispute_list_meta_dto.rb +273 -0
  278. data/lib/solifyn/models/instance.rb +325 -0
  279. data/lib/solifyn/models/invoice.rb +291 -0
  280. data/lib/solifyn/models/license.rb +512 -0
  281. data/lib/solifyn/models/license_sub_dto.rb +310 -0
  282. data/lib/solifyn/models/license_validation_response.rb +253 -0
  283. data/lib/solifyn/models/licenses_activate_request.rb +256 -0
  284. data/lib/solifyn/models/licenses_create_request.rb +269 -0
  285. data/lib/solifyn/models/licenses_deactivate200_response.rb +214 -0
  286. data/lib/solifyn/models/licenses_deactivate_request.rb +222 -0
  287. data/lib/solifyn/models/licenses_update_instance_post_request.rb +225 -0
  288. data/lib/solifyn/models/licenses_update_request.rb +266 -0
  289. data/lib/solifyn/models/licenses_verify_request.rb +239 -0
  290. data/lib/solifyn/models/meter_detail_response_dto.rb +454 -0
  291. data/lib/solifyn/models/meter_events_response_dto.rb +259 -0
  292. data/lib/solifyn/models/meter_ingest_event_dto.rb +290 -0
  293. data/lib/solifyn/models/meter_ingest_request_dto.rb +224 -0
  294. data/lib/solifyn/models/meter_ingest_response_dto.rb +258 -0
  295. data/lib/solifyn/models/meter_quantities_cost_dto.rb +290 -0
  296. data/lib/solifyn/models/meter_quantities_response_dto.rb +276 -0
  297. data/lib/solifyn/models/meter_response_dto.rb +418 -0
  298. data/lib/solifyn/models/meter_usage_event_dto.rb +319 -0
  299. data/lib/solifyn/models/operational_webhook_endpoint_headers_in_dto.rb +222 -0
  300. data/lib/solifyn/models/operational_webhook_endpoint_headers_response_dto.rb +241 -0
  301. data/lib/solifyn/models/operational_webhook_endpoint_in_dto.rb +315 -0
  302. data/lib/solifyn/models/operational_webhook_endpoint_list_response_dto.rb +257 -0
  303. data/lib/solifyn/models/operational_webhook_endpoint_response_dto.rb +363 -0
  304. data/lib/solifyn/models/operational_webhook_endpoint_secret_in_dto.rb +215 -0
  305. data/lib/solifyn/models/operational_webhook_endpoint_secret_response_dto.rb +221 -0
  306. data/lib/solifyn/models/operational_webhook_endpoint_update_dto.rb +303 -0
  307. data/lib/solifyn/models/order.rb +582 -0
  308. data/lib/solifyn/models/order_billing.rb +255 -0
  309. data/lib/solifyn/models/order_billing_update.rb +250 -0
  310. data/lib/solifyn/models/order_customer.rb +266 -0
  311. data/lib/solifyn/models/order_detail.rb +237 -0
  312. data/lib/solifyn/models/order_list.rb +241 -0
  313. data/lib/solifyn/models/order_product_cart.rb +283 -0
  314. data/lib/solifyn/models/order_refund.rb +334 -0
  315. data/lib/solifyn/models/order_refund_create.rb +278 -0
  316. data/lib/solifyn/models/order_update.rb +214 -0
  317. data/lib/solifyn/models/payout_access_token.rb +239 -0
  318. data/lib/solifyn/models/payout_account.rb +249 -0
  319. data/lib/solifyn/models/payout_account_link.rb +239 -0
  320. data/lib/solifyn/models/payout_method.rb +266 -0
  321. data/lib/solifyn/models/payout_method_list.rb +224 -0
  322. data/lib/solifyn/models/payout_verification.rb +266 -0
  323. data/lib/solifyn/models/payout_verification_list.rb +224 -0
  324. data/lib/solifyn/models/price_preview_response_dto.rb +273 -0
  325. data/lib/solifyn/models/product.rb +810 -0
  326. data/lib/solifyn/models/product_create.rb +527 -0
  327. data/lib/solifyn/models/product_create_addons_inner.rb +250 -0
  328. data/lib/solifyn/models/product_create_custom_fields_inner.rb +241 -0
  329. data/lib/solifyn/models/product_message_response_dto.rb +222 -0
  330. data/lib/solifyn/models/product_sub_dto.rb +253 -0
  331. data/lib/solifyn/models/product_update.rb +501 -0
  332. data/lib/solifyn/models/products_archive200_response.rb +214 -0
  333. data/lib/solifyn/models/products_list200_response.rb +239 -0
  334. data/lib/solifyn/models/products_list200_response_pagination.rb +239 -0
  335. data/lib/solifyn/models/products_unarchive200_response.rb +214 -0
  336. data/lib/solifyn/models/refund.rb +425 -0
  337. data/lib/solifyn/models/resolved_addon.rb +273 -0
  338. data/lib/solifyn/models/revoke_seat_dto.rb +239 -0
  339. data/lib/solifyn/models/subscription.rb +627 -0
  340. data/lib/solifyn/models/subscription_action.rb +392 -0
  341. data/lib/solifyn/models/subscription_company_dto.rb +239 -0
  342. data/lib/solifyn/models/subscription_detail.rb +278 -0
  343. data/lib/solifyn/models/subscription_detail_product.rb +300 -0
  344. data/lib/solifyn/models/subscription_list.rb +241 -0
  345. data/lib/solifyn/models/subscription_member_dto.rb +222 -0
  346. data/lib/solifyn/models/subscription_plan_dto.rb +232 -0
  347. data/lib/solifyn/models/subscription_product_dto.rb +249 -0
  348. data/lib/solifyn/models/subscription_seat_adjustment.rb +359 -0
  349. data/lib/solifyn/models/subscription_user_dto.rb +273 -0
  350. data/lib/solifyn/models/subscriptions_action201_response.rb +105 -0
  351. data/lib/solifyn/models/supported_currencies_response_dto.rb +239 -0
  352. data/lib/solifyn/models/update_checkout_link_dto.rb +575 -0
  353. data/lib/solifyn/models/update_collection_dto.rb +235 -0
  354. data/lib/solifyn/models/update_collection_product_dto.rb +241 -0
  355. data/lib/solifyn/models/update_customer_dto.rb +302 -0
  356. data/lib/solifyn/models/update_instance_dto.rb +225 -0
  357. data/lib/solifyn/models/update_meter_dto.rb +321 -0
  358. data/lib/solifyn/models/update_webhook_endpoint_dto.rb +281 -0
  359. data/lib/solifyn/models/user_page.rb +290 -0
  360. data/lib/solifyn/models/user_settings.rb +337 -0
  361. data/lib/solifyn/models/user_settings_update.rb +505 -0
  362. data/lib/solifyn/models/user_stats.rb +241 -0
  363. data/lib/solifyn/models/user_theme.rb +276 -0
  364. data/lib/solifyn/models/user_theme_update.rb +235 -0
  365. data/lib/solifyn/models/webhook_delivery_response_dto.rb +328 -0
  366. data/lib/solifyn/models/webhook_dispute_payload.rb +324 -0
  367. data/lib/solifyn/models/webhook_endpoint_response_dto.rb +339 -0
  368. data/lib/solifyn/models/webhook_license_payload.rb +512 -0
  369. data/lib/solifyn/models/webhook_payment_payload.rb +659 -0
  370. data/lib/solifyn/models/webhook_payment_payload_billing_address.rb +268 -0
  371. data/lib/solifyn/models/webhook_refund_payload.rb +306 -0
  372. data/lib/solifyn/models/webhook_subscription_payload.rb +333 -0
  373. data/lib/solifyn/models/whop_api_keys_rotation.rb +222 -0
  374. data/lib/solifyn/models/withdrawal.rb +411 -0
  375. data/lib/solifyn/models/withdrawal_create.rb +249 -0
  376. data/lib/solifyn/models/withdrawal_list.rb +241 -0
  377. data/lib/solifyn/version.rb +15 -0
  378. data/lib/solifyn.rb +191 -0
  379. data/solifyn.gemspec +39 -0
  380. data/spec/api/affiliate_api_spec.rb +165 -0
  381. data/spec/api/balance_api_spec.rb +62 -0
  382. data/spec/api/billing_api_spec.rb +46 -0
  383. data/spec/api/brands_api_spec.rb +83 -0
  384. data/spec/api/businesses_api_spec.rb +93 -0
  385. data/spec/api/chat_api_spec.rb +72 -0
  386. data/spec/api/checkout_api_spec.rb +99 -0
  387. data/spec/api/checkout_links_api_spec.rb +95 -0
  388. data/spec/api/collections_api_spec.rb +158 -0
  389. data/spec/api/community_api_spec.rb +113 -0
  390. data/spec/api/customers_api_spec.rb +95 -0
  391. data/spec/api/default_api_spec.rb +191 -0
  392. data/spec/api/developer_api_spec.rb +120 -0
  393. data/spec/api/digital_file_api_spec.rb +63 -0
  394. data/spec/api/discounts_api_spec.rb +113 -0
  395. data/spec/api/disputes_api_spec.rb +113 -0
  396. data/spec/api/license_api_spec.rb +160 -0
  397. data/spec/api/license_keys_api_spec.rb +160 -0
  398. data/spec/api/license_keys_client_api_spec.rb +84 -0
  399. data/spec/api/meters_api_spec.rb +125 -0
  400. data/spec/api/orders_api_spec.rb +103 -0
  401. data/spec/api/partner_api_spec.rb +53 -0
  402. data/spec/api/payouts_api_spec.rb +133 -0
  403. data/spec/api/product_add_ons_api_spec.rb +111 -0
  404. data/spec/api/products_api_spec.rb +115 -0
  405. data/spec/api/refund_requests_api_spec.rb +88 -0
  406. data/spec/api/refunds_chargebacks_api_spec.rb +71 -0
  407. data/spec/api/subscriptions_api_spec.rb +73 -0
  408. data/spec/api/ticket_api_spec.rb +86 -0
  409. data/spec/api/user_profile_themes_api_spec.rb +91 -0
  410. data/spec/api/webhook_api_spec.rb +54 -0
  411. data/spec/api/webhook_endpoint_api_spec.rb +136 -0
  412. data/spec/models/add_collection_products_dto_spec.rb +36 -0
  413. data/spec/models/addon_create_spec.rb +60 -0
  414. data/spec/models/addon_spec.rb +60 -0
  415. data/spec/models/addon_update_spec.rb +54 -0
  416. data/spec/models/api_key_response_dto_spec.rb +84 -0
  417. data/spec/models/app_portal_url_response_dto_spec.rb +36 -0
  418. data/spec/models/brand_create_spec.rb +66 -0
  419. data/spec/models/brand_spec.rb +102 -0
  420. data/spec/models/brand_update_spec.rb +66 -0
  421. data/spec/models/business_create_spec.rb +36 -0
  422. data/spec/models/business_full_create_response_spec.rb +42 -0
  423. data/spec/models/business_full_create_spec.rb +60 -0
  424. data/spec/models/business_spec.rb +150 -0
  425. data/spec/models/checkout_link_message_response_dto_spec.rb +36 -0
  426. data/spec/models/checkout_link_response_dto_spec.rb +132 -0
  427. data/spec/models/checkout_response_dto_spec.rb +48 -0
  428. data/spec/models/checkout_session_details_dto_spec.rb +96 -0
  429. data/spec/models/collection_archived_response_dto_spec.rb +36 -0
  430. data/spec/models/collection_detail_response_dto_spec.rb +94 -0
  431. data/spec/models/collection_product_deleted_response_dto_spec.rb +36 -0
  432. data/spec/models/collection_product_dto_spec.rb +236 -0
  433. data/spec/models/collection_product_entry_spec.rb +42 -0
  434. data/spec/models/collection_product_ref_dto_spec.rb +42 -0
  435. data/spec/models/collection_product_updated_response_dto_spec.rb +36 -0
  436. data/spec/models/collection_response_dto_spec.rb +94 -0
  437. data/spec/models/collection_unarchived_response_dto_spec.rb +36 -0
  438. data/spec/models/collection_updated_response_dto_spec.rb +36 -0
  439. data/spec/models/create_api_key_dto_spec.rb +42 -0
  440. data/spec/models/create_checkout_dto_spec.rb +90 -0
  441. data/spec/models/create_checkout_link_dto_spec.rb +114 -0
  442. data/spec/models/create_collection_checkout_dto_spec.rb +60 -0
  443. data/spec/models/create_collection_dto_spec.rb +64 -0
  444. data/spec/models/create_customer_dto_spec.rb +60 -0
  445. data/spec/models/create_meter_dto_spec.rb +82 -0
  446. data/spec/models/create_setup_checkout_dto_spec.rb +60 -0
  447. data/spec/models/create_webhook_endpoint_dto_spec.rb +48 -0
  448. data/spec/models/customer_list_response_dto_spec.rb +42 -0
  449. data/spec/models/customer_message_response_dto_spec.rb +36 -0
  450. data/spec/models/customer_response_dto_spec.rb +96 -0
  451. data/spec/models/customer_shared_invite_response_dto_spec.rb +48 -0
  452. data/spec/models/dashboard_stats_dto_spec.rb +54 -0
  453. data/spec/models/discount_create_spec.rb +94 -0
  454. data/spec/models/discount_spec.rb +116 -0
  455. data/spec/models/discount_update_spec.rb +88 -0
  456. data/spec/models/discounts_list200_response_pagination_spec.rb +48 -0
  457. data/spec/models/discounts_list200_response_spec.rb +54 -0
  458. data/spec/models/dispute_attachment_dto_spec.rb +36 -0
  459. data/spec/models/dispute_evidence_dto_spec.rb +54 -0
  460. data/spec/models/dispute_evidence_update_spec.rb +54 -0
  461. data/spec/models/dispute_file_upload_spec.rb +54 -0
  462. data/spec/models/dispute_list_meta_dto_spec.rb +54 -0
  463. data/spec/models/dispute_list_spec.rb +42 -0
  464. data/spec/models/dispute_spec.rb +156 -0
  465. data/spec/models/instance_spec.rb +72 -0
  466. data/spec/models/invoice_spec.rb +60 -0
  467. data/spec/models/license_spec.rb +130 -0
  468. data/spec/models/license_sub_dto_spec.rb +72 -0
  469. data/spec/models/license_validation_response_spec.rb +48 -0
  470. data/spec/models/licenses_activate_request_spec.rb +48 -0
  471. data/spec/models/licenses_create_request_spec.rb +60 -0
  472. data/spec/models/licenses_deactivate200_response_spec.rb +36 -0
  473. data/spec/models/licenses_deactivate_request_spec.rb +36 -0
  474. data/spec/models/licenses_update_instance_post_request_spec.rb +42 -0
  475. data/spec/models/licenses_update_request_spec.rb +52 -0
  476. data/spec/models/licenses_verify_request_spec.rb +42 -0
  477. data/spec/models/meter_detail_response_dto_spec.rb +118 -0
  478. data/spec/models/meter_events_response_dto_spec.rb +48 -0
  479. data/spec/models/meter_ingest_event_dto_spec.rb +66 -0
  480. data/spec/models/meter_ingest_request_dto_spec.rb +36 -0
  481. data/spec/models/meter_ingest_response_dto_spec.rb +48 -0
  482. data/spec/models/meter_quantities_cost_dto_spec.rb +60 -0
  483. data/spec/models/meter_quantities_response_dto_spec.rb +54 -0
  484. data/spec/models/meter_response_dto_spec.rb +106 -0
  485. data/spec/models/meter_usage_event_dto_spec.rb +72 -0
  486. data/spec/models/operational_webhook_endpoint_headers_in_dto_spec.rb +36 -0
  487. data/spec/models/operational_webhook_endpoint_headers_response_dto_spec.rb +42 -0
  488. data/spec/models/operational_webhook_endpoint_in_dto_spec.rb +78 -0
  489. data/spec/models/operational_webhook_endpoint_list_response_dto_spec.rb +54 -0
  490. data/spec/models/operational_webhook_endpoint_response_dto_spec.rb +96 -0
  491. data/spec/models/operational_webhook_endpoint_secret_in_dto_spec.rb +36 -0
  492. data/spec/models/operational_webhook_endpoint_secret_response_dto_spec.rb +36 -0
  493. data/spec/models/operational_webhook_endpoint_update_dto_spec.rb +72 -0
  494. data/spec/models/order_billing_spec.rb +60 -0
  495. data/spec/models/order_billing_update_spec.rb +60 -0
  496. data/spec/models/order_customer_spec.rb +54 -0
  497. data/spec/models/order_detail_spec.rb +48 -0
  498. data/spec/models/order_list_spec.rb +42 -0
  499. data/spec/models/order_product_cart_spec.rb +60 -0
  500. data/spec/models/order_refund_create_spec.rb +60 -0
  501. data/spec/models/order_refund_spec.rb +78 -0
  502. data/spec/models/order_spec.rb +180 -0
  503. data/spec/models/order_update_spec.rb +36 -0
  504. data/spec/models/payout_access_token_spec.rb +42 -0
  505. data/spec/models/payout_account_link_spec.rb +42 -0
  506. data/spec/models/payout_account_spec.rb +48 -0
  507. data/spec/models/payout_method_list_spec.rb +36 -0
  508. data/spec/models/payout_method_spec.rb +54 -0
  509. data/spec/models/payout_verification_list_spec.rb +36 -0
  510. data/spec/models/payout_verification_spec.rb +54 -0
  511. data/spec/models/price_preview_response_dto_spec.rb +54 -0
  512. data/spec/models/product_create_addons_inner_spec.rb +60 -0
  513. data/spec/models/product_create_custom_fields_inner_spec.rb +54 -0
  514. data/spec/models/product_create_spec.rb +170 -0
  515. data/spec/models/product_message_response_dto_spec.rb +36 -0
  516. data/spec/models/product_spec.rb +230 -0
  517. data/spec/models/product_sub_dto_spec.rb +48 -0
  518. data/spec/models/product_update_spec.rb +170 -0
  519. data/spec/models/products_archive200_response_spec.rb +36 -0
  520. data/spec/models/products_list200_response_pagination_spec.rb +42 -0
  521. data/spec/models/products_list200_response_spec.rb +42 -0
  522. data/spec/models/products_unarchive200_response_spec.rb +36 -0
  523. data/spec/models/refund_spec.rb +112 -0
  524. data/spec/models/resolved_addon_spec.rb +54 -0
  525. data/spec/models/revoke_seat_dto_spec.rb +42 -0
  526. data/spec/models/subscription_action_spec.rb +80 -0
  527. data/spec/models/subscription_company_dto_spec.rb +42 -0
  528. data/spec/models/subscription_detail_product_spec.rb +66 -0
  529. data/spec/models/subscription_detail_spec.rb +54 -0
  530. data/spec/models/subscription_list_spec.rb +42 -0
  531. data/spec/models/subscription_member_dto_spec.rb +36 -0
  532. data/spec/models/subscription_plan_dto_spec.rb +42 -0
  533. data/spec/models/subscription_product_dto_spec.rb +48 -0
  534. data/spec/models/subscription_seat_adjustment_spec.rb +84 -0
  535. data/spec/models/subscription_spec.rb +186 -0
  536. data/spec/models/subscription_user_dto_spec.rb +54 -0
  537. data/spec/models/subscriptions_action201_response_spec.rb +32 -0
  538. data/spec/models/supported_currencies_response_dto_spec.rb +42 -0
  539. data/spec/models/update_checkout_link_dto_spec.rb +114 -0
  540. data/spec/models/update_collection_dto_spec.rb +48 -0
  541. data/spec/models/update_collection_product_dto_spec.rb +36 -0
  542. data/spec/models/update_customer_dto_spec.rb +54 -0
  543. data/spec/models/update_instance_dto_spec.rb +42 -0
  544. data/spec/models/update_meter_dto_spec.rb +82 -0
  545. data/spec/models/update_webhook_endpoint_dto_spec.rb +58 -0
  546. data/spec/models/user_page_spec.rb +60 -0
  547. data/spec/models/user_settings_spec.rb +84 -0
  548. data/spec/models/user_settings_update_spec.rb +210 -0
  549. data/spec/models/user_stats_spec.rb +42 -0
  550. data/spec/models/user_theme_spec.rb +60 -0
  551. data/spec/models/user_theme_update_spec.rb +48 -0
  552. data/spec/models/webhook_delivery_response_dto_spec.rb +84 -0
  553. data/spec/models/webhook_dispute_payload_spec.rb +108 -0
  554. data/spec/models/webhook_endpoint_response_dto_spec.rb +84 -0
  555. data/spec/models/webhook_license_payload_spec.rb +130 -0
  556. data/spec/models/webhook_payment_payload_billing_address_spec.rb +72 -0
  557. data/spec/models/webhook_payment_payload_spec.rb +330 -0
  558. data/spec/models/webhook_refund_payload_spec.rb +96 -0
  559. data/spec/models/webhook_subscription_payload_spec.rb +114 -0
  560. data/spec/models/whop_api_keys_rotation_spec.rb +36 -0
  561. data/spec/models/withdrawal_create_spec.rb +48 -0
  562. data/spec/models/withdrawal_list_spec.rb +42 -0
  563. data/spec/models/withdrawal_spec.rb +120 -0
  564. data/spec/spec_helper.rb +111 -0
  565. metadata +831 -0
@@ -0,0 +1,276 @@
1
+ =begin
2
+ #Solifyn API
3
+
4
+ #Welcome to the Solifyn API Reference. Leverage our secure endpoints to manage products and issue, validate, and manage software license keys programmatically.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Solifyn
17
+ # Represents aggregated usage quantities and calculated product costs for a meter within a selected date range.
18
+ class MeterQuantitiesResponseDto
19
+ # The unique meter ID.
20
+ attr_accessor :meter_id
21
+
22
+ # Meter display name.
23
+ attr_accessor :name
24
+
25
+ # Total usage within the selected time range.
26
+ attr_accessor :total_usage
27
+
28
+ # Cost breakdown for products attached to the meter.
29
+ attr_accessor :costs
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'meter_id' => :'meterId',
35
+ :'name' => :'name',
36
+ :'total_usage' => :'totalUsage',
37
+ :'costs' => :'costs'
38
+ }
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'meter_id' => :'String',
50
+ :'name' => :'String',
51
+ :'total_usage' => :'Float',
52
+ :'costs' => :'Array<MeterQuantitiesCostDto>'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Solifyn::MeterQuantitiesResponseDto` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!self.class.attribute_map.key?(k.to_sym))
72
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Solifyn::MeterQuantitiesResponseDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
73
+ end
74
+ h[k.to_sym] = v
75
+ }
76
+
77
+ if attributes.key?(:'meter_id')
78
+ self.meter_id = attributes[:'meter_id']
79
+ else
80
+ self.meter_id = nil
81
+ end
82
+
83
+ if attributes.key?(:'name')
84
+ self.name = attributes[:'name']
85
+ else
86
+ self.name = nil
87
+ end
88
+
89
+ if attributes.key?(:'total_usage')
90
+ self.total_usage = attributes[:'total_usage']
91
+ else
92
+ self.total_usage = nil
93
+ end
94
+
95
+ if attributes.key?(:'costs')
96
+ if (value = attributes[:'costs']).is_a?(Array)
97
+ self.costs = value
98
+ end
99
+ else
100
+ self.costs = nil
101
+ end
102
+ end
103
+
104
+ # Show invalid properties with the reasons. Usually used together with valid?
105
+ # @return Array for valid properties with the reasons
106
+ def list_invalid_properties
107
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
108
+ invalid_properties = Array.new
109
+ if @meter_id.nil?
110
+ invalid_properties.push('invalid value for "meter_id", meter_id cannot be nil.')
111
+ end
112
+
113
+ if @name.nil?
114
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
115
+ end
116
+
117
+ if @total_usage.nil?
118
+ invalid_properties.push('invalid value for "total_usage", total_usage cannot be nil.')
119
+ end
120
+
121
+ if @costs.nil?
122
+ invalid_properties.push('invalid value for "costs", costs cannot be nil.')
123
+ end
124
+
125
+ invalid_properties
126
+ end
127
+
128
+ # Check to see if the all the properties in the model are valid
129
+ # @return true if the model is valid
130
+ def valid?
131
+ warn '[DEPRECATED] the `valid?` method is obsolete'
132
+ return false if @meter_id.nil?
133
+ return false if @name.nil?
134
+ return false if @total_usage.nil?
135
+ return false if @costs.nil?
136
+ true
137
+ end
138
+
139
+ # Checks equality by comparing each attribute.
140
+ # @param [Object] Object to be compared
141
+ def ==(o)
142
+ return true if self.equal?(o)
143
+ self.class == o.class &&
144
+ meter_id == o.meter_id &&
145
+ name == o.name &&
146
+ total_usage == o.total_usage &&
147
+ costs == o.costs
148
+ end
149
+
150
+ # @see the `==` method
151
+ # @param [Object] Object to be compared
152
+ def eql?(o)
153
+ self == o
154
+ end
155
+
156
+ # Calculates hash code according to all attributes.
157
+ # @return [Integer] Hash code
158
+ def hash
159
+ [meter_id, name, total_usage, costs].hash
160
+ end
161
+
162
+ # Builds the object from hash
163
+ # @param [Hash] attributes Model attributes in the form of hash
164
+ # @return [Object] Returns the model itself
165
+ def self.build_from_hash(attributes)
166
+ return nil unless attributes.is_a?(Hash)
167
+ attributes = attributes.transform_keys(&:to_sym)
168
+ transformed_hash = {}
169
+ openapi_types.each_pair do |key, type|
170
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
171
+ transformed_hash["#{key}"] = nil
172
+ elsif type =~ /\AArray<(.*)>/i
173
+ # check to ensure the input is an array given that the attribute
174
+ # is documented as an array but the input is not
175
+ if attributes[attribute_map[key]].is_a?(Array)
176
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
177
+ end
178
+ elsif !attributes[attribute_map[key]].nil?
179
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
180
+ end
181
+ end
182
+ new(transformed_hash)
183
+ end
184
+
185
+ # Deserializes the data based on type
186
+ # @param string type Data type
187
+ # @param string value Value to be deserialized
188
+ # @return [Object] Deserialized data
189
+ def self._deserialize(type, value)
190
+ case type.to_sym
191
+ when :Time
192
+ Time.parse(value)
193
+ when :Date
194
+ Date.parse(value)
195
+ when :String
196
+ value.to_s
197
+ when :Integer
198
+ value.to_i
199
+ when :Float
200
+ value.to_f
201
+ when :Boolean
202
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
203
+ true
204
+ else
205
+ false
206
+ end
207
+ when :Object
208
+ # generic object (usually a Hash), return directly
209
+ value
210
+ when /\AArray<(?<inner_type>.+)>\z/
211
+ inner_type = Regexp.last_match[:inner_type]
212
+ value.map { |v| _deserialize(inner_type, v) }
213
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
214
+ k_type = Regexp.last_match[:k_type]
215
+ v_type = Regexp.last_match[:v_type]
216
+ {}.tap do |hash|
217
+ value.each do |k, v|
218
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
219
+ end
220
+ end
221
+ else # model
222
+ # models (e.g. Pet) or oneOf
223
+ klass = Solifyn.const_get(type)
224
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
225
+ end
226
+ end
227
+
228
+ # Returns the string representation of the object
229
+ # @return [String] String presentation of the object
230
+ def to_s
231
+ to_hash.to_s
232
+ end
233
+
234
+ # to_body is an alias to to_hash (backward compatibility)
235
+ # @return [Hash] Returns the object in the form of hash
236
+ def to_body
237
+ to_hash
238
+ end
239
+
240
+ # Returns the object in the form of hash
241
+ # @return [Hash] Returns the object in the form of hash
242
+ def to_hash
243
+ hash = {}
244
+ self.class.attribute_map.each_pair do |attr, param|
245
+ value = self.send(attr)
246
+ if value.nil?
247
+ is_nullable = self.class.openapi_nullable.include?(attr)
248
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
249
+ end
250
+
251
+ hash[param] = _to_hash(value)
252
+ end
253
+ hash
254
+ end
255
+
256
+ # Outputs non-array value in the form of hash
257
+ # For object, use to_hash. Otherwise, just return the value
258
+ # @param [Object] value Any valid value
259
+ # @return [Hash] Returns the value in the form of hash
260
+ def _to_hash(value)
261
+ if value.is_a?(Array)
262
+ value.compact.map { |v| _to_hash(v) }
263
+ elsif value.is_a?(Hash)
264
+ {}.tap do |hash|
265
+ value.each { |k, v| hash[k] = _to_hash(v) }
266
+ end
267
+ elsif value.respond_to? :to_hash
268
+ value.to_hash
269
+ else
270
+ value
271
+ end
272
+ end
273
+
274
+ end
275
+
276
+ end
@@ -0,0 +1,418 @@
1
+ =begin
2
+ #Solifyn API
3
+
4
+ #Welcome to the Solifyn API Reference. Leverage our secure endpoints to manage products and issue, validate, and manage software license keys programmatically.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Solifyn
17
+ # Represents a usage meter configured for event-based billing, including the tracked event name, aggregation strategy, optional filters, and archive status.
18
+ class MeterResponseDto
19
+ # The unique meter ID.
20
+ attr_accessor :id
21
+
22
+ # The business ID that owns this meter.
23
+ attr_accessor :business_id
24
+
25
+ # Meter display name.
26
+ attr_accessor :name
27
+
28
+ # Meter description.
29
+ attr_accessor :description
30
+
31
+ # The event name tracked by this meter.
32
+ attr_accessor :event_name
33
+
34
+ # Aggregation strategy for usage events.
35
+ attr_accessor :aggregation_type
36
+
37
+ # Metadata key used for aggregation.
38
+ attr_accessor :aggregation_key
39
+
40
+ # Measurement unit label.
41
+ attr_accessor :unit
42
+
43
+ # Optional filter definition for advanced matching.
44
+ attr_accessor :filters
45
+
46
+ # Whether the meter is archived.
47
+ attr_accessor :archived
48
+
49
+ # Creation timestamp.
50
+ attr_accessor :created_at
51
+
52
+ # Last update timestamp.
53
+ attr_accessor :updated_at
54
+
55
+ class EnumAttributeValidator
56
+ attr_reader :datatype
57
+ attr_reader :allowable_values
58
+
59
+ def initialize(datatype, allowable_values)
60
+ @allowable_values = allowable_values.map do |value|
61
+ case datatype.to_s
62
+ when /Integer/i
63
+ value.to_i
64
+ when /Float/i
65
+ value.to_f
66
+ else
67
+ value
68
+ end
69
+ end
70
+ end
71
+
72
+ def valid?(value)
73
+ !value || allowable_values.include?(value)
74
+ end
75
+ end
76
+
77
+ # Attribute mapping from ruby-style variable name to JSON key.
78
+ def self.attribute_map
79
+ {
80
+ :'id' => :'id',
81
+ :'business_id' => :'businessId',
82
+ :'name' => :'name',
83
+ :'description' => :'description',
84
+ :'event_name' => :'eventName',
85
+ :'aggregation_type' => :'aggregationType',
86
+ :'aggregation_key' => :'aggregationKey',
87
+ :'unit' => :'unit',
88
+ :'filters' => :'filters',
89
+ :'archived' => :'archived',
90
+ :'created_at' => :'createdAt',
91
+ :'updated_at' => :'updatedAt'
92
+ }
93
+ end
94
+
95
+ # Returns all the JSON keys this model knows about
96
+ def self.acceptable_attributes
97
+ attribute_map.values
98
+ end
99
+
100
+ # Attribute type mapping.
101
+ def self.openapi_types
102
+ {
103
+ :'id' => :'String',
104
+ :'business_id' => :'String',
105
+ :'name' => :'String',
106
+ :'description' => :'Object',
107
+ :'event_name' => :'String',
108
+ :'aggregation_type' => :'String',
109
+ :'aggregation_key' => :'Object',
110
+ :'unit' => :'Object',
111
+ :'filters' => :'Hash<String, Object>',
112
+ :'archived' => :'Boolean',
113
+ :'created_at' => :'Time',
114
+ :'updated_at' => :'Time'
115
+ }
116
+ end
117
+
118
+ # List of attributes with nullable: true
119
+ def self.openapi_nullable
120
+ Set.new([
121
+ ])
122
+ end
123
+
124
+ # Initializes the object
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ def initialize(attributes = {})
127
+ if (!attributes.is_a?(Hash))
128
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Solifyn::MeterResponseDto` initialize method"
129
+ end
130
+
131
+ # check to see if the attribute exists and convert string to symbol for hash key
132
+ attributes = attributes.each_with_object({}) { |(k, v), h|
133
+ if (!self.class.attribute_map.key?(k.to_sym))
134
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Solifyn::MeterResponseDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
135
+ end
136
+ h[k.to_sym] = v
137
+ }
138
+
139
+ if attributes.key?(:'id')
140
+ self.id = attributes[:'id']
141
+ else
142
+ self.id = nil
143
+ end
144
+
145
+ if attributes.key?(:'business_id')
146
+ self.business_id = attributes[:'business_id']
147
+ else
148
+ self.business_id = nil
149
+ end
150
+
151
+ if attributes.key?(:'name')
152
+ self.name = attributes[:'name']
153
+ else
154
+ self.name = nil
155
+ end
156
+
157
+ if attributes.key?(:'description')
158
+ self.description = attributes[:'description']
159
+ end
160
+
161
+ if attributes.key?(:'event_name')
162
+ self.event_name = attributes[:'event_name']
163
+ else
164
+ self.event_name = nil
165
+ end
166
+
167
+ if attributes.key?(:'aggregation_type')
168
+ self.aggregation_type = attributes[:'aggregation_type']
169
+ else
170
+ self.aggregation_type = nil
171
+ end
172
+
173
+ if attributes.key?(:'aggregation_key')
174
+ self.aggregation_key = attributes[:'aggregation_key']
175
+ end
176
+
177
+ if attributes.key?(:'unit')
178
+ self.unit = attributes[:'unit']
179
+ end
180
+
181
+ if attributes.key?(:'filters')
182
+ if (value = attributes[:'filters']).is_a?(Hash)
183
+ self.filters = value
184
+ end
185
+ end
186
+
187
+ if attributes.key?(:'archived')
188
+ self.archived = attributes[:'archived']
189
+ else
190
+ self.archived = nil
191
+ end
192
+
193
+ if attributes.key?(:'created_at')
194
+ self.created_at = attributes[:'created_at']
195
+ else
196
+ self.created_at = nil
197
+ end
198
+
199
+ if attributes.key?(:'updated_at')
200
+ self.updated_at = attributes[:'updated_at']
201
+ else
202
+ self.updated_at = nil
203
+ end
204
+ end
205
+
206
+ # Show invalid properties with the reasons. Usually used together with valid?
207
+ # @return Array for valid properties with the reasons
208
+ def list_invalid_properties
209
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
210
+ invalid_properties = Array.new
211
+ if @id.nil?
212
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
213
+ end
214
+
215
+ if @business_id.nil?
216
+ invalid_properties.push('invalid value for "business_id", business_id cannot be nil.')
217
+ end
218
+
219
+ if @name.nil?
220
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
221
+ end
222
+
223
+ if @event_name.nil?
224
+ invalid_properties.push('invalid value for "event_name", event_name cannot be nil.')
225
+ end
226
+
227
+ if @aggregation_type.nil?
228
+ invalid_properties.push('invalid value for "aggregation_type", aggregation_type cannot be nil.')
229
+ end
230
+
231
+ if @archived.nil?
232
+ invalid_properties.push('invalid value for "archived", archived cannot be nil.')
233
+ end
234
+
235
+ if @created_at.nil?
236
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
237
+ end
238
+
239
+ if @updated_at.nil?
240
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
241
+ end
242
+
243
+ invalid_properties
244
+ end
245
+
246
+ # Check to see if the all the properties in the model are valid
247
+ # @return true if the model is valid
248
+ def valid?
249
+ warn '[DEPRECATED] the `valid?` method is obsolete'
250
+ return false if @id.nil?
251
+ return false if @business_id.nil?
252
+ return false if @name.nil?
253
+ return false if @event_name.nil?
254
+ return false if @aggregation_type.nil?
255
+ aggregation_type_validator = EnumAttributeValidator.new('String', ["COUNT", "SUM", "MAX", "LAST"])
256
+ return false unless aggregation_type_validator.valid?(@aggregation_type)
257
+ return false if @archived.nil?
258
+ return false if @created_at.nil?
259
+ return false if @updated_at.nil?
260
+ true
261
+ end
262
+
263
+ # Custom attribute writer method checking allowed values (enum).
264
+ # @param [Object] aggregation_type Object to be assigned
265
+ def aggregation_type=(aggregation_type)
266
+ validator = EnumAttributeValidator.new('String', ["COUNT", "SUM", "MAX", "LAST"])
267
+ unless validator.valid?(aggregation_type)
268
+ fail ArgumentError, "invalid value for \"aggregation_type\", must be one of #{validator.allowable_values}."
269
+ end
270
+ @aggregation_type = aggregation_type
271
+ end
272
+
273
+ # Checks equality by comparing each attribute.
274
+ # @param [Object] Object to be compared
275
+ def ==(o)
276
+ return true if self.equal?(o)
277
+ self.class == o.class &&
278
+ id == o.id &&
279
+ business_id == o.business_id &&
280
+ name == o.name &&
281
+ description == o.description &&
282
+ event_name == o.event_name &&
283
+ aggregation_type == o.aggregation_type &&
284
+ aggregation_key == o.aggregation_key &&
285
+ unit == o.unit &&
286
+ filters == o.filters &&
287
+ archived == o.archived &&
288
+ created_at == o.created_at &&
289
+ updated_at == o.updated_at
290
+ end
291
+
292
+ # @see the `==` method
293
+ # @param [Object] Object to be compared
294
+ def eql?(o)
295
+ self == o
296
+ end
297
+
298
+ # Calculates hash code according to all attributes.
299
+ # @return [Integer] Hash code
300
+ def hash
301
+ [id, business_id, name, description, event_name, aggregation_type, aggregation_key, unit, filters, archived, created_at, updated_at].hash
302
+ end
303
+
304
+ # Builds the object from hash
305
+ # @param [Hash] attributes Model attributes in the form of hash
306
+ # @return [Object] Returns the model itself
307
+ def self.build_from_hash(attributes)
308
+ return nil unless attributes.is_a?(Hash)
309
+ attributes = attributes.transform_keys(&:to_sym)
310
+ transformed_hash = {}
311
+ openapi_types.each_pair do |key, type|
312
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
313
+ transformed_hash["#{key}"] = nil
314
+ elsif type =~ /\AArray<(.*)>/i
315
+ # check to ensure the input is an array given that the attribute
316
+ # is documented as an array but the input is not
317
+ if attributes[attribute_map[key]].is_a?(Array)
318
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
319
+ end
320
+ elsif !attributes[attribute_map[key]].nil?
321
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
322
+ end
323
+ end
324
+ new(transformed_hash)
325
+ end
326
+
327
+ # Deserializes the data based on type
328
+ # @param string type Data type
329
+ # @param string value Value to be deserialized
330
+ # @return [Object] Deserialized data
331
+ def self._deserialize(type, value)
332
+ case type.to_sym
333
+ when :Time
334
+ Time.parse(value)
335
+ when :Date
336
+ Date.parse(value)
337
+ when :String
338
+ value.to_s
339
+ when :Integer
340
+ value.to_i
341
+ when :Float
342
+ value.to_f
343
+ when :Boolean
344
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
345
+ true
346
+ else
347
+ false
348
+ end
349
+ when :Object
350
+ # generic object (usually a Hash), return directly
351
+ value
352
+ when /\AArray<(?<inner_type>.+)>\z/
353
+ inner_type = Regexp.last_match[:inner_type]
354
+ value.map { |v| _deserialize(inner_type, v) }
355
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
356
+ k_type = Regexp.last_match[:k_type]
357
+ v_type = Regexp.last_match[:v_type]
358
+ {}.tap do |hash|
359
+ value.each do |k, v|
360
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
361
+ end
362
+ end
363
+ else # model
364
+ # models (e.g. Pet) or oneOf
365
+ klass = Solifyn.const_get(type)
366
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
367
+ end
368
+ end
369
+
370
+ # Returns the string representation of the object
371
+ # @return [String] String presentation of the object
372
+ def to_s
373
+ to_hash.to_s
374
+ end
375
+
376
+ # to_body is an alias to to_hash (backward compatibility)
377
+ # @return [Hash] Returns the object in the form of hash
378
+ def to_body
379
+ to_hash
380
+ end
381
+
382
+ # Returns the object in the form of hash
383
+ # @return [Hash] Returns the object in the form of hash
384
+ def to_hash
385
+ hash = {}
386
+ self.class.attribute_map.each_pair do |attr, param|
387
+ value = self.send(attr)
388
+ if value.nil?
389
+ is_nullable = self.class.openapi_nullable.include?(attr)
390
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
391
+ end
392
+
393
+ hash[param] = _to_hash(value)
394
+ end
395
+ hash
396
+ end
397
+
398
+ # Outputs non-array value in the form of hash
399
+ # For object, use to_hash. Otherwise, just return the value
400
+ # @param [Object] value Any valid value
401
+ # @return [Hash] Returns the value in the form of hash
402
+ def _to_hash(value)
403
+ if value.is_a?(Array)
404
+ value.compact.map { |v| _to_hash(v) }
405
+ elsif value.is_a?(Hash)
406
+ {}.tap do |hash|
407
+ value.each { |k, v| hash[k] = _to_hash(v) }
408
+ end
409
+ elsif value.respond_to? :to_hash
410
+ value.to_hash
411
+ else
412
+ value
413
+ end
414
+ end
415
+
416
+ end
417
+
418
+ end