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,207 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPostListParams < PostForMe::Internal::Type::BaseModel
6
+ extend PostForMe::Internal::Type::RequestParameters::Converter
7
+ include PostForMe::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(PostForMe::SocialPostListParams, PostForMe::Internal::AnyHash)
12
+ end
13
+
14
+ # Filter by external ID. Multiple values imply OR logic.
15
+ sig { returns(T.nilable(T::Array[String])) }
16
+ attr_reader :external_id
17
+
18
+ sig { params(external_id: T::Array[String]).void }
19
+ attr_writer :external_id
20
+
21
+ # Number of items to return
22
+ sig { returns(T.nilable(Float)) }
23
+ attr_reader :limit
24
+
25
+ sig { params(limit: Float).void }
26
+ attr_writer :limit
27
+
28
+ # Number of items to skip
29
+ sig { returns(T.nilable(Float)) }
30
+ attr_reader :offset
31
+
32
+ sig { params(offset: Float).void }
33
+ attr_writer :offset
34
+
35
+ # Filter by platforms. Multiple values imply OR logic.
36
+ sig do
37
+ returns(
38
+ T.nilable(
39
+ T::Array[PostForMe::SocialPostListParams::Platform::OrSymbol]
40
+ )
41
+ )
42
+ end
43
+ attr_reader :platform
44
+
45
+ sig do
46
+ params(
47
+ platform:
48
+ T::Array[PostForMe::SocialPostListParams::Platform::OrSymbol]
49
+ ).void
50
+ end
51
+ attr_writer :platform
52
+
53
+ # Filter by post status. Multiple values imply OR logic.
54
+ sig do
55
+ returns(
56
+ T.nilable(T::Array[PostForMe::SocialPostListParams::Status::OrSymbol])
57
+ )
58
+ end
59
+ attr_reader :status
60
+
61
+ sig do
62
+ params(
63
+ status: T::Array[PostForMe::SocialPostListParams::Status::OrSymbol]
64
+ ).void
65
+ end
66
+ attr_writer :status
67
+
68
+ sig do
69
+ params(
70
+ external_id: T::Array[String],
71
+ limit: Float,
72
+ offset: Float,
73
+ platform:
74
+ T::Array[PostForMe::SocialPostListParams::Platform::OrSymbol],
75
+ status: T::Array[PostForMe::SocialPostListParams::Status::OrSymbol],
76
+ request_options: PostForMe::RequestOptions::OrHash
77
+ ).returns(T.attached_class)
78
+ end
79
+ def self.new(
80
+ # Filter by external ID. Multiple values imply OR logic.
81
+ external_id: nil,
82
+ # Number of items to return
83
+ limit: nil,
84
+ # Number of items to skip
85
+ offset: nil,
86
+ # Filter by platforms. Multiple values imply OR logic.
87
+ platform: nil,
88
+ # Filter by post status. Multiple values imply OR logic.
89
+ status: nil,
90
+ request_options: {}
91
+ )
92
+ end
93
+
94
+ sig do
95
+ override.returns(
96
+ {
97
+ external_id: T::Array[String],
98
+ limit: Float,
99
+ offset: Float,
100
+ platform:
101
+ T::Array[PostForMe::SocialPostListParams::Platform::OrSymbol],
102
+ status: T::Array[PostForMe::SocialPostListParams::Status::OrSymbol],
103
+ request_options: PostForMe::RequestOptions
104
+ }
105
+ )
106
+ end
107
+ def to_hash
108
+ end
109
+
110
+ module Platform
111
+ extend PostForMe::Internal::Type::Enum
112
+
113
+ TaggedSymbol =
114
+ T.type_alias do
115
+ T.all(Symbol, PostForMe::SocialPostListParams::Platform)
116
+ end
117
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
118
+
119
+ BLUESKY =
120
+ T.let(
121
+ :bluesky,
122
+ PostForMe::SocialPostListParams::Platform::TaggedSymbol
123
+ )
124
+ FACEBOOK =
125
+ T.let(
126
+ :facebook,
127
+ PostForMe::SocialPostListParams::Platform::TaggedSymbol
128
+ )
129
+ INSTAGRAM =
130
+ T.let(
131
+ :instagram,
132
+ PostForMe::SocialPostListParams::Platform::TaggedSymbol
133
+ )
134
+ LINKEDIN =
135
+ T.let(
136
+ :linkedin,
137
+ PostForMe::SocialPostListParams::Platform::TaggedSymbol
138
+ )
139
+ PINTEREST =
140
+ T.let(
141
+ :pinterest,
142
+ PostForMe::SocialPostListParams::Platform::TaggedSymbol
143
+ )
144
+ THREADS =
145
+ T.let(
146
+ :threads,
147
+ PostForMe::SocialPostListParams::Platform::TaggedSymbol
148
+ )
149
+ TIKTOK =
150
+ T.let(
151
+ :tiktok,
152
+ PostForMe::SocialPostListParams::Platform::TaggedSymbol
153
+ )
154
+ X = T.let(:x, PostForMe::SocialPostListParams::Platform::TaggedSymbol)
155
+ YOUTUBE =
156
+ T.let(
157
+ :youtube,
158
+ PostForMe::SocialPostListParams::Platform::TaggedSymbol
159
+ )
160
+
161
+ sig do
162
+ override.returns(
163
+ T::Array[PostForMe::SocialPostListParams::Platform::TaggedSymbol]
164
+ )
165
+ end
166
+ def self.values
167
+ end
168
+ end
169
+
170
+ module Status
171
+ extend PostForMe::Internal::Type::Enum
172
+
173
+ TaggedSymbol =
174
+ T.type_alias do
175
+ T.all(Symbol, PostForMe::SocialPostListParams::Status)
176
+ end
177
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
178
+
179
+ DRAFT =
180
+ T.let(:draft, PostForMe::SocialPostListParams::Status::TaggedSymbol)
181
+ SCHEDULED =
182
+ T.let(
183
+ :scheduled,
184
+ PostForMe::SocialPostListParams::Status::TaggedSymbol
185
+ )
186
+ PROCESSING =
187
+ T.let(
188
+ :processing,
189
+ PostForMe::SocialPostListParams::Status::TaggedSymbol
190
+ )
191
+ PROCESSED =
192
+ T.let(
193
+ :processed,
194
+ PostForMe::SocialPostListParams::Status::TaggedSymbol
195
+ )
196
+
197
+ sig do
198
+ override.returns(
199
+ T::Array[PostForMe::SocialPostListParams::Status::TaggedSymbol]
200
+ )
201
+ end
202
+ def self.values
203
+ end
204
+ end
205
+ end
206
+ end
207
+ end
@@ -0,0 +1,107 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPostListResponse < PostForMe::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ PostForMe::Models::SocialPostListResponse,
10
+ PostForMe::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T::Array[PostForMe::SocialPost]) }
15
+ attr_accessor :data
16
+
17
+ sig { returns(PostForMe::Models::SocialPostListResponse::Meta) }
18
+ attr_reader :meta
19
+
20
+ sig do
21
+ params(
22
+ meta: PostForMe::Models::SocialPostListResponse::Meta::OrHash
23
+ ).void
24
+ end
25
+ attr_writer :meta
26
+
27
+ sig do
28
+ params(
29
+ data: T::Array[PostForMe::SocialPost::OrHash],
30
+ meta: PostForMe::Models::SocialPostListResponse::Meta::OrHash
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(data:, meta:)
34
+ end
35
+
36
+ sig do
37
+ override.returns(
38
+ {
39
+ data: T::Array[PostForMe::SocialPost],
40
+ meta: PostForMe::Models::SocialPostListResponse::Meta
41
+ }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+
47
+ class Meta < PostForMe::Internal::Type::BaseModel
48
+ OrHash =
49
+ T.type_alias do
50
+ T.any(
51
+ PostForMe::Models::SocialPostListResponse::Meta,
52
+ PostForMe::Internal::AnyHash
53
+ )
54
+ end
55
+
56
+ # Maximum number of items returned.
57
+ sig { returns(Float) }
58
+ attr_accessor :limit
59
+
60
+ # URL to the next page of results, or null if none.
61
+ sig { returns(T.nilable(String)) }
62
+ attr_accessor :next_
63
+
64
+ # Number of items skipped.
65
+ sig { returns(Float) }
66
+ attr_accessor :offset
67
+
68
+ # Total number of items available.
69
+ sig { returns(Float) }
70
+ attr_accessor :total
71
+
72
+ sig do
73
+ params(
74
+ limit: Float,
75
+ next_: T.nilable(String),
76
+ offset: Float,
77
+ total: Float
78
+ ).returns(T.attached_class)
79
+ end
80
+ def self.new(
81
+ # Maximum number of items returned.
82
+ limit:,
83
+ # URL to the next page of results, or null if none.
84
+ next_:,
85
+ # Number of items skipped.
86
+ offset:,
87
+ # Total number of items available.
88
+ total:
89
+ )
90
+ end
91
+
92
+ sig do
93
+ override.returns(
94
+ {
95
+ limit: Float,
96
+ next_: T.nilable(String),
97
+ offset: Float,
98
+ total: Float
99
+ }
100
+ )
101
+ end
102
+ def to_hash
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,130 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPostResult < PostForMe::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(PostForMe::SocialPostResult, PostForMe::Internal::AnyHash)
9
+ end
10
+
11
+ # The unique identifier of the post result
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # Detailed logs from the post
16
+ sig { returns(T.anything) }
17
+ attr_accessor :details
18
+
19
+ # Error message if the post failed
20
+ sig { returns(T.anything) }
21
+ attr_accessor :error
22
+
23
+ # Platform-specific data
24
+ sig { returns(PostForMe::SocialPostResult::PlatformData) }
25
+ attr_reader :platform_data
26
+
27
+ sig do
28
+ params(
29
+ platform_data: PostForMe::SocialPostResult::PlatformData::OrHash
30
+ ).void
31
+ end
32
+ attr_writer :platform_data
33
+
34
+ # The ID of the associated post
35
+ sig { returns(String) }
36
+ attr_accessor :post_id
37
+
38
+ # The ID of the associated social account
39
+ sig { returns(String) }
40
+ attr_accessor :social_account_id
41
+
42
+ # Indicates if the post was successful
43
+ sig { returns(T::Boolean) }
44
+ attr_accessor :success
45
+
46
+ sig do
47
+ params(
48
+ id: String,
49
+ details: T.anything,
50
+ error: T.anything,
51
+ platform_data: PostForMe::SocialPostResult::PlatformData::OrHash,
52
+ post_id: String,
53
+ social_account_id: String,
54
+ success: T::Boolean
55
+ ).returns(T.attached_class)
56
+ end
57
+ def self.new(
58
+ # The unique identifier of the post result
59
+ id:,
60
+ # Detailed logs from the post
61
+ details:,
62
+ # Error message if the post failed
63
+ error:,
64
+ # Platform-specific data
65
+ platform_data:,
66
+ # The ID of the associated post
67
+ post_id:,
68
+ # The ID of the associated social account
69
+ social_account_id:,
70
+ # Indicates if the post was successful
71
+ success:
72
+ )
73
+ end
74
+
75
+ sig do
76
+ override.returns(
77
+ {
78
+ id: String,
79
+ details: T.anything,
80
+ error: T.anything,
81
+ platform_data: PostForMe::SocialPostResult::PlatformData,
82
+ post_id: String,
83
+ social_account_id: String,
84
+ success: T::Boolean
85
+ }
86
+ )
87
+ end
88
+ def to_hash
89
+ end
90
+
91
+ class PlatformData < PostForMe::Internal::Type::BaseModel
92
+ OrHash =
93
+ T.type_alias do
94
+ T.any(
95
+ PostForMe::SocialPostResult::PlatformData,
96
+ PostForMe::Internal::AnyHash
97
+ )
98
+ end
99
+
100
+ # Platform-specific ID
101
+ sig { returns(T.nilable(String)) }
102
+ attr_reader :id
103
+
104
+ sig { params(id: String).void }
105
+ attr_writer :id
106
+
107
+ # URL of the posted content
108
+ sig { returns(T.nilable(String)) }
109
+ attr_reader :url
110
+
111
+ sig { params(url: String).void }
112
+ attr_writer :url
113
+
114
+ # Platform-specific data
115
+ sig { params(id: String, url: String).returns(T.attached_class) }
116
+ def self.new(
117
+ # Platform-specific ID
118
+ id: nil,
119
+ # URL of the posted content
120
+ url: nil
121
+ )
122
+ end
123
+
124
+ sig { override.returns({ id: String, url: String }) }
125
+ def to_hash
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,86 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPostResultListParams < PostForMe::Internal::Type::BaseModel
6
+ extend PostForMe::Internal::Type::RequestParameters::Converter
7
+ include PostForMe::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ PostForMe::SocialPostResultListParams,
13
+ PostForMe::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Number of items to return
18
+ sig { returns(T.nilable(Float)) }
19
+ attr_reader :limit
20
+
21
+ sig { params(limit: Float).void }
22
+ attr_writer :limit
23
+
24
+ # Number of items to skip
25
+ sig { returns(T.nilable(Float)) }
26
+ attr_reader :offset
27
+
28
+ sig { params(offset: Float).void }
29
+ attr_writer :offset
30
+
31
+ # Filter by platform(s). Multiple values imply OR logic (e.g.,
32
+ # ?platform=x&platform=facebook).
33
+ sig { returns(T.nilable(T::Array[String])) }
34
+ attr_reader :platform
35
+
36
+ sig { params(platform: T::Array[String]).void }
37
+ attr_writer :platform
38
+
39
+ # Filter by post IDs. Multiple values imply OR logic (e.g.,
40
+ # ?post_id=123&post_id=456).
41
+ sig { returns(T.nilable(T::Array[String])) }
42
+ attr_reader :post_id
43
+
44
+ sig { params(post_id: T::Array[String]).void }
45
+ attr_writer :post_id
46
+
47
+ sig do
48
+ params(
49
+ limit: Float,
50
+ offset: Float,
51
+ platform: T::Array[String],
52
+ post_id: T::Array[String],
53
+ request_options: PostForMe::RequestOptions::OrHash
54
+ ).returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+ # Number of items to return
58
+ limit: nil,
59
+ # Number of items to skip
60
+ offset: nil,
61
+ # Filter by platform(s). Multiple values imply OR logic (e.g.,
62
+ # ?platform=x&platform=facebook).
63
+ platform: nil,
64
+ # Filter by post IDs. Multiple values imply OR logic (e.g.,
65
+ # ?post_id=123&post_id=456).
66
+ post_id: nil,
67
+ request_options: {}
68
+ )
69
+ end
70
+
71
+ sig do
72
+ override.returns(
73
+ {
74
+ limit: Float,
75
+ offset: Float,
76
+ platform: T::Array[String],
77
+ post_id: T::Array[String],
78
+ request_options: PostForMe::RequestOptions
79
+ }
80
+ )
81
+ end
82
+ def to_hash
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,107 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPostResultListResponse < PostForMe::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ PostForMe::Models::SocialPostResultListResponse,
10
+ PostForMe::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T::Array[PostForMe::SocialPostResult]) }
15
+ attr_accessor :data
16
+
17
+ sig { returns(PostForMe::Models::SocialPostResultListResponse::Meta) }
18
+ attr_reader :meta
19
+
20
+ sig do
21
+ params(
22
+ meta: PostForMe::Models::SocialPostResultListResponse::Meta::OrHash
23
+ ).void
24
+ end
25
+ attr_writer :meta
26
+
27
+ sig do
28
+ params(
29
+ data: T::Array[PostForMe::SocialPostResult::OrHash],
30
+ meta: PostForMe::Models::SocialPostResultListResponse::Meta::OrHash
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(data:, meta:)
34
+ end
35
+
36
+ sig do
37
+ override.returns(
38
+ {
39
+ data: T::Array[PostForMe::SocialPostResult],
40
+ meta: PostForMe::Models::SocialPostResultListResponse::Meta
41
+ }
42
+ )
43
+ end
44
+ def to_hash
45
+ end
46
+
47
+ class Meta < PostForMe::Internal::Type::BaseModel
48
+ OrHash =
49
+ T.type_alias do
50
+ T.any(
51
+ PostForMe::Models::SocialPostResultListResponse::Meta,
52
+ PostForMe::Internal::AnyHash
53
+ )
54
+ end
55
+
56
+ # Maximum number of items returned.
57
+ sig { returns(Float) }
58
+ attr_accessor :limit
59
+
60
+ # URL to the next page of results, or null if none.
61
+ sig { returns(T.nilable(String)) }
62
+ attr_accessor :next_
63
+
64
+ # Number of items skipped.
65
+ sig { returns(Float) }
66
+ attr_accessor :offset
67
+
68
+ # Total number of items available.
69
+ sig { returns(Float) }
70
+ attr_accessor :total
71
+
72
+ sig do
73
+ params(
74
+ limit: Float,
75
+ next_: T.nilable(String),
76
+ offset: Float,
77
+ total: Float
78
+ ).returns(T.attached_class)
79
+ end
80
+ def self.new(
81
+ # Maximum number of items returned.
82
+ limit:,
83
+ # URL to the next page of results, or null if none.
84
+ next_:,
85
+ # Number of items skipped.
86
+ offset:,
87
+ # Total number of items available.
88
+ total:
89
+ )
90
+ end
91
+
92
+ sig do
93
+ override.returns(
94
+ {
95
+ limit: Float,
96
+ next_: T.nilable(String),
97
+ offset: Float,
98
+ total: Float
99
+ }
100
+ )
101
+ end
102
+ def to_hash
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPostResultRetrieveParams < PostForMe::Internal::Type::BaseModel
6
+ extend PostForMe::Internal::Type::RequestParameters::Converter
7
+ include PostForMe::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ PostForMe::SocialPostResultRetrieveParams,
13
+ PostForMe::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: PostForMe::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig { override.returns({ request_options: PostForMe::RequestOptions }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPostRetrieveParams < PostForMe::Internal::Type::BaseModel
6
+ extend PostForMe::Internal::Type::RequestParameters::Converter
7
+ include PostForMe::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ PostForMe::SocialPostRetrieveParams,
13
+ PostForMe::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: PostForMe::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig { override.returns({ request_options: PostForMe::RequestOptions }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end