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,112 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialAccountListParams < 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::SocialAccountListParams,
13
+ PostForMe::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Filter by id(s). Multiple values imply OR logic (e.g.,
18
+ # ?id=spc_xxxxxx&id=spc_yyyyyy).
19
+ sig { returns(T.nilable(T::Array[String])) }
20
+ attr_reader :id
21
+
22
+ sig { params(id: T::Array[String]).void }
23
+ attr_writer :id
24
+
25
+ # Filter by externalId(s). Multiple values imply OR logic (e.g.,
26
+ # ?externalId=test&externalId=test2).
27
+ sig { returns(T.nilable(T::Array[String])) }
28
+ attr_reader :external_id
29
+
30
+ sig { params(external_id: T::Array[String]).void }
31
+ attr_writer :external_id
32
+
33
+ # Number of items to return
34
+ sig { returns(T.nilable(Float)) }
35
+ attr_reader :limit
36
+
37
+ sig { params(limit: Float).void }
38
+ attr_writer :limit
39
+
40
+ # Number of items to skip
41
+ sig { returns(T.nilable(Float)) }
42
+ attr_reader :offset
43
+
44
+ sig { params(offset: Float).void }
45
+ attr_writer :offset
46
+
47
+ # Filter by platform(s). Multiple values imply OR logic (e.g.,
48
+ # ?platform=x&platform=facebook).
49
+ sig { returns(T.nilable(T::Array[String])) }
50
+ attr_reader :platform
51
+
52
+ sig { params(platform: T::Array[String]).void }
53
+ attr_writer :platform
54
+
55
+ # Filter by username(s). Multiple values imply OR logic (e.g.,
56
+ # ?username=test&username=test2).
57
+ sig { returns(T.nilable(T::Array[String])) }
58
+ attr_reader :username
59
+
60
+ sig { params(username: T::Array[String]).void }
61
+ attr_writer :username
62
+
63
+ sig do
64
+ params(
65
+ id: T::Array[String],
66
+ external_id: T::Array[String],
67
+ limit: Float,
68
+ offset: Float,
69
+ platform: T::Array[String],
70
+ username: T::Array[String],
71
+ request_options: PostForMe::RequestOptions::OrHash
72
+ ).returns(T.attached_class)
73
+ end
74
+ def self.new(
75
+ # Filter by id(s). Multiple values imply OR logic (e.g.,
76
+ # ?id=spc_xxxxxx&id=spc_yyyyyy).
77
+ id: nil,
78
+ # Filter by externalId(s). Multiple values imply OR logic (e.g.,
79
+ # ?externalId=test&externalId=test2).
80
+ external_id: nil,
81
+ # Number of items to return
82
+ limit: nil,
83
+ # Number of items to skip
84
+ offset: nil,
85
+ # Filter by platform(s). Multiple values imply OR logic (e.g.,
86
+ # ?platform=x&platform=facebook).
87
+ platform: nil,
88
+ # Filter by username(s). Multiple values imply OR logic (e.g.,
89
+ # ?username=test&username=test2).
90
+ username: nil,
91
+ request_options: {}
92
+ )
93
+ end
94
+
95
+ sig do
96
+ override.returns(
97
+ {
98
+ id: T::Array[String],
99
+ external_id: T::Array[String],
100
+ limit: Float,
101
+ offset: Float,
102
+ platform: T::Array[String],
103
+ username: T::Array[String],
104
+ request_options: PostForMe::RequestOptions
105
+ }
106
+ )
107
+ end
108
+ def to_hash
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,107 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialAccountListResponse < PostForMe::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ PostForMe::Models::SocialAccountListResponse,
10
+ PostForMe::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(T::Array[PostForMe::SocialAccount]) }
15
+ attr_accessor :data
16
+
17
+ sig { returns(PostForMe::Models::SocialAccountListResponse::Meta) }
18
+ attr_reader :meta
19
+
20
+ sig do
21
+ params(
22
+ meta: PostForMe::Models::SocialAccountListResponse::Meta::OrHash
23
+ ).void
24
+ end
25
+ attr_writer :meta
26
+
27
+ sig do
28
+ params(
29
+ data: T::Array[PostForMe::SocialAccount::OrHash],
30
+ meta: PostForMe::Models::SocialAccountListResponse::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::SocialAccount],
40
+ meta: PostForMe::Models::SocialAccountListResponse::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::SocialAccountListResponse::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 SocialAccountRetrieveParams < 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::SocialAccountRetrieveParams,
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,60 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialAccountUpdateParams < 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::SocialAccountUpdateParams,
13
+ PostForMe::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The platform's external id of the social account
18
+ sig { returns(T.nilable(String)) }
19
+ attr_reader :external_id
20
+
21
+ sig { params(external_id: String).void }
22
+ attr_writer :external_id
23
+
24
+ # The platform's username of the social account
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :username
27
+
28
+ sig { params(username: String).void }
29
+ attr_writer :username
30
+
31
+ sig do
32
+ params(
33
+ external_id: String,
34
+ username: String,
35
+ request_options: PostForMe::RequestOptions::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # The platform's external id of the social account
40
+ external_id: nil,
41
+ # The platform's username of the social account
42
+ username: nil,
43
+ request_options: {}
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ external_id: String,
51
+ username: String,
52
+ request_options: PostForMe::RequestOptions
53
+ }
54
+ )
55
+ end
56
+ def to_hash
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,142 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPost < PostForMe::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(PostForMe::SocialPost, PostForMe::Internal::AnyHash)
9
+ end
10
+
11
+ # Unique identifier of the post
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # Account-specific configurations for the post
16
+ sig { returns(T.nilable(T::Array[T.anything])) }
17
+ attr_accessor :account_configurations
18
+
19
+ # Caption text for the post
20
+ sig { returns(String) }
21
+ attr_accessor :caption
22
+
23
+ # Timestamp when the post was created
24
+ sig { returns(String) }
25
+ attr_accessor :created_at
26
+
27
+ # Provided unique identifier of the post
28
+ sig { returns(T.nilable(String)) }
29
+ attr_accessor :external_id
30
+
31
+ # Array of media URLs associated with the post
32
+ sig { returns(T.nilable(T.anything)) }
33
+ attr_accessor :media
34
+
35
+ # Platform-specific configurations for the post
36
+ sig { returns(T.nilable(T.anything)) }
37
+ attr_accessor :platform_configurations
38
+
39
+ # Scheduled date and time for the post
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :scheduled_at
42
+
43
+ # Array of social account IDs for posting
44
+ sig { returns(T::Array[String]) }
45
+ attr_accessor :social_accounts
46
+
47
+ # Current status of the post: draft, processed, scheduled, or processing
48
+ sig { returns(PostForMe::SocialPost::Status::TaggedSymbol) }
49
+ attr_accessor :status
50
+
51
+ # Timestamp when the post was last updated
52
+ sig { returns(String) }
53
+ attr_accessor :updated_at
54
+
55
+ sig do
56
+ params(
57
+ id: String,
58
+ account_configurations: T.nilable(T::Array[T.anything]),
59
+ caption: String,
60
+ created_at: String,
61
+ external_id: T.nilable(String),
62
+ media: T.nilable(T.anything),
63
+ platform_configurations: T.nilable(T.anything),
64
+ scheduled_at: T.nilable(String),
65
+ social_accounts: T::Array[String],
66
+ status: PostForMe::SocialPost::Status::OrSymbol,
67
+ updated_at: String
68
+ ).returns(T.attached_class)
69
+ end
70
+ def self.new(
71
+ # Unique identifier of the post
72
+ id:,
73
+ # Account-specific configurations for the post
74
+ account_configurations:,
75
+ # Caption text for the post
76
+ caption:,
77
+ # Timestamp when the post was created
78
+ created_at:,
79
+ # Provided unique identifier of the post
80
+ external_id:,
81
+ # Array of media URLs associated with the post
82
+ media:,
83
+ # Platform-specific configurations for the post
84
+ platform_configurations:,
85
+ # Scheduled date and time for the post
86
+ scheduled_at:,
87
+ # Array of social account IDs for posting
88
+ social_accounts:,
89
+ # Current status of the post: draft, processed, scheduled, or processing
90
+ status:,
91
+ # Timestamp when the post was last updated
92
+ updated_at:
93
+ )
94
+ end
95
+
96
+ sig do
97
+ override.returns(
98
+ {
99
+ id: String,
100
+ account_configurations: T.nilable(T::Array[T.anything]),
101
+ caption: String,
102
+ created_at: String,
103
+ external_id: T.nilable(String),
104
+ media: T.nilable(T.anything),
105
+ platform_configurations: T.nilable(T.anything),
106
+ scheduled_at: T.nilable(String),
107
+ social_accounts: T::Array[String],
108
+ status: PostForMe::SocialPost::Status::TaggedSymbol,
109
+ updated_at: String
110
+ }
111
+ )
112
+ end
113
+ def to_hash
114
+ end
115
+
116
+ # Current status of the post: draft, processed, scheduled, or processing
117
+ module Status
118
+ extend PostForMe::Internal::Type::Enum
119
+
120
+ TaggedSymbol =
121
+ T.type_alias { T.all(Symbol, PostForMe::SocialPost::Status) }
122
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
123
+
124
+ DRAFT = T.let(:draft, PostForMe::SocialPost::Status::TaggedSymbol)
125
+ SCHEDULED =
126
+ T.let(:scheduled, PostForMe::SocialPost::Status::TaggedSymbol)
127
+ PROCESSING =
128
+ T.let(:processing, PostForMe::SocialPost::Status::TaggedSymbol)
129
+ PROCESSED =
130
+ T.let(:processed, PostForMe::SocialPost::Status::TaggedSymbol)
131
+
132
+ sig do
133
+ override.returns(
134
+ T::Array[PostForMe::SocialPost::Status::TaggedSymbol]
135
+ )
136
+ end
137
+ def self.values
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPostCreateParams < PostForMe::Models::CreateSocialPost
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::SocialPostCreateParams, PostForMe::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: PostForMe::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: PostForMe::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPostDeleteParams < 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::SocialPostDeleteParams, PostForMe::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: PostForMe::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: PostForMe::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module PostForMe
4
+ module Models
5
+ class SocialPostDeleteResponse < PostForMe::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ PostForMe::Models::SocialPostDeleteResponse,
10
+ PostForMe::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Whether or not the entity was deleted
15
+ sig { returns(T::Boolean) }
16
+ attr_accessor :success
17
+
18
+ sig { params(success: T::Boolean).returns(T.attached_class) }
19
+ def self.new(
20
+ # Whether or not the entity was deleted
21
+ success:
22
+ )
23
+ end
24
+
25
+ sig { override.returns({ success: T::Boolean }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end