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

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +1 -1
  4. data/lib/post_for_me/errors.rb +25 -11
  5. data/lib/post_for_me/file_part.rb +10 -7
  6. data/lib/post_for_me/internal/transport/base_client.rb +18 -8
  7. data/lib/post_for_me/internal/transport/pooled_net_requester.rb +40 -33
  8. data/lib/post_for_me/internal/type/base_page.rb +1 -1
  9. data/lib/post_for_me/internal/type/file_input.rb +7 -4
  10. data/lib/post_for_me/internal/util.rb +8 -7
  11. data/lib/post_for_me/models/bluesky_configuration_dto.rb +87 -1
  12. data/lib/post_for_me/models/create_social_post.rb +221 -2
  13. data/lib/post_for_me/models/facebook_configuration_dto.rb +106 -2
  14. data/lib/post_for_me/models/instagram_configuration_dto.rb +104 -2
  15. data/lib/post_for_me/models/linkedin_configuration_dto.rb +87 -1
  16. data/lib/post_for_me/models/pinterest_configuration_dto.rb +87 -1
  17. data/lib/post_for_me/models/social_account.rb +9 -1
  18. data/lib/post_for_me/models/social_account_create_auth_url_params.rb +43 -1
  19. data/lib/post_for_me/models/social_account_disconnect_response.rb +9 -1
  20. data/lib/post_for_me/models/social_post.rb +221 -2
  21. data/lib/post_for_me/models/threads_configuration_dto.rb +87 -1
  22. data/lib/post_for_me/models/tiktok_configuration.rb +96 -2
  23. data/lib/post_for_me/models/twitter_configuration_dto.rb +180 -2
  24. data/lib/post_for_me/models/youtube_configuration_dto.rb +87 -1
  25. data/lib/post_for_me/version.rb +1 -1
  26. data/lib/post_for_me.rb +1 -0
  27. data/manifest.yaml +1 -0
  28. data/rbi/post_for_me/errors.rbi +29 -2
  29. data/rbi/post_for_me/file_part.rbi +1 -1
  30. data/rbi/post_for_me/internal/transport/base_client.rbi +9 -5
  31. data/rbi/post_for_me/internal/transport/pooled_net_requester.rbi +6 -2
  32. data/rbi/post_for_me/internal/type/base_model.rbi +8 -4
  33. data/rbi/post_for_me/internal/type/base_page.rbi +1 -1
  34. data/rbi/post_for_me/internal/util.rbi +1 -1
  35. data/rbi/post_for_me/models/bluesky_configuration_dto.rbi +180 -0
  36. data/rbi/post_for_me/models/create_social_post.rbi +424 -0
  37. data/rbi/post_for_me/models/facebook_configuration_dto.rbi +198 -0
  38. data/rbi/post_for_me/models/instagram_configuration_dto.rbi +205 -3
  39. data/rbi/post_for_me/models/linkedin_configuration_dto.rbi +182 -0
  40. data/rbi/post_for_me/models/pinterest_configuration_dto.rbi +184 -0
  41. data/rbi/post_for_me/models/social_account.rbi +8 -0
  42. data/rbi/post_for_me/models/social_account_create_auth_url_params.rbi +104 -0
  43. data/rbi/post_for_me/models/social_account_disconnect_response.rbi +8 -0
  44. data/rbi/post_for_me/models/social_post.rbi +414 -0
  45. data/rbi/post_for_me/models/threads_configuration_dto.rbi +180 -0
  46. data/rbi/post_for_me/models/tiktok_configuration.rbi +180 -0
  47. data/rbi/post_for_me/models/twitter_configuration_dto.rbi +390 -2
  48. data/rbi/post_for_me/models/youtube_configuration_dto.rbi +180 -0
  49. data/sig/post_for_me/errors.rbs +7 -0
  50. data/sig/post_for_me/file_part.rbs +1 -1
  51. data/sig/post_for_me/internal/transport/base_client.rbs +2 -0
  52. data/sig/post_for_me/internal/transport/pooled_net_requester.rbs +4 -1
  53. data/sig/post_for_me/models/bluesky_configuration_dto.rbs +73 -1
  54. data/sig/post_for_me/models/create_social_post.rbs +180 -1
  55. data/sig/post_for_me/models/facebook_configuration_dto.rbs +83 -1
  56. data/sig/post_for_me/models/instagram_configuration_dto.rbs +86 -4
  57. data/sig/post_for_me/models/linkedin_configuration_dto.rbs +73 -1
  58. data/sig/post_for_me/models/pinterest_configuration_dto.rbs +73 -1
  59. data/sig/post_for_me/models/social_account.rbs +5 -0
  60. data/sig/post_for_me/models/social_account_create_auth_url_params.rbs +37 -0
  61. data/sig/post_for_me/models/social_account_disconnect_response.rbs +5 -0
  62. data/sig/post_for_me/models/social_post.rbs +180 -1
  63. data/sig/post_for_me/models/threads_configuration_dto.rbs +73 -1
  64. data/sig/post_for_me/models/tiktok_configuration.rbs +78 -1
  65. data/sig/post_for_me/models/twitter_configuration_dto.rbs +163 -4
  66. data/sig/post_for_me/models/youtube_configuration_dto.rbs +73 -1
  67. metadata +2 -2
