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

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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -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/platform_post.rb +843 -0
  8. data/lib/post_for_me/models/social_account_create_auth_url_params.rb +245 -9
  9. data/lib/post_for_me/models/social_account_feed_list_params.rb +81 -0
  10. data/lib/post_for_me/models/social_account_feed_list_response.rb +58 -0
  11. data/lib/post_for_me/models.rb +4 -0
  12. data/lib/post_for_me/resources/social_account_feeds.rb +51 -0
  13. data/lib/post_for_me/resources/social_accounts.rb +8 -1
  14. data/lib/post_for_me/version.rb +1 -1
  15. data/lib/post_for_me.rb +5 -0
  16. data/manifest.yaml +1 -0
  17. data/rbi/post_for_me/client.rbi +3 -0
  18. data/rbi/post_for_me/models/platform_post.rbi +1287 -0
  19. data/rbi/post_for_me/models/social_account_create_auth_url_params.rbi +545 -15
  20. data/rbi/post_for_me/models/social_account_feed_list_params.rbi +157 -0
  21. data/rbi/post_for_me/models/social_account_feed_list_response.rbi +110 -0
  22. data/rbi/post_for_me/models.rbi +4 -0
  23. data/rbi/post_for_me/resources/social_account_feeds.rbi +51 -0
  24. data/rbi/post_for_me/resources/social_accounts.rbi +13 -0
  25. data/sig/post_for_me/client.rbs +2 -0
  26. data/sig/post_for_me/models/platform_post.rbs +660 -0
  27. data/sig/post_for_me/models/social_account_create_auth_url_params.rbs +193 -10
  28. data/sig/post_for_me/models/social_account_feed_list_params.rbs +75 -0
  29. data/sig/post_for_me/models/social_account_feed_list_response.rbs +54 -0
  30. data/sig/post_for_me/models.rbs +4 -0
  31. data/sig/post_for_me/resources/social_account_feeds.rbs +18 -0
  32. data/sig/post_for_me/resources/social_accounts.rbs +2 -0
  33. metadata +14 -2
@@ -25,6 +25,29 @@ module PostForMe
25
25
  sig { params(external_id: String).void }
26
26
  attr_writer :external_id
27
27
 
28
+ # List of permissions you want to allow. Will default to only post permissions.
29
+ # You must include the "feeds" permission to request an account feed and metrics
30
+ sig do
31
+ returns(
32
+ T.nilable(
33
+ T::Array[
34
+ PostForMe::SocialAccountCreateAuthURLParams::Permission::OrSymbol
35
+ ]
36
+ )
37
+ )
38
+ end
39
+ attr_reader :permissions
40
+
41
+ sig do
42
+ params(
43
+ permissions:
44
+ T::Array[
45
+ PostForMe::SocialAccountCreateAuthURLParams::Permission::OrSymbol
46
+ ]
47
+ ).void
48
+ end
49
+ attr_writer :permissions
50
+
28
51
  # Additional data needed for the provider
29
52
  sig do
30
53
  returns(
@@ -41,12 +64,27 @@ module PostForMe
41
64
  end
42
65
  attr_writer :platform_data
43
66
 
67
+ # Override the default redirect URL for the OAuth flow. If provided, this URL will
68
+ # be used instead of our redirect URL. Make sure this URL is included in your
69
+ # app's authorized redirect urls. This override will not work when using our
70
+ # system credientals.
71
+ sig { returns(T.nilable(String)) }
72
+ attr_reader :redirect_url_override
73
+
74
+ sig { params(redirect_url_override: String).void }
75
+ attr_writer :redirect_url_override
76
+
44
77
  sig do
45
78
  params(
46
79
  platform: String,
47
80
  external_id: String,
81
+ permissions:
82
+ T::Array[
83
+ PostForMe::SocialAccountCreateAuthURLParams::Permission::OrSymbol
84
+ ],
48
85
  platform_data:
49
86
  PostForMe::SocialAccountCreateAuthURLParams::PlatformData::OrHash,
87
+ redirect_url_override: String,
50
88
  request_options: PostForMe::RequestOptions::OrHash
51
89
  ).returns(T.attached_class)
52
90
  end
@@ -55,8 +93,16 @@ module PostForMe
55
93
  platform:,
56
94
  # Your unique identifier for the social account
57
95
  external_id: nil,
96
+ # List of permissions you want to allow. Will default to only post permissions.
97
+ # You must include the "feeds" permission to request an account feed and metrics
98
+ permissions: nil,
58
99
  # Additional data needed for the provider
59
100
  platform_data: nil,
101
+ # Override the default redirect URL for the OAuth flow. If provided, this URL will
102
+ # be used instead of our redirect URL. Make sure this URL is included in your
103
+ # app's authorized redirect urls. This override will not work when using our
104
+ # system credientals.
105
+ redirect_url_override: nil,
60
106
  request_options: {}
61
107
  )
