growsurf-ruby 0.7.0 → 0.8.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 (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/growsurf_ruby/models/campaign/campaign_reward_list_response.rb +21 -0
  5. data/lib/growsurf_ruby/models/campaign/delete_reward_response.rb +26 -0
  6. data/lib/growsurf_ruby/models/campaign/reward.rb +166 -0
  7. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +189 -0
  8. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +182 -0
  9. data/lib/growsurf_ruby/models/campaign_create_params.rb +82 -0
  10. data/lib/growsurf_ruby/models/campaign_update_params.rb +112 -0
  11. data/lib/growsurf_ruby/models.rb +4 -0
  12. data/lib/growsurf_ruby/resources/campaign/rewards.rb +191 -0
  13. data/lib/growsurf_ruby/resources/campaign.rb +105 -0
  14. data/lib/growsurf_ruby/version.rb +1 -1
  15. data/lib/growsurf_ruby.rb +8 -0
  16. data/rbi/growsurf_ruby/models/campaign/campaign_reward_list_response.rbi +41 -0
  17. data/rbi/growsurf_ruby/models/campaign/delete_reward_response.rbi +38 -0
  18. data/rbi/growsurf_ruby/models/campaign/reward.rbi +252 -0
  19. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +330 -0
  20. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +281 -0
  21. data/rbi/growsurf_ruby/models/campaign_create_params.rbi +143 -0
  22. data/rbi/growsurf_ruby/models/campaign_update_params.rbi +193 -0
  23. data/rbi/growsurf_ruby/models.rbi +4 -0
  24. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +200 -0
  25. data/rbi/growsurf_ruby/resources/campaign.rbi +99 -0
  26. data/sig/growsurf_ruby/models/campaign/campaign_reward_list_response.rbs +18 -0
  27. data/sig/growsurf_ruby/models/campaign/delete_reward_response.rbs +17 -0
  28. data/sig/growsurf_ruby/models/campaign/reward.rbs +131 -0
  29. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +192 -0
  30. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +182 -0
  31. data/sig/growsurf_ruby/models/campaign_create_params.rbs +88 -0
  32. data/sig/growsurf_ruby/models/campaign_update_params.rbs +119 -0
  33. data/sig/growsurf_ruby/models.rbs +4 -0
  34. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +70 -0
  35. data/sig/growsurf_ruby/resources/campaign.rbs +35 -0
  36. metadata +26 -2
@@ -0,0 +1,252 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class Reward < GrowsurfRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ GrowsurfRuby::Models::Campaign::Reward,
11
+ GrowsurfRuby::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ sig { returns(T::Boolean) }
19
+ attr_accessor :is_unlimited
20
+
21
+ # Shallow custom metadata object.
22
+ sig { returns(T::Hash[Symbol, T.anything]) }
23
+ attr_accessor :metadata
24
+
25
+ sig do
26
+ returns(GrowsurfRuby::Models::Campaign::Reward::Type::TaggedSymbol)
27
+ end
28
+ attr_accessor :type
29
+
30
+ sig { returns(T.nilable(GrowsurfRuby::CommissionStructure)) }
31
+ attr_reader :commission_structure
32
+
33
+ sig do
34
+ params(
35
+ commission_structure:
36
+ T.nilable(GrowsurfRuby::CommissionStructure::OrHash)
37
+ ).void
38
+ end
39
+ attr_writer :commission_structure
40
+
41
+ sig { returns(T.nilable(Integer)) }
42
+ attr_accessor :conversions_required
43
+
44
+ sig { returns(T.nilable(String)) }
45
+ attr_accessor :coupon_code
46
+
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :description
49
+
50
+ sig { returns(T.nilable(String)) }
51
+ attr_accessor :image_url
52
+
53
+ # `-1` represents an unlimited reward in REST responses.
54
+ sig { returns(T.nilable(Integer)) }
55
+ attr_accessor :limit
56
+
57
+ sig do
58
+ returns(
59
+ T.nilable(
60
+ GrowsurfRuby::Models::Campaign::Reward::LimitDuration::TaggedSymbol
61
+ )
62
+ )
63
+ end
64
+ attr_accessor :limit_duration
65
+
66
+ sig { returns(T.nilable(String)) }
67
+ attr_accessor :next_milestone_prefix
68
+
69
+ sig { returns(T.nilable(String)) }
70
+ attr_accessor :next_milestone_suffix
71
+
72
+ sig { returns(T.nilable(Integer)) }
73
+ attr_accessor :number_of_winners
74
+
75
+ sig { returns(T.nilable(Integer)) }
76
+ attr_accessor :order
77
+
78
+ sig { returns(T.nilable(String)) }
79
+ attr_accessor :referral_description
80
+
81
+ sig { returns(T.nilable(T::Boolean)) }
82
+ attr_reader :referred_reward_upfront
83
+
84
+ sig { params(referred_reward_upfront: T::Boolean).void }
85
+ attr_writer :referred_reward_upfront
86
+
87
+ sig do
88
+ params(
89
+ id: String,
90
+ is_unlimited: T::Boolean,
91
+ metadata: T::Hash[Symbol, T.anything],
92
+ type: GrowsurfRuby::Models::Campaign::Reward::Type::OrSymbol,
93
+ commission_structure:
94
+ T.nilable(GrowsurfRuby::CommissionStructure::OrHash),
95
+ conversions_required: T.nilable(Integer),
96
+ coupon_code: T.nilable(String),
97
+ description: T.nilable(String),
98
+ image_url: T.nilable(String),
99
+ limit: T.nilable(Integer),
100
+ limit_duration:
101
+ T.nilable(
102
+ GrowsurfRuby::Models::Campaign::Reward::LimitDuration::OrSymbol
103
+ ),
104
+ next_milestone_prefix: T.nilable(String),
105
+ next_milestone_suffix: T.nilable(String),
106
+ number_of_winners: T.nilable(Integer),
107
+ order: T.nilable(Integer),
108
+ referral_description: T.nilable(String),
109
+ referred_reward_upfront: T::Boolean
110
+ ).returns(T.attached_class)
111
+ end
112
+ def self.new(
113
+ id:,
114
+ is_unlimited:,
115
+ # Shallow custom metadata object.
116
+ metadata:,
117
+ type:,
118
+ commission_structure: nil,
119
+ conversions_required: nil,
120
+ coupon_code: nil,
121
+ description: nil,
122
+ image_url: nil,
123
+ # `-1` represents an unlimited reward in REST responses.
124
+ limit: nil,
125
+ limit_duration: nil,
126
+ next_milestone_prefix: nil,
127
+ next_milestone_suffix: nil,
128
+ number_of_winners: nil,
129
+ order: nil,
130
+ referral_description: nil,
131
+ referred_reward_upfront: nil
132
+ )
133
+ end
134
+
135
+ sig do
136
+ override.returns(
137
+ {
138
+ id: String,
139
+ is_unlimited: T::Boolean,
140
+ metadata: T::Hash[Symbol, T.anything],
141
+ type: GrowsurfRuby::Models::Campaign::Reward::Type::TaggedSymbol,
142
+ commission_structure:
143
+ T.nilable(GrowsurfRuby::CommissionStructure),
144
+ conversions_required: T.nilable(Integer),
145
+ coupon_code: T.nilable(String),
146
+ description: T.nilable(String),
147
+ image_url: T.nilable(String),
148
+ limit: T.nilable(Integer),
149
+ limit_duration:
150
+ T.nilable(
151
+ GrowsurfRuby::Models::Campaign::Reward::LimitDuration::TaggedSymbol
152
+ ),
153
+ next_milestone_prefix: T.nilable(String),
154
+ next_milestone_suffix: T.nilable(String),
155
+ number_of_winners: T.nilable(Integer),
156
+ order: T.nilable(Integer),
157
+ referral_description: T.nilable(String),
158
+ referred_reward_upfront: T::Boolean
159
+ }
160
+ )
161
+ end
162
+ def to_hash
163
+ end
164
+
165
+ module Type
166
+ extend GrowsurfRuby::Internal::Type::Enum
167
+
168
+ TaggedSymbol =
169
+ T.type_alias do
170
+ T.all(Symbol, GrowsurfRuby::Models::Campaign::Reward::Type)
171
+ end
172
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
173
+
174
+ SINGLE_SIDED =
175
+ T.let(
176
+ :SINGLE_SIDED,
177
+ GrowsurfRuby::Models::Campaign::Reward::Type::TaggedSymbol
178
+ )
179
+ DOUBLE_SIDED =
180
+ T.let(
181
+ :DOUBLE_SIDED,
182
+ GrowsurfRuby::Models::Campaign::Reward::Type::TaggedSymbol
183
+ )
184
+ MILESTONE =
185
+ T.let(
186
+ :MILESTONE,
187
+ GrowsurfRuby::Models::Campaign::Reward::Type::TaggedSymbol
188
+ )
189
+ LEADERBOARD =
190
+ T.let(
191
+ :LEADERBOARD,
192
+ GrowsurfRuby::Models::Campaign::Reward::Type::TaggedSymbol
193
+ )
194
+ AFFILIATE =
195
+ T.let(
196
+ :AFFILIATE,
197
+ GrowsurfRuby::Models::Campaign::Reward::Type::TaggedSymbol
198
+ )
199
+
200
+ sig do
201
+ override.returns(
202
+ T::Array[
203
+ GrowsurfRuby::Models::Campaign::Reward::Type::TaggedSymbol
204
+ ]
205
+ )
206
+ end
207
+ def self.values
208
+ end
209
+ end
210
+
211
+ module LimitDuration
212
+ extend GrowsurfRuby::Internal::Type::Enum
213
+
214
+ TaggedSymbol =
215
+ T.type_alias do
216
+ T.all(
217
+ Symbol,
218
+ GrowsurfRuby::Models::Campaign::Reward::LimitDuration
219
+ )
220
+ end
221
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
222
+
223
+ IN_TOTAL =
224
+ T.let(
225
+ :IN_TOTAL,
226
+ GrowsurfRuby::Models::Campaign::Reward::LimitDuration::TaggedSymbol
227
+ )
228
+ PER_MONTH =
229
+ T.let(
230
+ :PER_MONTH,
231
+ GrowsurfRuby::Models::Campaign::Reward::LimitDuration::TaggedSymbol
232
+ )
233
+ PER_YEAR =
234
+ T.let(
235
+ :PER_YEAR,
236
+ GrowsurfRuby::Models::Campaign::Reward::LimitDuration::TaggedSymbol
237
+ )
238
+
239
+ sig do
240
+ override.returns(
241
+ T::Array[
242
+ GrowsurfRuby::Models::Campaign::Reward::LimitDuration::TaggedSymbol
243
+ ]
244
+ )
245
+ end
246
+ def self.values
247
+ end
248
+ end
249
+ end
250
+ end
251
+ end
252
+ end
@@ -0,0 +1,330 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class RewardCreateParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ GrowsurfRuby::Campaign::RewardCreateParams,
14
+ GrowsurfRuby::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig do
19
+ returns(
20
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::OrSymbol
21
+ )
22
+ end
23
+ attr_accessor :type
24
+
25
+ sig { returns(T.nilable(GrowsurfRuby::CommissionStructure)) }
26
+ attr_reader :commission_structure
27
+
28
+ sig do
29
+ params(
30
+ commission_structure: GrowsurfRuby::CommissionStructure::OrHash
31
+ ).void
32
+ end
33
+ attr_writer :commission_structure
34
+
35
+ sig { returns(T.nilable(Integer)) }
36
+ attr_reader :conversions_required
37
+
38
+ sig { params(conversions_required: Integer).void }
39
+ attr_writer :conversions_required
40
+
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :coupon_code
43
+
44
+ sig { params(coupon_code: String).void }
45
+ attr_writer :coupon_code
46
+
47
+ sig { returns(T.nilable(String)) }
48
+ attr_reader :description
49
+
50
+ sig { params(description: String).void }
51
+ attr_writer :description
52
+
53
+ sig { returns(T.nilable(String)) }
54
+ attr_reader :image_url
55
+
56
+ sig { params(image_url: String).void }
57
+ attr_writer :image_url
58
+
59
+ sig { returns(T.nilable(T::Boolean)) }
60
+ attr_reader :is_active
61
+
62
+ sig { params(is_active: T::Boolean).void }
63
+ attr_writer :is_active
64
+
65
+ sig { returns(T.nilable(T::Boolean)) }
66
+ attr_reader :is_unlimited
67
+
68
+ sig { params(is_unlimited: T::Boolean).void }
69
+ attr_writer :is_unlimited
70
+
71
+ sig { returns(T.nilable(T::Boolean)) }
72
+ attr_reader :is_visible
73
+
74
+ sig { params(is_visible: T::Boolean).void }
75
+ attr_writer :is_visible
76
+
77
+ sig { returns(T.nilable(Integer)) }
78
+ attr_reader :limit
79
+
80
+ sig { params(limit: Integer).void }
81
+ attr_writer :limit
82
+
83
+ sig do
84
+ returns(
85
+ T.nilable(
86
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::OrSymbol
87
+ )
88
+ )
89
+ end
90
+ attr_reader :limit_duration
91
+
92
+ sig do
93
+ params(
94
+ limit_duration:
95
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::OrSymbol
96
+ ).void
97
+ end
98
+ attr_writer :limit_duration
99
+
100
+ # Custom key/value metadata (single-level; values are stored as strings).
101
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
102
+ attr_reader :metadata
103
+
104
+ sig { params(metadata: T::Hash[Symbol, T.anything]).void }
105
+ attr_writer :metadata
106
+
107
+ sig { returns(T.nilable(String)) }
108
+ attr_reader :next_milestone_prefix
109
+
110
+ sig { params(next_milestone_prefix: String).void }
111
+ attr_writer :next_milestone_prefix
112
+
113
+ sig { returns(T.nilable(String)) }
114
+ attr_reader :next_milestone_suffix
115
+
116
+ sig { params(next_milestone_suffix: String).void }
117
+ attr_writer :next_milestone_suffix
118
+
119
+ sig { returns(T.nilable(Integer)) }
120
+ attr_reader :number_of_winners
121
+
122
+ sig { params(number_of_winners: Integer).void }
123
+ attr_writer :number_of_winners
124
+
125
+ sig { returns(T.nilable(Integer)) }
126
+ attr_reader :order
127
+
128
+ sig { params(order: Integer).void }
129
+ attr_writer :order
130
+
131
+ sig { returns(T.nilable(String)) }
132
+ attr_reader :referral_coupon_code
133
+
134
+ sig { params(referral_coupon_code: String).void }
135
+ attr_writer :referral_coupon_code
136
+
137
+ sig { returns(T.nilable(String)) }
138
+ attr_reader :referral_description
139
+
140
+ sig { params(referral_description: String).void }
141
+ attr_writer :referral_description
142
+
143
+ sig { returns(T.nilable(T::Boolean)) }
144
+ attr_reader :referred_reward_upfront
145
+
146
+ sig { params(referred_reward_upfront: T::Boolean).void }
147
+ attr_writer :referred_reward_upfront
148
+
149
+ sig { returns(T.nilable(String)) }
150
+ attr_reader :title
151
+
152
+ sig { params(title: String).void }
153
+ attr_writer :title
154
+
155
+ sig do
156
+ params(
157
+ type:
158
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::OrSymbol,
159
+ commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
160
+ conversions_required: Integer,
161
+ coupon_code: String,
162
+ description: String,
163
+ image_url: String,
164
+ is_active: T::Boolean,
165
+ is_unlimited: T::Boolean,
166
+ is_visible: T::Boolean,
167
+ limit: Integer,
168
+ limit_duration:
169
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::OrSymbol,
170
+ metadata: T::Hash[Symbol, T.anything],
171
+ next_milestone_prefix: String,
172
+ next_milestone_suffix: String,
173
+ number_of_winners: Integer,
174
+ order: Integer,
175
+ referral_coupon_code: String,
176
+ referral_description: String,
177
+ referred_reward_upfront: T::Boolean,
178
+ title: String,
179
+ request_options: GrowsurfRuby::RequestOptions::OrHash
180
+ ).returns(T.attached_class)
181
+ end
182
+ def self.new(
183
+ type:,
184
+ commission_structure: nil,
185
+ conversions_required: nil,
186
+ coupon_code: nil,
187
+ description: nil,
188
+ image_url: nil,
189
+ is_active: nil,
190
+ is_unlimited: nil,
191
+ is_visible: nil,
192
+ limit: nil,
193
+ limit_duration: nil,
194
+ # Custom key/value metadata (single-level; values are stored as strings).
195
+ metadata: nil,
196
+ next_milestone_prefix: nil,
197
+ next_milestone_suffix: nil,
198
+ number_of_winners: nil,
199
+ order: nil,
200
+ referral_coupon_code: nil,
201
+ referral_description: nil,
202
+ referred_reward_upfront: nil,
203
+ title: nil,
204
+ request_options: {}
205
+ )
206
+ end
207
+
208
+ sig do
209
+ override.returns(
210
+ {
211
+ type:
212
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::OrSymbol,
213
+ commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
214
+ conversions_required: Integer,
215
+ coupon_code: String,
216
+ description: String,
217
+ image_url: String,
218
+ is_active: T::Boolean,
219
+ is_unlimited: T::Boolean,
220
+ is_visible: T::Boolean,
221
+ limit: Integer,
222
+ limit_duration:
223
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::OrSymbol,
224
+ metadata: T::Hash[Symbol, T.anything],
225
+ next_milestone_prefix: String,
226
+ next_milestone_suffix: String,
227
+ number_of_winners: Integer,
228
+ order: Integer,
229
+ referral_coupon_code: String,
230
+ referral_description: String,
231
+ referred_reward_upfront: T::Boolean,
232
+ title: String,
233
+ request_options: GrowsurfRuby::RequestOptions
234
+ }
235
+ )
236
+ end
237
+ def to_hash
238
+ end
239
+
240
+ module Type
241
+ extend GrowsurfRuby::Internal::Type::Enum
242
+
243
+ TaggedSymbol =
244
+ T.type_alias do
245
+ T.all(
246
+ Symbol,
247
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type
248
+ )
249
+ end
250
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
251
+
252
+ SINGLE_SIDED =
253
+ T.let(
254
+ :SINGLE_SIDED,
255
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::TaggedSymbol
256
+ )
257
+ DOUBLE_SIDED =
258
+ T.let(
259
+ :DOUBLE_SIDED,
260
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::TaggedSymbol
261
+ )
262
+ MILESTONE =
263
+ T.let(
264
+ :MILESTONE,
265
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::TaggedSymbol
266
+ )
267
+ LEADERBOARD =
268
+ T.let(
269
+ :LEADERBOARD,
270
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::TaggedSymbol
271
+ )
272
+ AFFILIATE =
273
+ T.let(
274
+ :AFFILIATE,
275
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::TaggedSymbol
276
+ )
277
+
278
+ sig do
279
+ override.returns(
280
+ T::Array[
281
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::TaggedSymbol
282
+ ]
283
+ )
284
+ end
285
+ def self.values
286
+ end
287
+ end
288
+
289
+ module LimitDuration
290
+ extend GrowsurfRuby::Internal::Type::Enum
291
+
292
+ TaggedSymbol =
293
+ T.type_alias do
294
+ T.all(
295
+ Symbol,
296
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration
297
+ )
298
+ end
299
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
300
+
301
+ IN_TOTAL =
302
+ T.let(
303
+ :IN_TOTAL,
304
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::TaggedSymbol
305
+ )
306
+ PER_MONTH =
307
+ T.let(
308
+ :PER_MONTH,
309
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::TaggedSymbol
310
+ )
311
+ PER_YEAR =
312
+ T.let(
313
+ :PER_YEAR,
314
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::TaggedSymbol
315
+ )
316
+
317
+ sig do
318
+ override.returns(
319
+ T::Array[
320
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::TaggedSymbol
321
+ ]
322
+ )
323
+ end
324
+ def self.values
325
+ end
326
+ end
327
+ end
328
+ end
329
+ end
330
+ end