@@ -22,26 +22,98 @@ module PostForMe
22
22
  }
23
23
 
24
24
  type media =
25
- { url: String, thumbnail_timestamp_ms: top?, thumbnail_url: top? }
25
+ {
26
+ url: String,
27
+ tags: ::Array[PostForMe::LinkedinConfigurationDto::Media::Tag]?,
28
+ thumbnail_timestamp_ms: top?,
29
+ thumbnail_url: top?
30
+ }
26
31
 
27
32
  class Media < PostForMe::Internal::Type::BaseModel
28
33
  attr_accessor url: String
29
34
 
35
+ attr_accessor tags: ::Array[PostForMe::LinkedinConfigurationDto::Media::Tag]?
36
+
30
37
  attr_accessor thumbnail_timestamp_ms: top?
31
38
 
32
39
  attr_accessor thumbnail_url: top?
33
40
 
34
41
  def initialize: (
35
42
  url: String,
43
+ ?tags: ::Array[PostForMe::LinkedinConfigurationDto::Media::Tag]?,
36
44
  ?thumbnail_timestamp_ms: top?,
37
45
  ?thumbnail_url: top?
38
46
  ) -> void
39
47
 
40
48
  def to_hash: -> {
41
49
  url: String,
50
+ tags: ::Array[PostForMe::LinkedinConfigurationDto::Media::Tag]?,
42
51
  thumbnail_timestamp_ms: top?,
43
52
  thumbnail_url: top?
44
53
  }
54
+
55
+ type tag =
56
+ {
57
+ id: String,
58
+ platform: PostForMe::Models::LinkedinConfigurationDto::Media::Tag::platform,
59
+ type: PostForMe::Models::LinkedinConfigurationDto::Media::Tag::type_,
60
+ x: Float,
61
+ y_: Float
62
+ }
63
+
64
+ class Tag < PostForMe::Internal::Type::BaseModel
65
+ attr_accessor id: String
66
+
67
+ attr_accessor platform: PostForMe::Models::LinkedinConfigurationDto::Media::Tag::platform
68
+
69
+ attr_accessor type: PostForMe::Models::LinkedinConfigurationDto::Media::Tag::type_
70
+
71
+ attr_reader x: Float?
72
+
73
+ def x=: (Float) -> Float
74
+
75
+ attr_reader y_: Float?
76
+
77
+ def y_=: (Float) -> Float
78
+
79
+ def initialize: (
80
+ id: String,
81
+ platform: PostForMe::Models::LinkedinConfigurationDto::Media::Tag::platform,
82
+ type: PostForMe::Models::LinkedinConfigurationDto::Media::Tag::type_,
83
+ ?x: Float,
84
+ ?y_: Float
85
+ ) -> void
86
+
87
+ def to_hash: -> {
88
+ id: String,
89
+ platform: PostForMe::Models::LinkedinConfigurationDto::Media::Tag::platform,
90
+ type: PostForMe::Models::LinkedinConfigurationDto::Media::Tag::type_,
91
+ x: Float,
92
+ y_: Float
93
+ }
94
+
95
+ type platform = :facebook | :instagram
96
+
97
+ module Platform
98
+ extend PostForMe::Internal::Type::Enum
99
+
100
+ FACEBOOK: :facebook
101
+ INSTAGRAM: :instagram
102
+
103
+ def self?.values: -> ::Array[PostForMe::Models::LinkedinConfigurationDto::Media::Tag::platform]
104
+ end
105
+
106
+ type type_ = :user | :product
107
+
108
+ module Type
109
+ extend PostForMe::Internal::Type::Enum
110
+
111
+ USER: :user
112
+ PRODUCT: :product
113
+
114
+ def self?.values: -> ::Array[PostForMe::Models::LinkedinConfigurationDto::Media::Tag::type_]
115
+ end
116
+ end
45
117
  end