62
108
  end
@@ -66,8 +112,13 @@ module PostForMe
66
112
  {
67
113
  platform: String,
68
114
  external_id: String,
115
+ permissions:
116
+ T::Array[
117
+ PostForMe::SocialAccountCreateAuthURLParams::Permission::OrSymbol
118
+ ],
69
119
  platform_data:
70
120
  PostForMe::SocialAccountCreateAuthURLParams::PlatformData,
121
+ redirect_url_override: String,
71
122
  request_options: PostForMe::RequestOptions
72
123
  }
73
124
  )
@@ -75,6 +126,40 @@ module PostForMe
75
126
  def to_hash
76
127
  end
77
128
 
129
+ module Permission
130
+ extend PostForMe::Internal::Type::Enum
131
+
132
+ TaggedSymbol =
133
+ T.type_alias do
134
+ T.all(
135
+ Symbol,
136
+ PostForMe::SocialAccountCreateAuthURLParams::Permission
137
+ )
138
+ end
139
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
140
+
141
+ POSTS =
142
+ T.let(
143
+ :posts,
144
+ PostForMe::SocialAccountCreateAuthURLParams::Permission::TaggedSymbol
145
+ )
146
+ FEEDS =
147
+ T.let(
148
+ :feeds,
149
+ PostForMe::SocialAccountCreateAuthURLParams::Permission::TaggedSymbol
150
+ )
151
+
152
+ sig do
153
+ override.returns(
154
+ T::Array[
155
+ PostForMe::SocialAccountCreateAuthURLParams::Permission::TaggedSymbol
156
+ ]
157
+ )
158
+ end
159
+ def self.values
160
+ end
161
+ end
162
+
78
163
  class PlatformData < PostForMe::Internal::Type::BaseModel
79
164
  OrHash =
80
165
  T.type_alias do
@@ -102,6 +187,24 @@ module PostForMe
102
187
  end
103
188
  attr_writer :bluesky
104
189
 
190
+ # Additional data for connecting facebook accounts
191
+ sig do
192
+ returns(
193
+ T.nilable(
194
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Facebook
195
+ )
196
+ )
197
+ end
198
+ attr_reader :facebook
199
+
200
+ sig do
201
+ params(
202
+ facebook:
203
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Facebook::OrHash
204
+ ).void
205
+ end
206
+ attr_writer :facebook
207
+
105
208
  # Additional data for connecting instagram accounts
106
209
  sig do
