growsurf-ruby 1.4.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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -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 +4 -3
  20. data/lib/growsurf_ruby/models/campaign/participant_reward.rb +15 -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_create_params.rb +9 -8
  30. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +9 -8
  31. data/lib/growsurf_ruby/models/campaign.rb +3 -1
  32. data/lib/growsurf_ruby/models/campaign_activation_analytics_response.rb +186 -0
  33. data/lib/growsurf_ruby/models/campaign_create_params.rb +37 -1
  34. data/lib/growsurf_ruby/models/campaign_engagement_analytics.rb +174 -0
  35. data/lib/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rb +35 -0
  36. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +37 -4
  37. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +3 -0
  38. data/lib/growsurf_ruby/models/commission_structure.rb +4 -1
  39. data/lib/growsurf_ruby/models/participant_commission_list.rb +5 -5
  40. data/lib/growsurf_ruby/models/participant_payout_list.rb +5 -5
  41. data/lib/growsurf_ruby/models.rb +7 -0
  42. data/lib/growsurf_ruby/resources/account.rb +17 -11
  43. data/lib/growsurf_ruby/resources/campaign/design.rb +11 -5
  44. data/lib/growsurf_ruby/resources/campaign/emails.rb +2 -1
  45. data/lib/growsurf_ruby/resources/campaign/integrations.rb +41 -0
  46. data/lib/growsurf_ruby/resources/campaign/participant.rb +25 -24
  47. data/lib/growsurf_ruby/resources/campaign/program_resources.rb +112 -0
  48. data/lib/growsurf_ruby/resources/campaign/rewards.rb +6 -4
  49. data/lib/growsurf_ruby/resources/campaign.rb +53 -7
  50. data/lib/growsurf_ruby/resources/team.rb +7 -5
  51. data/lib/growsurf_ruby/version.rb +1 -1
  52. data/lib/growsurf_ruby.rb +19 -0
  53. data/rbi/growsurf_ruby/internal/type/base_model.rbi +10 -0
  54. data/rbi/growsurf_ruby/internal/type/base_page.rbi +3 -0
  55. data/rbi/growsurf_ruby/models/analytics_availability.rbi +19 -0
  56. data/rbi/growsurf_ruby/models/analytics_unavailable_reason.rbi +23 -0
  57. data/rbi/growsurf_ruby/models/campaign/delete_program_resource_response.rbi +33 -0
  58. data/rbi/growsurf_ruby/models/campaign/integration.rbi +93 -0
  59. data/rbi/growsurf_ruby/models/campaign/integration_list_response.rbi +46 -0
  60. data/rbi/growsurf_ruby/models/campaign/participant_activation_analytics.rbi +133 -0
  61. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +35 -0
  62. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbi +17 -23
  63. data/rbi/growsurf_ruby/models/campaign/participant_record_transaction_params.rbi +18 -0
  64. data/rbi/growsurf_ruby/models/campaign/participant_refund_transaction_params.rbi +18 -0
  65. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbi +7 -9
  66. data/rbi/growsurf_ruby/models/campaign/participant_reward.rbi +24 -6
  67. data/rbi/growsurf_ruby/models/campaign/program_resource.rbi +186 -0
  68. data/rbi/growsurf_ruby/models/campaign/program_resource_create_params.rbi +95 -0
  69. data/rbi/growsurf_ruby/models/campaign/program_resource_delete_params.rbi +37 -0
  70. data/rbi/growsurf_ruby/models/campaign/program_resource_list_response.rbi +29 -0
  71. data/rbi/growsurf_ruby/models/campaign/program_resource_update_params.rbi +105 -0
  72. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_result.rbi +94 -0
  73. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_ticket.rbi +57 -0
  74. data/rbi/growsurf_ruby/models/campaign/program_resource_upload_ticket_params.rbi +53 -0
  75. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +33 -24
  76. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +33 -24
  77. data/rbi/growsurf_ruby/models/campaign.rbi +6 -3
  78. data/rbi/growsurf_ruby/models/campaign_activation_analytics_response.rbi +325 -0
  79. data/rbi/growsurf_ruby/models/campaign_create_params.rbi +91 -0
  80. data/rbi/growsurf_ruby/models/campaign_engagement_analytics.rbi +369 -0
  81. data/rbi/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rbi +59 -0
  82. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +56 -3
  83. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +27 -7
  84. data/rbi/growsurf_ruby/models/commission_structure.rbi +3 -1
  85. data/rbi/growsurf_ruby/models/participant_commission_list.rbi +15 -15
  86. data/rbi/growsurf_ruby/models/participant_payout_list.rbi +15 -15
  87. data/rbi/growsurf_ruby/models.rbi +7 -0
  88. data/rbi/growsurf_ruby/resources/account.rbi +9 -6
  89. data/rbi/growsurf_ruby/resources/campaign/design.rbi +32 -4
  90. data/rbi/growsurf_ruby/resources/campaign/emails.rbi +2 -1
  91. data/rbi/growsurf_ruby/resources/campaign/integrations.rbi +35 -0
  92. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +27 -18
  93. data/rbi/growsurf_ruby/resources/campaign/program_resources.rbi +116 -0
  94. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +21 -16
  95. data/rbi/growsurf_ruby/resources/campaign.rbi +53 -5
  96. data/rbi/growsurf_ruby/resources/team.rbi +7 -5
  97. data/sig/growsurf_ruby/internal/type/base_model.rbs +6 -0
  98. data/sig/growsurf_ruby/internal/type/base_page.rbs +2 -0
  99. data/sig/growsurf_ruby/models/analytics_availability.rbs +15 -0
  100. data/sig/growsurf_ruby/models/analytics_unavailable_reason.rbs +26 -0
  101. data/sig/growsurf_ruby/models/campaign/delete_program_resource_response.rbs +14 -0
  102. data/sig/growsurf_ruby/models/campaign/integration.rbs +47 -0
  103. data/sig/growsurf_ruby/models/campaign/integration_list_response.rbs +20 -0
  104. data/sig/growsurf_ruby/models/campaign/participant_activation_analytics.rbs +96 -0
  105. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +22 -1
  106. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbs +17 -22
  107. data/sig/growsurf_ruby/models/campaign/participant_record_transaction_params.rbs +15 -1
  108. data/sig/growsurf_ruby/models/campaign/participant_refund_transaction_params.rbs +15 -1
  109. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbs +8 -10
  110. data/sig/growsurf_ruby/models/campaign/participant_reward.rbs +22 -8
  111. data/sig/growsurf_ruby/models/campaign/program_resource.rbs +94 -0
  112. data/sig/growsurf_ruby/models/campaign/program_resource_create_params.rbs +45 -0
  113. data/sig/growsurf_ruby/models/campaign/program_resource_delete_params.rbs +22 -0
  114. data/sig/growsurf_ruby/models/campaign/program_resource_list_response.rbs +14 -0
  115. data/sig/growsurf_ruby/models/campaign/program_resource_update_params.rbs +48 -0
  116. data/sig/growsurf_ruby/models/campaign/program_resource_upload_result.rbs +58 -0
  117. data/sig/growsurf_ruby/models/campaign/program_resource_upload_ticket.rbs +29 -0
  118. data/sig/growsurf_ruby/models/campaign/program_resource_upload_ticket_params.rbs +29 -0
  119. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +34 -34
  120. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +34 -34
  121. data/sig/growsurf_ruby/models/campaign.rbs +7 -5
  122. data/sig/growsurf_ruby/models/campaign_activation_analytics_response.rbs +202 -0
  123. data/sig/growsurf_ruby/models/campaign_create_params.rbs +29 -0
  124. data/sig/growsurf_ruby/models/campaign_engagement_analytics.rbs +186 -0
  125. data/sig/growsurf_ruby/models/campaign_retrieve_activation_analytics_params.rbs +45 -0
  126. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +30 -1
  127. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +21 -3
  128. data/sig/growsurf_ruby/models/participant_commission_list.rbs +20 -20
  129. data/sig/growsurf_ruby/models/participant_payout_list.rbs +20 -20
  130. data/sig/growsurf_ruby/models.rbs +6 -0
  131. data/sig/growsurf_ruby/resources/campaign/design.rbs +19 -0
  132. data/sig/growsurf_ruby/resources/campaign/integrations.rbs +14 -0
  133. data/sig/growsurf_ruby/resources/campaign/participant.rbs +4 -0
  134. data/sig/growsurf_ruby/resources/campaign/program_resources.rbs +58 -0
  135. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +12 -12
  136. data/sig/growsurf_ruby/resources/campaign.rbs +17 -0
  137. metadata +59 -2
