growsurf-ruby 1.3.0 → 1.5.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 (142) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -0
  3. data/README.md +10 -7
  4. data/lib/growsurf_ruby/internal/transport/base_client.rb +6 -1
  5. data/lib/growsurf_ruby/internal/type/base_model.rb +26 -0
  6. data/lib/growsurf_ruby/internal/type/base_page.rb +6 -0
  7. data/lib/growsurf_ruby/models/account_create_response.rb +3 -3
  8. data/lib/growsurf_ruby/models/analytics_availability.rb +16 -0
  9. data/lib/growsurf_ruby/models/analytics_unavailable_reason.rb +20 -0
  10. data/lib/growsurf_ruby/models/campaign/delete_program_resource_response.rb +12 -0
  11. data/lib/growsurf_ruby/models/campaign/integration.rb +69 -0
  12. data/lib/growsurf_ruby/models/campaign/integration_list_response.rb +24 -0
  13. data/lib/growsurf_ruby/models/campaign/participant_activation_analytics.rb +75 -0
  14. data/lib/growsurf_ruby/models/campaign/participant_analytics_response.rb +11 -0
  15. data/lib/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rb +17 -17
  16. data/lib/growsurf_ruby/models/campaign/participant_record_transaction_params.rb +9 -1
  17. data/lib/growsurf_ruby/models/campaign/participant_refund_transaction_params.rb +17 -1
  18. data/lib/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rb +8 -8
  19. data/lib/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rb +15 -11
  20. data/lib/growsurf_ruby/models/campaign/participant_reward.rb +16 -3
  21. data/lib/growsurf_ruby/models/campaign/program_resource.rb +51 -0
  22. data/lib/growsurf_ruby/models/campaign/program_resource_create_params.rb +32 -0
  23. data/lib/growsurf_ruby/models/campaign/program_resource_delete_params.rb +14 -0
  24. data/lib/growsurf_ruby/models/campaign/program_resource_list_response.rb +12 -0
  25. data/lib/growsurf_ruby/models/campaign/program_resource_update_params.rb +35 -0
  26. data/lib/growsurf_ruby/models/campaign/program_resource_upload_result.rb +33 -0
  27. data/lib/growsurf_ruby/models/campaign/program_resource_upload_ticket.rb +26 -0
  28. data/lib/growsurf_ruby/models/campaign/program_resource_upload_ticket_params.rb +17 -0
  29. data/lib/growsurf_ruby/models/campaign/reward.rb +22 -1
  30. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +32 -9
  31. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +32 -9
  32. data/lib/growsurf_ruby/models/campaign.rb +25 -2
  33. data/lib/growsurf_ruby/models/campaign_activation_analytics_response.rb +186 -0
  34. data/lib/growsurf_ruby/models/campaign_create_params.rb +37 -1
  35. data/lib/growsurf_ruby/models/campaign_engagement_analytics.rb +174 -0
  36. data/lib/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rb +35 -0
  37. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +37 -4
  38. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +3 -0
  39. data/lib/growsurf_ruby/models/commission_structure.rb +19 -3
  40. data/lib/growsurf_ruby/models/participant_commission_list.rb +24 -6
  41. data/lib/growsurf_ruby/models/participant_payout_list.rb +5 -5
  42. data/lib/growsurf_ruby/models.rb +7 -0
  43. data/lib/growsurf_ruby/resources/account.rb +17 -11
  44. data/lib/growsurf_ruby/resources/campaign/design.rb +11 -5
  45. data/lib/growsurf_ruby/resources/campaign/emails.rb +2 -1
  46. data/lib/growsurf_ruby/resources/campaign/integrations.rb +41 -0
  47. data/lib/growsurf_ruby/resources/campaign/participant.rb +28 -25
  48. data/lib/growsurf_ruby/resources/campaign/program_resources.rb +112 -0
  49. data/lib/growsurf_ruby/resources/campaign/rewards.rb +12 -6
  50. data/lib/growsurf_ruby/resources/campaign.rb +53 -7
  51. data/lib/growsurf_ruby/resources/team.rb +7 -5
  52. data/lib/growsurf_ruby/version.rb +1 -1
  53. data/lib/growsurf_ruby.rb +19 -0
  54. data/rbi/growsurf_ruby/internal/type/base_model.rbi +10 -0
  55. data/rbi/growsurf_ruby/internal/type/base_page.rbi +3 -0
  56. data/rbi/growsurf_ruby/models/analytics_availability.rbi +19 -0
  57. data/rbi/growsurf_ruby/models/analytics_unavailable_reason.rbi +23 -0
  58. data/rbi/growsurf_ruby/models/campaign/delete_program_resource_response.rbi +33 -0
  59. data/rbi/growsurf_ruby/models/campaign/integration.rbi +93 -0
  60. data/rbi/growsurf_ruby/models/campaign/integration_list_response.rbi +46 -0
  61. data/rbi/growsurf_ruby/models/campaign/participant_activation_analytics.rbi +133 -0
  62. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +35 -0
  63. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbi +17 -23
  64. data/rbi/growsurf_ruby/models/campaign/participant_record_transaction_params.rbi +18 -0
  65. data/rbi/growsurf_ruby/models/campaign/participant_refund_transaction_params.rbi +18 -0
  66. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbi +7 -9
  67. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +16 -10
  68. data/rbi/growsurf_ruby/models/campaign/participant_reward.rbi +29 -6
  69. data/rbi/growsurf_ruby/models/campaign/program_resource.rbi +186 -0
  70. data/rbi/growsurf_ruby/models/campaign/program_resource_create_params.rbi +95 -0
  71. data/rbi/growsurf_ruby/models/campaign/program_resource_delete_params.rbi +37 -0
  72. data/rbi/growsurf_ruby/models/campaign/program_resource_list_response.rbi +29 -0
  73. data/rbi/growsurf_ruby/models/campaign/program_resource_update_params.rbi +105 -0
  74. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_result.rbi +94 -0
  75. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_ticket.rbi +57 -0
  76. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_ticket_params.rbi +53 -0
  77. data/rbi/growsurf_ruby/models/campaign/reward.rbi +55 -0
  78. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +97 -24
  79. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +97 -24
  80. data/rbi/growsurf_ruby/models/campaign.rbi +52 -3
  81. data/rbi/growsurf_ruby/models/campaign_activation_analytics_response.rbi +325 -0
  82. data/rbi/growsurf_ruby/models/campaign_create_params.rbi +91 -0
  83. data/rbi/growsurf_ruby/models/campaign_engagement_analytics.rbi +369 -0
  84. data/rbi/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rbi +59 -0
  85. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +56 -3
  86. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +27 -7
  87. data/rbi/growsurf_ruby/models/commission_structure.rbi +36 -3
  88. data/rbi/growsurf_ruby/models/participant_commission_list.rbi +63 -15
  89. data/rbi/growsurf_ruby/models/participant_payout_list.rbi +15 -15
  90. data/rbi/growsurf_ruby/models.rbi +7 -0
  91. data/rbi/growsurf_ruby/resources/account.rbi +9 -6
  92. data/rbi/growsurf_ruby/resources/campaign/design.rbi +32 -4
  93. data/rbi/growsurf_ruby/resources/campaign/emails.rbi +2 -1
  94. data/rbi/growsurf_ruby/resources/campaign/integrations.rbi +35 -0
  95. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +38 -24
  96. data/rbi/growsurf_ruby/resources/campaign/program_resources.rbi +116 -0
  97. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +35 -16
  98. data/rbi/growsurf_ruby/resources/campaign.rbi +53 -5
  99. data/rbi/growsurf_ruby/resources/team.rbi +7 -5
  100. data/sig/growsurf_ruby/internal/type/base_model.rbs +6 -0
  101. data/sig/growsurf_ruby/internal/type/base_page.rbs +2 -0
  102. data/sig/growsurf_ruby/models/analytics_availability.rbs +15 -0
  103. data/sig/growsurf_ruby/models/analytics_unavailable_reason.rbs +26 -0
  104. data/sig/growsurf_ruby/models/campaign/delete_program_resource_response.rbs +14 -0
  105. data/sig/growsurf_ruby/models/campaign/integration.rbs +47 -0
  106. data/sig/growsurf_ruby/models/campaign/integration_list_response.rbs +20 -0
  107. data/sig/growsurf_ruby/models/campaign/participant_activation_analytics.rbs +96 -0
  108. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +22 -1
  109. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbs +17 -22
  110. data/sig/growsurf_ruby/models/campaign/participant_record_transaction_params.rbs +15 -1
  111. data/sig/growsurf_ruby/models/campaign/participant_refund_transaction_params.rbs +15 -1
  112. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbs +8 -10
  113. data/sig/growsurf_ruby/models/campaign/participant_reward.rbs +24 -9
  114. data/sig/growsurf_ruby/models/campaign/program_resource.rbs +94 -0
  115. data/sig/growsurf_ruby/models/campaign/program_resource_create_params.rbs +45 -0
  116. data/sig/growsurf_ruby/models/campaign/program_resource_delete_params.rbs +22 -0
  117. data/sig/growsurf_ruby/models/campaign/program_resource_list_response.rbs +14 -0
  118. data/sig/growsurf_ruby/models/campaign/program_resource_update_params.rbs +48 -0
  119. data/sig/growsurf_ruby/models/campaign/program_resource_upload_result.rbs +58 -0
  120. data/sig/growsurf_ruby/models/campaign/program_resource_upload_ticket.rbs +29 -0
  121. data/sig/growsurf_ruby/models/campaign/program_resource_upload_ticket_params.rbs +29 -0
  122. data/sig/growsurf_ruby/models/campaign/reward.rbs +16 -0
  123. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +54 -34
  124. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +54 -34
  125. data/sig/growsurf_ruby/models/campaign.rbs +23 -5
  126. data/sig/growsurf_ruby/models/campaign_activation_analytics_response.rbs +202 -0
  127. data/sig/growsurf_ruby/models/campaign_create_params.rbs +29 -0
  128. data/sig/growsurf_ruby/models/campaign_engagement_analytics.rbs +186 -0
  129. data/sig/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rbs +45 -0
  130. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +30 -1
  131. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +21 -3
  132. data/sig/growsurf_ruby/models/commission_structure.rbs +16 -4
  133. data/sig/growsurf_ruby/models/participant_commission_list.rbs +36 -20
  134. data/sig/growsurf_ruby/models/participant_payout_list.rbs +20 -20
  135. data/sig/growsurf_ruby/models.rbs +6 -0
  136. data/sig/growsurf_ruby/resources/campaign/design.rbs +19 -0
  137. data/sig/growsurf_ruby/resources/campaign/integrations.rbs +14 -0
  138. data/sig/growsurf_ruby/resources/campaign/participant.rbs +4 -0
  139. data/sig/growsurf_ruby/resources/campaign/program_resources.rbs +58 -0
  140. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +14 -12
  141. data/sig/growsurf_ruby/resources/campaign.rbs +17 -0
  142. metadata +59 -2