107
210
  returns(
@@ -138,24 +241,138 @@ module PostForMe
138
241
  end
139
242
  attr_writer :linkedin
140
243
 
244
+ # Additional data for connecting Pinterest accounts
245
+ sig do
246
+ returns(
247
+ T.nilable(
248
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Pinterest
249
+ )
250
+ )
251
+ end
252
+ attr_reader :pinterest
253
+
254
+ sig do
255
+ params(
256
+ pinterest:
257
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Pinterest::OrHash
258
+ ).void
259
+ end
260
+ attr_writer :pinterest
261
+
262
+ # Additional data for connecting Threads accounts
263
+ sig do
264
+ returns(
265
+ T.nilable(
266
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Threads
267
+ )
268
+ )
269
+ end
270
+ attr_reader :threads
271
+
272
+ sig do
273
+ params(
274
+ threads:
275
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Threads::OrHash
276
+ ).void
277
+ end
278
+ attr_writer :threads
279
+
280
+ # Additional data for connecting TikTok accounts
281
+ sig do
282
+ returns(
283
+ T.nilable(
284
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Tiktok
285
+ )
286
+ )
287
+ end
288
+ attr_reader :tiktok
289
+
290
+ sig do
291
+ params(
292
+ tiktok:
293
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Tiktok::OrHash
294
+ ).void
295
+ end
296
+ attr_writer :tiktok
297
+
298
+ # Additional data for connecting TikTok Business accounts
299
+ sig do
300
+ returns(
301
+ T.nilable(
302
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::TiktokBusiness
303
+ )
304
+ )
305
+ end
306
+ attr_reader :tiktok_business
307
+
308
+ sig do
309
+ params(
310
+ tiktok_business:
311
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::TiktokBusiness::OrHash
312
+ ).void
313
+ end
314
+ attr_writer :tiktok_business
315
+
316
+ # Additional data for connecting YouTube accounts
317
+ sig do
318
+ returns(
319
+ T.nilable(
320
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Youtube
321
+ )
322
+ )
323
+ end
324
+ attr_reader :youtube
325
+
326
+ sig do
327
+ params(
328
+ youtube:
329
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Youtube::OrHash
330
+ ).void
331
+ end
332
+ attr_writer :youtube
333
+
141
334
  # Additional data needed for the provider
142
335
  sig do
143
336
  params(
144
337
  bluesky:
145
338
  PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Bluesky::OrHash,
339
+ facebook:
340
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Facebook::OrHash,
146
341
  instagram:
147
342
  PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram::OrHash,
148
343
  linkedin:
149
- PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin::OrHash
344
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin::OrHash,
345
+ pinterest:
346
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Pinterest::OrHash,
347
+ threads:
348
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Threads::OrHash,
349
+ tiktok:
350
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Tiktok::OrHash,
351
+ tiktok_business:
352
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::TiktokBusiness::OrHash,
353
+ youtube:
354
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Youtube::OrHash
150
355
  ).returns(T.attached_class)
151
356
  end
152
357
  def self.new(
153
358
  # Additional data needed for connecting bluesky accounts
154
359
  bluesky: nil,
360
+ # Additional data for connecting facebook accounts
361
+ facebook: nil,
155
362
  # Additional data for connecting instagram accounts
156
363
  instagram: nil,
157
364
  # Additional data for connecting linkedin accounts
158
- linkedin: nil
365
+ linkedin: nil,
366
+ # Additional data for connecting Pinterest accounts
367
+ pinterest: nil,
368
+ # Additional data for connecting Threads accounts
369
+ threads: nil,
370
+ # Additional data for connecting TikTok accounts
371
+ tiktok: nil,
372
+ # Additional data for connecting TikTok Business accounts
373
+ tiktok_business: nil,
374
+ # Additional data for connecting YouTube accounts
375
+ youtube: nil
159
376
  )
160
377
  end
161
378
 
@@ -164,10 +381,22 @@ module PostForMe
164
381
  {
165
382
  bluesky:
166
383
  PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Bluesky,
384
+ facebook:
385
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Facebook,
167
386
  instagram:
168
387
  PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram,
169
388
  linkedin:
170
- PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin
389
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin,
390
+ pinterest:
391
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Pinterest,
392
+ threads:
393
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Threads,
394
+ tiktok:
395
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Tiktok,
396
+ tiktok_business:
397
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::TiktokBusiness,
398
+ youtube:
399
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Youtube
171
400
  }
172
401
  )
173
402
  end
@@ -210,6 +439,49 @@ module PostForMe
210
439
  end
211
440
  end
212
441
 
442
+ class Facebook < PostForMe::Internal::Type::BaseModel
443
+ OrHash =
444
+ T.type_alias do
445
+ T.any(
446
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Facebook,
447
+ PostForMe::Internal::AnyHash
448
+ )
449
+ end
450
+
451
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
452
+ # public_profile, pages_show_list, pages_read_engagement, pages_manage_posts,
453
+ # business_management
454
+ sig { returns(T.nilable(T::Array[T::Array[T.anything]])) }
455
+ attr_reader :permission_overrides
456
+
457
+ sig do
458
+ params(permission_overrides: T::Array[T::Array[T.anything]]).void
459
+ end
460
+ attr_writer :permission_overrides
461
+
462
+ # Additional data for connecting facebook accounts
463
+ sig do
464
+ params(
465
+ permission_overrides: T::Array[T::Array[T.anything]]
466
+ ).returns(T.attached_class)
467
+ end
468
+ def self.new(
469
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
470
+ # public_profile, pages_show_list, pages_read_engagement, pages_manage_posts,
471
+ # business_management
472
+ permission_overrides: nil
473
+ )
474
+ end
475
+
476
+ sig do
477
+ override.returns(
478
+ { permission_overrides: T::Array[T::Array[T.anything]] }
479
+ )
480
+ end
481
+ def to_hash
482
+ end
483
+ end
484
+
213
485
  class Instagram < PostForMe::Internal::Type::BaseModel
