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,826 @@
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
+ class CollectionProductDto
18
+ # The unique identifier (ID) of the product.
19
+ attr_accessor :id
20
+
21
+ # The display name of the product.
22
+ attr_accessor :name
23
+
24
+ # The price amount of the product (e.g. 29.00).
25
+ attr_accessor :price
26
+
27
+ # The three-letter ISO currency code (e.g. USD, VND, EUR).
28
+ attr_accessor :currency
29
+
30
+ # A comprehensive rich text description of the product.
31
+ attr_accessor :description
32
+
33
+ # The lifecycle status of the product (e.g. ACTIVE, ARCHIVED).
34
+ attr_accessor :status
35
+
36
+ # URL of the product cover image.
37
+ attr_accessor :image_url
38
+
39
+ # The tax classification for the product.
40
+ attr_accessor :tax_category
41
+
42
+ # Pricing model of the product.
43
+ attr_accessor :pricing_type
44
+
45
+ # Discount value as a percentage or fixed amount.
46
+ attr_accessor :discount
47
+
48
+ # Indicates if the product issues a cryptographically secure software license key upon checkout completion.
49
+ attr_accessor :has_license_key
50
+
51
+ # Whether the product includes digital file downloads upon purchase.
52
+ attr_accessor :has_digital_delivery
53
+
54
+ # Whether the product price already includes applicable sales taxes.
55
+ attr_accessor :is_tax_inclusive
56
+
57
+ # The subscription billing cycle interval in days (for subscription products).
58
+ attr_accessor :billing_period
59
+
60
+ # Trial duration in days for subscription products.
61
+ attr_accessor :trial_period_days
62
+
63
+ # Automatic expiration period in days for the subscription entitlement.
64
+ attr_accessor :expiration_days
65
+
66
+ # Custom text displayed on customer credit card statements for purchases of this product.
67
+ attr_accessor :statement_descriptor
68
+
69
+ # Indicates if customers are allowed to enter a custom pricing amount at checkout.
70
+ attr_accessor :pay_what_you_want
71
+
72
+ # Custom developer metadata key-value pairs associated with the product.
73
+ attr_accessor :metadata
74
+
75
+ # Custom form field questions to ask the customer during checkout.
76
+ attr_accessor :custom_fields
77
+
78
+ # Available stock quantity, or null for unlimited inventory.
79
+ attr_accessor :stock
80
+
81
+ # Maximum number of simultaneous active instances/devices allowed per issued license key (applicable if hasLicenseKey is true).
82
+ attr_accessor :activation_limit
83
+
84
+ # Defines if the product is listed publicly on the merchant's storefront template.
85
+ attr_accessor :is_listed
86
+
87
+ # Whether the product is free.
88
+ attr_accessor :is_free
89
+
90
+ # Timestamp indicating exactly when the product was created.
91
+ attr_accessor :created_at
92
+
93
+ # Timestamp indicating when the product was last modified.
94
+ attr_accessor :updated_at
95
+
96
+ # Indicates if the product has been permanently deleted.
97
+ attr_accessor :is_permanently_deleted
98
+
99
+ # Optional brand identifier.
100
+ attr_accessor :brand_id
101
+
102
+ # Secure link for digital delivery.
103
+ attr_accessor :digital_link
104
+
105
+ # Special instructions provided upon purchase.
106
+ attr_accessor :instructions
107
+
108
+ # Custom message displayed when a license key is activated.
109
+ attr_accessor :activation_message
110
+
111
+ # Number of hours until the license key expires.
112
+ attr_accessor :expiry_hours
113
+
114
+ # The unique identifier of the business owning this product.
115
+ attr_accessor :business_id
116
+
117
+ # Quantity of the product in the collection
118
+ attr_accessor :quantity
119
+
120
+ class EnumAttributeValidator
121
+ attr_reader :datatype
122
+ attr_reader :allowable_values
123
+
124
+ def initialize(datatype, allowable_values)
125
+ @allowable_values = allowable_values.map do |value|
126
+ case datatype.to_s
127
+ when /Integer/i
128
+ value.to_i
129
+ when /Float/i
130
+ value.to_f
131
+ else
132
+ value
133
+ end
134
+ end
135
+ end
136
+
137
+ def valid?(value)
138
+ !value || allowable_values.include?(value)
139
+ end
140
+ end
141
+
142
+ # Attribute mapping from ruby-style variable name to JSON key.
143
+ def self.attribute_map
144
+ {
145
+ :'id' => :'id',
146
+ :'name' => :'name',
147
+ :'price' => :'price',
148
+ :'currency' => :'currency',
149
+ :'description' => :'description',
150
+ :'status' => :'status',
151
+ :'image_url' => :'imageUrl',
152
+ :'tax_category' => :'taxCategory',
153
+ :'pricing_type' => :'pricingType',
154
+ :'discount' => :'discount',
155
+ :'has_license_key' => :'hasLicenseKey',
156
+ :'has_digital_delivery' => :'hasDigitalDelivery',
157
+ :'is_tax_inclusive' => :'isTaxInclusive',
158
+ :'billing_period' => :'billingPeriod',
159
+ :'trial_period_days' => :'trialPeriodDays',
160
+ :'expiration_days' => :'expirationDays',
161
+ :'statement_descriptor' => :'statementDescriptor',
162
+ :'pay_what_you_want' => :'payWhatYouWant',
163
+ :'metadata' => :'metadata',
164
+ :'custom_fields' => :'customFields',
165
+ :'stock' => :'stock',
166
+ :'activation_limit' => :'activationLimit',
167
+ :'is_listed' => :'isListed',
168
+ :'is_free' => :'isFree',
169
+ :'created_at' => :'createdAt',
170
+ :'updated_at' => :'updatedAt',
171
+ :'is_permanently_deleted' => :'isPermanentlyDeleted',
172
+ :'brand_id' => :'brandId',
173
+ :'digital_link' => :'digitalLink',
174
+ :'instructions' => :'instructions',
175
+ :'activation_message' => :'activationMessage',
176
+ :'expiry_hours' => :'expiryHours',
177
+ :'business_id' => :'businessId',
178
+ :'quantity' => :'quantity'
179
+ }
180
+ end
181
+
182
+ # Returns all the JSON keys this model knows about
183
+ def self.acceptable_attributes
184
+ attribute_map.values
185
+ end
186
+
187
+ # Attribute type mapping.
188
+ def self.openapi_types
189
+ {
190
+ :'id' => :'String',
191
+ :'name' => :'String',
192
+ :'price' => :'Float',
193
+ :'currency' => :'String',
194
+ :'description' => :'String',
195
+ :'status' => :'String',
196
+ :'image_url' => :'String',
197
+ :'tax_category' => :'String',
198
+ :'pricing_type' => :'String',
199
+ :'discount' => :'Float',
200
+ :'has_license_key' => :'Boolean',
201
+ :'has_digital_delivery' => :'Boolean',
202
+ :'is_tax_inclusive' => :'Boolean',
203
+ :'billing_period' => :'Integer',
204
+ :'trial_period_days' => :'Integer',
205
+ :'expiration_days' => :'Integer',
206
+ :'statement_descriptor' => :'String',
207
+ :'pay_what_you_want' => :'Boolean',
208
+ :'metadata' => :'Hash<String, String>',
209
+ :'custom_fields' => :'Array<Object>',
210
+ :'stock' => :'Integer',
211
+ :'activation_limit' => :'Integer',
212
+ :'is_listed' => :'Boolean',
213
+ :'is_free' => :'Boolean',
214
+ :'created_at' => :'Time',
215
+ :'updated_at' => :'Time',
216
+ :'is_permanently_deleted' => :'Boolean',
217
+ :'brand_id' => :'String',
218
+ :'digital_link' => :'String',
219
+ :'instructions' => :'String',
220
+ :'activation_message' => :'String',
221
+ :'expiry_hours' => :'Integer',
222
+ :'business_id' => :'String',
223
+ :'quantity' => :'Float'
224
+ }
225
+ end
226
+
227
+ # List of attributes with nullable: true
228
+ def self.openapi_nullable
229
+ Set.new([
230
+ ])
231
+ end
232
+
233
+ # Initializes the object
234
+ # @param [Hash] attributes Model attributes in the form of hash
235
+ def initialize(attributes = {})
236
+ if (!attributes.is_a?(Hash))
237
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Solifyn::CollectionProductDto` initialize method"
238
+ end
239
+
240
+ # check to see if the attribute exists and convert string to symbol for hash key
241
+ attributes = attributes.each_with_object({}) { |(k, v), h|
242
+ if (!self.class.attribute_map.key?(k.to_sym))
243
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Solifyn::CollectionProductDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
244
+ end
245
+ h[k.to_sym] = v
246
+ }
247
+
248
+ if attributes.key?(:'id')
249
+ self.id = attributes[:'id']
250
+ else
251
+ self.id = nil
252
+ end
253
+
254
+ if attributes.key?(:'name')
255
+ self.name = attributes[:'name']
256
+ else
257
+ self.name = nil
258
+ end
259
+
260
+ if attributes.key?(:'price')
261
+ self.price = attributes[:'price']
262
+ else
263
+ self.price = nil
264
+ end
265
+
266
+ if attributes.key?(:'currency')
267
+ self.currency = attributes[:'currency']
268
+ else
269
+ self.currency = nil
270
+ end
271
+
272
+ if attributes.key?(:'description')
273
+ self.description = attributes[:'description']
274
+ end
275
+
276
+ if attributes.key?(:'status')
277
+ self.status = attributes[:'status']
278
+ else
279
+ self.status = nil
280
+ end
281
+
282
+ if attributes.key?(:'image_url')
283
+ self.image_url = attributes[:'image_url']
284
+ else
285
+ self.image_url = nil
286
+ end
287
+
288
+ if attributes.key?(:'tax_category')
289
+ self.tax_category = attributes[:'tax_category']
290
+ else
291
+ self.tax_category = nil
292
+ end
293
+
294
+ if attributes.key?(:'pricing_type')
295
+ self.pricing_type = attributes[:'pricing_type']
296
+ else
297
+ self.pricing_type = nil
298
+ end
299
+
300
+ if attributes.key?(:'discount')
301
+ self.discount = attributes[:'discount']
302
+ else
303
+ self.discount = nil
304
+ end
305
+
306
+ if attributes.key?(:'has_license_key')
307
+ self.has_license_key = attributes[:'has_license_key']
308
+ else
309
+ self.has_license_key = nil
310
+ end
311
+
312
+ if attributes.key?(:'has_digital_delivery')
313
+ self.has_digital_delivery = attributes[:'has_digital_delivery']
314
+ else
315
+ self.has_digital_delivery = nil
316
+ end
317
+
318
+ if attributes.key?(:'is_tax_inclusive')
319
+ self.is_tax_inclusive = attributes[:'is_tax_inclusive']
320
+ else
321
+ self.is_tax_inclusive = nil
322
+ end
323
+
324
+ if attributes.key?(:'billing_period')
325
+ self.billing_period = attributes[:'billing_period']
326
+ else
327
+ self.billing_period = nil
328
+ end
329
+
330
+ if attributes.key?(:'trial_period_days')
331
+ self.trial_period_days = attributes[:'trial_period_days']
332
+ else
333
+ self.trial_period_days = nil
334
+ end
335
+
336
+ if attributes.key?(:'expiration_days')
337
+ self.expiration_days = attributes[:'expiration_days']
338
+ else
339
+ self.expiration_days = nil
340
+ end
341
+
342
+ if attributes.key?(:'statement_descriptor')
343
+ self.statement_descriptor = attributes[:'statement_descriptor']
344
+ else
345
+ self.statement_descriptor = nil
346
+ end
347
+
348
+ if attributes.key?(:'pay_what_you_want')
349
+ self.pay_what_you_want = attributes[:'pay_what_you_want']
350
+ else
351
+ self.pay_what_you_want = nil
352
+ end
353
+
354
+ if attributes.key?(:'metadata')
355
+ if (value = attributes[:'metadata']).is_a?(Hash)
356
+ self.metadata = value
357
+ end
358
+ else
359
+ self.metadata = nil
360
+ end
361
+
362
+ if attributes.key?(:'custom_fields')
363
+ if (value = attributes[:'custom_fields']).is_a?(Array)
364
+ self.custom_fields = value
365
+ end
366
+ else
367
+ self.custom_fields = nil
368
+ end
369
+
370
+ if attributes.key?(:'stock')
371
+ self.stock = attributes[:'stock']
372
+ else
373
+ self.stock = nil
374
+ end
375
+
376
+ if attributes.key?(:'activation_limit')
377
+ self.activation_limit = attributes[:'activation_limit']
378
+ else
379
+ self.activation_limit = nil
380
+ end
381
+
382
+ if attributes.key?(:'is_listed')
383
+ self.is_listed = attributes[:'is_listed']
384
+ else
385
+ self.is_listed = nil
386
+ end
387
+
388
+ if attributes.key?(:'is_free')
389
+ self.is_free = attributes[:'is_free']
390
+ else
391
+ self.is_free = nil
392
+ end
393
+
394
+ if attributes.key?(:'created_at')
395
+ self.created_at = attributes[:'created_at']
396
+ else
397
+ self.created_at = nil
398
+ end
399
+
400
+ if attributes.key?(:'updated_at')
401
+ self.updated_at = attributes[:'updated_at']
402
+ else
403
+ self.updated_at = nil
404
+ end
405
+
406
+ if attributes.key?(:'is_permanently_deleted')
407
+ self.is_permanently_deleted = attributes[:'is_permanently_deleted']
408
+ else
409
+ self.is_permanently_deleted = nil
410
+ end
411
+
412
+ if attributes.key?(:'brand_id')
413
+ self.brand_id = attributes[:'brand_id']
414
+ else
415
+ self.brand_id = nil
416
+ end
417
+
418
+ if attributes.key?(:'digital_link')
419
+ self.digital_link = attributes[:'digital_link']
420
+ else
421
+ self.digital_link = nil
422
+ end
423
+
424
+ if attributes.key?(:'instructions')
425
+ self.instructions = attributes[:'instructions']
426
+ else
427
+ self.instructions = nil
428
+ end
429
+
430
+ if attributes.key?(:'activation_message')
431
+ self.activation_message = attributes[:'activation_message']
432
+ else
433
+ self.activation_message = nil
434
+ end
435
+
436
+ if attributes.key?(:'expiry_hours')
437
+ self.expiry_hours = attributes[:'expiry_hours']
438
+ else
439
+ self.expiry_hours = nil
440
+ end
441
+
442
+ if attributes.key?(:'business_id')
443
+ self.business_id = attributes[:'business_id']
444
+ else
445
+ self.business_id = nil
446
+ end
447
+
448
+ if attributes.key?(:'quantity')
449
+ self.quantity = attributes[:'quantity']
450
+ else
451
+ self.quantity = nil
452
+ end
453
+ end
454
+
455
+ # Show invalid properties with the reasons. Usually used together with valid?
456
+ # @return Array for valid properties with the reasons
457
+ def list_invalid_properties
458
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
459
+ invalid_properties = Array.new
460
+ if @id.nil?
461
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
462
+ end
463
+
464
+ if @name.nil?
465
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
466
+ end
467
+
468
+ if @price.nil?
469
+ invalid_properties.push('invalid value for "price", price cannot be nil.')
470
+ end
471
+
472
+ if @currency.nil?
473
+ invalid_properties.push('invalid value for "currency", currency cannot be nil.')
474
+ end
475
+
476
+ if @status.nil?
477
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
478
+ end
479
+
480
+ if @image_url.nil?
481
+ invalid_properties.push('invalid value for "image_url", image_url cannot be nil.')
482
+ end
483
+
484
+ if @tax_category.nil?
485
+ invalid_properties.push('invalid value for "tax_category", tax_category cannot be nil.')
486
+ end
487
+
488
+ if @pricing_type.nil?
489
+ invalid_properties.push('invalid value for "pricing_type", pricing_type cannot be nil.')
490
+ end
491
+
492
+ if @discount.nil?
493
+ invalid_properties.push('invalid value for "discount", discount cannot be nil.')
494
+ end
495
+
496
+ if @has_license_key.nil?
497
+ invalid_properties.push('invalid value for "has_license_key", has_license_key cannot be nil.')
498
+ end
499
+
500
+ if @has_digital_delivery.nil?
501
+ invalid_properties.push('invalid value for "has_digital_delivery", has_digital_delivery cannot be nil.')
502
+ end
503
+
504
+ if @is_tax_inclusive.nil?
505
+ invalid_properties.push('invalid value for "is_tax_inclusive", is_tax_inclusive cannot be nil.')
506
+ end
507
+
508
+ if @billing_period.nil?
509
+ invalid_properties.push('invalid value for "billing_period", billing_period cannot be nil.')
510
+ end
511
+
512
+ if @trial_period_days.nil?
513
+ invalid_properties.push('invalid value for "trial_period_days", trial_period_days cannot be nil.')
514
+ end
515
+
516
+ if @expiration_days.nil?
517
+ invalid_properties.push('invalid value for "expiration_days", expiration_days cannot be nil.')
518
+ end
519
+
520
+ if @statement_descriptor.nil?
521
+ invalid_properties.push('invalid value for "statement_descriptor", statement_descriptor cannot be nil.')
522
+ end
523
+
524
+ if @pay_what_you_want.nil?
525
+ invalid_properties.push('invalid value for "pay_what_you_want", pay_what_you_want cannot be nil.')
526
+ end
527
+
528
+ if @metadata.nil?
529
+ invalid_properties.push('invalid value for "metadata", metadata cannot be nil.')
530
+ end
531
+
532
+ if @custom_fields.nil?
533
+ invalid_properties.push('invalid value for "custom_fields", custom_fields cannot be nil.')
534
+ end
535
+
536
+ if @stock.nil?
537
+ invalid_properties.push('invalid value for "stock", stock cannot be nil.')
538
+ end
539
+
540
+ if @activation_limit.nil?
541
+ invalid_properties.push('invalid value for "activation_limit", activation_limit cannot be nil.')
542
+ end
543
+
544
+ if @is_listed.nil?
545
+ invalid_properties.push('invalid value for "is_listed", is_listed cannot be nil.')
546
+ end
547
+
548
+ if @is_free.nil?
549
+ invalid_properties.push('invalid value for "is_free", is_free cannot be nil.')
550
+ end
551
+
552
+ if @created_at.nil?
553
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
554
+ end
555
+
556
+ if @updated_at.nil?
557
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
558
+ end
559
+
560
+ if @is_permanently_deleted.nil?
561
+ invalid_properties.push('invalid value for "is_permanently_deleted", is_permanently_deleted cannot be nil.')
562
+ end
563
+
564
+ if @brand_id.nil?
565
+ invalid_properties.push('invalid value for "brand_id", brand_id cannot be nil.')
566
+ end
567
+
568
+ if @digital_link.nil?
569
+ invalid_properties.push('invalid value for "digital_link", digital_link cannot be nil.')
570
+ end
571
+
572
+ if @instructions.nil?
573
+ invalid_properties.push('invalid value for "instructions", instructions cannot be nil.')
574
+ end
575
+
576
+ if @activation_message.nil?
577
+ invalid_properties.push('invalid value for "activation_message", activation_message cannot be nil.')
578
+ end
579
+
580
+ if @expiry_hours.nil?
581
+ invalid_properties.push('invalid value for "expiry_hours", expiry_hours cannot be nil.')
582
+ end
583
+
584
+ if @business_id.nil?
585
+ invalid_properties.push('invalid value for "business_id", business_id cannot be nil.')
586
+ end
587
+
588
+ if @quantity.nil?
589
+ invalid_properties.push('invalid value for "quantity", quantity cannot be nil.')
590
+ end
591
+
592
+ invalid_properties
593
+ end
594
+
595
+ # Check to see if the all the properties in the model are valid
596
+ # @return true if the model is valid
597
+ def valid?
598
+ warn '[DEPRECATED] the `valid?` method is obsolete'
599
+ return false if @id.nil?
600
+ return false if @name.nil?
601
+ return false if @price.nil?
602
+ return false if @currency.nil?
603
+ return false if @status.nil?
604
+ return false if @image_url.nil?
605
+ return false if @tax_category.nil?
606
+ tax_category_validator = EnumAttributeValidator.new('String', ["digital_products", "saas", "physical_products", "service"])
607
+ return false unless tax_category_validator.valid?(@tax_category)
608
+ return false if @pricing_type.nil?
609
+ pricing_type_validator = EnumAttributeValidator.new('String', ["usage_based", "one_time", "renewal"])
610
+ return false unless pricing_type_validator.valid?(@pricing_type)
611
+ return false if @discount.nil?
612
+ return false if @has_license_key.nil?
613
+ return false if @has_digital_delivery.nil?
614
+ return false if @is_tax_inclusive.nil?
615
+ return false if @billing_period.nil?
616
+ return false if @trial_period_days.nil?
617
+ return false if @expiration_days.nil?
618
+ return false if @statement_descriptor.nil?
619
+ return false if @pay_what_you_want.nil?
620
+ return false if @metadata.nil?
621
+ return false if @custom_fields.nil?
622
+ return false if @stock.nil?
623
+ return false if @activation_limit.nil?
624
+ return false if @is_listed.nil?
625
+ return false if @is_free.nil?
626
+ return false if @created_at.nil?
627
+ return false if @updated_at.nil?
628
+ return false if @is_permanently_deleted.nil?
629
+ return false if @brand_id.nil?
630
+ return false if @digital_link.nil?
631
+ return false if @instructions.nil?
632
+ return false if @activation_message.nil?
633
+ return false if @expiry_hours.nil?
634
+ return false if @business_id.nil?
635
+ return false if @quantity.nil?
636
+ true
637
+ end
638
+
639
+ # Custom attribute writer method checking allowed values (enum).
640
+ # @param [Object] tax_category Object to be assigned
641
+ def tax_category=(tax_category)
642
+ validator = EnumAttributeValidator.new('String', ["digital_products", "saas", "physical_products", "service"])
643
+ unless validator.valid?(tax_category)
644
+ fail ArgumentError, "invalid value for \"tax_category\", must be one of #{validator.allowable_values}."
645
+ end
646
+ @tax_category = tax_category
647
+ end
648
+
649
+ # Custom attribute writer method checking allowed values (enum).
650
+ # @param [Object] pricing_type Object to be assigned
651
+ def pricing_type=(pricing_type)
652
+ validator = EnumAttributeValidator.new('String', ["usage_based", "one_time", "renewal"])
653
+ unless validator.valid?(pricing_type)
654
+ fail ArgumentError, "invalid value for \"pricing_type\", must be one of #{validator.allowable_values}."
655
+ end
656
+ @pricing_type = pricing_type
657
+ end
658
+
659
+ # Checks equality by comparing each attribute.
660
+ # @param [Object] Object to be compared
661
+ def ==(o)
662
+ return true if self.equal?(o)
663
+ self.class == o.class &&
664
+ id == o.id &&
665
+ name == o.name &&
666
+ price == o.price &&
667
+ currency == o.currency &&
668
+ description == o.description &&
669
+ status == o.status &&
670
+ image_url == o.image_url &&
671
+ tax_category == o.tax_category &&
672
+ pricing_type == o.pricing_type &&
673
+ discount == o.discount &&
674
+ has_license_key == o.has_license_key &&
675
+ has_digital_delivery == o.has_digital_delivery &&
676
+ is_tax_inclusive == o.is_tax_inclusive &&
677
+ billing_period == o.billing_period &&
678
+ trial_period_days == o.trial_period_days &&
679
+ expiration_days == o.expiration_days &&
680
+ statement_descriptor == o.statement_descriptor &&
681
+ pay_what_you_want == o.pay_what_you_want &&
682
+ metadata == o.metadata &&
683
+ custom_fields == o.custom_fields &&
684
+ stock == o.stock &&
685
+ activation_limit == o.activation_limit &&
686
+ is_listed == o.is_listed &&
687
+ is_free == o.is_free &&
688
+ created_at == o.created_at &&
689
+ updated_at == o.updated_at &&
690
+ is_permanently_deleted == o.is_permanently_deleted &&
691
+ brand_id == o.brand_id &&
692
+ digital_link == o.digital_link &&
693
+ instructions == o.instructions &&
694
+ activation_message == o.activation_message &&
695
+ expiry_hours == o.expiry_hours &&
696
+ business_id == o.business_id &&
697
+ quantity == o.quantity
698
+ end
699
+
700
+ # @see the `==` method
701
+ # @param [Object] Object to be compared
702
+ def eql?(o)
703
+ self == o
704
+ end
705
+
706
+ # Calculates hash code according to all attributes.
707
+ # @return [Integer] Hash code
708
+ def hash
709
+ [id, name, price, currency, description, status, image_url, tax_category, pricing_type, discount, has_license_key, has_digital_delivery, is_tax_inclusive, billing_period, trial_period_days, expiration_days, statement_descriptor, pay_what_you_want, metadata, custom_fields, stock, activation_limit, is_listed, is_free, created_at, updated_at, is_permanently_deleted, brand_id, digital_link, instructions, activation_message, expiry_hours, business_id, quantity].hash
710
+ end
711
+
712
+ # Builds the object from hash
713
+ # @param [Hash] attributes Model attributes in the form of hash
714
+ # @return [Object] Returns the model itself
715
+ def self.build_from_hash(attributes)
716
+ return nil unless attributes.is_a?(Hash)
717
+ attributes = attributes.transform_keys(&:to_sym)
718
+ transformed_hash = {}
719
+ openapi_types.each_pair do |key, type|
720
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
721
+ transformed_hash["#{key}"] = nil
722
+ elsif type =~ /\AArray<(.*)>/i
723
+ # check to ensure the input is an array given that the attribute
724
+ # is documented as an array but the input is not
725
+ if attributes[attribute_map[key]].is_a?(Array)
726
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
727
+ end
728
+ elsif !attributes[attribute_map[key]].nil?
729
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
730
+ end
731
+ end
732
+ new(transformed_hash)
733
+ end
734
+
735
+ # Deserializes the data based on type
736
+ # @param string type Data type
737
+ # @param string value Value to be deserialized
738
+ # @return [Object] Deserialized data
739
+ def self._deserialize(type, value)
740
+ case type.to_sym
741
+ when :Time
742
+ Time.parse(value)
743
+ when :Date
744
+ Date.parse(value)
745
+ when :String
746
+ value.to_s
747
+ when :Integer
748
+ value.to_i
749
+ when :Float
750
+ value.to_f
751
+ when :Boolean
752
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
753
+ true
754
+ else
755
+ false
756
+ end
757
+ when :Object
758
+ # generic object (usually a Hash), return directly
759
+ value
760
+ when /\AArray<(?<inner_type>.+)>\z/
761
+ inner_type = Regexp.last_match[:inner_type]
762
+ value.map { |v| _deserialize(inner_type, v) }
763
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
764
+ k_type = Regexp.last_match[:k_type]
765
+ v_type = Regexp.last_match[:v_type]
766
+ {}.tap do |hash|
767
+ value.each do |k, v|
768
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
769
+ end
770
+ end
771
+ else # model
772
+ # models (e.g. Pet) or oneOf
773
+ klass = Solifyn.const_get(type)
774
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
775
+ end
776
+ end
777
+
778
+ # Returns the string representation of the object
779
+ # @return [String] String presentation of the object
780
+ def to_s
781
+ to_hash.to_s
782
+ end
783
+
784
+ # to_body is an alias to to_hash (backward compatibility)
785
+ # @return [Hash] Returns the object in the form of hash
786
+ def to_body
787
+ to_hash
788
+ end
789
+
790
+ # Returns the object in the form of hash
791
+ # @return [Hash] Returns the object in the form of hash
792
+ def to_hash
793
+ hash = {}
794
+ self.class.attribute_map.each_pair do |attr, param|
795
+ value = self.send(attr)
796
+ if value.nil?
797
+ is_nullable = self.class.openapi_nullable.include?(attr)
798
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
799
+ end
800
+
801
+ hash[param] = _to_hash(value)
802
+ end
803
+ hash
804
+ end
805
+
806
+ # Outputs non-array value in the form of hash
807
+ # For object, use to_hash. Otherwise, just return the value
808
+ # @param [Object] value Any valid value
809
+ # @return [Hash] Returns the value in the form of hash
810
+ def _to_hash(value)
811
+ if value.is_a?(Array)
812
+ value.compact.map { |v| _to_hash(v) }
813
+ elsif value.is_a?(Hash)
814
+ {}.tap do |hash|
815
+ value.each { |k, v| hash[k] = _to_hash(v) }
816
+ end
817
+ elsif value.respond_to? :to_hash
818
+ value.to_hash
819
+ else
820
+ value
821
+ end
822
+ end
823
+
824
+ end
825
+
826
+ end