growsurf-ruby 0.0.2

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 (224) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +11 -0
  4. data/README.md +234 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/growsurf_ruby/client.rb +90 -0
  7. data/lib/growsurf_ruby/errors.rb +228 -0
  8. data/lib/growsurf_ruby/file_part.rb +58 -0
  9. data/lib/growsurf_ruby/internal/transport/base_client.rb +573 -0
  10. data/lib/growsurf_ruby/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/growsurf_ruby/internal/type/array_of.rb +168 -0
  12. data/lib/growsurf_ruby/internal/type/base_model.rb +531 -0
  13. data/lib/growsurf_ruby/internal/type/base_page.rb +55 -0
  14. data/lib/growsurf_ruby/internal/type/boolean.rb +77 -0
  15. data/lib/growsurf_ruby/internal/type/converter.rb +327 -0
  16. data/lib/growsurf_ruby/internal/type/enum.rb +156 -0
  17. data/lib/growsurf_ruby/internal/type/file_input.rb +111 -0
  18. data/lib/growsurf_ruby/internal/type/hash_of.rb +188 -0
  19. data/lib/growsurf_ruby/internal/type/request_parameters.rb +42 -0
  20. data/lib/growsurf_ruby/internal/type/union.rb +254 -0
  21. data/lib/growsurf_ruby/internal/type/unknown.rb +81 -0
  22. data/lib/growsurf_ruby/internal/util.rb +966 -0
  23. data/lib/growsurf_ruby/internal.rb +20 -0
  24. data/lib/growsurf_ruby/models/campaign/commission_approve_params.rb +28 -0
  25. data/lib/growsurf_ruby/models/campaign/commission_approve_response.rb +18 -0
  26. data/lib/growsurf_ruby/models/campaign/commission_delete_params.rb +28 -0
  27. data/lib/growsurf_ruby/models/campaign/commission_delete_response.rb +18 -0
  28. data/lib/growsurf_ruby/models/campaign/fraud_risk_level.rb +18 -0
  29. data/lib/growsurf_ruby/models/campaign/participant.rb +495 -0
  30. data/lib/growsurf_ruby/models/campaign/participant_add_params.rb +93 -0
  31. data/lib/growsurf_ruby/models/campaign/participant_delete_params.rb +28 -0
  32. data/lib/growsurf_ruby/models/campaign/participant_delete_response.rb +18 -0
  33. data/lib/growsurf_ruby/models/campaign/participant_list_commissions_params.rb +68 -0
  34. data/lib/growsurf_ruby/models/campaign/participant_list_payouts_params.rb +67 -0
  35. data/lib/growsurf_ruby/models/campaign/participant_list_referrals_params.rb +117 -0
  36. data/lib/growsurf_ruby/models/campaign/participant_list_rewards_params.rb +46 -0
  37. data/lib/growsurf_ruby/models/campaign/participant_list_rewards_response.rb +30 -0
  38. data/lib/growsurf_ruby/models/campaign/participant_record_transaction_params.rb +170 -0
  39. data/lib/growsurf_ruby/models/campaign/participant_record_transaction_response.rb +91 -0
  40. data/lib/growsurf_ruby/models/campaign/participant_retrieve_params.rb +28 -0
  41. data/lib/growsurf_ruby/models/campaign/participant_reward.rb +103 -0
  42. data/lib/growsurf_ruby/models/campaign/participant_send_invites_params.rb +46 -0
  43. data/lib/growsurf_ruby/models/campaign/participant_send_invites_response.rb +30 -0
  44. data/lib/growsurf_ruby/models/campaign/participant_trigger_referral_params.rb +28 -0
  45. data/lib/growsurf_ruby/models/campaign/participant_trigger_referral_response.rb +24 -0
  46. data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +100 -0
  47. data/lib/growsurf_ruby/models/campaign/referral_source.rb +17 -0
  48. data/lib/growsurf_ruby/models/campaign/referral_status.rb +19 -0
  49. data/lib/growsurf_ruby/models/campaign/reward_approve_params.rb +38 -0
  50. data/lib/growsurf_ruby/models/campaign/reward_approve_response.rb +18 -0
  51. data/lib/growsurf_ruby/models/campaign/reward_delete_params.rb +28 -0
  52. data/lib/growsurf_ruby/models/campaign/reward_delete_response.rb +18 -0
  53. data/lib/growsurf_ruby/models/campaign/reward_fulfill_params.rb +28 -0
  54. data/lib/growsurf_ruby/models/campaign/reward_fulfill_response.rb +18 -0
  55. data/lib/growsurf_ruby/models/campaign.rb +257 -0
  56. data/lib/growsurf_ruby/models/campaign_list_commissions_params.rb +59 -0
  57. data/lib/growsurf_ruby/models/campaign_list_leaderboard_params.rb +71 -0
  58. data/lib/growsurf_ruby/models/campaign_list_params.rb +14 -0
  59. data/lib/growsurf_ruby/models/campaign_list_participants_params.rb +37 -0
  60. data/lib/growsurf_ruby/models/campaign_list_payouts_params.rb +58 -0
  61. data/lib/growsurf_ruby/models/campaign_list_referrals_params.rb +108 -0
  62. data/lib/growsurf_ruby/models/campaign_list_response.rb +16 -0
  63. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +50 -0
  64. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +215 -0
  65. data/lib/growsurf_ruby/models/campaign_retrieve_params.rb +20 -0
  66. data/lib/growsurf_ruby/models/commission_structure.rb +137 -0
  67. data/lib/growsurf_ruby/models/participant_commission_list.rb +170 -0
  68. data/lib/growsurf_ruby/models/participant_list.rb +29 -0
  69. data/lib/growsurf_ruby/models/participant_payout_list.rb +136 -0
  70. data/lib/growsurf_ruby/models/referral_list.rb +96 -0
  71. data/lib/growsurf_ruby/models.rb +71 -0
  72. data/lib/growsurf_ruby/request_options.rb +77 -0
  73. data/lib/growsurf_ruby/resources/campaign/commission.rb +71 -0
  74. data/lib/growsurf_ruby/resources/campaign/participant.rb +446 -0
  75. data/lib/growsurf_ruby/resources/campaign/reward.rb +102 -0
  76. data/lib/growsurf_ruby/resources/campaign.rb +266 -0
  77. data/lib/growsurf_ruby/version.rb +5 -0
  78. data/lib/growsurf_ruby.rb +106 -0
  79. data/manifest.yaml +17 -0
  80. data/rbi/growsurf_ruby/client.rbi +51 -0
  81. data/rbi/growsurf_ruby/errors.rbi +205 -0
  82. data/rbi/growsurf_ruby/file_part.rbi +37 -0
  83. data/rbi/growsurf_ruby/internal/transport/base_client.rbi +305 -0
  84. data/rbi/growsurf_ruby/internal/transport/pooled_net_requester.rbi +84 -0
  85. data/rbi/growsurf_ruby/internal/type/array_of.rbi +104 -0
  86. data/rbi/growsurf_ruby/internal/type/base_model.rbi +314 -0
  87. data/rbi/growsurf_ruby/internal/type/base_page.rbi +43 -0
  88. data/rbi/growsurf_ruby/internal/type/boolean.rbi +58 -0
  89. data/rbi/growsurf_ruby/internal/type/converter.rbi +222 -0
  90. data/rbi/growsurf_ruby/internal/type/enum.rbi +82 -0
  91. data/rbi/growsurf_ruby/internal/type/file_input.rbi +59 -0
  92. data/rbi/growsurf_ruby/internal/type/hash_of.rbi +104 -0
  93. data/rbi/growsurf_ruby/internal/type/request_parameters.rbi +31 -0
  94. data/rbi/growsurf_ruby/internal/type/union.rbi +128 -0
  95. data/rbi/growsurf_ruby/internal/type/unknown.rbi +58 -0
  96. data/rbi/growsurf_ruby/internal/util.rbi +515 -0
  97. data/rbi/growsurf_ruby/internal.rbi +18 -0
  98. data/rbi/growsurf_ruby/models/campaign/commission_approve_params.rbi +48 -0
  99. data/rbi/growsurf_ruby/models/campaign/commission_approve_response.rbi +28 -0
  100. data/rbi/growsurf_ruby/models/campaign/commission_delete_params.rbi +48 -0
  101. data/rbi/growsurf_ruby/models/campaign/commission_delete_response.rbi +28 -0
  102. data/rbi/growsurf_ruby/models/campaign/fraud_risk_level.rbi +29 -0
  103. data/rbi/growsurf_ruby/models/campaign/participant.rbi +667 -0
  104. data/rbi/growsurf_ruby/models/campaign/participant_add_params.rbi +166 -0
  105. data/rbi/growsurf_ruby/models/campaign/participant_delete_params.rbi +48 -0
  106. data/rbi/growsurf_ruby/models/campaign/participant_delete_response.rbi +28 -0
  107. data/rbi/growsurf_ruby/models/campaign/participant_list_commissions_params.rbi +148 -0
  108. data/rbi/growsurf_ruby/models/campaign/participant_list_payouts_params.rbi +143 -0
  109. data/rbi/growsurf_ruby/models/campaign/participant_list_referrals_params.rbi +228 -0
  110. data/rbi/growsurf_ruby/models/campaign/participant_list_rewards_params.rbi +74 -0
  111. data/rbi/growsurf_ruby/models/campaign/participant_list_rewards_response.rbi +48 -0
  112. data/rbi/growsurf_ruby/models/campaign/participant_record_transaction_params.rbi +255 -0
  113. data/rbi/growsurf_ruby/models/campaign/participant_record_transaction_response.rbi +138 -0
  114. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_params.rbi +48 -0
  115. data/rbi/growsurf_ruby/models/campaign/participant_reward.rbi +185 -0
  116. data/rbi/growsurf_ruby/models/campaign/participant_send_invites_params.rbi +70 -0
  117. data/rbi/growsurf_ruby/models/campaign/participant_send_invites_response.rbi +44 -0
  118. data/rbi/growsurf_ruby/models/campaign/participant_trigger_referral_params.rbi +48 -0
  119. data/rbi/growsurf_ruby/models/campaign/participant_trigger_referral_response.rbi +36 -0
  120. data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +178 -0
  121. data/rbi/growsurf_ruby/models/campaign/referral_source.rbi +31 -0
  122. data/rbi/growsurf_ruby/models/campaign/referral_status.rbi +44 -0
  123. data/rbi/growsurf_ruby/models/campaign/reward_approve_params.rbi +63 -0
  124. data/rbi/growsurf_ruby/models/campaign/reward_approve_response.rbi +28 -0
  125. data/rbi/growsurf_ruby/models/campaign/reward_delete_params.rbi +48 -0
  126. data/rbi/growsurf_ruby/models/campaign/reward_delete_response.rbi +28 -0
  127. data/rbi/growsurf_ruby/models/campaign/reward_fulfill_params.rbi +48 -0
  128. data/rbi/growsurf_ruby/models/campaign/reward_fulfill_response.rbi +28 -0
  129. data/rbi/growsurf_ruby/models/campaign.rbi +376 -0
  130. data/rbi/growsurf_ruby/models/campaign_list_commissions_params.rbi +135 -0
  131. data/rbi/growsurf_ruby/models/campaign_list_leaderboard_params.rbi +171 -0
  132. data/rbi/growsurf_ruby/models/campaign_list_params.rbi +32 -0
  133. data/rbi/growsurf_ruby/models/campaign_list_participants_params.rbi +66 -0
  134. data/rbi/growsurf_ruby/models/campaign_list_payouts_params.rbi +127 -0
  135. data/rbi/growsurf_ruby/models/campaign_list_referrals_params.rbi +213 -0
  136. data/rbi/growsurf_ruby/models/campaign_list_response.rbi +32 -0
  137. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +81 -0
  138. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +320 -0
  139. data/rbi/growsurf_ruby/models/campaign_retrieve_params.rbi +38 -0
  140. data/rbi/growsurf_ruby/models/commission_structure.rbi +174 -0
  141. data/rbi/growsurf_ruby/models/participant_commission_list.rbi +269 -0
  142. data/rbi/growsurf_ruby/models/participant_list.rbi +44 -0
  143. data/rbi/growsurf_ruby/models/participant_payout_list.rbi +219 -0
  144. data/rbi/growsurf_ruby/models/referral_list.rbi +129 -0
  145. data/rbi/growsurf_ruby/models.rbi +38 -0
  146. data/rbi/growsurf_ruby/request_options.rbi +59 -0
  147. data/rbi/growsurf_ruby/resources/campaign/commission.rbi +49 -0
  148. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +385 -0
  149. data/rbi/growsurf_ruby/resources/campaign/reward.rbi +70 -0
  150. data/rbi/growsurf_ruby/resources/campaign.rbi +205 -0
  151. data/rbi/growsurf_ruby/version.rbi +5 -0
  152. data/sig/growsurf_ruby/client.rbs +26 -0
  153. data/sig/growsurf_ruby/errors.rbs +117 -0
  154. data/sig/growsurf_ruby/file_part.rbs +21 -0
  155. data/sig/growsurf_ruby/internal/transport/base_client.rbs +133 -0
  156. data/sig/growsurf_ruby/internal/transport/pooled_net_requester.rbs +48 -0
  157. data/sig/growsurf_ruby/internal/type/array_of.rbs +48 -0
  158. data/sig/growsurf_ruby/internal/type/base_model.rbs +104 -0
  159. data/sig/growsurf_ruby/internal/type/base_page.rbs +24 -0
  160. data/sig/growsurf_ruby/internal/type/boolean.rbs +26 -0
  161. data/sig/growsurf_ruby/internal/type/converter.rbs +79 -0
  162. data/sig/growsurf_ruby/internal/type/enum.rbs +32 -0
  163. data/sig/growsurf_ruby/internal/type/file_input.rbs +25 -0
  164. data/sig/growsurf_ruby/internal/type/hash_of.rbs +48 -0
  165. data/sig/growsurf_ruby/internal/type/request_parameters.rbs +19 -0
  166. data/sig/growsurf_ruby/internal/type/union.rbs +52 -0
  167. data/sig/growsurf_ruby/internal/type/unknown.rbs +26 -0
  168. data/sig/growsurf_ruby/internal/util.rbs +199 -0
  169. data/sig/growsurf_ruby/internal.rbs +9 -0
  170. data/sig/growsurf_ruby/models/campaign/commission_approve_params.rbs +30 -0
  171. data/sig/growsurf_ruby/models/campaign/commission_approve_response.rbs +15 -0
  172. data/sig/growsurf_ruby/models/campaign/commission_delete_params.rbs +30 -0
  173. data/sig/growsurf_ruby/models/campaign/commission_delete_response.rbs +15 -0
  174. data/sig/growsurf_ruby/models/campaign/fraud_risk_level.rbs +17 -0
  175. data/sig/growsurf_ruby/models/campaign/participant.rbs +455 -0
  176. data/sig/growsurf_ruby/models/campaign/participant_add_params.rbs +95 -0
  177. data/sig/growsurf_ruby/models/campaign/participant_delete_params.rbs +30 -0
  178. data/sig/growsurf_ruby/models/campaign/participant_delete_response.rbs +15 -0
  179. data/sig/growsurf_ruby/models/campaign/participant_list_commissions_params.rbs +70 -0
  180. data/sig/growsurf_ruby/models/campaign/participant_list_payouts_params.rbs +69 -0
  181. data/sig/growsurf_ruby/models/campaign/participant_list_referrals_params.rbs +123 -0
  182. data/sig/growsurf_ruby/models/campaign/participant_list_rewards_params.rbs +47 -0
  183. data/sig/growsurf_ruby/models/campaign/participant_list_rewards_response.rbs +32 -0
  184. data/sig/growsurf_ruby/models/campaign/participant_record_transaction_params.rbs +194 -0
  185. data/sig/growsurf_ruby/models/campaign/participant_record_transaction_response.rbs +84 -0
  186. data/sig/growsurf_ruby/models/campaign/participant_retrieve_params.rbs +30 -0
  187. data/sig/growsurf_ruby/models/campaign/participant_reward.rbs +111 -0
  188. data/sig/growsurf_ruby/models/campaign/participant_send_invites_params.rbs +48 -0
  189. data/sig/growsurf_ruby/models/campaign/participant_send_invites_response.rbs +28 -0
  190. data/sig/growsurf_ruby/models/campaign/participant_trigger_referral_params.rbs +30 -0
  191. data/sig/growsurf_ruby/models/campaign/participant_trigger_referral_response.rbs +20 -0
  192. data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +104 -0
  193. data/sig/growsurf_ruby/models/campaign/referral_source.rbs +16 -0
  194. data/sig/growsurf_ruby/models/campaign/referral_status.rbs +19 -0
  195. data/sig/growsurf_ruby/models/campaign/reward_approve_params.rbs +36 -0
  196. data/sig/growsurf_ruby/models/campaign/reward_approve_response.rbs +15 -0
  197. data/sig/growsurf_ruby/models/campaign/reward_delete_params.rbs +30 -0
  198. data/sig/growsurf_ruby/models/campaign/reward_delete_response.rbs +15 -0
  199. data/sig/growsurf_ruby/models/campaign/reward_fulfill_params.rbs +30 -0
  200. data/sig/growsurf_ruby/models/campaign/reward_fulfill_response.rbs +15 -0
  201. data/sig/growsurf_ruby/models/campaign.rbs +221 -0
  202. data/sig/growsurf_ruby/models/campaign_list_commissions_params.rbs +63 -0
  203. data/sig/growsurf_ruby/models/campaign_list_leaderboard_params.rbs +83 -0
  204. data/sig/growsurf_ruby/models/campaign_list_params.rbs +15 -0
  205. data/sig/growsurf_ruby/models/campaign_list_participants_params.rbs +36 -0
  206. data/sig/growsurf_ruby/models/campaign_list_payouts_params.rbs +62 -0
  207. data/sig/growsurf_ruby/models/campaign_list_referrals_params.rbs +116 -0
  208. data/sig/growsurf_ruby/models/campaign_list_response.rbs +14 -0
  209. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +42 -0
  210. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +217 -0
  211. data/sig/growsurf_ruby/models/campaign_retrieve_params.rbs +23 -0
  212. data/sig/growsurf_ruby/models/commission_structure.rbs +121 -0
  213. data/sig/growsurf_ruby/models/participant_commission_list.rbs +166 -0
  214. data/sig/growsurf_ruby/models/participant_list.rbs +30 -0
  215. data/sig/growsurf_ruby/models/participant_payout_list.rbs +136 -0
  216. data/sig/growsurf_ruby/models/referral_list.rbs +92 -0
  217. data/sig/growsurf_ruby/models.rbs +31 -0
  218. data/sig/growsurf_ruby/request_options.rbs +36 -0
  219. data/sig/growsurf_ruby/resources/campaign/commission.rbs +21 -0
  220. data/sig/growsurf_ruby/resources/campaign/participant.rbs +133 -0
  221. data/sig/growsurf_ruby/resources/campaign/reward.rbs +28 -0
  222. data/sig/growsurf_ruby/resources/campaign.rbs +76 -0
  223. data/sig/growsurf_ruby/version.rbs +3 -0
  224. metadata +295 -0