@@ -0,0 +1,186 @@
1
+ # typed: strong
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ class ProgramResourceFile < GrowsurfRuby::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(ProgramResourceFile, GrowsurfRuby::Internal::AnyHash)
10
+ end
11
+
12
+ sig { returns(String) }
13
+ attr_accessor :file_name
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :mime_type
17
+
18
+ sig { returns(Integer) }
19
+ attr_accessor :bytes
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :format
23
+
24
+ sig { returns(ModerationStatus::TaggedSymbol) }
25
+ attr_accessor :moderation_status
26
+
27
+ sig do
28
+ params(
29
+ file_name: String,
30
+ mime_type: String,
31
+ bytes: Integer,
32
+ format: String,
33
+ moderation_status: ModerationStatus::OrSymbol
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(
37
+ file_name:,
38
+ mime_type:,
39
+ bytes:,
40
+ format:,
41
+ moderation_status:
42
+ )
43
+ end
44
+
45
+ sig do
46
+ override.returns(
47
+ {
48
+ file_name: String,
49
+ mime_type: String,
50
+ bytes: Integer,
51
+ format: String,
52
+ moderation_status: ModerationStatus::TaggedSymbol
53
+ }
54
+ )
55
+ end
56
+ def to_hash
57
+ end
58
+
59
+ module ModerationStatus
60
+ extend GrowsurfRuby::Internal::Type::Enum
61
+
62
+ TaggedSymbol = T.type_alias { T.all(Symbol, ModerationStatus) }
63
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
64
+ PENDING = T.let(:PENDING, TaggedSymbol)
65
+ APPROVED = T.let(:APPROVED, TaggedSymbol)
66
+ REJECTED = T.let(:REJECTED, TaggedSymbol)
67
+ sig { override.returns(T::Array[TaggedSymbol]) }
68
+ def self.values
69
+ end
70
+ end
71
+ end
72
+
73
+ class ProgramResource < GrowsurfRuby::Internal::Type::BaseModel
74
+ OrHash =
75
+ T.type_alias do
76
+ T.any(ProgramResource, GrowsurfRuby::Internal::AnyHash)
77
+ end
78
+
79
+ sig { returns(String) }
80
+ attr_accessor :id
81
+
82
+ sig { returns(Type::TaggedSymbol) }
83
+ attr_accessor :type
84
+
85
+ sig { returns(String) }
86
+ attr_accessor :title
87
+
88
+ sig { returns(T.nilable(String)) }
89
+ attr_accessor :description
90
+
91
+ sig { returns(T.nilable(String)) }
92
+ attr_accessor :category
93
+
94
+ sig { returns(T.nilable(String)) }
95
+ attr_accessor :url
96
+
97
+ sig { returns(T.nilable(String)) }
98
+ attr_accessor :text
99
+
100
+ sig { returns(T.nilable(ProgramResourceFile)) }
101
+ attr_reader :file
102
+
103
+ sig { params(file: T.nilable(ProgramResourceFile::OrHash)).void }
104
+ attr_writer :file
105
+
106
+ sig { returns(T::Boolean) }
107
+ attr_accessor :is_published
108
+
109
+ sig { returns(Integer) }
110
+ attr_accessor :position
111
+
112
+ sig { returns(Integer) }
113
+ attr_accessor :created_at
114
+
115
+ sig { returns(Integer) }
116
+ attr_accessor :updated_at
117
+
118
+ sig do
119
+ params(
120
+ id: String,
121
+ type: Type::OrSymbol,
122
+ title: String,
123
+ description: T.nilable(String),
124
+ category: T.nilable(String),
125
+ url: T.nilable(String),
126
+ text: T.nilable(String),
127
+ file: T.nilable(ProgramResourceFile::OrHash),
128
+ is_published: T::Boolean,
129
+ position: Integer,
130
+ created_at: Integer,
131
+ updated_at: Integer
132
+ ).returns(T.attached_class)
133
+ end
134
+ def self.new(
135
+ id:,
136
+ type:,
137
+ title:,
138
+ description:,
139
+ category:,
140
+ url:,
141
+ text:,
142
+ file:,
143
+ is_published:,
144
+ position:,
145
+ created_at:,
146
+ updated_at:
147
+ )
148
+ end
149
+
150
+ sig do
151
+ override.returns(
152
+ {
153
+ id: String,
154
+ type: Type::TaggedSymbol,
155
+ title: String,
156
+ description: T.nilable(String),
157
+ category: T.nilable(String),
158
+ url: T.nilable(String),
159
+ text: T.nilable(String),
160
+ file: T.nilable(ProgramResourceFile),
161
+ is_published: T::Boolean,
162
+ position: Integer,
163
+ created_at: Integer,
164
+ updated_at: Integer
165
+ }
166
+ )
167
+ end
168
+ def to_hash
169
+ end
170
+
171
+ module Type
172
+ extend GrowsurfRuby::Internal::Type::Enum
173
+
174
+ TaggedSymbol = T.type_alias { T.all(Symbol, Type) }
175
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
176
+ FILE = T.let(:FILE, TaggedSymbol)
177
+ LINK = T.let(:LINK, TaggedSymbol)
178
+ TEXT = T.let(:TEXT, TaggedSymbol)
179
+ sig { override.returns(T::Array[TaggedSymbol]) }
180
+ def self.values
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end
186
+ end
@@ -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