growsurf-ruby 0.7.0 → 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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -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 +193 -0
  7. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +212 -0
  8. data/lib/growsurf_ruby/models/campaign/reward_delete_params.rb +4 -4
  9. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +205 -0
  10. data/lib/growsurf_ruby/models/campaign.rb +28 -1
  11. data/lib/growsurf_ruby/models/campaign_create_params.rb +68 -0
  12. data/lib/growsurf_ruby/models/campaign_update_params.rb +63 -0
  13. data/lib/growsurf_ruby/models/reward_tax_valuation.rb +35 -0
  14. data/lib/growsurf_ruby/models.rb +6 -0
  15. data/lib/growsurf_ruby/resources/campaign/design.rb +66 -0
  16. data/lib/growsurf_ruby/resources/campaign/emails.rb +63 -0
  17. data/lib/growsurf_ruby/resources/campaign/installation.rb +65 -0
  18. data/lib/growsurf_ruby/resources/campaign/options.rb +63 -0
  19. data/lib/growsurf_ruby/resources/campaign/rewards.rb +199 -0
  20. data/lib/growsurf_ruby/resources/campaign.rb +112 -0
  21. data/lib/growsurf_ruby/version.rb +1 -1
  22. data/lib/growsurf_ruby.rb +13 -0
  23. data/rbi/growsurf_ruby/models/campaign/campaign_reward_list_response.rbi +41 -0
  24. data/rbi/growsurf_ruby/models/campaign/delete_reward_response.rbi +38 -0
  25. data/rbi/growsurf_ruby/models/campaign/reward.rbi +291 -0
  26. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +358 -0
  27. data/rbi/growsurf_ruby/models/campaign/reward_delete_params.rbi +4 -4
  28. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +309 -0
  29. data/rbi/growsurf_ruby/models/campaign.rbi +42 -3
  30. data/rbi/growsurf_ruby/models/campaign_create_params.rbi +125 -0
  31. data/rbi/growsurf_ruby/models/campaign_update_params.rbi +130 -0
  32. data/rbi/growsurf_ruby/models/reward_tax_valuation.rbi +56 -0
  33. data/rbi/growsurf_ruby/models.rbi +6 -0
  34. data/rbi/growsurf_ruby/resources/campaign/design.rbi +50 -0
  35. data/rbi/growsurf_ruby/resources/campaign/emails.rbi +49 -0
  36. data/rbi/growsurf_ruby/resources/campaign/installation.rbi +50 -0
  37. data/rbi/growsurf_ruby/resources/campaign/options.rbi +49 -0
  38. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +216 -0
  39. data/rbi/growsurf_ruby/resources/campaign.rbi +94 -0
  40. data/sig/growsurf_ruby/models/campaign/campaign_reward_list_response.rbs +18 -0
  41. data/sig/growsurf_ruby/models/campaign/delete_reward_response.rbs +17 -0
  42. data/sig/growsurf_ruby/models/campaign/reward.rbs +146 -0
  43. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +210 -0
  44. data/sig/growsurf_ruby/models/campaign/reward_delete_params.rbs +4 -4
  45. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +200 -0
  46. data/sig/growsurf_ruby/models/campaign.rbs +18 -3
  47. data/sig/growsurf_ruby/models/campaign_create_params.rbs +74 -0
  48. data/sig/growsurf_ruby/models/campaign_update_params.rbs +70 -0
  49. data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +19 -0
  50. data/sig/growsurf_ruby/models.rbs +6 -0
  51. data/sig/growsurf_ruby/resources/campaign/design.rbs +20 -0
  52. data/sig/growsurf_ruby/resources/campaign/emails.rbs +20 -0
  53. data/sig/growsurf_ruby/resources/campaign/installation.rbs +20 -0
  54. data/sig/growsurf_ruby/resources/campaign/options.rbs +20 -0
  55. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +74 -0
  56. data/sig/growsurf_ruby/resources/campaign.rbs +34 -0
  57. metadata +41 -2
