post-for-me 0.1.0.pre.alpha.10 → 0.1.0.pre.alpha.12

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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -0
  3. data/README.md +10 -1
  4. data/lib/post_for_me/client.rb +4 -0
  5. data/lib/post_for_me/internal/transport/pooled_net_requester.rb +12 -10
  6. data/lib/post_for_me/internal/util.rb +7 -2
  7. data/lib/post_for_me/models/create_social_post.rb +158 -8
  8. data/lib/post_for_me/models/platform_post.rb +843 -0
  9. data/lib/post_for_me/models/social_account_create_auth_url_params.rb +245 -9
  10. data/lib/post_for_me/models/social_account_feed_list_params.rb +81 -0
  11. data/lib/post_for_me/models/social_account_feed_list_response.rb +58 -0
  12. data/lib/post_for_me/models/social_post.rb +155 -8
  13. data/lib/post_for_me/models/social_post_list_params.rb +9 -1
  14. data/lib/post_for_me/models/social_post_result_list_params.rb +10 -1
  15. data/lib/post_for_me/models/youtube_configuration_dto.rb +31 -1
  16. data/lib/post_for_me/models.rb +4 -0
  17. data/lib/post_for_me/resources/social_account_feeds.rb +51 -0
  18. data/lib/post_for_me/resources/social_accounts.rb +8 -1
  19. data/lib/post_for_me/resources/social_post_results.rb +3 -1
  20. data/lib/post_for_me/resources/social_posts.rb +3 -1
  21. data/lib/post_for_me/version.rb +1 -1
  22. data/lib/post_for_me.rb +5 -0
  23. data/manifest.yaml +1 -0
  24. data/rbi/post_for_me/client.rbi +3 -0
  25. data/rbi/post_for_me/models/create_social_post.rbi +328 -8
  26. data/rbi/post_for_me/models/platform_post.rbi +1287 -0
  27. data/rbi/post_for_me/models/social_account_create_auth_url_params.rbi +545 -15
  28. data/rbi/post_for_me/models/social_account_feed_list_params.rbi +157 -0
  29. data/rbi/post_for_me/models/social_account_feed_list_response.rbi +110 -0
  30. data/rbi/post_for_me/models/social_post.rbi +328 -8
  31. data/rbi/post_for_me/models/social_post_list_params.rbi +11 -0
  32. data/rbi/post_for_me/models/social_post_result_list_params.rbi +13 -0
  33. data/rbi/post_for_me/models/youtube_configuration_dto.rbi +63 -0
  34. data/rbi/post_for_me/models.rbi +4 -0
  35. data/rbi/post_for_me/resources/social_account_feeds.rbi +51 -0
  36. data/rbi/post_for_me/resources/social_accounts.rbi +13 -0
  37. data/rbi/post_for_me/resources/social_post_results.rbi +4 -0
  38. data/rbi/post_for_me/resources/social_posts.rbi +3 -0
  39. data/sig/post_for_me/client.rbs +2 -0
  40. data/sig/post_for_me/models/create_social_post.rbs +120 -8
  41. data/sig/post_for_me/models/platform_post.rbs +660 -0
  42. data/sig/post_for_me/models/social_account_create_auth_url_params.rbs +193 -10
  43. data/sig/post_for_me/models/social_account_feed_list_params.rbs +75 -0
  44. data/sig/post_for_me/models/social_account_feed_list_response.rbs +54 -0
  45. data/sig/post_for_me/models/social_post.rbs +120 -8
  46. data/sig/post_for_me/models/social_post_list_params.rbs +7 -0
  47. data/sig/post_for_me/models/social_post_result_list_params.rbs +8 -1
  48. data/sig/post_for_me/models/youtube_configuration_dto.rbs +22 -0
  49. data/sig/post_for_me/models.rbs +4 -0
  50. data/sig/post_for_me/resources/social_account_feeds.rbs +18 -0
  51. data/sig/post_for_me/resources/social_accounts.rbs +2 -0
  52. data/sig/post_for_me/resources/social_post_results.rbs +1 -0
  53. data/sig/post_for_me/resources/social_posts.rbs +1 -0
  54. metadata +28 -2
@@ -204,11 +204,21 @@ module PostForMe
204
204
  # @return [String, nil]
205
205
  optional :location, String, nil?: true
206
206
 
