post-for-me 0.1.0.pre.alpha.3

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 (158) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +32 -0
  4. data/README.md +265 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/post_for_me/client.rb +86 -0
  7. data/lib/post_for_me/errors.rb +214 -0
  8. data/lib/post_for_me/file_part.rb +55 -0
  9. data/lib/post_for_me/internal/transport/base_client.rb +563 -0
  10. data/lib/post_for_me/internal/transport/pooled_net_requester.rb +209 -0
  11. data/lib/post_for_me/internal/type/array_of.rb +168 -0
  12. data/lib/post_for_me/internal/type/base_model.rb +537 -0
  13. data/lib/post_for_me/internal/type/base_page.rb +55 -0
  14. data/lib/post_for_me/internal/type/boolean.rb +77 -0
  15. data/lib/post_for_me/internal/type/converter.rb +327 -0
  16. data/lib/post_for_me/internal/type/enum.rb +131 -0
  17. data/lib/post_for_me/internal/type/file_input.rb +108 -0
  18. data/lib/post_for_me/internal/type/hash_of.rb +188 -0
  19. data/lib/post_for_me/internal/type/request_parameters.rb +42 -0
  20. data/lib/post_for_me/internal/type/union.rb +237 -0
  21. data/lib/post_for_me/internal/type/unknown.rb +81 -0
  22. data/lib/post_for_me/internal/util.rb +914 -0
  23. data/lib/post_for_me/internal.rb +20 -0
  24. data/lib/post_for_me/models/create_social_post.rb +558 -0
  25. data/lib/post_for_me/models/media_create_upload_url_params.rb +14 -0
  26. data/lib/post_for_me/models/media_create_upload_url_response.rb +25 -0
  27. data/lib/post_for_me/models/social_account.rb +110 -0
  28. data/lib/post_for_me/models/social_account_create_auth_url_params.rb +109 -0
  29. data/lib/post_for_me/models/social_account_create_auth_url_response.rb +25 -0
  30. data/lib/post_for_me/models/social_account_disconnect_params.rb +14 -0
  31. data/lib/post_for_me/models/social_account_disconnect_response.rb +109 -0
  32. data/lib/post_for_me/models/social_account_list_params.rb +69 -0
  33. data/lib/post_for_me/models/social_account_list_response.rb +58 -0
  34. data/lib/post_for_me/models/social_account_retrieve_params.rb +14 -0
  35. data/lib/post_for_me/models/social_account_update_params.rb +30 -0
  36. data/lib/post_for_me/models/social_post.rb +114 -0
  37. data/lib/post_for_me/models/social_post_create_params.rb +14 -0
  38. data/lib/post_for_me/models/social_post_delete_params.rb +14 -0
  39. data/lib/post_for_me/models/social_post_delete_response.rb +17 -0
  40. data/lib/post_for_me/models/social_post_list_params.rb +87 -0
  41. data/lib/post_for_me/models/social_post_list_response.rb +58 -0
  42. data/lib/post_for_me/models/social_post_result.rb +87 -0
  43. data/lib/post_for_me/models/social_post_result_list_params.rb +51 -0
  44. data/lib/post_for_me/models/social_post_result_list_response.rb +58 -0
  45. data/lib/post_for_me/models/social_post_result_retrieve_params.rb +14 -0
  46. data/lib/post_for_me/models/social_post_retrieve_params.rb +14 -0
  47. data/lib/post_for_me/models/social_post_update_params.rb +14 -0
  48. data/lib/post_for_me/models/tiktok_configuration.rb +88 -0
  49. data/lib/post_for_me/models.rb +77 -0
  50. data/lib/post_for_me/request_options.rb +77 -0
  51. data/lib/post_for_me/resources/media.rb +94 -0
  52. data/lib/post_for_me/resources/social_accounts.rb +143 -0
  53. data/lib/post_for_me/resources/social_post_results.rb +65 -0
  54. data/lib/post_for_me/resources/social_posts.rb +164 -0
  55. data/lib/post_for_me/version.rb +5 -0
  56. data/lib/post_for_me.rb +82 -0
  57. data/manifest.yaml +15 -0
  58. data/rbi/post_for_me/client.rbi +58 -0
  59. data/rbi/post_for_me/errors.rbi +178 -0
  60. data/rbi/post_for_me/file_part.rbi +37 -0
  61. data/rbi/post_for_me/internal/transport/base_client.rbi +294 -0
  62. data/rbi/post_for_me/internal/transport/pooled_net_requester.rbi +79 -0
  63. data/rbi/post_for_me/internal/type/array_of.rbi +104 -0
  64. data/rbi/post_for_me/internal/type/base_model.rbi +304 -0
  65. data/rbi/post_for_me/internal/type/base_page.rbi +42 -0
  66. data/rbi/post_for_me/internal/type/boolean.rbi +58 -0
  67. data/rbi/post_for_me/internal/type/converter.rbi +216 -0
  68. data/rbi/post_for_me/internal/type/enum.rbi +82 -0
  69. data/rbi/post_for_me/internal/type/file_input.rbi +59 -0
  70. data/rbi/post_for_me/internal/type/hash_of.rbi +104 -0
  71. data/rbi/post_for_me/internal/type/request_parameters.rbi +29 -0
  72. data/rbi/post_for_me/internal/type/union.rbi +128 -0
  73. data/rbi/post_for_me/internal/type/unknown.rbi +58 -0
  74. data/rbi/post_for_me/internal/util.rbi +487 -0
  75. data/rbi/post_for_me/internal.rbi +18 -0
  76. data/rbi/post_for_me/models/create_social_post.rbi +1128 -0
  77. data/rbi/post_for_me/models/media_create_upload_url_params.rbi +30 -0
  78. data/rbi/post_for_me/models/media_create_upload_url_response.rbi +38 -0
  79. data/rbi/post_for_me/models/social_account.rbi +139 -0
  80. data/rbi/post_for_me/models/social_account_create_auth_url_params.rbi +260 -0
  81. data/rbi/post_for_me/models/social_account_create_auth_url_response.rbi +36 -0
  82. data/rbi/post_for_me/models/social_account_disconnect_params.rbi +30 -0
  83. data/rbi/post_for_me/models/social_account_disconnect_response.rbi +156 -0
  84. data/rbi/post_for_me/models/social_account_list_params.rbi +112 -0
  85. data/rbi/post_for_me/models/social_account_list_response.rbi +107 -0
  86. data/rbi/post_for_me/models/social_account_retrieve_params.rbi +30 -0
  87. data/rbi/post_for_me/models/social_account_update_params.rbi +60 -0
  88. data/rbi/post_for_me/models/social_post.rbi +142 -0
  89. data/rbi/post_for_me/models/social_post_create_params.rbi +27 -0
  90. data/rbi/post_for_me/models/social_post_delete_params.rbi +27 -0
  91. data/rbi/post_for_me/models/social_post_delete_response.rbi +30 -0
  92. data/rbi/post_for_me/models/social_post_list_params.rbi +207 -0
  93. data/rbi/post_for_me/models/social_post_list_response.rbi +107 -0
  94. data/rbi/post_for_me/models/social_post_result.rbi +130 -0
  95. data/rbi/post_for_me/models/social_post_result_list_params.rbi +86 -0
  96. data/rbi/post_for_me/models/social_post_result_list_response.rbi +107 -0
  97. data/rbi/post_for_me/models/social_post_result_retrieve_params.rbi +30 -0
  98. data/rbi/post_for_me/models/social_post_retrieve_params.rbi +30 -0
  99. data/rbi/post_for_me/models/social_post_update_params.rbi +27 -0
  100. data/rbi/post_for_me/models/tiktok_configuration.rbi +109 -0
  101. data/rbi/post_for_me/models.rbi +42 -0
  102. data/rbi/post_for_me/request_options.rbi +59 -0
  103. data/rbi/post_for_me/resources/media.rbi +83 -0
  104. data/rbi/post_for_me/resources/social_accounts.rbi +112 -0
  105. data/rbi/post_for_me/resources/social_post_results.rbi +51 -0
  106. data/rbi/post_for_me/resources/social_posts.rbi +160 -0
  107. data/rbi/post_for_me/version.rbi +5 -0
  108. data/sig/post_for_me/client.rbs +32 -0
  109. data/sig/post_for_me/errors.rbs +110 -0
  110. data/sig/post_for_me/file_part.rbs +21 -0
  111. data/sig/post_for_me/internal/transport/base_client.rbs +131 -0
  112. data/sig/post_for_me/internal/transport/pooled_net_requester.rbs +45 -0
  113. data/sig/post_for_me/internal/type/array_of.rbs +48 -0
  114. data/sig/post_for_me/internal/type/base_model.rbs +102 -0
  115. data/sig/post_for_me/internal/type/base_page.rbs +24 -0
  116. data/sig/post_for_me/internal/type/boolean.rbs +26 -0
  117. data/sig/post_for_me/internal/type/converter.rbs +79 -0
  118. data/sig/post_for_me/internal/type/enum.rbs +32 -0
  119. data/sig/post_for_me/internal/type/file_input.rbs +25 -0
  120. data/sig/post_for_me/internal/type/hash_of.rbs +48 -0
  121. data/sig/post_for_me/internal/type/request_parameters.rbs +19 -0
  122. data/sig/post_for_me/internal/type/union.rbs +52 -0
  123. data/sig/post_for_me/internal/type/unknown.rbs +26 -0
  124. data/sig/post_for_me/internal/util.rbs +185 -0
  125. data/sig/post_for_me/internal.rbs +9 -0
  126. data/sig/post_for_me/models/create_social_post.rbs +398 -0
  127. data/sig/post_for_me/models/media_create_upload_url_params.rbs +15 -0
  128. data/sig/post_for_me/models/media_create_upload_url_response.rbs +16 -0
  129. data/sig/post_for_me/models/social_account.rbs +81 -0
  130. data/sig/post_for_me/models/social_account_create_auth_url_params.rbs +105 -0
  131. data/sig/post_for_me/models/social_account_create_auth_url_response.rbs +16 -0
  132. data/sig/post_for_me/models/social_account_disconnect_params.rbs +15 -0
  133. data/sig/post_for_me/models/social_account_disconnect_response.rbs +80 -0
  134. data/sig/post_for_me/models/social_account_list_params.rbs +63 -0
  135. data/sig/post_for_me/models/social_account_list_response.rbs +51 -0
  136. data/sig/post_for_me/models/social_account_retrieve_params.rbs +15 -0
  137. data/sig/post_for_me/models/social_account_update_params.rbs +32 -0
  138. data/sig/post_for_me/models/social_post.rbs +83 -0
  139. data/sig/post_for_me/models/social_post_create_params.rbs +15 -0
  140. data/sig/post_for_me/models/social_post_delete_params.rbs +15 -0
  141. data/sig/post_for_me/models/social_post_delete_response.rbs +13 -0
  142. data/sig/post_for_me/models/social_post_list_params.rbs +100 -0
  143. data/sig/post_for_me/models/social_post_list_response.rbs +51 -0
  144. data/sig/post_for_me/models/social_post_result.rbs +66 -0
  145. data/sig/post_for_me/models/social_post_result_list_params.rbs +49 -0
  146. data/sig/post_for_me/models/social_post_result_list_response.rbs +51 -0
  147. data/sig/post_for_me/models/social_post_result_retrieve_params.rbs +15 -0
  148. data/sig/post_for_me/models/social_post_retrieve_params.rbs +15 -0
  149. data/sig/post_for_me/models/social_post_update_params.rbs +15 -0
  150. data/sig/post_for_me/models/tiktok_configuration.rbs +65 -0
  151. data/sig/post_for_me/models.rbs +37 -0
  152. data/sig/post_for_me/request_options.rbs +34 -0
  153. data/sig/post_for_me/resources/media.rbs +11 -0
  154. data/sig/post_for_me/resources/social_accounts.rbs +40 -0
  155. data/sig/post_for_me/resources/social_post_results.rbs +20 -0
  156. data/sig/post_for_me/resources/social_posts.rbs +51 -0
  157. data/sig/post_for_me/version.rbs +3 -0
  158. metadata +215 -0
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PostForMe
4
+ module Internal
5
+ extend PostForMe::Internal::Util::SorbetRuntimeSupport
6
+
7
+ OMIT =
8
+ Object.new.tap do
9
+ _1.define_singleton_method(:inspect) { "#<#{PostForMe::Internal}::OMIT>" }
10
+ end
11
+ .freeze
12
+
13
+ define_sorbet_constant!(:AnyHash) do
14
+ T.type_alias { T::Hash[Symbol, T.anything] }
15
+ end
16
+ define_sorbet_constant!(:FileInput) do
17
+ T.type_alias { T.any(Pathname, StringIO, IO, String, PostForMe::FilePart) }
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,558 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PostForMe
4
+ module Models
5
+ class CreateSocialPost < PostForMe::Internal::Type::BaseModel
6
+ # @!attribute caption
7
+ # Caption text for the post
8
+ #
9
+ # @return [String]
10
+ required :caption, String
11
+
12
+ # @!attribute social_accounts
13
+ # Array of social account IDs for posting
14
+ #
15
+ # @return [Array<String>]
16
+ required :social_accounts, PostForMe::Internal::Type::ArrayOf[String]
17
+
18
+ # @!attribute account_configurations
19
+ # Account-specific configurations for the post
20
+ #
21
+ # @return [Array<PostForMe::Models::CreateSocialPost::AccountConfiguration>, nil]
22
+ optional :account_configurations,
23
+ -> { PostForMe::Internal::Type::ArrayOf[PostForMe::CreateSocialPost::AccountConfiguration] },
24
+ nil?: true
25
+
26
+ # @!attribute external_id
27
+ # Array of social account IDs for posting
28
+ #
29
+ # @return [String, nil]
30
+ optional :external_id, String, nil?: true
31
+
32
+ # @!attribute is_draft
33
+ # If isDraft is set then the post will not be processed
34
+ #
35
+ # @return [Boolean, nil]
36
+ optional :is_draft, PostForMe::Internal::Type::Boolean, api_name: :isDraft, nil?: true
37
+
38
+ # @!attribute media
39
+ # Array of media URLs associated with the post
40
+ #
41
+ # @return [Array<PostForMe::Models::CreateSocialPost::Media>, nil]
42
+ optional :media,
43
+ -> {
44
+ PostForMe::Internal::Type::ArrayOf[PostForMe::CreateSocialPost::Media]
45
+ },
46
+ nil?: true
47
+
48
+ # @!attribute platform_configurations
49
+ # Platform-specific configurations for the post
50
+ #
51
+ # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations, nil]
52
+ optional :platform_configurations,
53
+ -> {
54
+ PostForMe::CreateSocialPost::PlatformConfigurations
55
+ },
56
+ nil?: true
57
+
58
+ # @!attribute scheduled_at
59
+ # Scheduled date and time for the post, setting to null or undefined will post
60
+ # instantly
61
+ #
62
+ # @return [Time, nil]
63
+ optional :scheduled_at, Time, nil?: true
64
+
65
+ # @!method initialize(caption:, social_accounts:, account_configurations: nil, external_id: nil, is_draft: nil, media: nil, platform_configurations: nil, scheduled_at: nil)
66
+ # Some parameter documentations has been truncated, see
67
+ # {PostForMe::Models::CreateSocialPost} for more details.
68
+ #
69
+ # @param caption [String] Caption text for the post
70
+ #
71
+ # @param social_accounts [Array<String>] Array of social account IDs for posting
72
+ #
73
+ # @param account_configurations [Array<PostForMe::Models::CreateSocialPost::AccountConfiguration>, nil] Account-specific configurations for the post
74
+ #
75
+ # @param external_id [String, nil] Array of social account IDs for posting
76
+ #
77
+ # @param is_draft [Boolean, nil] If isDraft is set then the post will not be processed
78
+ #
79
+ # @param media [Array<PostForMe::Models::CreateSocialPost::Media>, nil] Array of media URLs associated with the post
80
+ #
81
+ # @param platform_configurations [PostForMe::Models::CreateSocialPost::PlatformConfigurations, nil] Platform-specific configurations for the post
82
+ #
83
+ # @param scheduled_at [Time, nil] Scheduled date and time for the post, setting to null or undefined will post ins
84
+
85
+ class AccountConfiguration < PostForMe::Internal::Type::BaseModel
86
+ # @!attribute configuration
87
+ # Configuration for the social account
88
+ #
89
+ # @return [PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration]
90
+ required :configuration, -> { PostForMe::CreateSocialPost::AccountConfiguration::Configuration }
91
+
92
+ # @!attribute social_account_id
93
+ # ID of the social account, you want to apply the configuration to
94
+ #
95
+ # @return [String]
96
+ required :social_account_id, String
97
+
98
+ # @!method initialize(configuration:, social_account_id:)
99
+ # @param configuration [PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration] Configuration for the social account
100
+ #
101
+ # @param social_account_id [String] ID of the social account, you want to apply the configuration to
102
+
103
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration#configuration
104
+ class Configuration < PostForMe::Internal::Type::BaseModel
105
+ # @!attribute allow_comment
106
+ # Allow comments on TikTok
107
+ #
108
+ # @return [Boolean, nil]
109
+ optional :allow_comment, PostForMe::Internal::Type::Boolean, nil?: true
110
+
111
+ # @!attribute allow_duet
112
+ # Allow duets on TikTok
113
+ #
114
+ # @return [Boolean, nil]
115
+ optional :allow_duet, PostForMe::Internal::Type::Boolean, nil?: true
116
+
117
+ # @!attribute allow_stitch
118
+ # Allow stitch on TikTok
119
+ #
120
+ # @return [Boolean, nil]
121
+ optional :allow_stitch, PostForMe::Internal::Type::Boolean, nil?: true
122
+
123
+ # @!attribute board_ids
124
+ # Pinterest board IDs
125
+ #
126
+ # @return [Array<String>, nil]
127
+ optional :board_ids, PostForMe::Internal::Type::ArrayOf[String], nil?: true
128
+
129
+ # @!attribute caption
130
+ # Overrides the `caption` from the post
131
+ #
132
+ # @return [Object, nil]
133
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
134
+
135
+ # @!attribute disclose_branded_content
136
+ # Disclose branded content on TikTok
137
+ #
138
+ # @return [Boolean, nil]
139
+ optional :disclose_branded_content, PostForMe::Internal::Type::Boolean, nil?: true
140
+
141
+ # @!attribute disclose_your_brand
142
+ # Disclose your brand on TikTok
143
+ #
144
+ # @return [Boolean, nil]
145
+ optional :disclose_your_brand, PostForMe::Internal::Type::Boolean, nil?: true
146
+
147
+ # @!attribute link
148
+ # Pinterest post link
149
+ #
150
+ # @return [String, nil]
151
+ optional :link, String, nil?: true
152
+
153
+ # @!attribute location
154
+ # Threads post location
155
+ #
156
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Location, nil]
157
+ optional :location,
158
+ enum: -> { PostForMe::CreateSocialPost::AccountConfiguration::Configuration::Location },
159
+ nil?: true
160
+
161
+ # @!attribute media
162
+ # Overrides the `media` from the post
163
+ #
164
+ # @return [Array<String>, nil]
165
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
166
+
167
+ # @!attribute privacy_status
168
+ # Sets the privacy status for TikTok (private, public)
169
+ #
170
+ # @return [String, nil]
171
+ optional :privacy_status, String, nil?: true
172
+
173
+ # @!attribute title
174
+ # Overrides the `title` from the post
175
+ #
176
+ # @return [String, nil]
177
+ optional :title, String, nil?: true
178
+
179
+ # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, board_ids: nil, caption: nil, disclose_branded_content: nil, disclose_your_brand: nil, link: nil, location: nil, media: nil, privacy_status: nil, title: nil)
180
+ # Configuration for the social account
181
+ #
182
+ # @param allow_comment [Boolean, nil] Allow comments on TikTok
183
+ #
184
+ # @param allow_duet [Boolean, nil] Allow duets on TikTok
185
+ #
186
+ # @param allow_stitch [Boolean, nil] Allow stitch on TikTok
187
+ #
188
+ # @param board_ids [Array<String>, nil] Pinterest board IDs
189
+ #
190
+ # @param caption [Object, nil] Overrides the `caption` from the post
191
+ #
192
+ # @param disclose_branded_content [Boolean, nil] Disclose branded content on TikTok
193
+ #
194
+ # @param disclose_your_brand [Boolean, nil] Disclose your brand on TikTok
195
+ #
196
+ # @param link [String, nil] Pinterest post link
197
+ #
198
+ # @param location [Symbol, PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration::Location, nil] Threads post location
199
+ #
200
+ # @param media [Array<String>, nil] Overrides the `media` from the post
201
+ #
202
+ # @param privacy_status [String, nil] Sets the privacy status for TikTok (private, public)
203
+ #
204
+ # @param title [String, nil] Overrides the `title` from the post
205
+
206
+ # Threads post location
207
+ #
208
+ # @see PostForMe::Models::CreateSocialPost::AccountConfiguration::Configuration#location
209
+ module Location
210
+ extend PostForMe::Internal::Type::Enum
211
+
212
+ REELS = :reels
213
+ TIMELINE = :timeline
214
+
215
+ # @!method self.values
216
+ # @return [Array<Symbol>]
217
+ end
218
+ end
219
+ end
220
+
221
+ class Media < PostForMe::Internal::Type::BaseModel
222
+ # @!attribute url
223
+ # Public URL of the media
224
+ #
225
+ # @return [String]
226
+ required :url, String
227
+
228
+ # @!attribute thumbnail_timestamp_ms
229
+ # Timestamp in milliseconds of frame to use as thumbnail for the media
230
+ #
231
+ # @return [Object, nil]
232
+ optional :thumbnail_timestamp_ms, PostForMe::Internal::Type::Unknown, nil?: true
233
+
234
+ # @!attribute thumbnail_url
235
+ # Public URL of the thumbnail for the media
236
+ #
237
+ # @return [Object, nil]
238
+ optional :thumbnail_url, PostForMe::Internal::Type::Unknown, nil?: true
239
+
240
+ # @!method initialize(url:, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
241
+ # @param url [String] Public URL of the media
242
+ #
243
+ # @param thumbnail_timestamp_ms [Object, nil] Timestamp in milliseconds of frame to use as thumbnail for the media
244
+ #
245
+ # @param thumbnail_url [Object, nil] Public URL of the thumbnail for the media
246
+ end
247
+
248
+ # @see PostForMe::Models::CreateSocialPost#platform_configurations
249
+ class PlatformConfigurations < PostForMe::Internal::Type::BaseModel
250
+ # @!attribute bluesky
251
+ # Bluesky configuration
252
+ #
253
+ # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Bluesky, nil]
254
+ optional :bluesky, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Bluesky }, nil?: true
255
+
256
+ # @!attribute facebook
257
+ # Facebook configuration
258
+ #
259
+ # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Facebook, nil]
260
+ optional :facebook, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Facebook }, nil?: true
261
+
262
+ # @!attribute instagram
263
+ # Instagram configuration
264
+ #
265
+ # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Instagram, nil]
266
+ optional :instagram, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Instagram }, nil?: true
267
+
268
+ # @!attribute linkedin
269
+ # LinkedIn configuration
270
+ #
271
+ # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Linkedin, nil]
272
+ optional :linkedin, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Linkedin }, nil?: true
273
+
274
+ # @!attribute pinterest
275
+ # Pinterest configuration
276
+ #
277
+ # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Pinterest, nil]
278
+ optional :pinterest, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Pinterest }, nil?: true
279
+
280
+ # @!attribute threads
281
+ # Threads configuration
282
+ #
283
+ # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Threads, nil]
284
+ optional :threads, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Threads }, nil?: true
285
+
286
+ # @!attribute tiktok
287
+ # TikTok configuration
288
+ #
289
+ # @return [PostForMe::Models::TiktokConfiguration, nil]
290
+ optional :tiktok, -> { PostForMe::TiktokConfiguration }, nil?: true
291
+
292
+ # @!attribute tiktok_business
293
+ # TikTok configuration
294
+ #
295
+ # @return [PostForMe::Models::TiktokConfiguration, nil]
296
+ optional :tiktok_business, -> { PostForMe::TiktokConfiguration }, nil?: true
297
+
298
+ # @!attribute x
299
+ # Twitter configuration
300
+ #
301
+ # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::X, nil]
302
+ optional :x, -> { PostForMe::CreateSocialPost::PlatformConfigurations::X }, nil?: true
303
+
304
+ # @!attribute youtube
305
+ # YouTube configuration
306
+ #
307
+ # @return [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Youtube, nil]
308
+ optional :youtube, -> { PostForMe::CreateSocialPost::PlatformConfigurations::Youtube }, nil?: true
309
+
310
+ # @!method initialize(bluesky: nil, facebook: nil, instagram: nil, linkedin: nil, pinterest: nil, threads: nil, tiktok: nil, tiktok_business: nil, x: nil, youtube: nil)
311
+ # Platform-specific configurations for the post
312
+ #
313
+ # @param bluesky [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Bluesky, nil] Bluesky configuration
314
+ #
315
+ # @param facebook [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Facebook, nil] Facebook configuration
316
+ #
317
+ # @param instagram [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Instagram, nil] Instagram configuration
318
+ #
319
+ # @param linkedin [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Linkedin, nil] LinkedIn configuration
320
+ #
321
+ # @param pinterest [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Pinterest, nil] Pinterest configuration
322
+ #
323
+ # @param threads [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Threads, nil] Threads configuration
324
+ #
325
+ # @param tiktok [PostForMe::Models::TiktokConfiguration, nil] TikTok configuration
326
+ #
327
+ # @param tiktok_business [PostForMe::Models::TiktokConfiguration, nil] TikTok configuration
328
+ #
329
+ # @param x [PostForMe::Models::CreateSocialPost::PlatformConfigurations::X, nil] Twitter configuration
330
+ #
331
+ # @param youtube [PostForMe::Models::CreateSocialPost::PlatformConfigurations::Youtube, nil] YouTube configuration
332
+
333
+ # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#bluesky
334
+ class Bluesky < PostForMe::Internal::Type::BaseModel
335
+ # @!attribute caption
336
+ # Overrides the `caption` from the post
337
+ #
338
+ # @return [Object, nil]
339
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
340
+
341
+ # @!attribute media
342
+ # Overrides the `media` from the post
343
+ #
344
+ # @return [Array<String>, nil]
345
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
346
+
347
+ # @!method initialize(caption: nil, media: nil)
348
+ # Bluesky configuration
349
+ #
350
+ # @param caption [Object, nil] Overrides the `caption` from the post
351
+ #
352
+ # @param media [Array<String>, nil] Overrides the `media` from the post
353
+ end
354
+
355
+ # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#facebook
356
+ class Facebook < PostForMe::Internal::Type::BaseModel
357
+ # @!attribute caption
358
+ # Overrides the `caption` from the post
359
+ #
360
+ # @return [Object, nil]
361
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
362
+
363
+ # @!attribute media
364
+ # Overrides the `media` from the post
365
+ #
366
+ # @return [Array<String>, nil]
367
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
368
+
369
+ # @!method initialize(caption: nil, media: nil)
370
+ # Facebook configuration
371
+ #
372
+ # @param caption [Object, nil] Overrides the `caption` from the post
373
+ #
374
+ # @param media [Array<String>, nil] Overrides the `media` from the post
375
+ end
376
+
377
+ # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#instagram
378
+ class Instagram < PostForMe::Internal::Type::BaseModel
379
+ # @!attribute caption
380
+ # Overrides the `caption` from the post
381
+ #
382
+ # @return [Object, nil]
383
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
384
+
385
+ # @!attribute media
386
+ # Overrides the `media` from the post
387
+ #
388
+ # @return [Array<String>, nil]
389
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
390
+
391
+ # @!method initialize(caption: nil, media: nil)
392
+ # Instagram configuration
393
+ #
394
+ # @param caption [Object, nil] Overrides the `caption` from the post
395
+ #
396
+ # @param media [Array<String>, nil] Overrides the `media` from the post
397
+ end
398
+
399
+ # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#linkedin
400
+ class Linkedin < PostForMe::Internal::Type::BaseModel
401
+ # @!attribute caption
402
+ # Overrides the `caption` from the post
403
+ #
404
+ # @return [Object, nil]
405
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
406
+
407
+ # @!attribute media
408
+ # Overrides the `media` from the post
409
+ #
410
+ # @return [Array<String>, nil]
411
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
412
+
413
+ # @!method initialize(caption: nil, media: nil)
414
+ # LinkedIn configuration
415
+ #
416
+ # @param caption [Object, nil] Overrides the `caption` from the post
417
+ #
418
+ # @param media [Array<String>, nil] Overrides the `media` from the post
419
+ end
420
+
421
+ # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#pinterest
422
+ class Pinterest < PostForMe::Internal::Type::BaseModel
423
+ # @!attribute board_ids
424
+ # Pinterest board IDs
425
+ #
426
+ # @return [Array<String>, nil]
427
+ optional :board_ids, PostForMe::Internal::Type::ArrayOf[String], nil?: true
428
+
429
+ # @!attribute caption
430
+ # Overrides the `caption` from the post
431
+ #
432
+ # @return [Object, nil]
433
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
434
+
435
+ # @!attribute link
436
+ # Pinterest post link
437
+ #
438
+ # @return [String, nil]
439
+ optional :link, String, nil?: true
440
+
441
+ # @!attribute media
442
+ # Overrides the `media` from the post
443
+ #
444
+ # @return [Array<String>, nil]
445
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
446
+
447
+ # @!method initialize(board_ids: nil, caption: nil, link: nil, media: nil)
448
+ # Pinterest configuration
449
+ #
450
+ # @param board_ids [Array<String>, nil] Pinterest board IDs
451
+ #
452
+ # @param caption [Object, nil] Overrides the `caption` from the post
453
+ #
454
+ # @param link [String, nil] Pinterest post link
455
+ #
456
+ # @param media [Array<String>, nil] Overrides the `media` from the post
457
+ end
458
+
459
+ # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#threads
460
+ class Threads < PostForMe::Internal::Type::BaseModel
461
+ # @!attribute caption
462
+ # Overrides the `caption` from the post
463
+ #
464
+ # @return [Object, nil]
465
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
466
+
467
+ # @!attribute location
468
+ # Threads post location
469
+ #
470
+ # @return [Symbol, PostForMe::Models::CreateSocialPost::PlatformConfigurations::Threads::Location, nil]
471
+ optional :location,
472
+ enum: -> { PostForMe::CreateSocialPost::PlatformConfigurations::Threads::Location },
473
+ nil?: true
474
+
475
+ # @!attribute media
476
+ # Overrides the `media` from the post
477
+ #
478
+ # @return [Array<String>, nil]
479
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
480
+
481
+ # @!method initialize(caption: nil, location: nil, media: nil)
482
+ # Threads configuration
483
+ #
484
+ # @param caption [Object, nil] Overrides the `caption` from the post
485
+ #
486
+ # @param location [Symbol, PostForMe::Models::CreateSocialPost::PlatformConfigurations::Threads::Location, nil] Threads post location
487
+ #
488
+ # @param media [Array<String>, nil] Overrides the `media` from the post
489
+
490
+ # Threads post location
491
+ #
492
+ # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations::Threads#location
493
+ module Location
494
+ extend PostForMe::Internal::Type::Enum
495
+
496
+ REELS = :reels
497
+ TIMELINE = :timeline
498
+
499
+ # @!method self.values
500
+ # @return [Array<Symbol>]
501
+ end
502
+ end
503
+
504
+ # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#x
505
+ class X < PostForMe::Internal::Type::BaseModel
506
+ # @!attribute caption
507
+ # Overrides the `caption` from the post
508
+ #
509
+ # @return [Object, nil]
510
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
511
+
512
+ # @!attribute media
513
+ # Overrides the `media` from the post
514
+ #
515
+ # @return [Array<String>, nil]
516
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
517
+
518
+ # @!method initialize(caption: nil, media: nil)
519
+ # Twitter configuration
520
+ #
521
+ # @param caption [Object, nil] Overrides the `caption` from the post
522
+ #
523
+ # @param media [Array<String>, nil] Overrides the `media` from the post
524
+ end
525
+
526
+ # @see PostForMe::Models::CreateSocialPost::PlatformConfigurations#youtube
527
+ class Youtube < PostForMe::Internal::Type::BaseModel
528
+ # @!attribute caption
529
+ # Overrides the `caption` from the post
530
+ #
531
+ # @return [Object, nil]
532
+ optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
533
+
534
+ # @!attribute media
535
+ # Overrides the `media` from the post
536
+ #
537
+ # @return [Array<String>, nil]
538
+ optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
539
+
540
+ # @!attribute title
541
+ # Overrides the `title` from the post
542
+ #
543
+ # @return [String, nil]
544
+ optional :title, String, nil?: true
545
+
546
+ # @!method initialize(caption: nil, media: nil, title: nil)
547
+ # YouTube configuration
548
+ #
549
+ # @param caption [Object, nil] Overrides the `caption` from the post
550
+ #
551
+ # @param media [Array<String>, nil] Overrides the `media` from the post
552
+ #
553
+ # @param title [String, nil] Overrides the `title` from the post
554
+ end
555
+ end
556
+ end
557
+ end
558
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PostForMe
4
+ module Models
5
+ # @see PostForMe::Resources::Media#create_upload_url
6
+ class MediaCreateUploadURLParams < PostForMe::Internal::Type::BaseModel
7
+ extend PostForMe::Internal::Type::RequestParameters::Converter
8
+ include PostForMe::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [PostForMe::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PostForMe
4
+ module Models
5
+ # @see PostForMe::Resources::Media#create_upload_url
6
+ class MediaCreateUploadURLResponse < PostForMe::Internal::Type::BaseModel
7
+ # @!attribute media_url
8
+ # The public URL for the media, to use once file has been uploaded
9
+ #
10
+ # @return [String]
11
+ required :media_url, String
12
+
13
+ # @!attribute upload_url
14
+ # The signed upload URL for the client to upload the file
15
+ #
16
+ # @return [String]
17
+ required :upload_url, String
18
+
19
+ # @!method initialize(media_url:, upload_url:)
20
+ # @param media_url [String] The public URL for the media, to use once file has been uploaded
21
+ #
22
+ # @param upload_url [String] The signed upload URL for the client to upload the file
23
+ end
24
+ end
25
+ end