@@ -0,0 +1,136 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list_payouts
6
+ class ParticipantPayoutList < GrowsurfRuby::Internal::Type::BaseModel
7
+ # @!attribute limit
8
+ #
9
+ # @return [Integer]
10
+ required :limit, Integer
11
+
12
+ # @!attribute next_id
13
+ #
14
+ # @return [String, nil]
15
+ required :next_id, String, api_name: :nextId, nil?: true
16
+
17
+ # @!attribute payouts
18
+ #
19
+ # @return [Array<GrowsurfRuby::Models::ParticipantPayoutList::Payout>]
20
+ required :payouts,
21
+ -> { GrowsurfRuby::Internal::Type::ArrayOf[GrowsurfRuby::ParticipantPayoutList::Payout] }
22
+
23
+ # @!method initialize(limit:, next_id:, payouts:)
24
+ # @param limit [Integer]
25
+ # @param next_id [String, nil]
26
+ # @param payouts [Array<GrowsurfRuby::Models::ParticipantPayoutList::Payout>]
27
+
28
+ class Payout < GrowsurfRuby::Internal::Type::BaseModel
29
+ # @!attribute id
30
+ #
31
+ # @return [String]
32
+ required :id, String
33
+
34
+ # @!attribute amount
35
+ #
36
+ # @return [Integer]
37
+ required :amount, Integer
38
+
39
+ # @!attribute commission_ids
40
+ #
41
+ # @return [Array<String>]
42
+ required :commission_ids, GrowsurfRuby::Internal::Type::ArrayOf[String], api_name: :commissionIds
43
+
44
+ # @!attribute created_at
45
+ #
46
+ # @return [Integer]
47
+ required :created_at, Integer, api_name: :createdAt
48
+
49
+ # @!attribute currency_iso
50
+ #
51
+ # @return [String]
52
+ required :currency_iso, String, api_name: :currencyISO
53
+
54
+ # @!attribute participant_id
55
+ #
56
+ # @return [String]
57
+ required :participant_id, String, api_name: :participantId
58
+
59
+ # @!attribute status
60
+ #
61
+ # @return [Symbol, GrowsurfRuby::Models::ParticipantPayoutList::Payout::Status]
62
+ required :status, enum: -> { GrowsurfRuby::ParticipantPayoutList::Payout::Status }
63
+
64
+ # @!attribute amount_in_campaign_currency
65
+ #
66
+ # @return [Integer, nil]
67
+ optional :amount_in_campaign_currency, Integer, api_name: :amountInCampaignCurrency, nil?: true
68
+
69
+ # @!attribute campaign_currency_iso
70
+ #
71
+ # @return [String, nil]
72
+ optional :campaign_currency_iso, String, api_name: :campaignCurrencyISO, nil?: true
73
+
74
+ # @!attribute exchange_rate
75
+ #
76
+ # @return [Float, nil]
77
+ optional :exchange_rate, Float, api_name: :exchangeRate, nil?: true
78
+
79
+ # @!attribute exchange_rate_at
80
+ #
81
+ # @return [Integer, nil]
82
+ optional :exchange_rate_at, Integer, api_name: :exchangeRateAt
83
+
84
+ # @!attribute failed_at
85
+ #
86
+ # @return [Integer, nil]
87
+ optional :failed_at, Integer, api_name: :failedAt
88
+
89
+ # @!attribute fx_error
90
+ #
91
+ # @return [String, nil]
92
+ optional :fx_error, String, api_name: :fxError, nil?: true
93
+
94
+ # @!attribute issued_at
95
+ #
96
+ # @return [Integer, nil]
97
+ optional :issued_at, Integer, api_name: :issuedAt
98
+
99
+ # @!attribute provider
100
+ #
101
+ # @return [String, nil]
102
+ optional :provider, String, nil?: true
103
+
104
+ # @!method initialize(id:, amount:, commission_ids:, created_at:, currency_iso:, participant_id:, status:, amount_in_campaign_currency: nil, campaign_currency_iso: nil, exchange_rate: nil, exchange_rate_at: nil, failed_at: nil, fx_error: nil, issued_at: nil, provider: nil)
105
+ # @param id [String]
106
+ # @param amount [Integer]
107
+ # @param commission_ids [Array<String>]
108
+ # @param created_at [Integer]
109
+ # @param currency_iso [String]
110
+ # @param participant_id [String]
111
+ # @param status [Symbol, GrowsurfRuby::Models::ParticipantPayoutList::Payout::Status]
112
+ # @param amount_in_campaign_currency [Integer, nil]
113
+ # @param campaign_currency_iso [String, nil]
114
+ # @param exchange_rate [Float, nil]
115
+ # @param exchange_rate_at [Integer]
116
+ # @param failed_at [Integer]
117
+ # @param fx_error [String, nil]
118
+ # @param issued_at [Integer]
119
+ # @param provider [String, nil]
120
+
121
+ # @see GrowsurfRuby::Models::ParticipantPayoutList::Payout#status
122
+ module Status
123
+ extend GrowsurfRuby::Internal::Type::Enum
124
+
125
+ UPCOMING = :UPCOMING
126
+ QUEUED = :QUEUED
127
+ ISSUED = :ISSUED
128
+ FAILED = :FAILED
129
+
130
+ # @!method self.values
131
+ # @return [Array<Symbol>]
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list_referrals
6
+ class ReferralList < GrowsurfRuby::Internal::Type::BaseModel
7
+ # @!attribute limit
8
+ #
9
+ # @return [Integer]
10
+ required :limit, Integer
11
+
12
+ # @!attribute more
13
+ #
14
+ # @return [Boolean]
15
+ required :more, GrowsurfRuby::Internal::Type::Boolean
16
+
17
+ # @!attribute referrals
18
+ #
19
+ # @return [Array<GrowsurfRuby::Models::ReferralList::Referral>]
20
+ required :referrals, -> { GrowsurfRuby::Internal::Type::ArrayOf[GrowsurfRuby::ReferralList::Referral] }
21
+
22
+ # @!attribute next_id
23
+ #
24
+ # @return [String, nil]
25
+ optional :next_id, String, api_name: :nextId, nil?: true
26
+
27
+ # @!attribute next_offset
28
+ #
29
+ # @return [Integer, nil]
30
+ optional :next_offset, Integer, api_name: :nextOffset, nil?: true
31
+
32
+ # @!method initialize(limit:, more:, referrals:, next_id: nil, next_offset: nil)
33
+ # @param limit [Integer]
34
+ # @param more [Boolean]
35
+ # @param referrals [Array<GrowsurfRuby::Models::ReferralList::Referral>]
36
+ # @param next_id [String, nil]
37
+ # @param next_offset [Integer, nil]
38
+
39
+ class Referral < GrowsurfRuby::Internal::Type::BaseModel
40
+ # @!attribute id
41
+ #
42
+ # @return [String]
43
+ required :id, String
44
+
45
+ # @!attribute created_at
46
+ #
47
+ # @return [Integer]
48
+ required :created_at, Integer, api_name: :createdAt
49
+
50
+ # @!attribute email
51
+ #
52
+ # @return [String]
53
+ required :email, String
54
+
55
+ # @!attribute referral_status
56
+ #
57
+ # @return [Symbol, GrowsurfRuby::Models::Campaign::ReferralStatus]
58
+ required :referral_status,
59
+ enum: -> {
60
+ GrowsurfRuby::Campaign::ReferralStatus
61
+ },
62
+ api_name: :referralStatus
63
+
64
+ # @!attribute referred_by
65
+ #
66
+ # @return [String]
67
+ required :referred_by, String, api_name: :referredBy
68
+
69
+ # @!attribute updated_at
70
+ #
71
+ # @return [Integer]
72
+ required :updated_at, Integer, api_name: :updatedAt
73
+
74
+ # @!attribute first_name
75
+ #
76
+ # @return [String, nil]
77
+ optional :first_name, String, api_name: :firstName, nil?: true
78
+
79
+ # @!attribute last_name
80
+ #
81
+ # @return [String, nil]
82
+ optional :last_name, String, api_name: :lastName, nil?: true
83
+
84
+ # @!method initialize(id:, created_at:, email:, referral_status:, referred_by:, updated_at:, first_name: nil, last_name: nil)
85
+ # @param id [String]
86
+ # @param created_at [Integer]
87
+ # @param email [String]
88
+ # @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::ReferralStatus]
89
+ # @param referred_by [String]
90
+ # @param updated_at [Integer]
91
+ # @param first_name [String, nil]
92
+ # @param last_name [String, nil]
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ [GrowsurfRuby::Internal::Type::BaseModel, *GrowsurfRuby::Internal::Type::BaseModel.subclasses].each do |cls|
5
+ cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, GrowsurfRuby::Internal::AnyHash) } }
6
+ end
7
+
8
+ GrowsurfRuby::Internal::Util.walk_namespaces(GrowsurfRuby::Models).each do |mod|
9
+ case mod
10
+ in GrowsurfRuby::Internal::Type::Enum | GrowsurfRuby::Internal::Type::Union
11
+ mod.constants.each do |name|
12
+ case mod.const_get(name)
13
+ in true | false
14
+ mod.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T::Boolean } }
15
+ mod.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } }
16
+ in Integer
17
+ mod.define_sorbet_constant!(:TaggedInteger) { T.type_alias { Integer } }
18
+ mod.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } }
19
+ in Float
20
+ mod.define_sorbet_constant!(:TaggedFloat) { T.type_alias { Float } }
21
+ mod.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } }
22
+ in Symbol
23
+ mod.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { Symbol } }
24
+ mod.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } }
25
+ else
26
+ end
27
+ end
28
+ else
29
+ end
30
+ end
31
+
32
+ GrowsurfRuby::Internal::Util.walk_namespaces(GrowsurfRuby::Models)
33
+ .lazy
34
+ .grep(GrowsurfRuby::Internal::Type::Union)
35
+ .each do |mod|
36
+ const = :Variants
37
+ next if mod.sorbet_constant_defined?(const)
38
+
39
+ mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
+ end
41
+
42
+ Campaign = GrowsurfRuby::Models::Campaign
43
+
44
+ CampaignAPI = GrowsurfRuby::Models::CampaignAPI
45
+
46
+ CampaignListCommissionsParams = GrowsurfRuby::Models::CampaignListCommissionsParams
47
+
48
+ CampaignListLeaderboardParams = GrowsurfRuby::Models::CampaignListLeaderboardParams
49
+
50
+ CampaignListParams = GrowsurfRuby::Models::CampaignListParams
51
+
52
+ CampaignListParticipantsParams = GrowsurfRuby::Models::CampaignListParticipantsParams
53
+
54
+ CampaignListPayoutsParams = GrowsurfRuby::Models::CampaignListPayoutsParams
55
+
56
+ CampaignListReferralsParams = GrowsurfRuby::Models::CampaignListReferralsParams
57
+
58
+ CampaignRetrieveAnalyticsParams = GrowsurfRuby::Models::CampaignRetrieveAnalyticsParams
59
+
60
+ CampaignRetrieveParams = GrowsurfRuby::Models::CampaignRetrieveParams
61
+
62
+ CommissionStructure = GrowsurfRuby::Models::CommissionStructure
63
+
64
+ ParticipantCommissionList = GrowsurfRuby::Models::ParticipantCommissionList
65
+
66
+ ParticipantList = GrowsurfRuby::Models::ParticipantList
67
+
68
+ ParticipantPayoutList = GrowsurfRuby::Models::ParticipantPayoutList
69
+
70
+ ReferralList = GrowsurfRuby::Models::ReferralList
71
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < GrowsurfRuby::Internal::Type::BaseModel
10
+ # @api private
11
+ #
12
+ # @param opts [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
13
+ #
14
+ # @raise [ArgumentError]
15
+ def self.validate!(opts)
16
+ case opts
17
+ in GrowsurfRuby::RequestOptions | Hash
18
+ opts.to_h.each_key do |k|
19
+ unless fields.include?(k)
20
+ raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
21
+ end
22
+ end
23
+ else
24
+ raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
25
+ end
26
+ end
27
+
28
+ # @!attribute idempotency_key
29
+ # Idempotency key to send with request and all associated retries. Will only be
30
+ # sent for write requests.
31
+ #
32
+ # @return [String, nil]
33
+ optional :idempotency_key, String
34
+
35
+ # @!attribute extra_query
36
+ # Extra query params to send with the request. These are `.merge`’d into any
37
+ # `query` given at the client level.
38
+ #
39
+ # @return [Hash{String=>Array<String>, String, nil}, nil]
40
+ optional :extra_query, GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::ArrayOf[String]]
41
+
42
+ # @!attribute extra_headers
43
+ # Extra headers to send with the request. These are `.merged`’d into any
44
+ # `extra_headers` given at the client level.
45
+ #
46
+ # @return [Hash{String=>String, nil}, nil]
47
+ optional :extra_headers, GrowsurfRuby::Internal::Type::HashOf[String, nil?: true]
48
+
49
+ # @!attribute extra_body
50
+ # Extra data to send with the request. These are deep merged into any data
51
+ # generated as part of the normal request.
52
+ #
53
+ # @return [Object, nil]
54
+ optional :extra_body, GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown]
55
+
56
+ # @!attribute max_retries
57
+ # Maximum number of retries to attempt after a failed initial request.
58
+ #
59
+ # @return [Integer, nil]
60
+ optional :max_retries, Integer
61
+
62
+ # @!attribute timeout
63
+ # Request timeout in seconds.
64
+ #
65
+ # @return [Float, nil]
66
+ optional :timeout, Float
67
+
68
+ # @!method initialize(values = {})
69
+ # Returns a new instance of RequestOptions.
70
+ #
71
+ # @param values [Hash{Symbol=>Object}]
72
+
73
+ define_sorbet_constant!(:OrHash) do
74
+ T.type_alias { T.any(GrowsurfRuby::RequestOptions, GrowsurfRuby::Internal::AnyHash) }
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Resources
5
+ class Campaign
6
+ # Affiliate transaction, commission, and payout operations.
7
+ class Commission
8
+ # Removes a pending participant commission.
9
+ #
10
+ # @overload delete(commission_id, id:, request_options: {})
11
+ #
12
+ # @param commission_id [String] Participant commission ID.
13
+ #
14
+ # @param id [String] GrowSurf program ID.
15
+ #
16
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [GrowsurfRuby::Models::Campaign::CommissionDeleteResponse]
19
+ #
20
+ # @see GrowsurfRuby::Models::Campaign::CommissionDeleteParams
21
+ def delete(commission_id, params)
22
+ parsed, options = GrowsurfRuby::Campaign::CommissionDeleteParams.dump_request(params)
23
+ id =
24
+ parsed.delete(:id) do
25
+ raise ArgumentError.new("missing required path argument #{_1}")
26
+ end
27
+ @client.request(
28
+ method: :delete,
29
+ path: ["campaign/%1$s/commission/%2$s", id, commission_id],
30
+ model: GrowsurfRuby::Models::Campaign::CommissionDeleteResponse,
31
+ options: options
32
+ )
33
+ end
34
+
35
+ # Approves a pending participant commission so it can become eligible for payout.
36
+ #
37
+ # @overload approve(commission_id, id:, request_options: {})
38
+ #
39
+ # @param commission_id [String] Participant commission ID.
40
+ #
41
+ # @param id [String] GrowSurf program ID.
42
+ #
43
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil]
44
+ #
45
+ # @return [GrowsurfRuby::Models::Campaign::CommissionApproveResponse]
46
+ #
47
+ # @see GrowsurfRuby::Models::Campaign::CommissionApproveParams
48
+ def approve(commission_id, params)
49
+ parsed, options = GrowsurfRuby::Campaign::CommissionApproveParams.dump_request(params)
50
+ id =
51
+ parsed.delete(:id) do
52
+ raise ArgumentError.new("missing required path argument #{_1}")
53
+ end
54
+ @client.request(
55
+ method: :post,
56
+ path: ["campaign/%1$s/commission/%2$s/approve", id, commission_id],
57
+ model: GrowsurfRuby::Models::Campaign::CommissionApproveResponse,
58
+ options: options
59
+ )
60
+ end
61
+
62
+ # @api private
63
+ #
64
+ # @param client [GrowsurfRuby::Client]
65
+ def initialize(client:)
66
+ @client = client
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end