growwer 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 (383) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +306 -0
  4. data/Rakefile +10 -0
  5. data/docs/AccountApi.md +213 -0
  6. data/docs/Balance.md +20 -0
  7. data/docs/BuyerMoneyApi.md +362 -0
  8. data/docs/CatalogueApi.md +731 -0
  9. data/docs/CatalogueMedia.md +46 -0
  10. data/docs/CatalogueMediaFlashOffer.md +20 -0
  11. data/docs/CatalogueMediaMetrics.md +26 -0
  12. data/docs/CatalogueOffer.md +24 -0
  13. data/docs/CatalogueOfferOrNull.md +24 -0
  14. data/docs/CataloguePostOffer.md +30 -0
  15. data/docs/CataloguePostOfferAllOfExtras.md +20 -0
  16. data/docs/CataloguePostOfferAllOfExtrasSensitiveTopic.md +20 -0
  17. data/docs/CodeName.md +20 -0
  18. data/docs/CountSavedFilterMedias200Response.md +18 -0
  19. data/docs/CreateProjectRequest.md +32 -0
  20. data/docs/CreateSavedFilterRequest.md +22 -0
  21. data/docs/Error.md +24 -0
  22. data/docs/FilesApi.md +79 -0
  23. data/docs/GetBuyerWallet200Response.md +20 -0
  24. data/docs/GetMe200Response.md +34 -0
  25. data/docs/GetMe200ResponseBuyer.md +18 -0
  26. data/docs/GetMe200ResponseCatalogue.md +18 -0
  27. data/docs/GetMe200ResponseManagedService.md +18 -0
  28. data/docs/GetMe200ResponseSeller.md +24 -0
  29. data/docs/GetSellerWallet200Response.md +20 -0
  30. data/docs/GetVocabulary200Response.md +28 -0
  31. data/docs/GetVocabulary200ResponseTopicsInner.md +20 -0
  32. data/docs/Invoice.md +24 -0
  33. data/docs/LinkAdditionOrderBriefing.md +22 -0
  34. data/docs/LinkAdditionOrderBriefingRequest.md +22 -0
  35. data/docs/ListBuyerTransactions200Response.md +20 -0
  36. data/docs/ListFlashOffers200Response.md +20 -0
  37. data/docs/ListInvoices200Response.md +20 -0
  38. data/docs/ListManagedServiceCampaigns200Response.md +20 -0
  39. data/docs/ListManagedServiceProposals200Response.md +20 -0
  40. data/docs/ListOrders200Response.md +20 -0
  41. data/docs/ListProjects200Response.md +20 -0
  42. data/docs/ListSavedFilters200Response.md +20 -0
  43. data/docs/ListSellerMedias200Response.md +20 -0
  44. data/docs/ListSellerOrders200Response.md +20 -0
  45. data/docs/ListSellerTransactions200Response.md +20 -0
  46. data/docs/ListWithdrawals200Response.md +20 -0
  47. data/docs/ManagedServiceCampaign.md +40 -0
  48. data/docs/ManagedServiceCampaignProject.md +20 -0
  49. data/docs/ManagedServiceCampaignProposalCounts.md +26 -0
  50. data/docs/ManagedServiceCampaignStrategy.md +26 -0
  51. data/docs/ManagedServiceProposal.md +40 -0
  52. data/docs/ManagedServiceProposalBriefing.md +24 -0
  53. data/docs/ManagedServiceProposalBriefingLinksInner.md +22 -0
  54. data/docs/ManagedServiceProposalMedia.md +24 -0
  55. data/docs/ManagedServiceProposalReview.md +20 -0
  56. data/docs/ManagedServiceProposalReviewRequest.md +18 -0
  57. data/docs/ManagedServiceProposalReviewRequestReviewsInner.md +22 -0
  58. data/docs/ManagedServiceProposalsEstimate.md +28 -0
  59. data/docs/ManagedServiceProposalsEstimateRequest.md +18 -0
  60. data/docs/ManagedServiceRequest.md +28 -0
  61. data/docs/ManagedServiceRequestSent.md +18 -0
  62. data/docs/ManagedServicesApi.md +593 -0
  63. data/docs/Money.md +20 -0
  64. data/docs/MoneyOrNull.md +20 -0
  65. data/docs/Order.md +48 -0
  66. data/docs/OrderActionReason.md +18 -0
  67. data/docs/OrderBriefing.md +49 -0
  68. data/docs/OrderChannel.md +18 -0
  69. data/docs/OrderCreateRequest.md +32 -0
  70. data/docs/OrderDelivery.md +20 -0
  71. data/docs/OrderDraft.md +22 -0
  72. data/docs/OrderEstimate.md +24 -0
  73. data/docs/OrderEstimateRequest.md +30 -0
  74. data/docs/OrderEstimateRequestBriefing.md +49 -0
  75. data/docs/OrderLink.md +22 -0
  76. data/docs/OrderLinkRequest.md +22 -0
  77. data/docs/OrderMedia.md +20 -0
  78. data/docs/OrderProject.md +20 -0
  79. data/docs/OrderStateHistoryInner.md +22 -0
  80. data/docs/OrderStateHistoryInnerReason.md +20 -0
  81. data/docs/OrdersApi.md +809 -0
  82. data/docs/PostOrderBriefing.md +28 -0
  83. data/docs/PostOrderBriefingRequest.md +24 -0
  84. data/docs/Project.md +38 -0
  85. data/docs/ProjectCatalogueMedia.md +48 -0
  86. data/docs/ProjectCatalogueMediaAllOfProject.md +28 -0
  87. data/docs/ProjectsApi.md +368 -0
  88. data/docs/PutSellerHoliday200Response.md +20 -0
  89. data/docs/PutSellerHolidayRequest.md +20 -0
  90. data/docs/RequestMedias201Response.md +18 -0
  91. data/docs/RequestMediasRequest.md +18 -0
  92. data/docs/SavedFilter.md +26 -0
  93. data/docs/SavedFilterNotifications.md +20 -0
  94. data/docs/SavedFiltersApi.md +296 -0
  95. data/docs/SellerFees.md +20 -0
  96. data/docs/SellerFeesOrNull.md +20 -0
  97. data/docs/SellerMedia.md +54 -0
  98. data/docs/SellerMediaFlashOffer.md +20 -0
  99. data/docs/SellerMediaLinkAdditionOffer.md +18 -0
  100. data/docs/SellerMediaLinkAdditionOfferPricingOptionsInner.md +22 -0
  101. data/docs/SellerMediaPostOffer.md +20 -0
  102. data/docs/SellerMediaPostOfferPricingOptionsInner.md +24 -0
  103. data/docs/SellerMediasApi.md +301 -0
  104. data/docs/SellerMoneyApi.md +364 -0
  105. data/docs/SellerOrder.md +50 -0
  106. data/docs/SellerOrderBriefing.md +49 -0
  107. data/docs/SellerOrderChannel.md +20 -0
  108. data/docs/SellerOrderDraft.md +20 -0
  109. data/docs/SellerOrderDraftFile.md +18 -0
  110. data/docs/SellerOrderPostDelivery.md +20 -0
  111. data/docs/SellerOrderProject.md +18 -0
  112. data/docs/SellerOrderRefutation.md +18 -0
  113. data/docs/SellerOrderRejection.md +18 -0
  114. data/docs/SellerOrderRejectionReason.md +20 -0
  115. data/docs/SellerOrdersApi.md +893 -0
  116. data/docs/SellerPostOrderBriefing.md +30 -0
  117. data/docs/SellerTransaction.md +38 -0
  118. data/docs/Transaction.md +40 -0
  119. data/docs/UpdateProjectRequest.md +30 -0
  120. data/docs/UpdateSellerMediaRequest.md +22 -0
  121. data/docs/UpdateSellerMediaRequestExtraServicesInner.md +20 -0
  122. data/docs/UpdateSellerMediaRequestLinkAdditionOffer.md +18 -0
  123. data/docs/UpdateSellerMediaRequestLinkAdditionOfferPricingOptionsInner.md +20 -0
  124. data/docs/UpdateSellerMediaRequestPostOffer.md +18 -0
  125. data/docs/UpdateSellerMediaRequestPostOfferPricingOptionsInner.md +22 -0
  126. data/docs/UploadFile201Response.md +24 -0
  127. data/docs/Withdrawal.md +28 -0
  128. data/git_push.sh +57 -0
  129. data/growwer.gemspec +41 -0
  130. data/lib/growwer/api/account_api.rb +215 -0
  131. data/lib/growwer/api/buyer_money_api.rb +355 -0
  132. data/lib/growwer/api/catalogue_api.rb +881 -0
  133. data/lib/growwer/api/files_api.rb +102 -0
  134. data/lib/growwer/api/managed_services_api.rb +625 -0
  135. data/lib/growwer/api/orders_api.rb +855 -0
  136. data/lib/growwer/api/projects_api.rb +398 -0
  137. data/lib/growwer/api/saved_filters_api.rb +319 -0
  138. data/lib/growwer/api/seller_medias_api.rb +329 -0
  139. data/lib/growwer/api/seller_money_api.rb +358 -0
  140. data/lib/growwer/api/seller_orders_api.rb +963 -0
  141. data/lib/growwer/api_client.rb +441 -0
  142. data/lib/growwer/api_error.rb +58 -0
  143. data/lib/growwer/api_model_base.rb +88 -0
  144. data/lib/growwer/configuration.rb +392 -0
  145. data/lib/growwer/models/balance.rb +192 -0
  146. data/lib/growwer/models/catalogue_media.rb +491 -0
  147. data/lib/growwer/models/catalogue_media_flash_offer.rb +191 -0
  148. data/lib/growwer/models/catalogue_media_metrics.rb +200 -0
  149. data/lib/growwer/models/catalogue_offer.rb +254 -0
  150. data/lib/growwer/models/catalogue_offer_or_null.rb +254 -0
  151. data/lib/growwer/models/catalogue_post_offer.rb +333 -0
  152. data/lib/growwer/models/catalogue_post_offer_all_of_extras.rb +177 -0
  153. data/lib/growwer/models/catalogue_post_offer_all_of_extras_sensitive_topic.rb +178 -0
  154. data/lib/growwer/models/code_name.rb +190 -0
  155. data/lib/growwer/models/count_saved_filter_medias200_response.rb +173 -0
  156. data/lib/growwer/models/create_project_request.rb +402 -0
  157. data/lib/growwer/models/create_saved_filter_request.rb +247 -0
  158. data/lib/growwer/models/error.rb +231 -0
  159. data/lib/growwer/models/get_buyer_wallet200_response.rb +191 -0
  160. data/lib/growwer/models/get_me200_response.rb +373 -0
  161. data/lib/growwer/models/get_me200_response_buyer.rb +164 -0
  162. data/lib/growwer/models/get_me200_response_catalogue.rb +165 -0
  163. data/lib/growwer/models/get_me200_response_managed_service.rb +165 -0
  164. data/lib/growwer/models/get_me200_response_seller.rb +231 -0
  165. data/lib/growwer/models/get_seller_wallet200_response.rb +191 -0
  166. data/lib/growwer/models/get_vocabulary200_response.rb +311 -0
  167. data/lib/growwer/models/get_vocabulary200_response_topics_inner.rb +190 -0
  168. data/lib/growwer/models/invoice.rb +243 -0
  169. data/lib/growwer/models/link_addition_order_briefing.rb +204 -0
  170. data/lib/growwer/models/link_addition_order_briefing_request.rb +201 -0
  171. data/lib/growwer/models/list_buyer_transactions200_response.rb +192 -0
  172. data/lib/growwer/models/list_flash_offers200_response.rb +192 -0
  173. data/lib/growwer/models/list_invoices200_response.rb +192 -0
  174. data/lib/growwer/models/list_managed_service_campaigns200_response.rb +192 -0
  175. data/lib/growwer/models/list_managed_service_proposals200_response.rb +192 -0
  176. data/lib/growwer/models/list_orders200_response.rb +192 -0
  177. data/lib/growwer/models/list_projects200_response.rb +192 -0
  178. data/lib/growwer/models/list_saved_filters200_response.rb +192 -0
  179. data/lib/growwer/models/list_seller_medias200_response.rb +192 -0
  180. data/lib/growwer/models/list_seller_orders200_response.rb +192 -0
  181. data/lib/growwer/models/list_seller_transactions200_response.rb +192 -0
  182. data/lib/growwer/models/list_withdrawals200_response.rb +192 -0
  183. data/lib/growwer/models/managed_service_campaign.rb +451 -0
  184. data/lib/growwer/models/managed_service_campaign_project.rb +190 -0
  185. data/lib/growwer/models/managed_service_campaign_proposal_counts.rb +269 -0
  186. data/lib/growwer/models/managed_service_campaign_strategy.rb +300 -0
  187. data/lib/growwer/models/managed_service_proposal.rb +428 -0
  188. data/lib/growwer/models/managed_service_proposal_briefing.rb +244 -0
  189. data/lib/growwer/models/managed_service_proposal_briefing_links_inner.rb +226 -0
  190. data/lib/growwer/models/managed_service_proposal_media.rb +214 -0
  191. data/lib/growwer/models/managed_service_proposal_review.rb +193 -0
  192. data/lib/growwer/models/managed_service_proposal_review_request.rb +176 -0
  193. data/lib/growwer/models/managed_service_proposal_review_request_reviews_inner.rb +240 -0
  194. data/lib/growwer/models/managed_service_proposals_estimate.rb +300 -0
  195. data/lib/growwer/models/managed_service_proposals_estimate_request.rb +150 -0
  196. data/lib/growwer/models/managed_service_request.rb +331 -0
  197. data/lib/growwer/models/managed_service_request_sent.rb +188 -0
  198. data/lib/growwer/models/money.rb +192 -0
  199. data/lib/growwer/models/money_or_null.rb +192 -0
  200. data/lib/growwer/models/order.rb +541 -0
  201. data/lib/growwer/models/order_action_reason.rb +183 -0
  202. data/lib/growwer/models/order_briefing.rb +102 -0
  203. data/lib/growwer/models/order_channel.rb +189 -0
  204. data/lib/growwer/models/order_create_request.rb +333 -0
  205. data/lib/growwer/models/order_delivery.rb +179 -0
  206. data/lib/growwer/models/order_draft.rb +220 -0
  207. data/lib/growwer/models/order_estimate.rb +246 -0
  208. data/lib/growwer/models/order_estimate_request.rb +299 -0
  209. data/lib/growwer/models/order_estimate_request_briefing.rb +102 -0
  210. data/lib/growwer/models/order_link.rb +214 -0
  211. data/lib/growwer/models/order_link_request.rb +209 -0
  212. data/lib/growwer/models/order_media.rb +178 -0
  213. data/lib/growwer/models/order_project.rb +178 -0
  214. data/lib/growwer/models/order_state_history_inner.rb +202 -0
  215. data/lib/growwer/models/order_state_history_inner_reason.rb +200 -0
  216. data/lib/growwer/models/post_order_briefing.rb +285 -0
  217. data/lib/growwer/models/post_order_briefing_request.rb +220 -0
  218. data/lib/growwer/models/project.rb +437 -0
  219. data/lib/growwer/models/project_catalogue_media.rb +524 -0
  220. data/lib/growwer/models/project_catalogue_media_all_of_project.rb +298 -0
  221. data/lib/growwer/models/put_seller_holiday200_response.rb +177 -0
  222. data/lib/growwer/models/put_seller_holiday_request.rb +174 -0
  223. data/lib/growwer/models/request_medias201_response.rb +166 -0
  224. data/lib/growwer/models/request_medias_request.rb +167 -0
  225. data/lib/growwer/models/saved_filter.rb +269 -0
  226. data/lib/growwer/models/saved_filter_notifications.rb +211 -0
  227. data/lib/growwer/models/seller_fees.rb +164 -0
  228. data/lib/growwer/models/seller_fees_or_null.rb +164 -0
  229. data/lib/growwer/models/seller_media.rb +573 -0
  230. data/lib/growwer/models/seller_media_flash_offer.rb +191 -0
  231. data/lib/growwer/models/seller_media_link_addition_offer.rb +167 -0
  232. data/lib/growwer/models/seller_media_link_addition_offer_pricing_options_inner.rb +228 -0
  233. data/lib/growwer/models/seller_media_post_offer.rb +195 -0
  234. data/lib/growwer/models/seller_media_post_offer_pricing_options_inner.rb +234 -0
  235. data/lib/growwer/models/seller_order.rb +563 -0
  236. data/lib/growwer/models/seller_order_briefing.rb +102 -0
  237. data/lib/growwer/models/seller_order_channel.rb +214 -0
  238. data/lib/growwer/models/seller_order_draft.rb +193 -0
  239. data/lib/growwer/models/seller_order_draft_file.rb +165 -0
  240. data/lib/growwer/models/seller_order_post_delivery.rb +193 -0
  241. data/lib/growwer/models/seller_order_project.rb +165 -0
  242. data/lib/growwer/models/seller_order_refutation.rb +183 -0
  243. data/lib/growwer/models/seller_order_rejection.rb +164 -0
  244. data/lib/growwer/models/seller_order_rejection_reason.rb +224 -0
  245. data/lib/growwer/models/seller_post_order_briefing.rb +314 -0
  246. data/lib/growwer/models/seller_transaction.rb +415 -0
  247. data/lib/growwer/models/transaction.rb +427 -0
  248. data/lib/growwer/models/update_project_request.rb +339 -0
  249. data/lib/growwer/models/update_seller_media_request.rb +168 -0
  250. data/lib/growwer/models/update_seller_media_request_extra_services_inner.rb +215 -0
  251. data/lib/growwer/models/update_seller_media_request_link_addition_offer.rb +166 -0
  252. data/lib/growwer/models/update_seller_media_request_link_addition_offer_pricing_options_inner.rb +215 -0
  253. data/lib/growwer/models/update_seller_media_request_post_offer.rb +175 -0
  254. data/lib/growwer/models/update_seller_media_request_post_offer_pricing_options_inner.rb +210 -0
  255. data/lib/growwer/models/upload_file201_response.rb +244 -0
  256. data/lib/growwer/models/withdrawal.rb +322 -0
  257. data/lib/growwer/version.rb +15 -0
  258. data/lib/growwer.rb +163 -0
  259. data/spec/api/account_api_spec.rb +70 -0
  260. data/spec/api/buyer_money_api_spec.rb +96 -0
  261. data/spec/api/catalogue_api_spec.rb +213 -0
  262. data/spec/api/files_api_spec.rb +48 -0
  263. data/spec/api/managed_services_api_spec.rb +140 -0
  264. data/spec/api/orders_api_spec.rb +182 -0
  265. data/spec/api/projects_api_spec.rb +100 -0
  266. data/spec/api/saved_filters_api_spec.rb +88 -0
  267. data/spec/api/seller_medias_api_spec.rb +89 -0
  268. data/spec/api/seller_money_api_spec.rb +97 -0
  269. data/spec/api/seller_orders_api_spec.rb +199 -0
  270. data/spec/models/balance_spec.rb +42 -0
  271. data/spec/models/catalogue_media_flash_offer_spec.rb +42 -0
  272. data/spec/models/catalogue_media_metrics_spec.rb +60 -0
  273. data/spec/models/catalogue_media_spec.rb +124 -0
  274. data/spec/models/catalogue_offer_or_null_spec.rb +58 -0
  275. data/spec/models/catalogue_offer_spec.rb +58 -0
  276. data/spec/models/catalogue_post_offer_all_of_extras_sensitive_topic_spec.rb +42 -0
  277. data/spec/models/catalogue_post_offer_all_of_extras_spec.rb +42 -0
  278. data/spec/models/catalogue_post_offer_spec.rb +80 -0
  279. data/spec/models/code_name_spec.rb +42 -0
  280. data/spec/models/count_saved_filter_medias200_response_spec.rb +36 -0
  281. data/spec/models/create_project_request_spec.rb +82 -0
  282. data/spec/models/create_saved_filter_request_spec.rb +52 -0
  283. data/spec/models/error_spec.rb +54 -0
  284. data/spec/models/get_buyer_wallet200_response_spec.rb +42 -0
  285. data/spec/models/get_me200_response_buyer_spec.rb +36 -0
  286. data/spec/models/get_me200_response_catalogue_spec.rb +36 -0
  287. data/spec/models/get_me200_response_managed_service_spec.rb +36 -0
  288. data/spec/models/get_me200_response_seller_spec.rb +54 -0
  289. data/spec/models/get_me200_response_spec.rb +84 -0
  290. data/spec/models/get_seller_wallet200_response_spec.rb +42 -0
  291. data/spec/models/get_vocabulary200_response_spec.rb +74 -0
  292. data/spec/models/get_vocabulary200_response_topics_inner_spec.rb +42 -0
  293. data/spec/models/invoice_spec.rb +54 -0
  294. data/spec/models/link_addition_order_briefing_request_spec.rb +48 -0
  295. data/spec/models/link_addition_order_briefing_spec.rb +48 -0
  296. data/spec/models/list_buyer_transactions200_response_spec.rb +42 -0
  297. data/spec/models/list_flash_offers200_response_spec.rb +42 -0
  298. data/spec/models/list_invoices200_response_spec.rb +42 -0
  299. data/spec/models/list_managed_service_campaigns200_response_spec.rb +42 -0
  300. data/spec/models/list_managed_service_proposals200_response_spec.rb +42 -0
  301. data/spec/models/list_orders200_response_spec.rb +42 -0
  302. data/spec/models/list_projects200_response_spec.rb +42 -0
  303. data/spec/models/list_saved_filters200_response_spec.rb +42 -0
  304. data/spec/models/list_seller_medias200_response_spec.rb +42 -0
  305. data/spec/models/list_seller_orders200_response_spec.rb +42 -0
  306. data/spec/models/list_seller_transactions200_response_spec.rb +42 -0
  307. data/spec/models/list_withdrawals200_response_spec.rb +42 -0
  308. data/spec/models/managed_service_campaign_project_spec.rb +42 -0
  309. data/spec/models/managed_service_campaign_proposal_counts_spec.rb +60 -0
  310. data/spec/models/managed_service_campaign_spec.rb +106 -0
  311. data/spec/models/managed_service_campaign_strategy_spec.rb +64 -0
  312. data/spec/models/managed_service_proposal_briefing_links_inner_spec.rb +52 -0
  313. data/spec/models/managed_service_proposal_briefing_spec.rb +54 -0
  314. data/spec/models/managed_service_proposal_media_spec.rb +54 -0
  315. data/spec/models/managed_service_proposal_review_request_reviews_inner_spec.rb +52 -0
  316. data/spec/models/managed_service_proposal_review_request_spec.rb +36 -0
  317. data/spec/models/managed_service_proposal_review_spec.rb +42 -0
  318. data/spec/models/managed_service_proposal_spec.rb +110 -0
  319. data/spec/models/managed_service_proposals_estimate_request_spec.rb +36 -0
  320. data/spec/models/managed_service_proposals_estimate_spec.rb +66 -0
  321. data/spec/models/managed_service_request_sent_spec.rb +40 -0
  322. data/spec/models/managed_service_request_spec.rb +74 -0
  323. data/spec/models/money_or_null_spec.rb +42 -0
  324. data/spec/models/money_spec.rb +42 -0
  325. data/spec/models/order_action_reason_spec.rb +36 -0
  326. data/spec/models/order_briefing_spec.rb +32 -0
  327. data/spec/models/order_channel_spec.rb +40 -0
  328. data/spec/models/order_create_request_spec.rb +82 -0
  329. data/spec/models/order_delivery_spec.rb +42 -0
  330. data/spec/models/order_draft_spec.rb +48 -0
  331. data/spec/models/order_estimate_request_briefing_spec.rb +32 -0
  332. data/spec/models/order_estimate_request_spec.rb +76 -0
  333. data/spec/models/order_estimate_spec.rb +54 -0
  334. data/spec/models/order_link_request_spec.rb +52 -0
  335. data/spec/models/order_link_spec.rb +52 -0
  336. data/spec/models/order_media_spec.rb +42 -0
  337. data/spec/models/order_project_spec.rb +42 -0
  338. data/spec/models/order_spec.rb +134 -0
  339. data/spec/models/order_state_history_inner_reason_spec.rb +46 -0
  340. data/spec/models/order_state_history_inner_spec.rb +48 -0
  341. data/spec/models/post_order_briefing_request_spec.rb +58 -0
  342. data/spec/models/post_order_briefing_spec.rb +70 -0
  343. data/spec/models/project_catalogue_media_all_of_project_spec.rb +66 -0
  344. data/spec/models/project_catalogue_media_spec.rb +130 -0
  345. data/spec/models/project_spec.rb +104 -0
  346. data/spec/models/put_seller_holiday200_response_spec.rb +42 -0
  347. data/spec/models/put_seller_holiday_request_spec.rb +42 -0
  348. data/spec/models/request_medias201_response_spec.rb +36 -0
  349. data/spec/models/request_medias_request_spec.rb +36 -0
  350. data/spec/models/saved_filter_notifications_spec.rb +46 -0
  351. data/spec/models/saved_filter_spec.rb +60 -0
  352. data/spec/models/seller_fees_or_null_spec.rb +42 -0
  353. data/spec/models/seller_fees_spec.rb +42 -0
  354. data/spec/models/seller_media_flash_offer_spec.rb +42 -0
  355. data/spec/models/seller_media_link_addition_offer_pricing_options_inner_spec.rb +52 -0
  356. data/spec/models/seller_media_link_addition_offer_spec.rb +36 -0
  357. data/spec/models/seller_media_post_offer_pricing_options_inner_spec.rb +58 -0
  358. data/spec/models/seller_media_post_offer_spec.rb +42 -0
  359. data/spec/models/seller_media_spec.rb +148 -0
  360. data/spec/models/seller_order_briefing_spec.rb +32 -0
  361. data/spec/models/seller_order_channel_spec.rb +50 -0
  362. data/spec/models/seller_order_draft_file_spec.rb +36 -0
  363. data/spec/models/seller_order_draft_spec.rb +42 -0
  364. data/spec/models/seller_order_post_delivery_spec.rb +42 -0
  365. data/spec/models/seller_order_project_spec.rb +36 -0
  366. data/spec/models/seller_order_refutation_spec.rb +36 -0
  367. data/spec/models/seller_order_rejection_reason_spec.rb +46 -0
  368. data/spec/models/seller_order_rejection_spec.rb +36 -0
  369. data/spec/models/seller_order_spec.rb +140 -0
  370. data/spec/models/seller_post_order_briefing_spec.rb +80 -0
  371. data/spec/models/seller_transaction_spec.rb +104 -0
  372. data/spec/models/transaction_spec.rb +110 -0
  373. data/spec/models/update_project_request_spec.rb +76 -0
  374. data/spec/models/update_seller_media_request_extra_services_inner_spec.rb +46 -0
  375. data/spec/models/update_seller_media_request_link_addition_offer_pricing_options_inner_spec.rb +46 -0
  376. data/spec/models/update_seller_media_request_link_addition_offer_spec.rb +36 -0
  377. data/spec/models/update_seller_media_request_post_offer_pricing_options_inner_spec.rb +52 -0
  378. data/spec/models/update_seller_media_request_post_offer_spec.rb +36 -0
  379. data/spec/models/update_seller_media_request_spec.rb +48 -0
  380. data/spec/models/upload_file201_response_spec.rb +54 -0
  381. data/spec/models/withdrawal_spec.rb +74 -0
  382. data/spec/spec_helper.rb +111 -0
  383. metadata +618 -0
