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,527 @@
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 ProductCreate
18
+ # Product display name.
19
+ attr_accessor :name
20
+
21
+ # A description of the product.
22
+ attr_accessor :description
23
+
24
+ # Price value.
25
+ attr_accessor :price
26
+
27
+ # Product pricing currency.
28
+ attr_accessor :currency
29
+
30
+ # URL of the product cover image.
31
+ attr_accessor :image_url
32
+
33
+ # Tax classification.
34
+ attr_accessor :tax_category
35
+
36
+ # Percentage or flat rate discount.
37
+ attr_accessor :discount
38
+
39
+ # Whether to automatically issue license keys upon successful orders.
40
+ attr_accessor :has_license_key
41
+
42
+ # Whether the purchase includes downloadable files.
43
+ attr_accessor :has_digital_delivery
44
+
45
+ # Whether tax is included in the base price.
46
+ attr_accessor :is_tax_inclusive
47
+
48
+ # Maximum concurrent activated instances allowed per license key.
49
+ attr_accessor :activation_limit
50
+
51
+ # Brand id for the product, if not provided will default to primary brand.
52
+ attr_accessor :brand_id
53
+
54
+ # Billing period in days (for Subscription products).
55
+ attr_accessor :billing_period
56
+
57
+ # Trial duration in days.
58
+ attr_accessor :trial_period_days
59
+
60
+ # Subscription expiration duration in days.
61
+ attr_accessor :expiration_days
62
+
63
+ # Custom billing descriptor.
64
+ attr_accessor :statement_descriptor
65
+
66
+ # Allow pay-what-you-want pricing.
67
+ attr_accessor :pay_what_you_want
68
+
69
+ # Developer key-value metadata pairs.
70
+ attr_accessor :metadata
71
+
72
+ # Form field configurations to gather during checkout.
73
+ attr_accessor :custom_fields
74
+
75
+ # Initial stock quantity limit.
76
+ attr_accessor :stock
77
+
78
+ # Whether the product is publicly visible.
79
+ attr_accessor :is_listed
80
+
81
+ # Whether the product is free of charge.
82
+ attr_accessor :is_free
83
+
84
+ # Product addons configurations.
85
+ attr_accessor :addons
86
+
87
+ class EnumAttributeValidator
88
+ attr_reader :datatype
89
+ attr_reader :allowable_values
90
+
91
+ def initialize(datatype, allowable_values)
92
+ @allowable_values = allowable_values.map do |value|
93
+ case datatype.to_s
94
+ when /Integer/i
95
+ value.to_i
96
+ when /Float/i
97
+ value.to_f
98
+ else
99
+ value
100
+ end
101
+ end
102
+ end
103
+
104
+ def valid?(value)
105
+ !value || allowable_values.include?(value)
106
+ end
107
+ end
108
+
109
+ # Attribute mapping from ruby-style variable name to JSON key.
110
+ def self.attribute_map
111
+ {
112
+ :'name' => :'name',
113
+ :'description' => :'description',
114
+ :'price' => :'price',
115
+ :'currency' => :'currency',
116
+ :'image_url' => :'imageUrl',
117
+ :'tax_category' => :'taxCategory',
118
+ :'discount' => :'discount',
119
+ :'has_license_key' => :'hasLicenseKey',
120
+ :'has_digital_delivery' => :'hasDigitalDelivery',
121
+ :'is_tax_inclusive' => :'isTaxInclusive',
122
+ :'activation_limit' => :'activationLimit',
123
+ :'brand_id' => :'brandId',
124
+ :'billing_period' => :'billingPeriod',
125
+ :'trial_period_days' => :'trialPeriodDays',
126
+ :'expiration_days' => :'expirationDays',
127
+ :'statement_descriptor' => :'statementDescriptor',
128
+ :'pay_what_you_want' => :'payWhatYouWant',
129
+ :'metadata' => :'metadata',
130
+ :'custom_fields' => :'customFields',
131
+ :'stock' => :'stock',
132
+ :'is_listed' => :'isListed',
133
+ :'is_free' => :'isFree',
134
+ :'addons' => :'addons'
135
+ }
136
+ end
137
+
138
+ # Returns all the JSON keys this model knows about
139
+ def self.acceptable_attributes
140
+ attribute_map.values
141
+ end
142
+
143
+ # Attribute type mapping.
144
+ def self.openapi_types
145
+ {
146
+ :'name' => :'String',
147
+ :'description' => :'String',
148
+ :'price' => :'Float',
149
+ :'currency' => :'String',
150
+ :'image_url' => :'String',
151
+ :'tax_category' => :'String',
152
+ :'discount' => :'Float',
153
+ :'has_license_key' => :'Boolean',
154
+ :'has_digital_delivery' => :'Boolean',
155
+ :'is_tax_inclusive' => :'Boolean',
156
+ :'activation_limit' => :'Integer',
157
+ :'brand_id' => :'String',
158
+ :'billing_period' => :'Integer',
159
+ :'trial_period_days' => :'Integer',
160
+ :'expiration_days' => :'Integer',
161
+ :'statement_descriptor' => :'String',
162
+ :'pay_what_you_want' => :'Boolean',
163
+ :'metadata' => :'Hash<String, String>',
164
+ :'custom_fields' => :'Array<ProductCreateCustomFieldsInner>',
165
+ :'stock' => :'Integer',
166
+ :'is_listed' => :'Boolean',
167
+ :'is_free' => :'Boolean',
168
+ :'addons' => :'Array<ProductCreateAddonsInner>'
169
+ }
170
+ end
171
+
172
+ # List of attributes with nullable: true
173
+ def self.openapi_nullable
174
+ Set.new([
175
+ ])
176
+ end
177
+
178
+ # Initializes the object
179
+ # @param [Hash] attributes Model attributes in the form of hash
180
+ def initialize(attributes = {})
181
+ if (!attributes.is_a?(Hash))
182
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Solifyn::ProductCreate` initialize method"
183
+ end
184
+
185
+ # check to see if the attribute exists and convert string to symbol for hash key
186
+ attributes = attributes.each_with_object({}) { |(k, v), h|
187
+ if (!self.class.attribute_map.key?(k.to_sym))
188
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Solifyn::ProductCreate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
189
+ end
190
+ h[k.to_sym] = v
191
+ }
192
+
193
+ if attributes.key?(:'name')
194
+ self.name = attributes[:'name']
195
+ else
196
+ self.name = nil
197
+ end
198
+
199
+ if attributes.key?(:'description')
200
+ self.description = attributes[:'description']
201
+ end
202
+
203
+ if attributes.key?(:'price')
204
+ self.price = attributes[:'price']
205
+ else
206
+ self.price = nil
207
+ end
208
+
209
+ if attributes.key?(:'currency')
210
+ self.currency = attributes[:'currency']
211
+ else
212
+ self.currency = 'USD'
213
+ end
214
+
215
+ if attributes.key?(:'image_url')
216
+ self.image_url = attributes[:'image_url']
217
+ end
218
+
219
+ if attributes.key?(:'tax_category')
220
+ self.tax_category = attributes[:'tax_category']
221
+ else
222
+ self.tax_category = nil
223
+ end
224
+
225
+ if attributes.key?(:'discount')
226
+ self.discount = attributes[:'discount']
227
+ end
228
+
229
+ if attributes.key?(:'has_license_key')
230
+ self.has_license_key = attributes[:'has_license_key']
231
+ else
232
+ self.has_license_key = false
233
+ end
234
+
235
+ if attributes.key?(:'has_digital_delivery')
236
+ self.has_digital_delivery = attributes[:'has_digital_delivery']
237
+ else
238
+ self.has_digital_delivery = false
239
+ end
240
+
241
+ if attributes.key?(:'is_tax_inclusive')
242
+ self.is_tax_inclusive = attributes[:'is_tax_inclusive']
243
+ else
244
+ self.is_tax_inclusive = false
245
+ end
246
+
247
+ if attributes.key?(:'activation_limit')
248
+ self.activation_limit = attributes[:'activation_limit']
249
+ end
250
+
251
+ if attributes.key?(:'brand_id')
252
+ self.brand_id = attributes[:'brand_id']
253
+ end
254
+
255
+ if attributes.key?(:'billing_period')
256
+ self.billing_period = attributes[:'billing_period']
257
+ end
258
+
259
+ if attributes.key?(:'trial_period_days')
260
+ self.trial_period_days = attributes[:'trial_period_days']
261
+ end
262
+
263
+ if attributes.key?(:'expiration_days')
264
+ self.expiration_days = attributes[:'expiration_days']
265
+ end
266
+
267
+ if attributes.key?(:'statement_descriptor')
268
+ self.statement_descriptor = attributes[:'statement_descriptor']
269
+ end
270
+
271
+ if attributes.key?(:'pay_what_you_want')
272
+ self.pay_what_you_want = attributes[:'pay_what_you_want']
273
+ else
274
+ self.pay_what_you_want = false
275
+ end
276
+
277
+ if attributes.key?(:'metadata')
278
+ if (value = attributes[:'metadata']).is_a?(Hash)
279
+ self.metadata = value
280
+ end
281
+ end
282
+
283
+ if attributes.key?(:'custom_fields')
284
+ if (value = attributes[:'custom_fields']).is_a?(Array)
285
+ self.custom_fields = value
286
+ end
287
+ end
288
+
289
+ if attributes.key?(:'stock')
290
+ self.stock = attributes[:'stock']
291
+ end
292
+
293
+ if attributes.key?(:'is_listed')
294
+ self.is_listed = attributes[:'is_listed']
295
+ else
296
+ self.is_listed = true
297
+ end
298
+
299
+ if attributes.key?(:'is_free')
300
+ self.is_free = attributes[:'is_free']
301
+ else
302
+ self.is_free = false
303
+ end
304
+
305
+ if attributes.key?(:'addons')
306
+ if (value = attributes[:'addons']).is_a?(Array)
307
+ self.addons = value
308
+ end
309
+ end
310
+ end
311
+
312
+ # Show invalid properties with the reasons. Usually used together with valid?
313
+ # @return Array for valid properties with the reasons
314
+ def list_invalid_properties
315
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
316
+ invalid_properties = Array.new
317
+ if @name.nil?
318
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
319
+ end
320
+
321
+ if @price.nil?
322
+ invalid_properties.push('invalid value for "price", price cannot be nil.')
323
+ end
324
+
325
+ if @currency.nil?
326
+ invalid_properties.push('invalid value for "currency", currency cannot be nil.')
327
+ end
328
+
329
+ if @tax_category.nil?
330
+ invalid_properties.push('invalid value for "tax_category", tax_category cannot be nil.')
331
+ end
332
+
333
+ invalid_properties
334
+ end
335
+
336
+ # Check to see if the all the properties in the model are valid
337
+ # @return true if the model is valid
338
+ def valid?
339
+ warn '[DEPRECATED] the `valid?` method is obsolete'
340
+ return false if @name.nil?
341
+ return false if @price.nil?
342
+ return false if @currency.nil?
343
+ currency_validator = EnumAttributeValidator.new('String', ["USD", "SGD", "INR", "AUD", "BRL", "CAD", "DKK", "EUR", "NOK", "GBP", "SEK", "CHF", "HKD", "HUF", "JPY", "MXN", "MYR", "PLN", "CZK", "NZD", "AED", "COP", "RON", "THB", "BGN", "IDR", "DOP", "PHP", "TRY", "KRW", "TWD", "VND", "PKR", "CLP", "UYU", "ARS", "ZAR", "DZD", "TND", "MAD", "KES", "KWD", "JOD", "ALL", "XCD", "AMD", "BSD", "BHD", "BOB", "BAM", "KHR", "CRC", "XOF", "EGP", "ETB", "GMD", "GHS", "GTQ", "GYD", "ILS", "JMD", "MOP", "MGA", "MUR", "MDL", "MNT", "NAD", "NGN", "MKD", "OMR", "PYG", "PEN", "QAR", "RWF", "SAR", "RSD", "LKR", "TZS", "TTD", "UZS", "RUB", "CNY"])
344
+ return false unless currency_validator.valid?(@currency)
345
+ return false if @tax_category.nil?
346
+ tax_category_validator = EnumAttributeValidator.new('String', ["digital_products", "saas", "physical_products", "service"])
347
+ return false unless tax_category_validator.valid?(@tax_category)
348
+ true
349
+ end
350
+
351
+ # Custom attribute writer method checking allowed values (enum).
352
+ # @param [Object] currency Object to be assigned
353
+ def currency=(currency)
354
+ validator = EnumAttributeValidator.new('String', ["USD", "SGD", "INR", "AUD", "BRL", "CAD", "DKK", "EUR", "NOK", "GBP", "SEK", "CHF", "HKD", "HUF", "JPY", "MXN", "MYR", "PLN", "CZK", "NZD", "AED", "COP", "RON", "THB", "BGN", "IDR", "DOP", "PHP", "TRY", "KRW", "TWD", "VND", "PKR", "CLP", "UYU", "ARS", "ZAR", "DZD", "TND", "MAD", "KES", "KWD", "JOD", "ALL", "XCD", "AMD", "BSD", "BHD", "BOB", "BAM", "KHR", "CRC", "XOF", "EGP", "ETB", "GMD", "GHS", "GTQ", "GYD", "ILS", "JMD", "MOP", "MGA", "MUR", "MDL", "MNT", "NAD", "NGN", "MKD", "OMR", "PYG", "PEN", "QAR", "RWF", "SAR", "RSD", "LKR", "TZS", "TTD", "UZS", "RUB", "CNY"])
355
+ unless validator.valid?(currency)
356
+ fail ArgumentError, "invalid value for \"currency\", must be one of #{validator.allowable_values}."
357
+ end
358
+ @currency = currency
359
+ end
360
+
361
+ # Custom attribute writer method checking allowed values (enum).
362
+ # @param [Object] tax_category Object to be assigned
363
+ def tax_category=(tax_category)
364
+ validator = EnumAttributeValidator.new('String', ["digital_products", "saas", "physical_products", "service"])
365
+ unless validator.valid?(tax_category)
366
+ fail ArgumentError, "invalid value for \"tax_category\", must be one of #{validator.allowable_values}."
367
+ end
368
+ @tax_category = tax_category
369
+ end
370
+
371
+ # Checks equality by comparing each attribute.
372
+ # @param [Object] Object to be compared
373
+ def ==(o)
374
+ return true if self.equal?(o)
375
+ self.class == o.class &&
376
+ name == o.name &&
377
+ description == o.description &&
378
+ price == o.price &&
379
+ currency == o.currency &&
380
+ image_url == o.image_url &&
381
+ tax_category == o.tax_category &&
382
+ discount == o.discount &&
383
+ has_license_key == o.has_license_key &&
384
+ has_digital_delivery == o.has_digital_delivery &&
385
+ is_tax_inclusive == o.is_tax_inclusive &&
386
+ activation_limit == o.activation_limit &&
387
+ brand_id == o.brand_id &&
388
+ billing_period == o.billing_period &&
389
+ trial_period_days == o.trial_period_days &&
390
+ expiration_days == o.expiration_days &&
391
+ statement_descriptor == o.statement_descriptor &&
392
+ pay_what_you_want == o.pay_what_you_want &&
393
+ metadata == o.metadata &&
394
+ custom_fields == o.custom_fields &&
395
+ stock == o.stock &&
396
+ is_listed == o.is_listed &&
397
+ is_free == o.is_free &&
398
+ addons == o.addons
399
+ end
400
+
401
+ # @see the `==` method
402
+ # @param [Object] Object to be compared
403
+ def eql?(o)
404
+ self == o
405
+ end
406
+
407
+ # Calculates hash code according to all attributes.
408
+ # @return [Integer] Hash code
409
+ def hash
410
+ [name, description, price, currency, image_url, tax_category, discount, has_license_key, has_digital_delivery, is_tax_inclusive, activation_limit, brand_id, billing_period, trial_period_days, expiration_days, statement_descriptor, pay_what_you_want, metadata, custom_fields, stock, is_listed, is_free, addons].hash
411
+ end
412
+
413
+ # Builds the object from hash
414
+ # @param [Hash] attributes Model attributes in the form of hash
415
+ # @return [Object] Returns the model itself
416
+ def self.build_from_hash(attributes)
417
+ return nil unless attributes.is_a?(Hash)
418
+ attributes = attributes.transform_keys(&:to_sym)
419
+ transformed_hash = {}
420
+ openapi_types.each_pair do |key, type|
421
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
422
+ transformed_hash["#{key}"] = nil
423
+ elsif type =~ /\AArray<(.*)>/i
424
+ # check to ensure the input is an array given that the attribute
425
+ # is documented as an array but the input is not
426
+ if attributes[attribute_map[key]].is_a?(Array)
427
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
428
+ end
429
+ elsif !attributes[attribute_map[key]].nil?
430
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
431
+ end
432
+ end
433
+ new(transformed_hash)
434
+ end
435
+
436
+ # Deserializes the data based on type
437
+ # @param string type Data type
438
+ # @param string value Value to be deserialized
439
+ # @return [Object] Deserialized data
440
+ def self._deserialize(type, value)
441
+ case type.to_sym
442
+ when :Time
443
+ Time.parse(value)
444
+ when :Date
445
+ Date.parse(value)
446
+ when :String
447
+ value.to_s
448
+ when :Integer
449
+ value.to_i
450
+ when :Float
451
+ value.to_f
452
+ when :Boolean
453
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
454
+ true
455
+ else
456
+ false
457
+ end
458
+ when :Object
459
+ # generic object (usually a Hash), return directly
460
+ value
461
+ when /\AArray<(?<inner_type>.+)>\z/
462
+ inner_type = Regexp.last_match[:inner_type]
463
+ value.map { |v| _deserialize(inner_type, v) }
464
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
465
+ k_type = Regexp.last_match[:k_type]
466
+ v_type = Regexp.last_match[:v_type]
467
+ {}.tap do |hash|
468
+ value.each do |k, v|
469
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
470
+ end
471
+ end
472
+ else # model
473
+ # models (e.g. Pet) or oneOf
474
+ klass = Solifyn.const_get(type)
475
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
476
+ end
477
+ end
478
+
479
+ # Returns the string representation of the object
480
+ # @return [String] String presentation of the object
481
+ def to_s
482
+ to_hash.to_s
483
+ end
484
+
485
+ # to_body is an alias to to_hash (backward compatibility)
486
+ # @return [Hash] Returns the object in the form of hash
487
+ def to_body
488
+ to_hash
489
+ end
490
+
491
+ # Returns the object in the form of hash
492
+ # @return [Hash] Returns the object in the form of hash
493
+ def to_hash
494
+ hash = {}
495
+ self.class.attribute_map.each_pair do |attr, param|
496
+ value = self.send(attr)
497
+ if value.nil?
498
+ is_nullable = self.class.openapi_nullable.include?(attr)
499
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
500
+ end
501
+
502
+ hash[param] = _to_hash(value)
503
+ end
504
+ hash
505
+ end
506
+
507
+ # Outputs non-array value in the form of hash
508
+ # For object, use to_hash. Otherwise, just return the value
509
+ # @param [Object] value Any valid value
510
+ # @return [Hash] Returns the value in the form of hash
511
+ def _to_hash(value)
512
+ if value.is_a?(Array)
513
+ value.compact.map { |v| _to_hash(v) }
514
+ elsif value.is_a?(Hash)
515
+ {}.tap do |hash|
516
+ value.each { |k, v| hash[k] = _to_hash(v) }
517
+ end
518
+ elsif value.respond_to? :to_hash
519
+ value.to_hash
520
+ else
521
+ value
522
+ end
523
+ end
524
+
525
+ end
526
+
527
+ end