207
+ # @!attribute made_for_kids
208
+ # If true will notify YouTube the video is intended for kids, defaults to false
209
+ #
210
+ # @return [Boolean, nil]
211
+ optional :made_for_kids, PostForMe::Internal::Type::Boolean, nil?: true
212
+
207
213
  # @!attribute media
208
214
  # Overrides the `media` from the post
209
215
  #
210
- # @return [Array<String>, nil]
211
- optional :media, PostForMe::Internal::Type::ArrayOf[String], nil?: true
216
+ # @return [Array<PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media>, nil]
217
+ optional :media,
218
+ -> {
219
+ PostForMe::Internal::Type::ArrayOf[PostForMe::SocialPost::AccountConfiguration::Configuration::Media]
220
+ },
221
+ nil?: true
212
222
 
213
223
  # @!attribute placement
214
224
  # Post placement for Facebook/Instagram/Threads
@@ -225,10 +235,13 @@ module PostForMe
225
235
  optional :poll, -> { PostForMe::SocialPost::AccountConfiguration::Configuration::Poll }
226
236
 
227
237
  # @!attribute privacy_status
228
- # Sets the privacy status for TikTok (private, public)
238
+ # Sets the privacy status for TikTok (private, public), or YouTube (private,
239
+ # public, unlisted)
229
240
  #
230
- # @return [String, nil]
231
- optional :privacy_status, String, nil?: true
241
+ # @return [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::PrivacyStatus, nil]
242
+ optional :privacy_status,
243
+ enum: -> { PostForMe::SocialPost::AccountConfiguration::Configuration::PrivacyStatus },
244
+ nil?: true
232
245
 
233
246
  # @!attribute quote_tweet_id
234
247
  # Id of the tweet you want to quote
@@ -256,7 +269,7 @@ module PostForMe
256
269
  # @return [String, nil]
257
270
  optional :title, String, nil?: true
258
271
 
259
- # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, auto_add_music: nil, board_ids: nil, caption: nil, collaborators: nil, community_id: nil, disclose_branded_content: nil, disclose_your_brand: nil, is_ai_generated: nil, is_draft: nil, link: nil, location: nil, media: nil, placement: nil, poll: nil, privacy_status: nil, quote_tweet_id: nil, reply_settings: nil, share_to_feed: nil, title: nil)
272
+ # @!method initialize(allow_comment: nil, allow_duet: nil, allow_stitch: nil, auto_add_music: nil, board_ids: nil, caption: nil, collaborators: nil, community_id: nil, disclose_branded_content: nil, disclose_your_brand: nil, is_ai_generated: nil, is_draft: nil, link: nil, location: nil, made_for_kids: nil, media: nil, placement: nil, poll: nil, privacy_status: nil, quote_tweet_id: nil, reply_settings: nil, share_to_feed: nil, title: nil)
260
273
  # Some parameter documentations has been truncated, see
261
274
  # {PostForMe::Models::SocialPost::AccountConfiguration::Configuration} for more
262
275
  # details.
@@ -291,13 +304,15 @@ module PostForMe
291
304
  #
292
305
  # @param location [String, nil] Page id with a location that you want to tag the image or video with (Instagram
293
306
  #
294
- # @param media [Array<String>, nil] Overrides the `media` from the post
307
+ # @param made_for_kids [Boolean, nil] If true will notify YouTube the video is intended for kids, defaults to false
308
+ #
309
+ # @param media [Array<PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media>, nil] Overrides the `media` from the post
295
310
  #
296
311
  # @param placement [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Placement, nil] Post placement for Facebook/Instagram/Threads
297
312
  #
298
313
  # @param poll [PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Poll] Poll options for the twitter
299
314
  #
300
- # @param privacy_status [String, nil] Sets the privacy status for TikTok (private, public)
315
+ # @param privacy_status [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::PrivacyStatus, nil] Sets the privacy status for TikTok (private, public), or YouTube (private, publi
301
316
  #
302
317
  # @param quote_tweet_id [String] Id of the tweet you want to quote
303
318
  #
@@ -307,6 +322,123 @@ module PostForMe
307
322
  #
308
323
  # @param title [String, nil] Overrides the `title` from the post
309
324
 
