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,376 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignAPI < GrowsurfRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(GrowsurfRuby::CampaignAPI, GrowsurfRuby::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :id
13
+
14
+ sig { returns(Integer) }
15
+ attr_accessor :impression_count
16
+
17
+ sig { returns(Integer) }
18
+ attr_accessor :invite_count
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :name
22
+
23
+ sig { returns(Integer) }
24
+ attr_accessor :participant_count
25
+
26
+ sig { returns(Integer) }
27
+ attr_accessor :referral_count
28
+
29
+ sig { returns(T::Array[GrowsurfRuby::CampaignAPI::Reward]) }
30
+ attr_accessor :rewards
31
+
32
+ sig { returns(GrowsurfRuby::CampaignAPI::Status::TaggedSymbol) }
33
+ attr_accessor :status
34
+
35
+ sig { returns(GrowsurfRuby::CampaignAPI::Type::TaggedSymbol) }
36
+ attr_accessor :type
37
+
38
+ sig { returns(Integer) }
39
+ attr_accessor :winner_count
40
+
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :currency_iso
43
+
44
+ sig { params(currency_iso: String).void }
45
+ attr_writer :currency_iso
46
+
47
+ sig do
48
+ params(
49
+ id: String,
50
+ impression_count: Integer,
51
+ invite_count: Integer,
52
+ name: String,
53
+ participant_count: Integer,
54
+ referral_count: Integer,
55
+ rewards: T::Array[GrowsurfRuby::CampaignAPI::Reward::OrHash],
56
+ status: GrowsurfRuby::CampaignAPI::Status::OrSymbol,
57
+ type: GrowsurfRuby::CampaignAPI::Type::OrSymbol,
58
+ winner_count: Integer,
59
+ currency_iso: String
60
+ ).returns(T.attached_class)
61
+ end
62
+ def self.new(
63
+ id:,
64
+ impression_count:,
65
+ invite_count:,
66
+ name:,
67
+ participant_count:,
68
+ referral_count:,
69
+ rewards:,
70
+ status:,
71
+ type:,
72
+ winner_count:,
73
+ currency_iso: nil
74
+ )
75
+ end
76
+
77
+ sig do
78
+ override.returns(
79
+ {
80
+ id: String,
81
+ impression_count: Integer,
82
+ invite_count: Integer,
83
+ name: String,
84
+ participant_count: Integer,
85
+ referral_count: Integer,
86
+ rewards: T::Array[GrowsurfRuby::CampaignAPI::Reward],
87
+ status: GrowsurfRuby::CampaignAPI::Status::TaggedSymbol,
88
+ type: GrowsurfRuby::CampaignAPI::Type::TaggedSymbol,
89
+ winner_count: Integer,
90
+ currency_iso: String
91
+ }
92
+ )
93
+ end
94
+ def to_hash
95
+ end
96
+
97
+ class Reward < GrowsurfRuby::Internal::Type::BaseModel
98
+ OrHash =
99
+ T.type_alias do
100
+ T.any(
101
+ GrowsurfRuby::CampaignAPI::Reward,
102
+ GrowsurfRuby::Internal::AnyHash
103
+ )
104
+ end
105
+
106
+ sig { returns(String) }
107
+ attr_accessor :id
108
+
109
+ sig { returns(T::Boolean) }
110
+ attr_accessor :is_unlimited
111
+
112
+ # Shallow custom metadata object.
113
+ sig { returns(T::Hash[Symbol, T.anything]) }
114
+ attr_accessor :metadata
115
+
116
+ sig { returns(GrowsurfRuby::CampaignAPI::Reward::Type::TaggedSymbol) }
117
+ attr_accessor :type
118
+
119
+ sig { returns(T.nilable(GrowsurfRuby::CommissionStructure)) }
120
+ attr_reader :commission_structure
121
+
122
+ sig do
123
+ params(
124
+ commission_structure:
125
+ T.nilable(GrowsurfRuby::CommissionStructure::OrHash)
126
+ ).void
127
+ end
128
+ attr_writer :commission_structure
129
+
130
+ sig { returns(T.nilable(Integer)) }
131
+ attr_accessor :conversions_required
132
+
133
+ sig { returns(T.nilable(String)) }
134
+ attr_accessor :coupon_code
135
+
136
+ sig { returns(T.nilable(String)) }
137
+ attr_accessor :description
138
+
139
+ sig { returns(T.nilable(String)) }
140
+ attr_accessor :image_url
141
+
142
+ # `-1` represents an unlimited reward in REST responses.
143
+ sig { returns(T.nilable(Integer)) }
144
+ attr_accessor :limit
145
+
146
+ sig do
147
+ returns(
148
+ T.nilable(
149
+ GrowsurfRuby::CampaignAPI::Reward::LimitDuration::TaggedSymbol
150
+ )
151
+ )
152
+ end
153
+ attr_accessor :limit_duration
154
+
155
+ sig { returns(T.nilable(String)) }
156
+ attr_accessor :next_milestone_prefix
157
+
158
+ sig { returns(T.nilable(String)) }
159
+ attr_accessor :next_milestone_suffix
160
+
161
+ sig { returns(T.nilable(Integer)) }
162
+ attr_accessor :number_of_winners
163
+
164
+ sig { returns(T.nilable(Integer)) }
165
+ attr_accessor :order
166
+
167
+ sig { returns(T.nilable(String)) }
168
+ attr_accessor :referral_description
169
+
170
+ sig { returns(T.nilable(T::Boolean)) }
171
+ attr_reader :referred_reward_upfront
172
+
173
+ sig { params(referred_reward_upfront: T::Boolean).void }
174
+ attr_writer :referred_reward_upfront
175
+
176
+ sig do
177
+ params(
178
+ id: String,
179
+ is_unlimited: T::Boolean,
180
+ metadata: T::Hash[Symbol, T.anything],
181
+ type: GrowsurfRuby::CampaignAPI::Reward::Type::OrSymbol,
182
+ commission_structure:
183
+ T.nilable(GrowsurfRuby::CommissionStructure::OrHash),
184
+ conversions_required: T.nilable(Integer),
185
+ coupon_code: T.nilable(String),
186
+ description: T.nilable(String),
187
+ image_url: T.nilable(String),
188
+ limit: T.nilable(Integer),
189
+ limit_duration:
190
+ T.nilable(
191
+ GrowsurfRuby::CampaignAPI::Reward::LimitDuration::OrSymbol
192
+ ),
193
+ next_milestone_prefix: T.nilable(String),
194
+ next_milestone_suffix: T.nilable(String),
195
+ number_of_winners: T.nilable(Integer),
196
+ order: T.nilable(Integer),
197
+ referral_description: T.nilable(String),
198
+ referred_reward_upfront: T::Boolean
199
+ ).returns(T.attached_class)
200
+ end
201
+ def self.new(
202
+ id:,
203
+ is_unlimited:,
204
+ # Shallow custom metadata object.
205
+ metadata:,
206
+ type:,
207
+ commission_structure: nil,
208
+ conversions_required: nil,
209
+ coupon_code: nil,
210
+ description: nil,
211
+ image_url: nil,
212
+ # `-1` represents an unlimited reward in REST responses.
213
+ limit: nil,
214
+ limit_duration: nil,
215
+ next_milestone_prefix: nil,
216
+ next_milestone_suffix: nil,
217
+ number_of_winners: nil,
218
+ order: nil,
219
+ referral_description: nil,
220
+ referred_reward_upfront: nil
221
+ )
222
+ end
223
+
224
+ sig do
225
+ override.returns(
226
+ {
227
+ id: String,
228
+ is_unlimited: T::Boolean,
229
+ metadata: T::Hash[Symbol, T.anything],
230
+ type: GrowsurfRuby::CampaignAPI::Reward::Type::TaggedSymbol,
231
+ commission_structure:
232
+ T.nilable(GrowsurfRuby::CommissionStructure),
233
+ conversions_required: T.nilable(Integer),
234
+ coupon_code: T.nilable(String),
235
+ description: T.nilable(String),
236
+ image_url: T.nilable(String),
237
+ limit: T.nilable(Integer),
238
+ limit_duration:
239
+ T.nilable(
240
+ GrowsurfRuby::CampaignAPI::Reward::LimitDuration::TaggedSymbol
241
+ ),
242
+ next_milestone_prefix: T.nilable(String),
243
+ next_milestone_suffix: T.nilable(String),
244
+ number_of_winners: T.nilable(Integer),
245
+ order: T.nilable(Integer),
246
+ referral_description: T.nilable(String),
247
+ referred_reward_upfront: T::Boolean
248
+ }
249
+ )
250
+ end
251
+ def to_hash
252
+ end
253
+
254
+ module Type
255
+ extend GrowsurfRuby::Internal::Type::Enum
256
+
257
+ TaggedSymbol =
258
+ T.type_alias do
259
+ T.all(Symbol, GrowsurfRuby::CampaignAPI::Reward::Type)
260
+ end
261
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
262
+
263
+ SINGLE_SIDED =
264
+ T.let(
265
+ :SINGLE_SIDED,
266
+ GrowsurfRuby::CampaignAPI::Reward::Type::TaggedSymbol
267
+ )
268
+ DOUBLE_SIDED =
269
+ T.let(
270
+ :DOUBLE_SIDED,
271
+ GrowsurfRuby::CampaignAPI::Reward::Type::TaggedSymbol
272
+ )
273
+ MILESTONE =
274
+ T.let(
275
+ :MILESTONE,
276
+ GrowsurfRuby::CampaignAPI::Reward::Type::TaggedSymbol
277
+ )
278
+ LEADERBOARD =
279
+ T.let(
280
+ :LEADERBOARD,
281
+ GrowsurfRuby::CampaignAPI::Reward::Type::TaggedSymbol
282
+ )
283
+ AFFILIATE =
284
+ T.let(
285
+ :AFFILIATE,
286
+ GrowsurfRuby::CampaignAPI::Reward::Type::TaggedSymbol
287
+ )
288
+
289
+ sig do
290
+ override.returns(
291
+ T::Array[GrowsurfRuby::CampaignAPI::Reward::Type::TaggedSymbol]
292
+ )
293
+ end
294
+ def self.values
295
+ end
296
+ end
297
+
298
+ module LimitDuration
299
+ extend GrowsurfRuby::Internal::Type::Enum
300
+
301
+ TaggedSymbol =
302
+ T.type_alias do
303
+ T.all(Symbol, GrowsurfRuby::CampaignAPI::Reward::LimitDuration)
304
+ end
305
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
306
+
307
+ IN_TOTAL =
308
+ T.let(
309
+ :IN_TOTAL,
310
+ GrowsurfRuby::CampaignAPI::Reward::LimitDuration::TaggedSymbol
311
+ )
312
+ PER_MONTH =
313
+ T.let(
314
+ :PER_MONTH,
315
+ GrowsurfRuby::CampaignAPI::Reward::LimitDuration::TaggedSymbol
316
+ )
317
+
318
+ sig do
319
+ override.returns(
320
+ T::Array[
321
+ GrowsurfRuby::CampaignAPI::Reward::LimitDuration::TaggedSymbol
322
+ ]
323
+ )
324
+ end
325
+ def self.values
326
+ end
327
+ end
328
+ end
329
+
330
+ module Status
331
+ extend GrowsurfRuby::Internal::Type::Enum
332
+
333
+ TaggedSymbol =
334
+ T.type_alias { T.all(Symbol, GrowsurfRuby::CampaignAPI::Status) }
335
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
336
+
337
+ DRAFT = T.let(:DRAFT, GrowsurfRuby::CampaignAPI::Status::TaggedSymbol)
338
+ IN_PROGRESS =
339
+ T.let(:IN_PROGRESS, GrowsurfRuby::CampaignAPI::Status::TaggedSymbol)
340
+ COMPLETE =
341
+ T.let(:COMPLETE, GrowsurfRuby::CampaignAPI::Status::TaggedSymbol)
342
+ DELETED =
343
+ T.let(:DELETED, GrowsurfRuby::CampaignAPI::Status::TaggedSymbol)
344
+
345
+ sig do
346
+ override.returns(
347
+ T::Array[GrowsurfRuby::CampaignAPI::Status::TaggedSymbol]
348
+ )
349
+ end
350
+ def self.values
351
+ end
352
+ end
353
+
354
+ module Type
355
+ extend GrowsurfRuby::Internal::Type::Enum
356
+
357
+ TaggedSymbol =
358
+ T.type_alias { T.all(Symbol, GrowsurfRuby::CampaignAPI::Type) }
359
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
360
+
361
+ REFERRAL =
362
+ T.let(:REFERRAL, GrowsurfRuby::CampaignAPI::Type::TaggedSymbol)
363
+ AFFILIATE =
364
+ T.let(:AFFILIATE, GrowsurfRuby::CampaignAPI::Type::TaggedSymbol)
365
+
366
+ sig do
367
+ override.returns(
368
+ T::Array[GrowsurfRuby::CampaignAPI::Type::TaggedSymbol]
369
+ )
370
+ end
371
+ def self.values
372
+ end
373
+ end
374
+ end
375
+ end
376
+ end
@@ -0,0 +1,135 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignListCommissionsParams < GrowsurfRuby::Internal::Type::BaseModel
6
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
7
+ include GrowsurfRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ GrowsurfRuby::CampaignListCommissionsParams,
13
+ GrowsurfRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ # Number of results to return. Maximum 100.
21
+ sig { returns(T.nilable(Integer)) }
22
+ attr_reader :limit
23
+
24
+ sig { params(limit: Integer).void }
25
+ attr_writer :limit
26
+
27
+ # ID to start the next paged result set with.
28
+ sig { returns(T.nilable(String)) }
29
+ attr_reader :next_id
30
+
31
+ sig { params(next_id: String).void }
32
+ attr_writer :next_id
33
+
34
+ # Participant commission status.
35
+ sig do
36
+ returns(
37
+ T.nilable(
38
+ GrowsurfRuby::CampaignListCommissionsParams::Status::OrSymbol
39
+ )
40
+ )
41
+ end
42
+ attr_reader :status
43
+
44
+ sig do
45
+ params(
46
+ status: GrowsurfRuby::CampaignListCommissionsParams::Status::OrSymbol
47
+ ).void
48
+ end
49
+ attr_writer :status
50
+
51
+ sig do
52
+ params(
53
+ id: String,
54
+ limit: Integer,
55
+ next_id: String,
56
+ status: GrowsurfRuby::CampaignListCommissionsParams::Status::OrSymbol,
57
+ request_options: GrowsurfRuby::RequestOptions::OrHash
58
+ ).returns(T.attached_class)
59
+ end
60
+ def self.new(
61
+ id:,
62
+ # Number of results to return. Maximum 100.
63
+ limit: nil,
64
+ # ID to start the next paged result set with.
65
+ next_id: nil,
66
+ # Participant commission status.
67
+ status: nil,
68
+ request_options: {}
69
+ )
70
+ end
71
+
72
+ sig do
73
+ override.returns(
74
+ {
75
+ id: String,
76
+ limit: Integer,
77
+ next_id: String,
78
+ status:
79
+ GrowsurfRuby::CampaignListCommissionsParams::Status::OrSymbol,
80
+ request_options: GrowsurfRuby::RequestOptions
81
+ }
82
+ )
83
+ end
84
+ def to_hash
85
+ end
86
+
87
+ # Participant commission status.
88
+ module Status
89
+ extend GrowsurfRuby::Internal::Type::Enum
90
+
91
+ TaggedSymbol =
92
+ T.type_alias do
93
+ T.all(Symbol, GrowsurfRuby::CampaignListCommissionsParams::Status)
94
+ end
95
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
96
+
97
+ PENDING =
98
+ T.let(
99
+ :PENDING,
100
+ GrowsurfRuby::CampaignListCommissionsParams::Status::TaggedSymbol
101
+ )
102
+ APPROVED =
103
+ T.let(
104
+ :APPROVED,
105
+ GrowsurfRuby::CampaignListCommissionsParams::Status::TaggedSymbol
106
+ )
107
+ PAID =
108
+ T.let(
109
+ :PAID,
110
+ GrowsurfRuby::CampaignListCommissionsParams::Status::TaggedSymbol
111
+ )
112
+ REVERSED =
113
+ T.let(
114
+ :REVERSED,
115
+ GrowsurfRuby::CampaignListCommissionsParams::Status::TaggedSymbol
116
+ )
117
+ DELETED =
118
+ T.let(
119
+ :DELETED,
120
+ GrowsurfRuby::CampaignListCommissionsParams::Status::TaggedSymbol
121
+ )
122
+
123
+ sig do
124
+ override.returns(
125
+ T::Array[
126
+ GrowsurfRuby::CampaignListCommissionsParams::Status::TaggedSymbol
127
+ ]
128
+ )
129
+ end
130
+ def self.values
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,171 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignListLeaderboardParams < GrowsurfRuby::Internal::Type::BaseModel
6
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
7
+ include GrowsurfRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ GrowsurfRuby::CampaignListLeaderboardParams,
13
+ GrowsurfRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ # Deprecated. Use `leaderboardType=CURRENT_MONTH` instead.
21
+ sig { returns(T.nilable(T::Boolean)) }
22
+ attr_reader :is_monthly
23
+
24
+ sig { params(is_monthly: T::Boolean).void }
25
+ attr_writer :is_monthly
26
+
27
+ # Leaderboard ordering mode.
28
+ sig do
29
+ returns(
30
+ T.nilable(
31
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::OrSymbol
32
+ )
33
+ )
34
+ end
35
+ attr_reader :leaderboard_type
36
+
37
+ sig do
38
+ params(
39
+ leaderboard_type:
40
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::OrSymbol
41
+ ).void
42
+ end
43
+ attr_writer :leaderboard_type
44
+
45
+ # Number of results to return. Maximum 100.
46
+ sig { returns(T.nilable(Integer)) }
47
+ attr_reader :limit
48
+
49
+ sig { params(limit: Integer).void }
50
+ attr_writer :limit
51
+
52
+ # ID to start the next paged result set with.
53
+ sig { returns(T.nilable(String)) }
54
+ attr_reader :next_id
55
+
56
+ sig { params(next_id: String).void }
57
+ attr_writer :next_id
58
+
59
+ sig do
60
+ params(
61
+ id: String,
62
+ is_monthly: T::Boolean,
63
+ leaderboard_type:
64
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::OrSymbol,
65
+ limit: Integer,
66
+ next_id: String,
67
+ request_options: GrowsurfRuby::RequestOptions::OrHash
68
+ ).returns(T.attached_class)
69
+ end
70
+ def self.new(
71
+ id:,
72
+ # Deprecated. Use `leaderboardType=CURRENT_MONTH` instead.
73
+ is_monthly: nil,
74
+ # Leaderboard ordering mode.
75
+ leaderboard_type: nil,
76
+ # Number of results to return. Maximum 100.
77
+ limit: nil,
78
+ # ID to start the next paged result set with.
79
+ next_id: nil,
80
+ request_options: {}
81
+ )
82
+ end
83
+
84
+ sig do
85
+ override.returns(
86
+ {
87
+ id: String,
88
+ is_monthly: T::Boolean,
89
+ leaderboard_type:
90
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::OrSymbol,
91
+ limit: Integer,
92
+ next_id: String,
93
+ request_options: GrowsurfRuby::RequestOptions
94
+ }
95
+ )
96
+ end
97
+ def to_hash
98
+ end
99
+
100
+ # Leaderboard ordering mode.
101
+ module LeaderboardType
102
+ extend GrowsurfRuby::Internal::Type::Enum
103
+
104
+ TaggedSymbol =
105
+ T.type_alias do
106
+ T.all(
107
+ Symbol,
108
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType
109
+ )
110
+ end
111
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
112
+
113
+ ALL_TIME =
114
+ T.let(
115
+ :ALL_TIME,
116
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::TaggedSymbol
117
+ )
118
+ CURRENT_MONTH =
119
+ T.let(
120
+ :CURRENT_MONTH,
121
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::TaggedSymbol
122
+ )
123
+ PREV_MONTH =
124
+ T.let(
125
+ :PREV_MONTH,
126
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::TaggedSymbol
127
+ )
128
+ TOTAL_IMPRESSION_COUNT =
129
+ T.let(
130
+ :TOTAL_IMPRESSION_COUNT,
131
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::TaggedSymbol
132
+ )
133
+ UNIQUE_IMPRESSION_COUNT =
134
+ T.let(
135
+ :UNIQUE_IMPRESSION_COUNT,
136
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::TaggedSymbol
137
+ )
138
+ BY_COMMISSIONS =
139
+ T.let(
140
+ :BY_COMMISSIONS,
141
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::TaggedSymbol
142
+ )
143
+ BY_REVENUE =
144
+ T.let(
145
+ :BY_REVENUE,
146
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::TaggedSymbol
147
+ )
148
+ BY_REFERRALS =
149
+ T.let(
150
+ :BY_REFERRALS,
151
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::TaggedSymbol
152
+ )
153
+ BY_LEADS =
154
+ T.let(
155
+ :BY_LEADS,
156
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::TaggedSymbol
157
+ )
158
+
159
+ sig do
160
+ override.returns(
161
+ T::Array[
162
+ GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType::TaggedSymbol
163
+ ]
164
+ )
165
+ end
166
+ def self.values
167
+ end
168
+ end
169
+ end
170
+ end
171
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ class CampaignListParams < GrowsurfRuby::Internal::Type::BaseModel
6
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
7
+ include GrowsurfRuby::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ GrowsurfRuby::CampaignListParams,
13
+ GrowsurfRuby::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: GrowsurfRuby::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig do
26
+ override.returns({ request_options: GrowsurfRuby::RequestOptions })
27
+ end
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end