46
118
  end
47
119
  end
@@ -32,26 +32,98 @@ module PostForMe
32
32
  }
33
33
 
34
34
  type media =
35
- { url: String, thumbnail_timestamp_ms: top?, thumbnail_url: top? }
35
+ {
36
+ url: String,
37
+ tags: ::Array[PostForMe::PinterestConfigurationDto::Media::Tag]?,
38
+ thumbnail_timestamp_ms: top?,
39
+ thumbnail_url: top?
40
+ }
36
41
 
37
42
  class Media < PostForMe::Internal::Type::BaseModel
38
43
  attr_accessor url: String
39
44
 
45
+ attr_accessor tags: ::Array[PostForMe::PinterestConfigurationDto::Media::Tag]?
46
+
40
47
  attr_accessor thumbnail_timestamp_ms: top?
41
48
 
42
49
  attr_accessor thumbnail_url: top?
43
50
 
44
51
  def initialize: (
45
52
  url: String,
53
+ ?tags: ::Array[PostForMe::PinterestConfigurationDto::Media::Tag]?,
46
54
  ?thumbnail_timestamp_ms: top?,
47
55
  ?thumbnail_url: top?
48
56
  ) -> void
49
57
 
50
58
  def to_hash: -> {
51
59
  url: String,
60
+ tags: ::Array[PostForMe::PinterestConfigurationDto::Media::Tag]?,
52
61
  thumbnail_timestamp_ms: top?,
53
62
  thumbnail_url: top?
54
63
  }
64
+
65
+ type tag =
66
+ {
67
+ id: String,
68
+ platform: PostForMe::Models::PinterestConfigurationDto::Media::Tag::platform,
69
+ type: PostForMe::Models::PinterestConfigurationDto::Media::Tag::type_,
70
+ x: Float,
71
+ y_: Float
72
+ }
73
+
74
+ class Tag < PostForMe::Internal::Type::BaseModel
75
+ attr_accessor id: String
76
+
77
+ attr_accessor platform: PostForMe::Models::PinterestConfigurationDto::Media::Tag::platform
78
+
79
+ attr_accessor type: PostForMe::Models::PinterestConfigurationDto::Media::Tag::type_
80
+
81
+ attr_reader x: Float?
82
+
83
+ def x=: (Float) -> Float
84
+
85
+ attr_reader y_: Float?
86
+
87
+ def y_=: (Float) -> Float
88
+
89
+ def initialize: (
90
+ id: String,
91
+ platform: PostForMe::Models::PinterestConfigurationDto::Media::Tag::platform,
92
+ type: PostForMe::Models::PinterestConfigurationDto::Media::Tag::type_,
93
+ ?x: Float,
94
+ ?y_: Float
95
+ ) -> void
96
+
97
+ def to_hash: -> {
98
+ id: String,
99
+ platform: PostForMe::Models::PinterestConfigurationDto::Media::Tag::platform,
100
+ type: PostForMe::Models::PinterestConfigurationDto::Media::Tag::type_,
101
+ x: Float,
102
+ y_: Float
103
+ }
104
+
105
+ type platform = :facebook | :instagram
106
+
107
+ module Platform
108
+ extend PostForMe::Internal::Type::Enum
109
+
110
+ FACEBOOK: :facebook
111
+ INSTAGRAM: :instagram
112
+
113
+ def self?.values: -> ::Array[PostForMe::Models::PinterestConfigurationDto::Media::Tag::platform]
114
+ end
115
+
116
+ type type_ = :user | :product
117
+
118
+ module Type
119
+ extend PostForMe::Internal::Type::Enum
120
+
121
+ USER: :user
122
+ PRODUCT: :product
123
+
124
+ def self?.values: -> ::Array[PostForMe::Models::PinterestConfigurationDto::Media::Tag::type_]
125
+ end
126
+ end
55
127
  end