325
+ class Media < PostForMe::Internal::Type::BaseModel
326
+ # @!attribute url
327
+ # Public URL of the media
328
+ #
329
+ # @return [String]
330
+ required :url, String
331
+
332
+ # @!attribute tags
333
+ # List of tags to attach to the media
334
+ #
335
+ # @return [Array<PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag>, nil]
336
+ optional :tags,
337
+ -> {
338
+ PostForMe::Internal::Type::ArrayOf[PostForMe::SocialPost::AccountConfiguration::Configuration::Media::Tag]
339
+ },
340
+ nil?: true
341
+
342
+ # @!attribute thumbnail_timestamp_ms
343
+ # Timestamp in milliseconds of frame to use as thumbnail for the media
344
+ #
345
+ # @return [Object, nil]
346
+ optional :thumbnail_timestamp_ms, PostForMe::Internal::Type::Unknown, nil?: true
347
+
348
+ # @!attribute thumbnail_url
349
+ # Public URL of the thumbnail for the media
350
+ #
351
+ # @return [Object, nil]
352
+ optional :thumbnail_url, PostForMe::Internal::Type::Unknown, nil?: true
353
+
354
+ # @!method initialize(url:, tags: nil, thumbnail_timestamp_ms: nil, thumbnail_url: nil)
355
+ # @param url [String] Public URL of the media
356
+ #
357
+ # @param tags [Array<PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag>, nil] List of tags to attach to the media
358
+ #
359
+ # @param thumbnail_timestamp_ms [Object, nil] Timestamp in milliseconds of frame to use as thumbnail for the media
360
+ #
361
+ # @param thumbnail_url [Object, nil] Public URL of the thumbnail for the media
362
+
363
+ class Tag < PostForMe::Internal::Type::BaseModel
364
+ # @!attribute id
365
+ # Facebook User ID, Instagram Username or Instagram product id to tag
366
+ #
367
+ # @return [String]
368
+ required :id, String
369
+
370
+ # @!attribute platform
371
+ # The platform for the tags
372
+ #
373
+ # @return [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag::Platform]
374
+ required :platform,
375
+ enum: -> { PostForMe::SocialPost::AccountConfiguration::Configuration::Media::Tag::Platform }
376
+
377
+ # @!attribute type
378
+ # The type of tag, user to tag accounts, product to tag products (only supported
379
+ # for instagram)
380
+ #
381
+ # @return [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag::Type]
382
+ required :type, enum: -> { PostForMe::SocialPost::AccountConfiguration::Configuration::Media::Tag::Type }
383
+
384
+ # @!attribute x
385
+ # Percentage distance from left edge of the image, Not required for videos or
386
+ # stories
387
+ #
388
+ # @return [Float, nil]
389
+ optional :x, Float
390
+
391
+ # @!attribute y_
392
+ # Percentage distance from top edge of the image, Not required for videos or
393
+ # stories
394
+ #
395
+ # @return [Float, nil]
396
+ optional :y_, Float, api_name: :y
397
+
398
+ # @!method initialize(id:, platform:, type:, x: nil, y_: nil)
399
+ # Some parameter documentations has been truncated, see
400
+ # {PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag}
401
+ # for more details.
402
+ #
403
+ # @param id [String] Facebook User ID, Instagram Username or Instagram product id to tag
404
+ #
405
+ # @param platform [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag::Platform] The platform for the tags
406
+ #
407
+ # @param type [Symbol, PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag::Type] The type of tag, user to tag accounts, product to tag products (only supported f
408
+ #
409
+ # @param x [Float] Percentage distance from left edge of the image, Not required for videos or stor
410
+ #
411
+ # @param y_ [Float] Percentage distance from top edge of the image, Not required for videos or stori
412
+
413
+ # The platform for the tags
414
+ #
415
+ # @see PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag#platform
416
+ module Platform
417
+ extend PostForMe::Internal::Type::Enum
418
+
419
+ FACEBOOK = :facebook
420
+ INSTAGRAM = :instagram
421
+
422
+ # @!method self.values
423
+ # @return [Array<Symbol>]
424
+ end
425
+
426
+ # The type of tag, user to tag accounts, product to tag products (only supported
427
+ # for instagram)
428
+ #
429
+ # @see PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Media::Tag#type
430
+ module Type
431
+ extend PostForMe::Internal::Type::Enum
432
+
433
+ USER = :user
434
+ PRODUCT = :product
435
+
436
+ # @!method self.values
437
+ # @return [Array<Symbol>]
438
+ end
439
+ end
440
+ end
441
+
310
442
  # Post placement for Facebook/Instagram/Threads