@@ -8,6 +8,8 @@ module GrowsurfRuby
8
8
  CampaignCreateMobileParticipantTokenParams =
9
9
  GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenParams
10
10
 
11
+ CampaignCreateParams = GrowsurfRuby::Models::CampaignCreateParams
12
+
11
13
  CampaignListCommissionsParams =
12
14
  GrowsurfRuby::Models::CampaignListCommissionsParams
13
15
 
@@ -29,6 +31,8 @@ module GrowsurfRuby
29
31
 
30
32
  CampaignRetrieveParams = GrowsurfRuby::Models::CampaignRetrieveParams
31
33
 
34
+ CampaignUpdateParams = GrowsurfRuby::Models::CampaignUpdateParams
35
+
32
36
  CommissionStructure = GrowsurfRuby::Models::CommissionStructure
33
37
 
34
38
  ParticipantCommissionList = GrowsurfRuby::Models::ParticipantCommissionList
@@ -38,4 +42,6 @@ module GrowsurfRuby
38
42
  ParticipantPayoutList = GrowsurfRuby::Models::ParticipantPayoutList
39
43
 
40
44
  ReferralList = GrowsurfRuby::Models::ReferralList
45
+
46
+ RewardTaxValuation = GrowsurfRuby::Models::RewardTaxValuation
41
47
  end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Resources