214
486
  OrHash =
215
487
  T.type_alias do
@@ -228,17 +500,35 @@ module PostForMe
228
500
  end
229
501
  attr_accessor :connection_type
230
502
 
503
+ # Override the default permissions/scopes requested during OAuth. Default
504
+ # instagram scopes: instagram_business_basic, instagram_business_content_publish.
505
+ # Default facebook scopes: instagram_basic, instagram_content_publish,
506
+ # pages_show_list, public_profile, business_management
507
+ sig { returns(T.nilable(T::Array[T::Array[T.anything]])) }
508
+ attr_reader :permission_overrides
509
+
510
+ sig do
511
+ params(permission_overrides: T::Array[T::Array[T.anything]]).void
512
+ end
513
+ attr_writer :permission_overrides
514
+
231
515
  # Additional data for connecting instagram accounts
232
516
  sig do
233
517
  params(
234
518
  connection_type:
235
- PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram::ConnectionType::OrSymbol
519
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram::ConnectionType::OrSymbol,
520
+ permission_overrides: T::Array[T::Array[T.anything]]
236
521
  ).returns(T.attached_class)
237
522
  end
238
523
  def self.new(
239
524
  # The type of connection; instagram for using login with instagram, facebook for
240
525
  # using login with facebook.
241
- connection_type:
526
+ connection_type:,
527
+ # Override the default permissions/scopes requested during OAuth. Default
528
+ # instagram scopes: instagram_business_basic, instagram_business_content_publish.
529
+ # Default facebook scopes: instagram_basic, instagram_content_publish,
530
+ # pages_show_list, public_profile, business_management
531
+ permission_overrides: nil
242
532
  )
243
533
  end
244
534
 
@@ -246,7 +536,8 @@ module PostForMe
246
536
  override.returns(
247
537
  {
248
538
  connection_type:
249
- PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram::ConnectionType::OrSymbol
539
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram::ConnectionType::OrSymbol,
540
+ permission_overrides: T::Array[T::Array[T.anything]]
250
541
  }
251
542
  )
252
543
  end
@@ -299,8 +590,9 @@ module PostForMe
299
590
  )
300
591
  end
301
592
 
302
- # The type of connection; personal for posting on behalf of the user only,
303
- # organization for posting on behalf of both an organization and the user
593
+ # The type of connection; If using our provided credentials always use
594
+ # "organization". If using your own crednetials then only use "organization" if
595
+ # you are using the Community API
304
596
  sig do