311
443
  #
312
444
  # @see PostForMe::Models::SocialPost::AccountConfiguration::Configuration#placement
@@ -367,6 +499,21 @@ module PostForMe
367
499
  end
368
500
  end
369
501
 
502
+ # Sets the privacy status for TikTok (private, public), or YouTube (private,
503
+ # public, unlisted)
504
+ #
505
+ # @see PostForMe::Models::SocialPost::AccountConfiguration::Configuration#privacy_status
506
+ module PrivacyStatus
507
+ extend PostForMe::Internal::Type::Enum
508
+
509
+ PUBLIC = :public
510
+ PRIVATE = :private
511
+ UNLISTED = :unlisted
512
+
513
+ # @!method self.values
514
+ # @return [Array<Symbol>]
515
+ end
516
+
370
517
  # Who can reply to the tweet
371
518
  #
372
519
  # @see PostForMe::Models::SocialPost::AccountConfiguration::Configuration#reply_settings
@@ -32,13 +32,19 @@ module PostForMe
32
32
  optional :platform,
33
33
  -> { PostForMe::Internal::Type::ArrayOf[enum: PostForMe::SocialPostListParams::Platform] }
34
34
 
35
+ # @!attribute social_account_id
36
+ # Filter by social account ID. Multiple values imply OR logic.
37
+ #
38
+ # @return [Array<String>, nil]
39
+ optional :social_account_id, PostForMe::Internal::Type::ArrayOf[String]
40
+
35
41
  # @!attribute status
36
42
  # Filter by post status. Multiple values imply OR logic.
37
43
  #
38
44
  # @return [Array<Symbol, PostForMe::Models::SocialPostListParams::Status>, nil]
39
45
  optional :status, -> { PostForMe::Internal::Type::ArrayOf[enum: PostForMe::SocialPostListParams::Status] }
40
46
 
41
- # @!method initialize(external_id: nil, limit: nil, offset: nil, platform: nil, status: nil, request_options: {})
47
+ # @!method initialize(external_id: nil, limit: nil, offset: nil, platform: nil, social_account_id: nil, status: nil, request_options: {})
42
48
  # @param external_id [Array<String>] Filter by external ID. Multiple values imply OR logic.
43
49
  #
44
50
  # @param limit [Float] Number of items to return
@@ -47,6 +53,8 @@ module PostForMe
47
53
  #
48
54
  # @param platform [Array<Symbol, PostForMe::Models::SocialPostListParams::Platform>] Filter by platforms. Multiple values imply OR logic.
49
55
  #
56
+ # @param social_account_id [Array<String>] Filter by social account ID. Multiple values imply OR logic.
57
+ #
50
58
  # @param status [Array<Symbol, PostForMe::Models::SocialPostListParams::Status>] Filter by post status. Multiple values imply OR logic.
51
59
  #
52
60
  # @param request_options [PostForMe::RequestOptions, Hash{Symbol=>Object}]
@@ -33,7 +33,14 @@ module PostForMe
33
33
  # @return [Array<String>, nil]
34
34
  optional :post_id, PostForMe::Internal::Type::ArrayOf[String]
35
35
 
36
- # @!method initialize(limit: nil, offset: nil, platform: nil, post_id: nil, request_options: {})
36
+ # @!attribute social_account_id
37
+ # Filter by social account ID(s). Multiple values imply OR logic (e.g.,
38
+ # ?social_account_id=123&social_account_id=456).
39
+ #
40
+ # @return [Array<String>, nil]
41
+ optional :social_account_id, PostForMe::Internal::Type::ArrayOf[String]
42
+
43
+ # @!method initialize(limit: nil, offset: nil, platform: nil, post_id: nil, social_account_id: nil, request_options: {})
37
44
  # Some parameter documentations has been truncated, see
38
45
  # {PostForMe::Models::SocialPostResultListParams} for more details.
39
46
  #
@@ -45,6 +52,8 @@ module PostForMe
45
52
  #
46
53
  # @param post_id [Array<String>] Filter by post IDs. Multiple values imply OR logic (e.g., ?post_id=123&post_id=4
47
54
  #
55
+ # @param social_account_id [Array<String>] Filter by social account ID(s). Multiple values imply OR logic (e.g., ?social_ac
56
+ #
48
57
  # @param request_options [PostForMe::RequestOptions, Hash{Symbol=>Object}]