5
+ class Campaign
6
+ class Design
7
+ # Retrieves a program's design configuration — the same surface as the dashboard
8
+ # Program Editor's **Design** tab. This is a large, deeply nested object whose
9
+ # available fields depend on the program type. See the API reference for the full
10
+ # field list.
11
+ sig do
12
+ params(
13
+ id: String,
14
+ request_options: GrowsurfRuby::RequestOptions::OrHash
15
+ ).returns(T::Hash[Symbol, T.anything])
16
+ end
17
+ def retrieve(
18
+ # GrowSurf program ID.
19
+ id,
20
+ request_options: {}
21
+ )
22
+ end
23
+
24
+ # Updates a program's design configuration. Only the fields you send are changed.
25
+ # The request body is a partial design object — see the API reference for the full
26
+ # field list.
27
+ sig do
28
+ params(
29
+ id: String,
30
+ body: T::Hash[Symbol, T.anything],
31
+ request_options: GrowsurfRuby::RequestOptions::OrHash
32
+ ).returns(T::Hash[Symbol, T.anything])
33
+ end
34
+ def update(
35
+ # GrowSurf program ID.
36
+ id,
37
+ # Partial design configuration to merge.
38
+ body,
39
+ request_options: {}
40
+ )
41
+ end
42
+
43
+ # @api private
44
+ sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
45
+ def self.new(client:)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,49 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Resources
5
+ class Campaign
6
+ class Emails
7
+ # Retrieves a program's email configuration — the same surface as the dashboard
8
+ # Program Editor's **Emails** tab. This is a large, nested object. See the API
9
+ # reference for the full field list.
10
+ sig do
11
+ params(
12
+ id: String,
13
+ request_options: GrowsurfRuby::RequestOptions::OrHash
14
+ ).returns(T::Hash[Symbol, T.anything])
15
+ end
16
+ def retrieve(
17
+ # GrowSurf program ID.
18
+ id,
19
+ request_options: {}
20
+ )
21
+ end
22
+
23
+ # Updates a program's email configuration. Only the fields you send are changed.
24
+ # The request body is a partial email configuration object — see the API reference
25
+ # for the full field list.
26
+ sig do
27
+ params(
28
+ id: String,
29
+ body: T::Hash[Symbol, T.anything],
30
+ request_options: GrowsurfRuby::RequestOptions::OrHash
31
+ ).returns(T::Hash[Symbol, T.anything])
32
+ end
33
+ def update(
34
+ # GrowSurf program ID.
35
+ id,
36
+ # Partial email configuration to merge.
37
+ body,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ # @api private
43
+ sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
44
+ def self.new(client:)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Resources
5
+ class Campaign
6
+ class Installation
7
+ # Retrieves a program's installation configuration — the same surface as the
8
+ # dashboard Program Editor's **Installation** tab. This is a nested object whose
9
+ # available fields depend on the program type. See the API reference for the full
10
+ # field list.
11
+ sig do
12
+ params(
13
+ id: String,
14
+ request_options: GrowsurfRuby::RequestOptions::OrHash
15
+ ).returns(T::Hash[Symbol, T.anything])
16
+ end
17
+ def retrieve(
18
+ # GrowSurf program ID.
19
+ id,
20
+ request_options: {}
21
+ )
22
+ end
23
+
24
+ # Updates a program's installation configuration. Only the fields you send are
25
+ # changed. The request body is a partial installation configuration object — see
26
+ # the API reference for the full field list.
27
+ sig do
28
+ params(
29
+ id: String,
30
+ body: T::Hash[Symbol, T.anything],
31
+ request_options: GrowsurfRuby::RequestOptions::OrHash
32
+ ).returns(T::Hash[Symbol, T.anything])
33
+ end
34
+ def update(
35
+ # GrowSurf program ID.
36
+ id,
37
+ # Partial installation configuration to merge.
38
+ body,
39
+ request_options: {}
40
+ )
41
+ end
42
+
43
+ # @api private
44
+ sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
45
+ def self.new(client:)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,49 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Resources
5
+ class Campaign
6
+ class Options
7
+ # Retrieves a program's options configuration — the same surface as the dashboard
8
+ # Program Editor's **Options** tab. This is a large, nested object. See the API
9
+ # reference for the full field list.
10
+ sig do
11
+ params(
12
+ id: String,
13
+ request_options: GrowsurfRuby::RequestOptions::OrHash
14
+ ).returns(T::Hash[Symbol, T.anything])
15
+ end
16
+ def retrieve(
17
+ # GrowSurf program ID.
18
+ id,
19
+ request_options: {}
20
+ )
21
+ end
22
+
23
+ # Updates a program's options configuration. Only the fields you send are changed.
24
+ # The request body is a partial options configuration object — see the API
25
+ # reference for the full field list.
26
+ sig do
27
+ params(
28
+ id: String,
29
+ body: T::Hash[Symbol, T.anything],
30
+ request_options: GrowsurfRuby::RequestOptions::OrHash
31
+ ).returns(T::Hash[Symbol, T.anything])
32
+ end
33
+ def update(
34
+ # GrowSurf program ID.
35
+ id,
36
+ # Partial options configuration to merge.
37
+ body,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ # @api private
43
+ sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
44
+ def self.new(client:)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,216 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Resources
5
+ class Campaign
6
+ class Rewards
7
+ # Retrieves the active, visible, and enabled rewards configured for a program.
8
+ sig do
9
+ params(
10
+ id: String,
11
+ request_options: GrowsurfRuby::RequestOptions::OrHash
12
+ ).returns(GrowsurfRuby::Models::Campaign::CampaignRewardListResponse)
13
+ end
14
+ def list(
15
+ # GrowSurf program ID.
16
+ id,
17
+ request_options: {}
18
+ )
19
+ end
20
+
21
+ # Creates a reward for a program. The reward `type` must be compatible with the
22
+ # program type.
23
+ sig do
24
+ params(
25
+ id: String,
26
+ type:
27
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::Type::OrSymbol,
28
+ commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
29
+ conversions_required: Integer,
30
+ coupon_code: String,
31
+ description: String,
32
+ image_url: String,
33
+ is_active: T::Boolean,
34
+ is_unlimited: T::Boolean,
35
+ is_visible: T::Boolean,
36
+ limit: Integer,
37
+ limit_duration:
38
+ GrowsurfRuby::Models::Campaign::RewardCreateParams::LimitDuration::OrSymbol,
39
+ metadata: T::Hash[Symbol, T.anything],
40
+ next_milestone_prefix: String,
41
+ next_milestone_suffix: String,
42
+ number_of_winners: Integer,
43
+ order: Integer,
44
+ referral_coupon_code: String,
45
+ referral_description: String,
46
+ referred_reward_upfront: T::Boolean,
47
+ referred_value: GrowsurfRuby::RewardTaxValuation::OrHash,
48
+ title: String,
49
+ value: GrowsurfRuby::RewardTaxValuation::OrHash,
50
+ request_options: GrowsurfRuby::RequestOptions::OrHash
51
+ ).returns(GrowsurfRuby::Models::Campaign::Reward)
52
+ end
53
+ def create(
54
+ # Path param: GrowSurf program ID.
55
+ id,
56
+ # Body param: The reward type. Immutable after creation.
57
+ type:,
58
+ # Body param
59
+ commission_structure: nil,
60
+ # Body param
61
+ conversions_required: nil,
62
+ # Body param
63
+ coupon_code: nil,
64
+ # Body param
65
+ description: nil,
66
+ # Body param
67
+ image_url: nil,
68
+ # Body param
69
+ is_active: nil,
70
+ # Body param
71
+ is_unlimited: nil,
72
+ # Body param
73
+ is_visible: nil,
74
+ # Body param
75
+ limit: nil,
76
+ # Body param
77
+ limit_duration: nil,
78
+ # Body param: Custom key/value metadata (single-level; values are stored as
79
+ # strings).
80
+ metadata: nil,
81
+ # Body param
82
+ next_milestone_prefix: nil,
83
+ # Body param
84
+ next_milestone_suffix: nil,
85
+ # Body param
86
+ number_of_winners: nil,
87
+ # Body param
88
+ order: nil,
89
+ # Body param
90
+ referral_coupon_code: nil,
91
+ # Body param
92
+ referral_description: nil,
93
+ # Body param
94
+ referred_reward_upfront: nil,
95
+ # Body param: Tax valuation for the referred friend's side of a double-sided
96
+ # reward. Defaults to not tax-reportable (a purchase rebate).
97
+ referred_value: nil,
98
+ # Body param
99
+ title: nil,
100
+ # Body param: Tax valuation for the reward (the referrer's side of a
101
+ # double-sided reward). Used by tax documentation / 1099 reporting.
102
+ value: nil,
103
+ request_options: {}
104
+ )
105
+ end
106
+
107
+ # Updates an existing campaign reward. Only the fields you send are changed; `type`
108
+ # is immutable and must not be supplied.
109
+ sig do
110
+ params(
111
+ campaign_reward_id: String,
112
+ id: String,
113
+ commission_structure: GrowsurfRuby::CommissionStructure::OrHash,
114
+ conversions_required: Integer,
115
+ coupon_code: String,
116
+ description: String,
117
+ image_url: String,
118
+ is_active: T::Boolean,
119
+ is_unlimited: T::Boolean,
120
+ is_visible: T::Boolean,
121
+ limit: Integer,
122
+ limit_duration:
123
+ GrowsurfRuby::Models::Campaign::RewardUpdateParams::LimitDuration::OrSymbol,
124
+ metadata: T::Hash[Symbol, T.anything],
125
+ next_milestone_prefix: String,
126
+ next_milestone_suffix: String,
127
+ number_of_winners: Integer,
128
+ order: Integer,
129
+ referral_coupon_code: String,
130
+ referral_description: String,
131
+ referred_reward_upfront: T::Boolean,
132
+ referred_value: GrowsurfRuby::RewardTaxValuation::OrHash,
133
+ title: String,
134
+ value: GrowsurfRuby::RewardTaxValuation::OrHash,
135
+ request_options: GrowsurfRuby::RequestOptions::OrHash
136
+ ).returns(GrowsurfRuby::Models::Campaign::Reward)
137
+ end
138
+ def update(
139
+ # Path param: Campaign reward ID.
140
+ campaign_reward_id,
141
+ # Path param: GrowSurf program ID.
142
+ id:,
143
+ # Body param
144
+ commission_structure: nil,
145
+ # Body param
146
+ conversions_required: nil,
147
+ # Body param
148
+ coupon_code: nil,
149
+ # Body param
150
+ description: nil,
151
+ # Body param
152
+ image_url: nil,
153
+ # Body param
154
+ is_active: nil,
155
+ # Body param
156
+ is_unlimited: nil,
157
+ # Body param
158
+ is_visible: nil,
159
+ # Body param
160
+ limit: nil,
161
+ # Body param
162
+ limit_duration: nil,
163
+ # Body param: Custom key/value metadata (single-level; values are stored as
164
+ # strings).
165
+ metadata: nil,
166
+ # Body param
167
+ next_milestone_prefix: nil,
168
+ # Body param
169
+ next_milestone_suffix: nil,
170
+ # Body param
171
+ number_of_winners: nil,
172
+ # Body param
173
+ order: nil,
174
+ # Body param
175
+ referral_coupon_code: nil,
176
+ # Body param
177
+ referral_description: nil,
178
+ # Body param
179
+ referred_reward_upfront: nil,
180
+ # Body param: Tax valuation for the referred friend's side of a double-sided
181
+ # reward. Defaults to not tax-reportable (a purchase rebate).
182
+ referred_value: nil,
183
+ # Body param
184
+ title: nil,
185
+ # Body param: Tax valuation for the reward (the referrer's side of a
186
+ # double-sided reward). Used by tax documentation / 1099 reporting.
187
+ value: nil,
188
+ request_options: {}
189
+ )
190
+ end
191
+
192
+ # Deletes a campaign reward.
193
+ sig do
194
+ params(
195
+ campaign_reward_id: String,
196
+ id: String,
197
+ request_options: GrowsurfRuby::RequestOptions::OrHash
198
+ ).returns(GrowsurfRuby::Models::Campaign::DeleteRewardResponse)
199
+ end
200
+ def delete(
201
+ # Campaign reward ID.
202
+ campaign_reward_id,
203
+ # GrowSurf program ID.
204
+ id:,
205
+ request_options: {}
206
+ )
207
+ end
208
+
209
+ # @api private
210
+ sig { params(client: GrowsurfRuby::Client).returns(T.attached_class) }
211
+ def self.new(client:)
212
+ end
213
+ end
214
+ end
215
+ end
216
+ end
@@ -14,6 +14,26 @@ module GrowsurfRuby
14
14
  sig { returns(GrowsurfRuby::Resources::Campaign::Commission) }
15
15
  attr_reader :commission
16
16
 
17
+ # Campaign reward configuration operations.
18
+ sig { returns(GrowsurfRuby::Resources::Campaign::Rewards) }
19
+ attr_reader :rewards
20
+
21
+ # Program Editor "Design" tab configuration operations.
22
+ sig { returns(GrowsurfRuby::Resources::Campaign::Design) }
23
+ attr_reader :design
24
+
25
+ # Program Editor "Emails" tab configuration operations.
26
+ sig { returns(GrowsurfRuby::Resources::Campaign::Emails) }
27
+ attr_reader :emails
28
+
29
+ # Program Editor "Options" tab configuration operations.
30
+ sig { returns(GrowsurfRuby::Resources::Campaign::Options) }
31
+ attr_reader :options
32
+
33
+ # Program Editor "Installation" tab configuration operations.
34
+ sig { returns(GrowsurfRuby::Resources::Campaign::Installation) }
35
+ attr_reader :installation
36
+
17
37
  # Retrieves a program for the given program ID.
18
38
  sig do
19
39
  params(
@@ -37,6 +57,80 @@ module GrowsurfRuby
37
57
  def list(request_options: {})
38
58
  end
39
59
 
60
+ # Creates a program. Only `type` is required; everything else is server-defaulted.
61
+ # Editor-tab configuration (design, emails, options, installation) is not accepted
62
+ # here — configure it via the config sub-resources after the program is created.
63
+ sig do
64
+ params(
65
+ type: GrowsurfRuby::CampaignCreateParams::Type::OrSymbol,
66
+ company_logo_image_url: String,
67
+ company_name: String,
68
+ currency_iso: String,
69
+ name: String,
70
+ rewards: T::Array[GrowsurfRuby::Campaign::RewardCreateParams::OrHash],
71
+ request_options: GrowsurfRuby::RequestOptions::OrHash
72
+ ).returns(GrowsurfRuby::CampaignAPI)
73
+ end
74
+ def create(
75
+ # The program type. Immutable after creation.
76
+ type:,
77
+ company_logo_image_url: nil,
78
+ company_name: nil,
79
+ # ISO 4217 currency code. Defaults to USD. Chosen when the program is created and
80
+ # immutable afterward — it cannot be changed on update.
81
+ currency_iso: nil,
82
+ # The program name. Defaults to "Untitled Program".
83
+ name: nil,
84
+ # Optional inline rewards to create with the program.
85
+ rewards: nil,
86
+ request_options: {}
87
+ )
88
+ end
89
+
90
+ # Updates a program's identity and lifecycle. Only the fields you send are changed.
91
+ # `type`, `urlId`, and `currencyISO` are immutable. Editor-tab configuration (design, emails,
92
+ # options, installation) is edited via the dedicated config sub-resources, not
93
+ # here.
94
+ sig do
95
+ params(
96
+ id: String,
97
+ company_logo_image_url: String,
98
+ company_name: String,
99
+ name: String,
100
+ status: GrowsurfRuby::CampaignUpdateParams::Status::OrSymbol,
101
+ request_options: GrowsurfRuby::RequestOptions::OrHash
102
+ ).returns(GrowsurfRuby::CampaignAPI)
103
+ end
104
+ def update(
105
+ # Path param: GrowSurf program ID.
106
+ id,
107
+ # Body param
108
+ company_logo_image_url: nil,
109
+ # Body param
110
+ company_name: nil,
111
+ # Body param
112
+ name: nil,
113
+ # Body param: The program status. Transitions are validated; DELETED is not
114
+ # allowed.
115
+ status: nil,
116
+ request_options: {}
117
+ )
118
+ end
119
+
120
+ # Clones an existing program, returning the newly created program.
121
+ sig do
122
+ params(
123
+ id: String,
124
+ request_options: GrowsurfRuby::RequestOptions::OrHash
125
+ ).returns(GrowsurfRuby::CampaignAPI)
126
+ end
127
+ def clone(
128
+ # GrowSurf program ID.
129
+ id,
130
+ request_options: {}
131
+ )
132
+ end
133
+
40
134
  # Creates or returns a participant using the same input behavior as Add
41
135
  # Participant, then returns a participant-scoped token for GrowSurf mobile SDK
42
136
  # participant endpoints. Use this endpoint from your backend after your mobile app
@@ -0,0 +1,18 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ module Campaign
4
+ type campaign_reward_list_response =
5
+ { rewards: ::Array[GrowsurfRuby::Campaign::Reward] }
6
+
7
+ class CampaignRewardListResponse < GrowsurfRuby::Internal::Type::BaseModel
8
+ attr_accessor rewards: ::Array[GrowsurfRuby::Campaign::Reward]
9
+
10
+ def initialize: (
11
+ rewards: ::Array[GrowsurfRuby::Campaign::Reward]
12
+ ) -> void
13
+
14
+ def to_hash: -> { rewards: ::Array[GrowsurfRuby::Campaign::Reward] }
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ module Campaign
4
+ type delete_reward_response = { id: String, success: bool }
5
+
6
+ class DeleteRewardResponse < GrowsurfRuby::Internal::Type::BaseModel
7
+ attr_accessor id: String
8
+
9
+ attr_accessor success: bool
10
+
11
+ def initialize: (id: String, success: bool) -> void
12
+
13
+ def to_hash: -> { id: String, success: bool }
14
+ end
15
+ end
16
+ end
17
+ end