56
128
  end
57
129
  end
@@ -8,6 +8,7 @@ module PostForMe
8
8
  external_id: String?,
9
9
  metadata: top?,
10
10
  platform: String,
11
+ profile_photo_url: String?,
11
12
  refresh_token: String?,
12
13
  refresh_token_expires_at: Time?,
13
14
  status: PostForMe::Models::SocialAccount::status,
@@ -28,6 +29,8 @@ module PostForMe
28
29
 
29
30
  attr_accessor platform: String
30
31
 
32
+ attr_accessor profile_photo_url: String?
33
+
31
34
  attr_accessor refresh_token: String?
32
35
 
33
36
  attr_accessor refresh_token_expires_at: Time?
@@ -45,6 +48,7 @@ module PostForMe
45
48
  external_id: String?,
46
49
  metadata: top?,
47
50
  platform: String,
51
+ profile_photo_url: String?,
48
52
  refresh_token: String?,
49
53
  refresh_token_expires_at: Time?,
50
54
  status: PostForMe::Models::SocialAccount::status,
@@ -59,6 +63,7 @@ module PostForMe
59
63
  external_id: String?,
60
64
  metadata: top?,
61
65
  platform: String,
66
+ profile_photo_url: String?,
62
67
  refresh_token: String?,
63
68
  refresh_token_expires_at: Time?,
64
69
  status: PostForMe::Models::SocialAccount::status,
@@ -41,6 +41,7 @@ module PostForMe
41
41
  type platform_data =
42
42
  {
43
43
  bluesky: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Bluesky,
44
+ instagram: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram,
44
45
  linkedin: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin
45
46
  }
46
47
 
@@ -51,6 +52,12 @@ module PostForMe
51
52
  PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Bluesky
52
53
  ) -> PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Bluesky
53
54
 
55
+ attr_reader instagram: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram?
56
+
57
+ def instagram=: (
58
+ PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram
59
+ ) -> PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram
60
+
54
61
  attr_reader linkedin: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin?
55
62
 