49
58
  end
50
59
  end
@@ -9,6 +9,12 @@ module PostForMe
9
9
  # @return [Object, nil]
10
10
  optional :caption, PostForMe::Internal::Type::Unknown, nil?: true
11
11
 
12
+ # @!attribute made_for_kids
13
+ # If true will notify YouTube the video is intended for kids, defaults to false
14
+ #
15
+ # @return [Boolean, nil]
16
+ optional :made_for_kids, PostForMe::Internal::Type::Boolean, nil?: true
17
+
12
18
  # @!attribute media
13
19
  # Overrides the `media` from the post
14
20
  #
@@ -17,17 +23,27 @@ module PostForMe
17
23
  -> { PostForMe::Internal::Type::ArrayOf[PostForMe::YoutubeConfigurationDto::Media] },
18
24
  nil?: true
19
25
 
26
+ # @!attribute privacy_status
27
+ # Sets the privacy status of the video, will default to public
28
+ #
29
+ # @return [Symbol, PostForMe::Models::YoutubeConfigurationDto::PrivacyStatus, nil]
30
+ optional :privacy_status, enum: -> { PostForMe::YoutubeConfigurationDto::PrivacyStatus }, nil?: true
31
+
20
32
  # @!attribute title
21
33
  # Overrides the `title` from the post
22
34
  #
23
35
  # @return [String, nil]
24
36
  optional :title, String, nil?: true
25
37
 
26
- # @!method initialize(caption: nil, media: nil, title: nil)
38
+ # @!method initialize(caption: nil, made_for_kids: nil, media: nil, privacy_status: nil, title: nil)
27
39
  # @param caption [Object, nil] Overrides the `caption` from the post
28
40
  #
41
+ # @param made_for_kids [Boolean, nil] If true will notify YouTube the video is intended for kids, defaults to false
42
+ #
29
43
  # @param media [Array<PostForMe::Models::YoutubeConfigurationDto::Media>, nil] Overrides the `media` from the post
30
44
  #
45
+ # @param privacy_status [Symbol, PostForMe::Models::YoutubeConfigurationDto::PrivacyStatus, nil] Sets the privacy status of the video, will default to public
46
+ #
31
47
  # @param title [String, nil] Overrides the `title` from the post
32
48
 
33
49
  class Media < PostForMe::Internal::Type::BaseModel
@@ -142,6 +158,20 @@ module PostForMe
142
158
  end
143
159
  end
144
160
  end
161
+
162
+ # Sets the privacy status of the video, will default to public
163
+ #
164
+ # @see PostForMe::Models::YoutubeConfigurationDto#privacy_status
165
+ module PrivacyStatus
166
+ extend PostForMe::Internal::Type::Enum
167
+
168
+ PUBLIC = :public
169
+ PRIVATE = :private
170
+ UNLISTED = :unlisted
171
+
172
+ # @!method self.values
173
+ # @return [Array<Symbol>]
174
+ end
145
175
  end
146
176
  end
147
177
  end
@@ -55,6 +55,8 @@ module PostForMe
55
55
 
56
56
  PlatformConfigurationsDto = PostForMe::Models::PlatformConfigurationsDto
57
57
 
58
+ PlatformPost = PostForMe::Models::PlatformPost
59
+
58
60
  SocialAccount = PostForMe::Models::SocialAccount
59
61
 
60
62
  SocialAccountCreateAuthURLParams = PostForMe::Models::SocialAccountCreateAuthURLParams
@@ -63,6 +65,8 @@ module PostForMe
63
65
 
64
66
  SocialAccountDisconnectParams = PostForMe::Models::SocialAccountDisconnectParams
65
67
 
68
+ SocialAccountFeedListParams = PostForMe::Models::SocialAccountFeedListParams
69
+
66
70
  SocialAccountListParams = PostForMe::Models::SocialAccountListParams
67
71
 