@@ -0,0 +1,95 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ProgramResourceCreateParams < 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(ProgramResourceCreateParams, GrowsurfRuby::Internal::AnyHash)
13
+ end
14
+
15
+ sig { returns(Type::TaggedSymbol) }
16
+ attr_accessor :type
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :title
20
+
21
+ sig { returns(T.nilable(String)) }
22
+ attr_accessor :description
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :category
26
+
27
+ sig { returns(T.nilable(T::Boolean)) }
28
+ attr_reader :is_published
29
+
30
+ sig { params(is_published: T::Boolean).void }
31
+ attr_writer :is_published
32
+
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :url
35
+
36
+ sig { returns(T.nilable(String)) }
37
+ attr_accessor :text
38
+
39
+ sig { returns(T.nilable(String)) }
40
+ attr_accessor :upload_ticket
41
+
42
+ sig { returns(T.nilable(GrowsurfRuby::Campaign::ProgramResourceUploadResult)) }
43
+ attr_reader :upload_result
44
+
45
+ sig { params(upload_result: GrowsurfRuby::Campaign::ProgramResourceUploadResult::OrHash).void }
46
+ attr_writer :upload_result
47
+
48
+ sig do
49
+ params(
50
+ type: Type::OrSymbol,
51
+ title: String,
52
+ description: T.nilable(String),
53
+ category: T.nilable(String),
54
+ is_published: T::Boolean,
55
+ url: String,
56
+ text: String,
57
+ upload_ticket: String,
58
+ upload_result: GrowsurfRuby::Campaign::ProgramResourceUploadResult::OrHash,
59
+ request_options: GrowsurfRuby::RequestOptions::OrHash
60
+ ).returns(T.attached_class)
61
+ end
62
+ def self.new(
63
+ type:,
64
+ title:,
65
+ description: nil,
66
+ category: nil,
67
+ is_published: nil,
68
+ url: nil,
69
+ text: nil,
70
+ upload_ticket: nil,
71
+ upload_result: nil,
72
+ request_options: {}
73
+ )
74
+ end
75
+
76
+ sig { override.returns(T::Hash[Symbol, T.anything]) }
77
+ def to_hash
78
+ end
79
+
80
+ module Type
81
+ extend GrowsurfRuby::Internal::Type::Enum
82
+
83
+ TaggedSymbol = T.type_alias { T.all(Symbol, Type) }
84
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
85
+ FILE = T.let(:FILE, TaggedSymbol)
86
+ LINK = T.let(:LINK, TaggedSymbol)
87
+ TEXT = T.let(:TEXT, TaggedSymbol)
88
+ sig { override.returns(T::Array[TaggedSymbol]) }
89
+ def self.values
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,37 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ProgramResourceDeleteParams < 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(ProgramResourceDeleteParams, GrowsurfRuby::Internal::AnyHash)
13
+ end
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ sig do
19
+ params(
20
+ id: String,
21
+ request_options: GrowsurfRuby::RequestOptions::OrHash
22
+ ).returns(T.attached_class)
23
+ end
24
+ def self.new(id:, request_options: {})
25
+ end
26
+
27
+ sig do
28
+ override.returns(
29
+ { id: String, request_options: GrowsurfRuby::RequestOptions }
30
+ )
31
+ end
32
+ def to_hash
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ProgramResourceListResponse < GrowsurfRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(ProgramResourceListResponse, GrowsurfRuby::Internal::AnyHash)
10
+ end
11
+
12
+ sig { returns(T::Array[ProgramResource]) }
13
+ attr_accessor :resources
14
+
15
+ sig do
16
+ params(resources: T::Array[ProgramResource::OrHash]).returns(
17
+ T.attached_class
18
+ )
19
+ end
20
+ def self.new(resources:)
21
+ end
22
+
23
+ sig { override.returns({ resources: T::Array[ProgramResource] }) }
24
+ def to_hash
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,105 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ProgramResourceUpdateParams < 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(ProgramResourceUpdateParams, GrowsurfRuby::Internal::AnyHash)
13
+ end
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ sig { returns(T.nilable(Type::TaggedSymbol)) }
19
+ attr_accessor :type
20
+
21
+ sig { returns(T.nilable(String)) }
22
+ attr_accessor :title
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :description
26
+
27
+ sig { returns(T.nilable(String)) }
28
+ attr_accessor :category
29
+
30
+ sig { returns(T.nilable(T::Boolean)) }
31
+ attr_reader :is_published
32
+
33
+ sig { params(is_published: T::Boolean).void }
34
+ attr_writer :is_published
35
+
36
+ sig { returns(T.nilable(Integer)) }
37
+ attr_accessor :position
38
+
39
+ sig { returns(T.nilable(String)) }
40
+ attr_accessor :url
41
+
42
+ sig { returns(T.nilable(String)) }
43
+ attr_accessor :text
44
+
45
+ sig { returns(T.nilable(String)) }
46
+ attr_accessor :upload_ticket
47
+
48
+ sig { returns(T.nilable(GrowsurfRuby::Campaign::ProgramResourceUploadResult)) }
49
+ attr_reader :upload_result
50
+
51
+ sig { params(upload_result: GrowsurfRuby::Campaign::ProgramResourceUploadResult::OrHash).void }
52
+ attr_writer :upload_result
53
+
54
+ sig do
55
+ params(
56
+ id: String,
57
+ type: Type::OrSymbol,
58
+ title: String,
59
+ description: T.nilable(String),
60
+ category: T.nilable(String),
61
+ is_published: T::Boolean,
62
+ position: Integer,
63
+ url: String,
64
+ text: String,
65
+ upload_ticket: String,
66
+ upload_result: GrowsurfRuby::Campaign::ProgramResourceUploadResult::OrHash,
67
+ request_options: GrowsurfRuby::RequestOptions::OrHash
68
+ ).returns(T.attached_class)
69
+ end
70
+ def self.new(
71
+ id:,
72
+ type: nil,
73
+ title: nil,
74
+ description: nil,
75
+ category: nil,
76
+ is_published: nil,
77
+ position: nil,
78
+ url: nil,
79
+ text: nil,
80
+ upload_ticket: nil,
81
+ upload_result: nil,
82
+ request_options: {}
83
+ )
84
+ end
85
+
86
+ sig { override.returns(T::Hash[Symbol, T.anything]) }
87
+ def to_hash
88
+ end
89
+
90
+ module Type
91
+ extend GrowsurfRuby::Internal::Type::Enum
92
+
93
+ TaggedSymbol = T.type_alias { T.all(Symbol, Type) }
94
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
95
+ FILE = T.let(:FILE, TaggedSymbol)
96
+ LINK = T.let(:LINK, TaggedSymbol)
97
+ TEXT = T.let(:TEXT, TaggedSymbol)
98
+ sig { override.returns(T::Array[TaggedSymbol]) }
99
+ def self.values
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,94 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ProgramResourceUploadResult < GrowsurfRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(ProgramResourceUploadResult, GrowsurfRuby::Internal::AnyHash)
10
+ end
11
+
12
+ sig { returns(T.nilable(String)) }
13
+ attr_accessor :asset_id
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :public_id
17
+
18
+ sig { returns(Integer) }
19
+ attr_accessor :version
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :signature
23
+
24
+ sig { returns(ResourceType::TaggedSymbol) }
25
+ attr_accessor :resource_type
26
+
27
+ sig { returns(Type::TaggedSymbol) }
28
+ attr_accessor :type
29
+
30
+ sig { returns(Integer) }
31
+ attr_accessor :bytes
32
+
33
+ sig { returns(String) }
34
+ attr_accessor :secure_url
35
+
36
+ sig { returns(T.nilable(String)) }
37
+ attr_accessor :format
38
+
39
+ sig do
40
+ params(
41
+ public_id: String,
42
+ version: Integer,
43
+ signature: String,
44
+ resource_type: ResourceType::OrSymbol,
45
+ type: Type::OrSymbol,
46
+ bytes: Integer,
47
+ secure_url: String,
48
+ asset_id: String,
49
+ format: String
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ public_id:,
54
+ version:,
55
+ signature:,
56
+ resource_type:,
57
+ type:,
58
+ bytes:,
59
+ secure_url:,
60
+ asset_id: nil,
61
+ format: nil
62
+ )
63
+ end
64
+
65
+ sig { override.returns(T::Hash[Symbol, T.anything]) }
66
+ def to_hash
67
+ end
68
+
69
+ module ResourceType
70
+ extend GrowsurfRuby::Internal::Type::Enum
71
+
72
+ TaggedSymbol = T.type_alias { T.all(Symbol, ResourceType) }
73
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
74
+ IMAGE = T.let(:image, TaggedSymbol)
75
+ RAW = T.let(:raw, TaggedSymbol)
76
+ sig { override.returns(T::Array[TaggedSymbol]) }
77
+ def self.values
78
+ end
79
+ end
80
+
81
+ module Type
82
+ extend GrowsurfRuby::Internal::Type::Enum
83
+
84
+ TaggedSymbol = T.type_alias { T.all(Symbol, Type) }
85
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
86
+ AUTHENTICATED = T.let(:authenticated, TaggedSymbol)
87
+ sig { override.returns(T::Array[TaggedSymbol]) }
88
+ def self.values
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,57 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ ProgramResourceUploadParameter = T.type_alias { T.any(String, Integer, Float, T::Boolean) }
7
+
8
+ class ProgramResourceUploadTicket < GrowsurfRuby::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(ProgramResourceUploadTicket, GrowsurfRuby::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :ticket
16
+
17
+ sig { returns(Integer) }
18
+ attr_accessor :expires_in
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :upload_url
22
+
23
+ sig { returns(T::Hash[Symbol, ProgramResourceUploadParameter]) }
24
+ attr_accessor :upload_parameters
25
+
26
+ sig do
27
+ params(
28
+ ticket: String,
29
+ expires_in: Integer,
30
+ upload_url: String,
31
+ upload_parameters: T::Hash[Symbol, ProgramResourceUploadParameter]
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ ticket:,
36
+ expires_in:,
37
+ upload_url:,
38
+ upload_parameters:
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ {
45
+ ticket: String,
46
+ expires_in: Integer,
47
+ upload_url: String,
48
+ upload_parameters: T::Hash[Symbol, ProgramResourceUploadParameter]
49
+ }
50
+ )
51
+ end
52
+ def to_hash
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,53 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ProgramResourceUploadTicketParams < 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
+ ProgramResourceUploadTicketParams,
14
+ GrowsurfRuby::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :file_name
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :mime_type
23
+
24
+ sig { returns(Integer) }
25
+ attr_accessor :bytes
26
+
27
+ sig do
28
+ params(
29
+ file_name: String,
30
+ mime_type: String,
31
+ bytes: Integer,
32
+ request_options: GrowsurfRuby::RequestOptions::OrHash
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(file_name:, mime_type:, bytes:, request_options: {})
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ {
41
+ file_name: String,
42
+ mime_type: String,
43
+ bytes: Integer,
44
+ request_options: GrowsurfRuby::RequestOptions
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -50,6 +50,18 @@ module GrowsurfRuby
50
50
  sig { returns(T.nilable(String)) }
51
51
  attr_accessor :description
52
52
 
53
+ # The referral event that earns this Campaign Reward. Present only for
54
+ # `SINGLE_SIDED`, `DOUBLE_SIDED`, and `MILESTONE` rewards. Legacy Campaign
55
+ # Rewards return `CONVERSION`.
56
+ sig do
57
+ returns(
58
+ T.nilable(
59
+ GrowsurfRuby::Models::Campaign::Reward::Event::TaggedSymbol
60
+ )
61
+ )
62
+ end
63
+ attr_accessor :event
64
+
53
65
  sig { returns(T.nilable(String)) }
54
66
  attr_accessor :image_url
55
67
 
@@ -144,6 +156,10 @@ module GrowsurfRuby
144
156
  conversions_required: T.nilable(Integer),
145
157
  coupon_code: T.nilable(String),
146
158
  description: T.nilable(String),
159
+ event:
160
+ T.nilable(
161
+ GrowsurfRuby::Models::Campaign::Reward::Event::OrSymbol
162
+ ),
147
163
  image_url: T.nilable(String),
148
164
  is_visible: T::Boolean,
149
165
  limit: T.nilable(Integer),
@@ -176,6 +192,10 @@ module GrowsurfRuby
176
192
  # issued coupon when one exists.
177
193
  coupon_code: nil,
178
194
  description: nil,
195
+ # The referral event that earns this Campaign Reward. Present only for
196
+ # `SINGLE_SIDED`, `DOUBLE_SIDED`, and `MILESTONE` rewards. Legacy Campaign
197
+ # Rewards return `CONVERSION`.
198
+ event: nil,
179
199
  image_url: nil,
180
200
  # Whether the reward is enabled. When `false` the reward is disabled: hidden from
181
201
  # participants and no longer awarded, including those who already earned it.
@@ -220,6 +240,10 @@ module GrowsurfRuby
220
240
  conversions_required: T.nilable(Integer),
221
241
  coupon_code: T.nilable(String),
222
242
  description: T.nilable(String),
243
+ event:
244
+ T.nilable(
245
+ GrowsurfRuby::Models::Campaign::Reward::Event::TaggedSymbol
246
+ ),
223
247
  image_url: T.nilable(String),
224
248
  is_visible: T::Boolean,
225
249
  limit: T.nilable(Integer),
@@ -289,6 +313,37 @@ module GrowsurfRuby
289
313
  end
290
314
  end
291
315
 
316
+ module Event
317
+ extend GrowsurfRuby::Internal::Type::Enum
318
+
319
+ TaggedSymbol =
320
+ T.type_alias do
321
+ T.all(Symbol, GrowsurfRuby::Models::Campaign::Reward::Event)
322
+ end
323
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
324
+
325
+ LEAD =
326
+ T.let(
327
+ :LEAD,
328
+ GrowsurfRuby::Models::Campaign::Reward::Event::TaggedSymbol
329
+ )
330
+ CONVERSION =
331
+ T.let(
332
+ :CONVERSION,
333
+ GrowsurfRuby::Models::Campaign::Reward::Event::TaggedSymbol
334
+ )
335
+
336
+ sig do
337
+ override.returns(
338
+ T::Array[
339
+ GrowsurfRuby::Models::Campaign::Reward::Event::TaggedSymbol
340
+ ]
341
+ )
342
+ end
343
+ def self.values
344
+ end
345
+ end
346
+
292
347
  module LimitDuration
293
348
  extend GrowsurfRuby::Internal::Type::Enum
294
349