56
63
  def linkedin=: (
@@ -59,11 +66,13 @@ module PostForMe
59
66
 
60
67
  def initialize: (
61
68
  ?bluesky: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Bluesky,
69
+ ?instagram: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram,
62
70
  ?linkedin: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin
63
71
  ) -> void
64
72
 
65
73
  def to_hash: -> {
66
74
  bluesky: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Bluesky,
75
+ instagram: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Instagram,
67
76
  linkedin: PostForMe::SocialAccountCreateAuthURLParams::PlatformData::Linkedin
68
77
  }
69
78
 
@@ -79,6 +88,34 @@ module PostForMe
79
88
  def to_hash: -> { app_password: String, handle: String }
80
89
  end
81
90
 
91
+ type instagram =
92
+ {
93
+ connection_type: PostForMe::Models::SocialAccountCreateAuthURLParams::PlatformData::Instagram::connection_type
94
+ }
95
+
96
+ class Instagram < PostForMe::Internal::Type::BaseModel
97
+ attr_accessor connection_type: PostForMe::Models::SocialAccountCreateAuthURLParams::PlatformData::Instagram::connection_type
98
+
99
+ def initialize: (
100
+ connection_type: PostForMe::Models::SocialAccountCreateAuthURLParams::PlatformData::Instagram::connection_type
101
+ ) -> void
102
+
103
+ def to_hash: -> {
104
+ connection_type: PostForMe::Models::SocialAccountCreateAuthURLParams::PlatformData::Instagram::connection_type
105
+ }
106
+
107
+ type connection_type = :instagram | :facebook
108
+
109
+ module ConnectionType
110
+ extend PostForMe::Internal::Type::Enum
111
+
112
+ INSTAGRAM: :instagram
113
+ FACEBOOK: :facebook
114
+
115
+ def self?.values: -> ::Array[PostForMe::Models::SocialAccountCreateAuthURLParams::PlatformData::Instagram::connection_type]
116
+ end
117
+ end
118
+
82
119
  type linkedin =
83
120
  {
84
121
  connection_type: PostForMe::Models::SocialAccountCreateAuthURLParams::PlatformData::Linkedin::connection_type
@@ -8,6 +8,7 @@ module PostForMe
8
8
  external_id: String?,
9
9
  metadata: top?,
10
10
  platform: String,
11
+ profile_photo_url: String?,
11
12
  refresh_token: String?,
12
13
  refresh_token_expires_at: Time?,
13
14
  status: PostForMe::Models::SocialAccountDisconnectResponse::status,
@@ -28,6 +29,8 @@ module PostForMe
28
29
 
29
30
  attr_accessor platform: String
30
31
 
32
+ attr_accessor profile_photo_url: String?
33
+
31
34
  attr_accessor refresh_token: String?
32
35
 
33
36
  attr_accessor refresh_token_expires_at: Time?
@@ -45,6 +48,7 @@ module PostForMe
45
48
  external_id: String?,
46
49
  metadata: top?,
47
50
  platform: String,
51
+ profile_photo_url: String?,
48
52
  refresh_token: String?,
49
53
  refresh_token_expires_at: Time?,
50
54
  status: PostForMe::Models::SocialAccountDisconnectResponse::status,
@@ -59,6 +63,7 @@ module PostForMe
59
63
  external_id: String?,
60
64
  metadata: top?,
61
65
  platform: String,
66
+ profile_photo_url: String?,
62
67
  refresh_token: String?,
63
68
  refresh_token_expires_at: Time?,
64
69
  status: PostForMe::Models::SocialAccountDisconnectResponse::status,
@@ -92,16 +92,24 @@ module PostForMe
92
92
  allow_comment: bool?,
93
93
  allow_duet: bool?,
94
94
  allow_stitch: bool?,
95
+ auto_add_music: bool?,
95
96
  board_ids: ::Array[String]?,
96
97
  caption: top?,
98
+ collaborators: ::Array[::Array[top]]?,
99
+ community_id: String,
97
100
  disclose_branded_content: bool?,
98
101
  disclose_your_brand: bool?,
99
102
  is_ai_generated: bool?,
100
103
  is_draft: bool?,
101
104
  link: String?,
105
+ location: String?,
102
106
  media: ::Array[String]?,
103
107
  placement: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::placement?,
108
+ poll: PostForMe::SocialPost::AccountConfiguration::Configuration::Poll,
104
109
  privacy_status: String?,
110
+ quote_tweet_id: String,
111
+ reply_settings: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::reply_settings?,
112
+ share_to_feed: bool?,
105
113
  title: String?
106
114
  }
107
115
 
@@ -112,10 +120,18 @@ module PostForMe
112
120
 
113
121
  attr_accessor allow_stitch: bool?
114
122
 
123
+ attr_accessor auto_add_music: bool?
124
+
115
125
  attr_accessor board_ids: ::Array[String]?
116
126
 
117
127
  attr_accessor caption: top?
118
128
 
129
+ attr_accessor collaborators: ::Array[::Array[top]]?
130
+
131
+ attr_reader community_id: String?
132
+
133
+ def community_id=: (String) -> String
134
+
119
135
  attr_accessor disclose_branded_content: bool?
120
136
 
121
137
  attr_accessor disclose_your_brand: bool?
@@ -126,28 +142,52 @@ module PostForMe
126
142
 
127
143
  attr_accessor link: String?
128
144
 
145
+ attr_accessor location: String?
146
+
129
147
  attr_accessor media: ::Array[String]?
130
148
 
131
149
  attr_accessor placement: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::placement?
132
150
 
151
+ attr_reader poll: PostForMe::SocialPost::AccountConfiguration::Configuration::Poll?
152
+
153
+ def poll=: (
154
+ PostForMe::SocialPost::AccountConfiguration::Configuration::Poll
155
+ ) -> PostForMe::SocialPost::AccountConfiguration::Configuration::Poll
156
+
133
157
  attr_accessor privacy_status: String?
134
158
 
159
+ attr_reader quote_tweet_id: String?
160
+
161
+ def quote_tweet_id=: (String) -> String
162
+
163
+ attr_accessor reply_settings: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::reply_settings?
164
+
165
+ attr_accessor share_to_feed: bool?
166
+
135
167
  attr_accessor title: String?
136
168
 
137
169
  def initialize: (
138
170
  ?allow_comment: bool?,
139
171
  ?allow_duet: bool?,
140
172
  ?allow_stitch: bool?,
173
+ ?auto_add_music: bool?,
141
174
  ?board_ids: ::Array[String]?,
142
175
  ?caption: top?,
176
+ ?collaborators: ::Array[::Array[top]]?,
177
+ ?community_id: String,
143
178
  ?disclose_branded_content: bool?,
144
179
  ?disclose_your_brand: bool?,
145
180
  ?is_ai_generated: bool?,
146
181
  ?is_draft: bool?,
147
182
  ?link: String?,
183
+ ?location: String?,
148
184
  ?media: ::Array[String]?,
149
185
  ?placement: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::placement?,
186
+ ?poll: PostForMe::SocialPost::AccountConfiguration::Configuration::Poll,
150
187
  ?privacy_status: String?,
188
+ ?quote_tweet_id: String,
189
+ ?reply_settings: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::reply_settings?,
190
+ ?share_to_feed: bool?,
151
191
  ?title: String?
152
192
  ) -> void
153
193
 
@@ -155,16 +195,24 @@ module PostForMe
155
195
  allow_comment: bool?,
156
196
  allow_duet: bool?,
157
197
  allow_stitch: bool?,
198
+ auto_add_music: bool?,
158
199
  board_ids: ::Array[String]?,
159
200
  caption: top?,
201
+ collaborators: ::Array[::Array[top]]?,
202
+ community_id: String,
160
203
  disclose_branded_content: bool?,
161
204
  disclose_your_brand: bool?,
162
205
  is_ai_generated: bool?,
163
206
  is_draft: bool?,
164
207
  link: String?,
208
+ location: String?,
165
209
  media: ::Array[String]?,
166
210
  placement: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::placement?,
211
+ poll: PostForMe::SocialPost::AccountConfiguration::Configuration::Poll,
167
212
  privacy_status: String?,
213
+ quote_tweet_id: String,
214
+ reply_settings: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::reply_settings?,
215
+ share_to_feed: bool?,
168
216
  title: String?
169
217
  }