68
72
  SocialAccountRetrieveParams = PostForMe::Models::SocialAccountRetrieveParams
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PostForMe
4
+ module Resources
5
+ class SocialAccountFeeds
6
+ # Some parameter documentations has been truncated, see
7
+ # {PostForMe::Models::SocialAccountFeedListParams} for more details.
8
+ #
9
+ # Get a paginated result for the social account based on the applied filters
10
+ #
11
+ # @overload list(social_account_id, cursor: nil, expand: nil, external_post_id: nil, limit: nil, platform_post_id: nil, social_post_id: nil, request_options: {})
12
+ #
13
+ # @param social_account_id [String] Social Account ID
14
+ #
15
+ # @param cursor [String] Cursor identifying next page of results
16
+ #
17
+ # @param expand [Array<Symbol, PostForMe::Models::SocialAccountFeedListParams::Expand>] Expand additional data in the response. Currently supports: "metrics" to include
18
+ #
19
+ # @param external_post_id [Array<String>] Filter by Post for Me Social Postexternal ID. Multiple values imply OR logic (e.
20
+ #
21
+ # @param limit [Float] Number of items to return; Note: some platforms will have different max limits,
22
+ #
23
+ # @param platform_post_id [Array<String>] Filter by the platform's id(s). Multiple values imply OR logic (e.g., ?social_po
24
+ #
25
+ # @param social_post_id [Array<String>] Filter by Post for Me Social Post id(s). Multiple values imply OR logic (e.g., ?
26
+ #
27
+ # @param request_options [PostForMe::RequestOptions, Hash{Symbol=>Object}, nil]
28
+ #
29
+ # @return [PostForMe::Models::SocialAccountFeedListResponse]
30
+ #
31
+ # @see PostForMe::Models::SocialAccountFeedListParams
32
+ def list(social_account_id, params = {})
33
+ parsed, options = PostForMe::SocialAccountFeedListParams.dump_request(params)
34
+ @client.request(
35
+ method: :get,
36
+ path: ["v1/social-account-feeds/%1$s", social_account_id],
37
+ query: parsed,
38
+ model: PostForMe::Models::SocialAccountFeedListResponse,
39
+ options: options
40
+ )
41
+ end
42
+
43
+ # @api private
44
+ #
45
+ # @param client [PostForMe::Client]
46
+ def initialize(client:)
47
+ @client = client
48
+ end
49
+ end
50
+ end
51
+ end
@@ -123,19 +123,26 @@ module PostForMe
123
123
  )
124
124
  end
125
125
 
126
+ # Some parameter documentations has been truncated, see
127
+ # {PostForMe::Models::SocialAccountCreateAuthURLParams} for more details.
128
+ #
126
129
  # Generates a URL that initiates the authentication flow for a user's social media
127
130
  # account. When visited, the user is redirected to the selected social platform's
128
131
  # login/authorization page. Upon successful authentication, they are redirected
129
132
  # back to your application
130
133
  #
131
- # @overload create_auth_url(platform:, external_id: nil, platform_data: nil, request_options: {})
134
+ # @overload create_auth_url(platform:, external_id: nil, permissions: nil, platform_data: nil, redirect_url_override: nil, request_options: {})
132
135
  #
133
136
  # @param platform [String] The social account provider
134
137
  #
135
138
  # @param external_id [String] Your unique identifier for the social account
136
139
  #
140
+ # @param permissions [Array<Symbol, PostForMe::Models::SocialAccountCreateAuthURLParams::Permission>] List of permissions you want to allow. Will default to only post permissions. Yo
141
+ #
137
142
  # @param platform_data [PostForMe::Models::SocialAccountCreateAuthURLParams::PlatformData] Additional data needed for the provider
138
143
  #
144
+ # @param redirect_url_override [String] Override the default redirect URL for the OAuth flow. If provided, this URL will
145
+ #
139
146
  # @param request_options [PostForMe::RequestOptions, Hash{Symbol=>Object}, nil]
140
147
  #
141
148
  # @return [PostForMe::Models::SocialAccountCreateAuthURLResponse]
@@ -28,7 +28,7 @@ module PostForMe
28
28
  #
29
29
  # Get a paginated result for post results based on the applied filters
30
30
  #
31
- # @overload list(limit: nil, offset: nil, platform: nil, post_id: nil, request_options: {})
31
+ # @overload list(limit: nil, offset: nil, platform: nil, post_id: nil, social_account_id: nil, request_options: {})
32
32
  #
33
33
  # @param limit [Float] Number of items to return
34
34
  #
@@ -38,6 +38,8 @@ module PostForMe
38
38
  #
39
39
  # @param post_id [Array<String>] Filter by post IDs. Multiple values imply OR logic (e.g., ?post_id=123&post_id=4
40
40
  #