@@ -0,0 +1,191 @@
1
+ =begin
2
+ #Growwer API
3
+
4
+ #The Growwer customer API. Authenticate every call with an API key created on your profile page, sent as `Authorization: Bearer <key>`. A read key can call every GET operation; writes need a read and write key and an `Idempotency-Key` header. Idempotency: use a new `Idempotency-Key` (1 to 255 printable ASCII characters without spaces) for each operation and reuse it only to retry that same operation. Keys belong to your account, not to one API key. - A successful write is stored for 30 days: a retry with the same key and the same request replays its response with `Idempotent-Replayed: true` and does nothing again. - A refused write (4xx) has no effect and releases its key: once you fix the cause, retry with the same key and the write runs. - A failed write (5xx) may have taken effect, so it is never run again under its key: a retry gets 409 `idempotency_outcome_unknown`. Check whether it took effect before retrying with a new key. - A retry while the first request is still running gets 409 `idempotency_request_in_progress`. A request still running after 5 minutes is treated as failed: a retry gets 409 `idempotency_outcome_unknown`. - The same key with a different request (method, path, query or body) gets 409 `idempotency_key_reused`. A write without the header gets 400 `idempotency_key_required`. Every response carries `X-Request-Id`. Errors share one shape, `{code, message, requestId, details?}`. Money is integer cents plus a currency code and dates are ISO-8601.
5
+
6
+ The version of the OpenAPI document: 1
7
+ Contact: support@growwer.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Growwer
17
+ # The flash offer running, or null. Its discount is in `currentCost`, never in the fees.
18
+ class SellerMediaFlashOffer < ApiModelBase
19
+ attr_accessor :discount_percent
20
+
21
+ attr_accessor :ends_at
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'discount_percent' => :'discountPercent',
27
+ :'ends_at' => :'endsAt'
28
+ }
29
+ end
30
+
31
+ # Returns attribute mapping this model knows about
32
+ def self.acceptable_attribute_map
33
+ attribute_map
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ acceptable_attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'discount_percent' => :'Integer',
45
+ :'ends_at' => :'Time'
46
+ }
47
+ end
48
+
49
+ # List of attributes with nullable: true
50
+ def self.openapi_nullable
51
+ Set.new([
52
+ ])
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ if (!attributes.is_a?(Hash))
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Growwer::SellerMediaFlashOffer` initialize method"
60
+ end
61
+
62
+ # check to see if the attribute exists and convert string to symbol for hash key
63
+ acceptable_attribute_map = self.class.acceptable_attribute_map
64
+ attributes = attributes.each_with_object({}) { |(k, v), h|
65
+ if (!acceptable_attribute_map.key?(k.to_sym))
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Growwer::SellerMediaFlashOffer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
67
+ end
68
+ h[k.to_sym] = v
69
+ }
70
+
71
+ if attributes.key?(:'discount_percent')
72
+ self.discount_percent = attributes[:'discount_percent']
73
+ else
74
+ self.discount_percent = nil
75
+ end
76
+
77
+ if attributes.key?(:'ends_at')
78
+ self.ends_at = attributes[:'ends_at']
79
+ else
80
+ self.ends_at = nil
81
+ end
82
+ end
83
+
84
+ # Show invalid properties with the reasons. Usually used together with valid?
85
+ # @return Array for valid properties with the reasons
86
+ def list_invalid_properties
87
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
88
+ invalid_properties = Array.new
89
+ if @discount_percent.nil?
90
+ invalid_properties.push('invalid value for "discount_percent", discount_percent cannot be nil.')
91
+ end
92
+
93
+ if @ends_at.nil?
94
+ invalid_properties.push('invalid value for "ends_at", ends_at cannot be nil.')
95
+ end
96
+
97
+ invalid_properties
98
+ end
99
+
100
+ # Check to see if the all the properties in the model are valid
101
+ # @return true if the model is valid
102
+ def valid?
103
+ warn '[DEPRECATED] the `valid?` method is obsolete'
104
+ return false if @discount_percent.nil?
105
+ return false if @ends_at.nil?
106
+ true
107
+ end
108
+
109
+ # Custom attribute writer method with validation
110
+ # @param [Object] discount_percent Value to be assigned
111
+ def discount_percent=(discount_percent)
112
+ if discount_percent.nil?
113
+ fail ArgumentError, 'discount_percent cannot be nil'
114
+ end
115
+
116
+ @discount_percent = discount_percent
117
+ end
118
+
119
+ # Custom attribute writer method with validation
120
+ # @param [Object] ends_at Value to be assigned
121
+ def ends_at=(ends_at)
122
+ if ends_at.nil?
123
+ fail ArgumentError, 'ends_at cannot be nil'
124
+ end
125
+
126
+ @ends_at = ends_at
127
+ end
128
+
129
+ # Checks equality by comparing each attribute.
130
+ # @param [Object] Object to be compared
131
+ def ==(o)
132
+ return true if self.equal?(o)
133
+ self.class == o.class &&
134
+ discount_percent == o.discount_percent &&
135
+ ends_at == o.ends_at
136
+ end
137
+
138
+ # @see the `==` method
139
+ # @param [Object] Object to be compared
140
+ def eql?(o)
141
+ self == o
142
+ end
143
+
144
+ # Calculates hash code according to all attributes.
145
+ # @return [Integer] Hash code
146
+ def hash
147
+ [discount_percent, ends_at].hash
148
+ end
149
+
150
+ # Builds the object from hash
151
+ # @param [Hash] attributes Model attributes in the form of hash
152
+ # @return [Object] Returns the model itself
153
+ def self.build_from_hash(attributes)
154
+ return nil unless attributes.is_a?(Hash)
155
+ attributes = attributes.transform_keys(&:to_sym)
156
+ transformed_hash = {}
157
+ openapi_types.each_pair do |key, type|
158
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
159
+ transformed_hash["#{key}"] = nil
160
+ elsif type =~ /\AArray<(.*)>/i
161
+ # check to ensure the input is an array given that the attribute
162
+ # is documented as an array but the input is not
163
+ if attributes[attribute_map[key]].is_a?(Array)
164
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
165
+ end
166
+ elsif !attributes[attribute_map[key]].nil?
167
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
168
+ end
169
+ end
170
+ new(transformed_hash)
171
+ end
172
+
173
+ # Returns the object in the form of hash
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_hash
176
+ hash = {}
177
+ self.class.attribute_map.each_pair do |attr, param|
178
+ value = self.send(attr)
179
+ if value.nil?
180
+ is_nullable = self.class.openapi_nullable.include?(attr)
181
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
182
+ end
183
+
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ end
190
+
191
+ end
@@ -0,0 +1,167 @@
1
+ =begin
2
+ #Growwer API
3
+
4
+ #The Growwer customer API. Authenticate every call with an API key created on your profile page, sent as `Authorization: Bearer <key>`. A read key can call every GET operation; writes need a read and write key and an `Idempotency-Key` header. Idempotency: use a new `Idempotency-Key` (1 to 255 printable ASCII characters without spaces) for each operation and reuse it only to retry that same operation. Keys belong to your account, not to one API key. - A successful write is stored for 30 days: a retry with the same key and the same request replays its response with `Idempotent-Replayed: true` and does nothing again. - A refused write (4xx) has no effect and releases its key: once you fix the cause, retry with the same key and the write runs. - A failed write (5xx) may have taken effect, so it is never run again under its key: a retry gets 409 `idempotency_outcome_unknown`. Check whether it took effect before retrying with a new key. - A retry while the first request is still running gets 409 `idempotency_request_in_progress`. A request still running after 5 minutes is treated as failed: a retry gets 409 `idempotency_outcome_unknown`. - The same key with a different request (method, path, query or body) gets 409 `idempotency_key_reused`. A write without the header gets 400 `idempotency_key_required`. Every response carries `X-Request-Id`. Errors share one shape, `{code, message, requestId, details?}`. Money is integer cents plus a currency code and dates are ISO-8601.
5
+
6
+ The version of the OpenAPI document: 1
7
+ Contact: support@growwer.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Growwer
17
+ # Adding a link to an existing article, or null when you do not offer it.
18
+ class SellerMediaLinkAdditionOffer < ApiModelBase
19
+ attr_accessor :pricing_options
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'pricing_options' => :'pricingOptions'
25
+ }
26
+ end
27
+
28
+ # Returns attribute mapping this model knows about
29
+ def self.acceptable_attribute_map
30
+ attribute_map
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ acceptable_attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'pricing_options' => :'Array<SellerMediaLinkAdditionOfferPricingOptionsInner>'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Growwer::SellerMediaLinkAdditionOffer` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ acceptable_attribute_map = self.class.acceptable_attribute_map
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!acceptable_attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Growwer::SellerMediaLinkAdditionOffer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
66
+
67
+ if attributes.key?(:'pricing_options')
68
+ if (value = attributes[:'pricing_options']).is_a?(Array)
69
+ self.pricing_options = value
70
+ end
71
+ else
72
+ self.pricing_options = nil
73
+ end
74
+ end
75
+
76
+ # Show invalid properties with the reasons. Usually used together with valid?
77
+ # @return Array for valid properties with the reasons
78
+ def list_invalid_properties
79
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
80
+ invalid_properties = Array.new
81
+ if @pricing_options.nil?
82
+ invalid_properties.push('invalid value for "pricing_options", pricing_options cannot be nil.')
83
+ end
84
+
85
+ invalid_properties
86
+ end
87
+
88
+ # Check to see if the all the properties in the model are valid
89
+ # @return true if the model is valid
90
+ def valid?
91
+ warn '[DEPRECATED] the `valid?` method is obsolete'
92
+ return false if @pricing_options.nil?
93
+ true
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param [Object] pricing_options Value to be assigned
98
+ def pricing_options=(pricing_options)
99
+ if pricing_options.nil?
100
+ fail ArgumentError, 'pricing_options cannot be nil'
101
+ end
102
+
103
+ @pricing_options = pricing_options
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param [Object] Object to be compared
108
+ def ==(o)
109
+ return true if self.equal?(o)
110
+ self.class == o.class &&
111
+ pricing_options == o.pricing_options
112
+ end
113
+
114
+ # @see the `==` method
115
+ # @param [Object] Object to be compared
116
+ def eql?(o)
117
+ self == o
118
+ end
119
+
120
+ # Calculates hash code according to all attributes.
121
+ # @return [Integer] Hash code
122
+ def hash
123
+ [pricing_options].hash
124
+ end
125
+
126
+ # Builds the object from hash
127
+ # @param [Hash] attributes Model attributes in the form of hash
128
+ # @return [Object] Returns the model itself
129
+ def self.build_from_hash(attributes)
130
+ return nil unless attributes.is_a?(Hash)
131
+ attributes = attributes.transform_keys(&:to_sym)
132
+ transformed_hash = {}
133
+ openapi_types.each_pair do |key, type|
134
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
135
+ transformed_hash["#{key}"] = nil
136
+ elsif type =~ /\AArray<(.*)>/i
137
+ # check to ensure the input is an array given that the attribute
138
+ # is documented as an array but the input is not
139
+ if attributes[attribute_map[key]].is_a?(Array)
140
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
141
+ end
142
+ elsif !attributes[attribute_map[key]].nil?
143
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
144
+ end
145
+ end
146
+ new(transformed_hash)
147
+ end
148
+
149
+ # Returns the object in the form of hash
150
+ # @return [Hash] Returns the object in the form of hash
151
+ def to_hash
152
+ hash = {}
153
+ self.class.attribute_map.each_pair do |attr, param|
154
+ value = self.send(attr)
155
+ if value.nil?
156
+ is_nullable = self.class.openapi_nullable.include?(attr)
157
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
158
+ end
159
+
160
+ hash[param] = _to_hash(value)
161
+ end
162
+ hash
163
+ end
164
+
165
+ end
166
+
167
+ end
@@ -0,0 +1,228 @@
1
+ =begin
2
+ #Growwer API
3
+
4
+ #The Growwer customer API. Authenticate every call with an API key created on your profile page, sent as `Authorization: Bearer <key>`. A read key can call every GET operation; writes need a read and write key and an `Idempotency-Key` header. Idempotency: use a new `Idempotency-Key` (1 to 255 printable ASCII characters without spaces) for each operation and reuse it only to retry that same operation. Keys belong to your account, not to one API key. - A successful write is stored for 30 days: a retry with the same key and the same request replays its response with `Idempotent-Replayed: true` and does nothing again. - A refused write (4xx) has no effect and releases its key: once you fix the cause, retry with the same key and the write runs. - A failed write (5xx) may have taken effect, so it is never run again under its key: a retry gets 409 `idempotency_outcome_unknown`. Check whether it took effect before retrying with a new key. - A retry while the first request is still running gets 409 `idempotency_request_in_progress`. A request still running after 5 minutes is treated as failed: a retry gets 409 `idempotency_outcome_unknown`. - The same key with a different request (method, path, query or body) gets 409 `idempotency_key_reused`. A write without the header gets 400 `idempotency_key_required`. Every response carries `X-Request-Id`. Errors share one shape, `{code, message, requestId, details?}`. Money is integer cents plus a currency code and dates are ISO-8601.
5
+
6
+ The version of the OpenAPI document: 1
7
+ Contact: support@growwer.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Growwer
17
+ class SellerMediaLinkAdditionOfferPricingOptionsInner < ApiModelBase
18
+ attr_accessor :link_type
19
+
20
+ # Your base fee for the link type.
21
+ attr_accessor :fee
22
+
23
+ # What you are paid now for the link type, flash offer discount included; read-only.
24
+ attr_accessor :current_cost
25
+
26
+ class EnumAttributeValidator
27
+ attr_reader :datatype
28
+ attr_reader :allowable_values
29
+
30
+ def initialize(datatype, allowable_values)
31
+ @allowable_values = allowable_values.map do |value|
32
+ case datatype.to_s
33
+ when /Integer/i
34
+ value.to_i
35
+ when /Float/i
36
+ value.to_f
37
+ else
38
+ value
39
+ end
40
+ end
41
+ end
42
+
43
+ def valid?(value)
44
+ !value || allowable_values.include?(value)
45
+ end
46
+ end
47
+
48
+ # Attribute mapping from ruby-style variable name to JSON key.
49
+ def self.attribute_map
50
+ {
51
+ :'link_type' => :'linkType',
52
+ :'fee' => :'fee',
53
+ :'current_cost' => :'currentCost'
54
+ }
55
+ end
56
+
57
+ # Returns attribute mapping this model knows about
58
+ def self.acceptable_attribute_map
59
+ attribute_map
60
+ end
61
+
62
+ # Returns all the JSON keys this model knows about
63
+ def self.acceptable_attributes
64
+ acceptable_attribute_map.values
65
+ end
66
+
67
+ # Attribute type mapping.
68
+ def self.openapi_types
69
+ {
70
+ :'link_type' => :'String',
71
+ :'fee' => :'Money',
72
+ :'current_cost' => :'MoneyOrNull'
73
+ }
74
+ end
75
+
76
+ # List of attributes with nullable: true
77
+ def self.openapi_nullable
78
+ Set.new([
79
+ :'current_cost'
80
+ ])
81
+ end
82
+
83
+ # Initializes the object
84
+ # @param [Hash] attributes Model attributes in the form of hash
85
+ def initialize(attributes = {})
86
+ if (!attributes.is_a?(Hash))
87
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Growwer::SellerMediaLinkAdditionOfferPricingOptionsInner` initialize method"
88
+ end
89
+
90
+ # check to see if the attribute exists and convert string to symbol for hash key
91
+ acceptable_attribute_map = self.class.acceptable_attribute_map
92
+ attributes = attributes.each_with_object({}) { |(k, v), h|
93
+ if (!acceptable_attribute_map.key?(k.to_sym))
94
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Growwer::SellerMediaLinkAdditionOfferPricingOptionsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
95
+ end
96
+ h[k.to_sym] = v
97
+ }
98
+
99
+ if attributes.key?(:'link_type')
100
+ self.link_type = attributes[:'link_type']
101
+ else
102
+ self.link_type = nil
103
+ end
104
+
105
+ if attributes.key?(:'fee')
106
+ self.fee = attributes[:'fee']
107
+ else
108
+ self.fee = nil
109
+ end
110
+
111
+ if attributes.key?(:'current_cost')
112
+ self.current_cost = attributes[:'current_cost']
113
+ else
114
+ self.current_cost = nil
115
+ end
116
+ end
117
+
118
+ # Show invalid properties with the reasons. Usually used together with valid?
119
+ # @return Array for valid properties with the reasons
120
+ def list_invalid_properties
121
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
122
+ invalid_properties = Array.new
123
+ if @link_type.nil?
124
+ invalid_properties.push('invalid value for "link_type", link_type cannot be nil.')
125
+ end
126
+
127
+ if @fee.nil?
128
+ invalid_properties.push('invalid value for "fee", fee cannot be nil.')
129
+ end
130
+
131
+ invalid_properties
132
+ end
133
+
134
+ # Check to see if the all the properties in the model are valid
135
+ # @return true if the model is valid
136
+ def valid?
137
+ warn '[DEPRECATED] the `valid?` method is obsolete'
138
+ return false if @link_type.nil?
139
+ link_type_validator = EnumAttributeValidator.new('String', ["dofollow", "nofollow", "citation"])
140
+ return false unless link_type_validator.valid?(@link_type)
141
+ return false if @fee.nil?
142
+ true
143
+ end
144
+
145
+ # Custom attribute writer method checking allowed values (enum).
146
+ # @param [Object] link_type Object to be assigned
147
+ def link_type=(link_type)
148
+ validator = EnumAttributeValidator.new('String', ["dofollow", "nofollow", "citation"])
149
+ unless validator.valid?(link_type)
150
+ fail ArgumentError, "invalid value for \"link_type\", must be one of #{validator.allowable_values}."
151
+ end
152
+ @link_type = link_type
153
+ end
154
+
155
+ # Custom attribute writer method with validation
156
+ # @param [Object] fee Value to be assigned
157
+ def fee=(fee)
158
+ if fee.nil?
159
+ fail ArgumentError, 'fee cannot be nil'
160
+ end
161
+
162
+ @fee = fee
163
+ end
164
+
165
+ # Checks equality by comparing each attribute.
166
+ # @param [Object] Object to be compared
167
+ def ==(o)
168
+ return true if self.equal?(o)
169
+ self.class == o.class &&
170
+ link_type == o.link_type &&
171
+ fee == o.fee &&
172
+ current_cost == o.current_cost
173
+ end
174
+
175
+ # @see the `==` method
176
+ # @param [Object] Object to be compared
177
+ def eql?(o)
178
+ self == o
179
+ end
180
+
181
+ # Calculates hash code according to all attributes.
182
+ # @return [Integer] Hash code
183
+ def hash
184
+ [link_type, fee, current_cost].hash
185
+ end
186
+
187
+ # Builds the object from hash
188
+ # @param [Hash] attributes Model attributes in the form of hash
189
+ # @return [Object] Returns the model itself
190
+ def self.build_from_hash(attributes)
191
+ return nil unless attributes.is_a?(Hash)
192
+ attributes = attributes.transform_keys(&:to_sym)
193
+ transformed_hash = {}
194
+ openapi_types.each_pair do |key, type|
195
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
196
+ transformed_hash["#{key}"] = nil
197
+ elsif type =~ /\AArray<(.*)>/i
198
+ # check to ensure the input is an array given that the attribute
199
+ # is documented as an array but the input is not
200
+ if attributes[attribute_map[key]].is_a?(Array)
201
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
202
+ end
203
+ elsif !attributes[attribute_map[key]].nil?
204
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
205
+ end
206
+ end
207
+ new(transformed_hash)
208
+ end
209
+
210
+ # Returns the object in the form of hash
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_hash
213
+ hash = {}
214
+ self.class.attribute_map.each_pair do |attr, param|
215
+ value = self.send(attr)
216
+ if value.nil?
217
+ is_nullable = self.class.openapi_nullable.include?(attr)
218
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
219
+ end
220
+
221
+ hash[param] = _to_hash(value)
222
+ end
223
+ hash
224
+ end
225
+
226
+ end
227
+
228
+ end