170
218
 
@@ -179,30 +227,161 @@ module PostForMe
179
227
 
180
228
  def self?.values: -> ::Array[PostForMe::Models::SocialPost::AccountConfiguration::Configuration::placement]
181
229
  end
230
+
231
+ type poll =
232
+ {
233
+ duration_minutes: Float,
234
+ options: ::Array[String],
235
+ reply_settings: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Poll::reply_settings
236
+ }
237
+
238
+ class Poll < PostForMe::Internal::Type::BaseModel
239
+ attr_accessor duration_minutes: Float
240
+
241
+ attr_accessor options: ::Array[String]
242
+
243
+ attr_reader reply_settings: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Poll::reply_settings?
244
+
245
+ def reply_settings=: (
246
+ PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Poll::reply_settings
247
+ ) -> PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Poll::reply_settings
248
+
249
+ def initialize: (
250
+ duration_minutes: Float,
251
+ options: ::Array[String],
252
+ ?reply_settings: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Poll::reply_settings
253
+ ) -> void
254
+
255
+ def to_hash: -> {
256
+ duration_minutes: Float,
257
+ options: ::Array[String],
258
+ reply_settings: PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Poll::reply_settings
259
+ }
260
+
261
+ type reply_settings =
262
+ :following | :mentionedUsers | :subscribers | :verified
263
+
264
+ module ReplySettings
265
+ extend PostForMe::Internal::Type::Enum
266
+
267
+ FOLLOWING: :following
268
+ MENTIONED_USERS: :mentionedUsers
269
+ SUBSCRIBERS: :subscribers
270
+ VERIFIED: :verified
271
+
272
+ def self?.values: -> ::Array[PostForMe::Models::SocialPost::AccountConfiguration::Configuration::Poll::reply_settings]
273
+ end
274
+ end
275
+
276
+ type reply_settings =
277
+ :following | :mentionedUsers | :subscribers | :verified
278
+
279
+ module ReplySettings
280
+ extend PostForMe::Internal::Type::Enum
281
+
282
+ FOLLOWING: :following
283
+ MENTIONED_USERS: :mentionedUsers
284
+ SUBSCRIBERS: :subscribers
285
+ VERIFIED: :verified
286
+
287
+ def self?.values: -> ::Array[PostForMe::Models::SocialPost::AccountConfiguration::Configuration::reply_settings]
288
+ end
182
289
  end