41
+ # @param social_account_id [Array<String>] Filter by social account ID(s). Multiple values imply OR logic (e.g., ?social_ac
42
+ #
41
43
  # @param request_options [PostForMe::RequestOptions, Hash{Symbol=>Object}, nil]
42
44
  #
43
45
  # @return [PostForMe::Models::SocialPostResultListResponse]
@@ -105,7 +105,7 @@ module PostForMe
105
105
 
106
106
  # Get a paginated result for posts based on the applied filters
107
107
  #
108
- # @overload list(external_id: nil, limit: nil, offset: nil, platform: nil, status: nil, request_options: {})
108
+ # @overload list(external_id: nil, limit: nil, offset: nil, platform: nil, social_account_id: nil, status: nil, request_options: {})
109
109
  #
110
110
  # @param external_id [Array<String>] Filter by external ID. Multiple values imply OR logic.
111
111
  #
@@ -115,6 +115,8 @@ module PostForMe
115
115
  #
116
116
  # @param platform [Array<Symbol, PostForMe::Models::SocialPostListParams::Platform>] Filter by platforms. Multiple values imply OR logic.
117
117
  #
118
+ # @param social_account_id [Array<String>] Filter by social account ID. Multiple values imply OR logic.
119
+ #
118
120
  # @param status [Array<Symbol, PostForMe::Models::SocialPostListParams::Status>] Filter by post status. Multiple values imply OR logic.
119
121
  #
120
122
  # @param request_options [PostForMe::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PostForMe
4
- VERSION = "0.1.0.pre.alpha.10"
4
+ VERSION = "0.1.0.pre.alpha.12"
5
5
  end
data/lib/post_for_me.rb CHANGED
@@ -3,6 +3,7 @@
3
3
  # Standard libraries.
4
4
  # rubocop:disable Lint/RedundantRequireStatement
5
5
  require "English"
6
+ require "base64"
6
7
  require "cgi"
7
8
  require "date"
8
9
  require "erb"
@@ -60,12 +61,15 @@ require_relative "post_for_me/models/media_create_upload_url_params"
60
61
  require_relative "post_for_me/models/media_create_upload_url_response"
61
62
  require_relative "post_for_me/models/pinterest_configuration_dto"
62
63
  require_relative "post_for_me/models/platform_configurations_dto"
64
+ require_relative "post_for_me/models/platform_post"
63
65
  require_relative "post_for_me/models/social_account"
64
66
  require_relative "post_for_me/models/social_account_create_auth_url_params"
65
67
  require_relative "post_for_me/models/social_account_create_auth_url_response"
66
68
  require_relative "post_for_me/models/social_account_create_params"
67
69
  require_relative "post_for_me/models/social_account_disconnect_params"
68
70
  require_relative "post_for_me/models/social_account_disconnect_response"
71
+ require_relative "post_for_me/models/social_account_feed_list_params"
72
+ require_relative "post_for_me/models/social_account_feed_list_response"
69
73
  require_relative "post_for_me/models/social_account_list_params"
70
74
  require_relative "post_for_me/models/social_account_list_response"
71
75
  require_relative "post_for_me/models/social_account_retrieve_params"
@@ -88,6 +92,7 @@ require_relative "post_for_me/models/twitter_configuration_dto"
88
92
  require_relative "post_for_me/models/youtube_configuration_dto"
89
93
  require_relative "post_for_me/models"
90
94
  require_relative "post_for_me/resources/media"
95
+ require_relative "post_for_me/resources/social_account_feeds"
91
96
  require_relative "post_for_me/resources/social_accounts"
92
97
  require_relative "post_for_me/resources/social_post_results"
93
98
  require_relative "post_for_me/resources/social_posts"
data/manifest.yaml CHANGED
@@ -1,5 +1,6 @@
1
1
  dependencies:
2
2
  - English
3
+ - base64
3
4
  - cgi
4
5
  - date
5
6
  - erb
@@ -25,6 +25,9 @@ module PostForMe
25
25
  sig { returns(PostForMe::Resources::SocialAccounts) }
26
26
  attr_reader :social_accounts
27
27
 
28
+ sig { returns(PostForMe::Resources::SocialAccountFeeds) }
29
+ attr_reader :social_account_feeds
30
+
28
31
  # @api private
29
32
  sig { override.returns(T::Hash[String, String]) }
30
33
  private def auth_headers