305
597
  returns(
306
598
  PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin::ConnectionType::OrSymbol
@@ -308,17 +600,36 @@ module PostForMe
308
600
  end
309
601
  attr_accessor :connection_type
310
602
 
603
+ # Override the default permissions/scopes requested during OAuth. Default personal
604
+ # scopes: openid, w_member_social, profile, email. Default organization scopes:
605
+ # r_basicprofile, w_member_social, r_organization_social, w_organization_social,
606
+ # rw_organization_admin
607
+ sig { returns(T.nilable(T::Array[T::Array[T.anything]])) }
608
+ attr_reader :permission_overrides
609
+
610
+ sig do
611
+ params(permission_overrides: T::Array[T::Array[T.anything]]).void
612
+ end
613
+ attr_writer :permission_overrides
614
+
311
615
  # Additional data for connecting linkedin accounts
312
616
  sig do
313
617
  params(
314
618
  connection_type:
315
- PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin::ConnectionType::OrSymbol
619
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin::ConnectionType::OrSymbol,
620
+ permission_overrides: T::Array[T::Array[T.anything]]
316
621
  ).returns(T.attached_class)
317
622
  end
318
623
  def self.new(
319
- # The type of connection; personal for posting on behalf of the user only,
320
- # organization for posting on behalf of both an organization and the user
321
- connection_type:
624
+ # The type of connection; If using our provided credentials always use
625
+ # "organization". If using your own crednetials then only use "organization" if
626
+ # you are using the Community API
627
+ connection_type:,
628
+ # Override the default permissions/scopes requested during OAuth. Default personal
629
+ # scopes: openid, w_member_social, profile, email. Default organization scopes:
630
+ # r_basicprofile, w_member_social, r_organization_social, w_organization_social,
631
+ # rw_organization_admin
632
+ permission_overrides: nil
322
633
  )
323
634
  end
324
635
 
@@ -326,15 +637,17 @@ module PostForMe
326
637
  override.returns(
327
638
  {
328
639
  connection_type:
329
- PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin::ConnectionType::OrSymbol
640
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin::ConnectionType::OrSymbol,
641
+ permission_overrides: T::Array[T::Array[T.anything]]
330
642
  }
331
643
  )
332
644
  end
333
645
  def to_hash
334
646
  end
335
647
 
336
- # The type of connection; personal for posting on behalf of the user only,
337
- # organization for posting on behalf of both an organization and the user
648
+ # The type of connection; If using our provided credentials always use
649
+ # "organization". If using your own crednetials then only use "organization" if
650
+ # you are using the Community API
338
651
  module ConnectionType
339
652
  extend PostForMe::Internal::Type::Enum
340
653
 
@@ -369,6 +682,223 @@ module PostForMe
369
682
  end
370
683
  end
371
684
  end
685
+
686
+ class Pinterest < PostForMe::Internal::Type::BaseModel
687
+ OrHash =
688
+ T.type_alias do
689
+ T.any(
690
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Pinterest,
691
+ PostForMe::Internal::AnyHash
692
+ )
693
+ end
694
+
695
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
696
+ # boards:read, boards:write, pins:read, pins:write, user_accounts:read
697
+ sig { returns(T.nilable(T::Array[T::Array[T.anything]])) }
698
+ attr_reader :permission_overrides
699
+
700
+ sig do
701
+ params(permission_overrides: T::Array[T::Array[T.anything]]).void
702
+ end
703
+ attr_writer :permission_overrides
704
+
705
+ # Additional data for connecting Pinterest accounts
706
+ sig do
707
+ params(
708
+ permission_overrides: T::Array[T::Array[T.anything]]
709
+ ).returns(T.attached_class)
710
+ end
711
+ def self.new(
712
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
713
+ # boards:read, boards:write, pins:read, pins:write, user_accounts:read
714
+ permission_overrides: nil
715
+ )
716
+ end
717
+
718
+ sig do
719
+ override.returns(
720
+ { permission_overrides: T::Array[T::Array[T.anything]] }
721
+ )
722
+ end
723
+ def to_hash
724
+ end
725
+ end
726
+
727
+ class Threads < PostForMe::Internal::Type::BaseModel
728
+ OrHash =
729
+ T.type_alias do
730
+ T.any(
731
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Threads,
732
+ PostForMe::Internal::AnyHash
733
+ )
734
+ end
735
+
736
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
737
+ # threads_basic, threads_content_publish
738
+ sig { returns(T.nilable(T::Array[T::Array[T.anything]])) }
739
+ attr_reader :permission_overrides
740
+
741
+ sig do
742
+ params(permission_overrides: T::Array[T::Array[T.anything]]).void
743
+ end
744
+ attr_writer :permission_overrides
745
+
746
+ # Additional data for connecting Threads accounts
747
+ sig do
748
+ params(
749
+ permission_overrides: T::Array[T::Array[T.anything]]
750
+ ).returns(T.attached_class)
751
+ end
752
+ def self.new(
753
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
754
+ # threads_basic, threads_content_publish
755
+ permission_overrides: nil
756
+ )
757
+ end
758
+
759
+ sig do
760
+ override.returns(
761
+ { permission_overrides: T::Array[T::Array[T.anything]] }
762
+ )
763
+ end
764
+ def to_hash
765
+ end
766
+ end
767
+
768
+ class Tiktok < PostForMe::Internal::Type::BaseModel
769
+ OrHash =
770
+ T.type_alias do
771
+ T.any(
772
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Tiktok,
773
+ PostForMe::Internal::AnyHash
774
+ )
775
+ end
776
+
777
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
778
+ # user.info.basic, video.list, video.upload, video.publish
779
+ sig { returns(T.nilable(T::Array[T::Array[T.anything]])) }
780
+ attr_reader :permission_overrides
781
+
782
+ sig do
783
+ params(permission_overrides: T::Array[T::Array[T.anything]]).void
784
+ end
785
+ attr_writer :permission_overrides
786
+
787
+ # Additional data for connecting TikTok accounts
788
+ sig do
789
+ params(
790
+ permission_overrides: T::Array[T::Array[T.anything]]
791
+ ).returns(T.attached_class)
792
+ end
793
+ def self.new(
794
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
795
+ # user.info.basic, video.list, video.upload, video.publish
796
+ permission_overrides: nil
797
+ )
798
+ end
799
+
800
+ sig do
801
+ override.returns(
802
+ { permission_overrides: T::Array[T::Array[T.anything]] }
803
+ )
804
+ end
805
+ def to_hash
806
+ end
807
+ end
808
+
809
+ class TiktokBusiness < PostForMe::Internal::Type::BaseModel
810
+ OrHash =
811
+ T.type_alias do
812
+ T.any(
813
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::TiktokBusiness,
814
+ PostForMe::Internal::AnyHash
815
+ )
816
+ end
817
+
818
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
819
+ # user.info.basic, user.info.username, user.info.stats, user.info.profile,
820
+ # user.account.type, user.insights, video.list, video.insights, comment.list,
821
+ # comment.list.manage, video.publish, video.upload, biz.spark.auth,
822
+ # discovery.search.words
823
+ sig { returns(T.nilable(T::Array[T::Array[T.anything]])) }
824
+ attr_reader :permission_overrides
825
+
826
+ sig do
827
+ params(permission_overrides: T::Array[T::Array[T.anything]]).void
828
+ end
829
+ attr_writer :permission_overrides
830
+
831
+ # Additional data for connecting TikTok Business accounts
832
+ sig do
833
+ params(
834
+ permission_overrides: T::Array[T::Array[T.anything]]
835
+ ).returns(T.attached_class)
836
+ end
837
+ def self.new(
838
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
839
+ # user.info.basic, user.info.username, user.info.stats, user.info.profile,
840
+ # user.account.type, user.insights, video.list, video.insights, comment.list,
841
+ # comment.list.manage, video.publish, video.upload, biz.spark.auth,
842
+ # discovery.search.words
843
+ permission_overrides: nil
844
+ )
845
+ end
846
+
847
+ sig do
848
+ override.returns(
849
+ { permission_overrides: T::Array[T::Array[T.anything]] }
850
+ )
851
+ end
852
+ def to_hash
853
+ end
854
+ end
855
+
856
+ class Youtube < PostForMe::Internal::Type::BaseModel
857
+ OrHash =
858
+ T.type_alias do
859
+ T.any(
860
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Youtube,
861
+ PostForMe::Internal::AnyHash
862
+ )
863
+ end
864
+
865
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
866
+ # https://www.googleapis.com/auth/youtube.force-ssl,
867
+ # https://www.googleapis.com/auth/youtube.upload,
868
+ # https://www.googleapis.com/auth/youtube.readonly,
869
+ # https://www.googleapis.com/auth/userinfo.profile
870
+ sig { returns(T.nilable(T::Array[T::Array[T.anything]])) }
871
+ attr_reader :permission_overrides
872
+
873
+ sig do
874
+ params(permission_overrides: T::Array[T::Array[T.anything]]).void
875
+ end
876
+ attr_writer :permission_overrides
877
+
878
+ # Additional data for connecting YouTube accounts
879
+ sig do
880
+ params(
881
+ permission_overrides: T::Array[T::Array[T.anything]]
882
+ ).returns(T.attached_class)
883
+ end
884
+ def self.new(
885
+ # Override the default permissions/scopes requested during OAuth. Default scopes:
886
+ # https://www.googleapis.com/auth/youtube.force-ssl,
887
+ # https://www.googleapis.com/auth/youtube.upload,
888
+ # https://www.googleapis.com/auth/youtube.readonly,
889
+ # https://www.googleapis.com/auth/userinfo.profile
890
+ permission_overrides: nil
891
+ )
892
+ end
893
+
894
+ sig do
895
+ override.returns(
896
+ { permission_overrides: T::Array[T::Array[T.anything]] }
897
+ )
898
+ end
899
+ def to_hash
900
+ end
901
+ end
372
902
  end
373
903
  end
374
904
  end