183
290
  end
184
291
 
185
292
  type media =
186
- { url: String, thumbnail_timestamp_ms: top?, thumbnail_url: top? }
293
+ {
294
+ url: String,
295
+ tags: ::Array[PostForMe::SocialPost::Media::Tag]?,
296
+ thumbnail_timestamp_ms: top?,
297
+ thumbnail_url: top?
298
+ }
187
299
 
188
300
  class Media < PostForMe::Internal::Type::BaseModel
189
301
  attr_accessor url: String
190
302
 
303
+ attr_accessor tags: ::Array[PostForMe::SocialPost::Media::Tag]?
304
+
191
305
  attr_accessor thumbnail_timestamp_ms: top?
192
306
 
193
307
  attr_accessor thumbnail_url: top?
194
308
 
195
309
  def initialize: (
196
310
  url: String,
311
+ ?tags: ::Array[PostForMe::SocialPost::Media::Tag]?,
197
312
  ?thumbnail_timestamp_ms: top?,
198
313
  ?thumbnail_url: top?
199
314
  ) -> void
200
315
 
201
316
  def to_hash: -> {
202
317
  url: String,
318
+ tags: ::Array[PostForMe::SocialPost::Media::Tag]?,
203
319
  thumbnail_timestamp_ms: top?,
204
320
  thumbnail_url: top?
205
321
  }
322
+
323
+ type tag =
324
+ {
325
+ id: String,
326
+ platform: PostForMe::Models::SocialPost::Media::Tag::platform,
327
+ type: PostForMe::Models::SocialPost::Media::Tag::type_,
328
+ x: Float,
329
+ y_: Float
330
+ }
331
+
332
+ class Tag < PostForMe::Internal::Type::BaseModel
333
+ attr_accessor id: String
334
+
335
+ attr_accessor platform: PostForMe::Models::SocialPost::Media::Tag::platform
336
+
337
+ attr_accessor type: PostForMe::Models::SocialPost::Media::Tag::type_
338
+
339
+ attr_reader x: Float?
340
+
341
+ def x=: (Float) -> Float
342
+
343
+ attr_reader y_: Float?
344
+
345
+ def y_=: (Float) -> Float
346
+
347
+ def initialize: (
348
+ id: String,
349
+ platform: PostForMe::Models::SocialPost::Media::Tag::platform,
350
+ type: PostForMe::Models::SocialPost::Media::Tag::type_,
351
+ ?x: Float,
352
+ ?y_: Float
353
+ ) -> void
354
+
355
+ def to_hash: -> {
356
+ id: String,
357
+ platform: PostForMe::Models::SocialPost::Media::Tag::platform,
358
+ type: PostForMe::Models::SocialPost::Media::Tag::type_,
359
+ x: Float,
360
+ y_: Float
361
+ }
362
+
363
+ type platform = :facebook | :instagram
364
+
365
+ module Platform
366
+ extend PostForMe::Internal::Type::Enum
367
+
368
+ FACEBOOK: :facebook
369
+ INSTAGRAM: :instagram
370
+
371
+ def self?.values: -> ::Array[PostForMe::Models::SocialPost::Media::Tag::platform]
372
+ end
373
+
374
+ type type_ = :user | :product
375
+
376
+ module Type
377
+ extend PostForMe::Internal::Type::Enum
378
+
379
+ USER: :user
380
+ PRODUCT: :product
381
+
382
+ def self?.values: -> ::Array[PostForMe::Models::SocialPost::Media::Tag::type_]
383
+ end
384
+ end
206
385
  end
207
386
 
208
387
  type status = :draft | :scheduled | :processing | :processed