peal 0.1.0 → 0.3.0

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 (747) hide show
  1. checksums.yaml +4 -4
  2. data/NOTICE +4 -0
  3. data/README.md +171 -319
  4. data/lib/peal/analytics/client.rb +120 -0
  5. data/lib/peal/analytics/types/post_analytics_request.rb +13 -0
  6. data/lib/peal/analytics/types/summary_analytics_request.rb +17 -0
  7. data/lib/peal/api_keys/client.rb +153 -0
  8. data/lib/peal/api_keys/types/list_api_keys_request.rb +11 -0
  9. data/lib/peal/api_keys/types/new_api_key.rb +17 -0
  10. data/lib/peal/api_keys/types/revoke_api_keys_request.rb +13 -0
  11. data/lib/peal/assistant/client.rb +112 -0
  12. data/lib/peal/assistant/types/status_assistant_request.rb +11 -0
  13. data/lib/peal/assistant/types/suggestion_request.rb +15 -0
  14. data/lib/peal/billing/client.rb +58 -0
  15. data/lib/peal/billing/types/get_billing_request.rb +11 -0
  16. data/lib/peal/channels/client.rb +366 -0
  17. data/lib/peal/channels/types/choose_accounts.rb +17 -0
  18. data/lib/peal/channels/types/connect_callback.rb +21 -0
  19. data/lib/peal/channels/types/connect_channel.rb +17 -0
  20. data/lib/peal/channels/types/disconnect_channels_request.rb +13 -0
  21. data/lib/peal/channels/types/list_channels_request.rb +11 -0
  22. data/lib/peal/channels/types/platforms_channels_request.rb +11 -0
  23. data/lib/peal/channels/types/reconnect_channels_request.rb +13 -0
  24. data/lib/peal/client.rb +93 -0
  25. data/lib/peal/environment.rb +7 -0
  26. data/lib/peal/errors/api_error.rb +8 -0
  27. data/lib/peal/errors/client_error.rb +17 -0
  28. data/lib/peal/errors/connection_error.rb +11 -0
  29. data/lib/peal/errors/redirect_error.rb +8 -0
  30. data/lib/peal/errors/response_error.rb +65 -0
  31. data/lib/peal/errors/server_error.rb +11 -0
  32. data/lib/peal/errors/timeout_error.rb +8 -0
  33. data/lib/peal/internal/errors/constraint_error.rb +10 -0
  34. data/lib/peal/internal/errors/type_error.rb +10 -0
  35. data/lib/peal/internal/http/base_request.rb +83 -0
  36. data/lib/peal/internal/http/raw_client.rb +297 -0
  37. data/lib/peal/internal/iterators/cursor_item_iterator.rb +33 -0
  38. data/lib/peal/internal/iterators/cursor_page_iterator.rb +126 -0
  39. data/lib/peal/internal/iterators/item_iterator.rb +120 -0
  40. data/lib/peal/internal/iterators/offset_item_iterator.rb +35 -0
  41. data/lib/peal/internal/iterators/offset_page_iterator.rb +160 -0
  42. data/lib/peal/internal/json/request.rb +51 -0
  43. data/lib/peal/internal/json/serializable.rb +25 -0
  44. data/lib/peal/internal/multipart/multipart_encoder.rb +141 -0
  45. data/lib/peal/internal/multipart/multipart_form_data.rb +84 -0
  46. data/lib/peal/internal/multipart/multipart_form_data_part.rb +51 -0
  47. data/lib/peal/internal/multipart/multipart_request.rb +42 -0
  48. data/lib/peal/internal/types/array.rb +47 -0
  49. data/lib/peal/internal/types/boolean.rb +34 -0
  50. data/lib/peal/internal/types/enum.rb +56 -0
  51. data/lib/peal/internal/types/hash.rb +36 -0
  52. data/lib/peal/internal/types/model/field.rb +38 -0
  53. data/lib/peal/internal/types/model.rb +258 -0
  54. data/lib/peal/internal/types/type.rb +35 -0
  55. data/lib/peal/internal/types/union.rb +161 -0
  56. data/lib/peal/internal/types/unknown.rb +15 -0
  57. data/lib/peal/internal/types/utils.rb +144 -0
  58. data/lib/peal/invitations/client.rb +160 -0
  59. data/lib/peal/invitations/types/list_invitations_request.rb +11 -0
  60. data/lib/peal/invitations/types/new_invitation.rb +15 -0
  61. data/lib/peal/invitations/types/revoke_invitations_request.rb +13 -0
  62. data/lib/peal/media/client.rb +360 -0
  63. data/lib/peal/media/types/complete_media_request.rb +13 -0
  64. data/lib/peal/media/types/delete_media_request.rb +13 -0
  65. data/lib/peal/media/types/get_media_request.rb +13 -0
  66. data/lib/peal/media/types/list_media_request.rb +15 -0
  67. data/lib/peal/media/types/media_description.rb +15 -0
  68. data/lib/peal/media/types/new_upload.rb +17 -0
  69. data/lib/peal/media/types/usage_media_request.rb +13 -0
  70. data/lib/peal/members/client.rb +58 -0
  71. data/lib/peal/members/types/list_members_request.rb +11 -0
  72. data/lib/peal/notices/client.rb +189 -0
  73. data/lib/peal/notices/types/list_notices_request.rb +13 -0
  74. data/lib/peal/notices/types/mark_notices_read.rb +11 -0
  75. data/lib/peal/notification_preferences/client.rb +100 -0
  76. data/lib/peal/notification_preferences/types/notification_preferences_change.rb +13 -0
  77. data/lib/peal/notification_preferences/types/notification_preferences_change_email.rb +19 -0
  78. data/lib/peal/posts/client.rb +703 -0
  79. data/lib/peal/posts/types/attempts_posts_request.rb +13 -0
  80. data/lib/peal/posts/types/cancel_posts_request.rb +13 -0
  81. data/lib/peal/posts/types/confirm_posts_request.rb +17 -0
  82. data/lib/peal/posts/types/create_posts_request.rb +13 -0
  83. data/lib/peal/posts/types/discard_posts_request.rb +13 -0
  84. data/lib/peal/posts/types/drafts_posts_request.rb +15 -0
  85. data/lib/peal/posts/types/get_posts_request.rb +13 -0
  86. data/lib/peal/posts/types/list_posts_request.rb +15 -0
  87. data/lib/peal/posts/types/repost_posts_request.rb +15 -0
  88. data/lib/peal/posts/types/reschedule_posts_request.rb +15 -0
  89. data/lib/peal/posts/types/schedule_post.rb +19 -0
  90. data/lib/peal/posts/types/unschedule_posts_request.rb +13 -0
  91. data/lib/peal/posts/types/update_posts_request.rb +15 -0
  92. data/lib/peal/session/client.rb +55 -0
  93. data/lib/peal/system/client.rb +82 -0
  94. data/lib/peal/tiktok/client.rb +62 -0
  95. data/lib/peal/tiktok/types/creator_tiktok_request.rb +13 -0
  96. data/lib/peal/types/already_member_encoded.rb +9 -0
  97. data/lib/peal/types/alt_text_too_long_encoded.rb +13 -0
  98. data/lib/peal/types/alt_text_too_long_encoded_tag.rb +13 -0
  99. data/lib/peal/types/analytics_summary.rb +23 -0
  100. data/lib/peal/types/api_key.rb +21 -0
  101. data/lib/peal/types/api_key_not_found_encoded.rb +9 -0
  102. data/lib/peal/types/assistant_action.rb +21 -0
  103. data/lib/peal/types/assistant_action_hashtags.rb +9 -0
  104. data/lib/peal/types/assistant_action_rewrite.rb +11 -0
  105. data/lib/peal/types/assistant_action_shorten.rb +11 -0
  106. data/lib/peal/types/assistant_action_translate.rb +11 -0
  107. data/lib/peal/types/assistant_failed_encoded.rb +13 -0
  108. data/lib/peal/types/assistant_failed_encoded_reason.rb +16 -0
  109. data/lib/peal/types/assistant_failed_encoded_tag.rb +13 -0
  110. data/lib/peal/types/assistant_input_rejected_encoded.rb +15 -0
  111. data/lib/peal/types/assistant_input_rejected_encoded_reason.rb +14 -0
  112. data/lib/peal/types/assistant_input_rejected_encoded_tag.rb +13 -0
  113. data/lib/peal/types/assistant_quota_exceeded_encoded.rb +15 -0
  114. data/lib/peal/types/assistant_quota_exceeded_encoded_tag.rb +13 -0
  115. data/lib/peal/types/assistant_status.rb +19 -0
  116. data/lib/peal/types/assistant_tone.rb +17 -0
  117. data/lib/peal/types/assistant_unavailable_encoded.rb +11 -0
  118. data/lib/peal/types/assistant_unavailable_encoded_tag.rb +13 -0
  119. data/lib/peal/types/attempt_result.rb +24 -0
  120. data/lib/peal/types/authorization.rb +11 -0
  121. data/lib/peal/types/billing.rb +21 -0
  122. data/lib/peal/types/billing_subscription.rb +17 -0
  123. data/lib/peal/types/calendar_day.rb +25 -0
  124. data/lib/peal/types/channel.rb +23 -0
  125. data/lib/peal/types/channel_cannot_post_encoded.rb +13 -0
  126. data/lib/peal/types/channel_cannot_post_encoded_reason.rb +14 -0
  127. data/lib/peal/types/channel_cannot_post_encoded_tag.rb +13 -0
  128. data/lib/peal/types/channel_metrics.rb +23 -0
  129. data/lib/peal/types/channel_not_found_encoded.rb +9 -0
  130. data/lib/peal/types/channel_options.rb +13 -0
  131. data/lib/peal/types/channel_status.rb +19 -0
  132. data/lib/peal/types/channel_status_active.rb +9 -0
  133. data/lib/peal/types/channel_status_disabled.rb +11 -0
  134. data/lib/peal/types/channel_status_refresh_needed.rb +9 -0
  135. data/lib/peal/types/choosable_account.rb +19 -0
  136. data/lib/peal/types/conflict_error_body.rb +17 -0
  137. data/lib/peal/types/connect_failed_encoded.rb +13 -0
  138. data/lib/peal/types/connect_failed_encoded_tag.rb +13 -0
  139. data/lib/peal/types/connect_failure_reason.rb +22 -0
  140. data/lib/peal/types/connect_outcome.rb +17 -0
  141. data/lib/peal/types/connect_outcome_choose.rb +15 -0
  142. data/lib/peal/types/connect_outcome_connected.rb +11 -0
  143. data/lib/peal/types/connectable_platforms.rb +11 -0
  144. data/lib/peal/types/content_violation.rb +65 -0
  145. data/lib/peal/types/content_violation_alt_text_too_long.rb +19 -0
  146. data/lib/peal/types/content_violation_aspect_ratio_unsupported.rb +23 -0
  147. data/lib/peal/types/content_violation_aspect_ratio_unsupported_maximum.rb +15 -0
  148. data/lib/peal/types/content_violation_aspect_ratio_unsupported_minimum.rb +15 -0
  149. data/lib/peal/types/content_violation_empty.rb +13 -0
  150. data/lib/peal/types/content_violation_forbidden_characters.rb +15 -0
  151. data/lib/peal/types/content_violation_media_required.rb +13 -0
  152. data/lib/peal/types/content_violation_media_too_large.rb +19 -0
  153. data/lib/peal/types/content_violation_media_too_small.rb +19 -0
  154. data/lib/peal/types/content_violation_media_type_unsupported.rb +17 -0
  155. data/lib/peal/types/content_violation_mixed_media.rb +13 -0
  156. data/lib/peal/types/content_violation_no_channels.rb +9 -0
  157. data/lib/peal/types/content_violation_option_invalid.rb +15 -0
  158. data/lib/peal/types/content_violation_option_missing.rb +15 -0
  159. data/lib/peal/types/content_violation_option_too_long.rb +19 -0
  160. data/lib/peal/types/content_violation_options_for_other_platform.rb +15 -0
  161. data/lib/peal/types/content_violation_options_without_channel.rb +11 -0
  162. data/lib/peal/types/content_violation_override_without_channel.rb +11 -0
  163. data/lib/peal/types/content_violation_side_out_of_range.rb +23 -0
  164. data/lib/peal/types/content_violation_text_too_long.rb +19 -0
  165. data/lib/peal/types/content_violation_too_many_hashtags.rb +17 -0
  166. data/lib/peal/types/content_violation_too_many_links.rb +17 -0
  167. data/lib/peal/types/content_violation_too_many_media.rb +17 -0
  168. data/lib/peal/types/content_violation_too_many_mentions.rb +17 -0
  169. data/lib/peal/types/content_violation_too_many_pixels.rb +21 -0
  170. data/lib/peal/types/content_violation_too_many_videos.rb +17 -0
  171. data/lib/peal/types/content_violation_video_too_long.rb +19 -0
  172. data/lib/peal/types/content_violation_video_too_short.rb +19 -0
  173. data/lib/peal/types/created_api_key.rb +13 -0
  174. data/lib/peal/types/database_unavailable_encoded.rb +11 -0
  175. data/lib/peal/types/database_unavailable_encoded_tag.rb +13 -0
  176. data/lib/peal/types/draft_page.rb +13 -0
  177. data/lib/peal/types/effect_http_api_error_bad_request_encoded.rb +11 -0
  178. data/lib/peal/types/effect_http_api_error_bad_request_encoded_tag.rb +13 -0
  179. data/lib/peal/types/engagement_day.rb +19 -0
  180. data/lib/peal/types/failure_reason.rb +24 -0
  181. data/lib/peal/types/forbidden_encoded.rb +11 -0
  182. data/lib/peal/types/forbidden_encoded_tag.rb +13 -0
  183. data/lib/peal/types/invalid_date_range_encoded.rb +11 -0
  184. data/lib/peal/types/invalid_date_range_encoded_tag.rb +13 -0
  185. data/lib/peal/types/invalid_time_range_encoded.rb +11 -0
  186. data/lib/peal/types/invalid_time_range_encoded_tag.rb +13 -0
  187. data/lib/peal/types/invalid_time_zone_encoded.rb +13 -0
  188. data/lib/peal/types/invalid_time_zone_encoded_tag.rb +13 -0
  189. data/lib/peal/types/invitation.rb +21 -0
  190. data/lib/peal/types/invitation_not_found_encoded.rb +9 -0
  191. data/lib/peal/types/me.rb +15 -0
  192. data/lib/peal/types/me_user.rb +21 -0
  193. data/lib/peal/types/me_user_locale.rb +14 -0
  194. data/lib/peal/types/media.rb +33 -0
  195. data/lib/peal/types/media_attachment.rb +13 -0
  196. data/lib/peal/types/media_content_type.rb +18 -0
  197. data/lib/peal/types/media_dimensions.rb +13 -0
  198. data/lib/peal/types/media_in_use_encoded.rb +13 -0
  199. data/lib/peal/types/media_in_use_encoded_tag.rb +13 -0
  200. data/lib/peal/types/media_kind.rb +14 -0
  201. data/lib/peal/types/media_not_found_encoded.rb +9 -0
  202. data/lib/peal/types/media_page.rb +13 -0
  203. data/lib/peal/types/media_status.rb +21 -0
  204. data/lib/peal/types/media_status_pending.rb +9 -0
  205. data/lib/peal/types/media_status_ready.rb +9 -0
  206. data/lib/peal/types/media_status_rejected.rb +11 -0
  207. data/lib/peal/types/media_status_uploaded.rb +11 -0
  208. data/lib/peal/types/media_store_unavailable_encoded.rb +11 -0
  209. data/lib/peal/types/media_store_unavailable_encoded_tag.rb +13 -0
  210. data/lib/peal/types/media_too_large_encoded.rb +15 -0
  211. data/lib/peal/types/media_too_large_encoded_kind.rb +14 -0
  212. data/lib/peal/types/media_usage.rb +13 -0
  213. data/lib/peal/types/membership.rb +19 -0
  214. data/lib/peal/types/metric_totals.rb +21 -0
  215. data/lib/peal/types/metrics_snapshot.rb +13 -0
  216. data/lib/peal/types/non_finite_number.rb +14 -0
  217. data/lib/peal/types/not_found_error_body.rb +17 -0
  218. data/lib/peal/types/notice.rb +19 -0
  219. data/lib/peal/types/notice_channel.rb +13 -0
  220. data/lib/peal/types/notice_event.rb +23 -0
  221. data/lib/peal/types/notice_event_channel_reconnect_required.rb +11 -0
  222. data/lib/peal/types/notice_event_channel_reconnect_soon.rb +13 -0
  223. data/lib/peal/types/notice_event_post_failed.rb +15 -0
  224. data/lib/peal/types/notice_event_post_published.rb +15 -0
  225. data/lib/peal/types/notice_event_post_unconfirmed.rb +13 -0
  226. data/lib/peal/types/notice_page.rb +13 -0
  227. data/lib/peal/types/notification_preferences.rb +13 -0
  228. data/lib/peal/types/notification_preferences_email.rb +17 -0
  229. data/lib/peal/types/paid_plan.rb +14 -0
  230. data/lib/peal/types/period_usage.rb +13 -0
  231. data/lib/peal/types/permission.rb +40 -0
  232. data/lib/peal/types/plan.rb +15 -0
  233. data/lib/peal/types/plan_allowances.rb +17 -0
  234. data/lib/peal/types/plan_limit.rb +16 -0
  235. data/lib/peal/types/plan_limit_reached_encoded.rb +15 -0
  236. data/lib/peal/types/plan_limit_reached_encoded_tag.rb +13 -0
  237. data/lib/peal/types/plan_offer.rb +13 -0
  238. data/lib/peal/types/platform.rb +22 -0
  239. data/lib/peal/types/platform_unreachable_encoded.rb +11 -0
  240. data/lib/peal/types/platform_unreachable_encoded_tag.rb +13 -0
  241. data/lib/peal/types/post.rb +23 -0
  242. data/lib/peal/types/post_analytics.rb +13 -0
  243. data/lib/peal/types/post_content.rb +15 -0
  244. data/lib/peal/types/post_content_invalid_encoded.rb +11 -0
  245. data/lib/peal/types/post_draft.rb +15 -0
  246. data/lib/peal/types/post_metrics.rb +19 -0
  247. data/lib/peal/types/post_not_found_encoded.rb +9 -0
  248. data/lib/peal/types/post_outcome.rb +17 -0
  249. data/lib/peal/types/post_schedule.rb +13 -0
  250. data/lib/peal/types/post_status.rb +17 -0
  251. data/lib/peal/types/post_status_conflict_encoded.rb +13 -0
  252. data/lib/peal/types/post_status_conflict_encoded_tag.rb +13 -0
  253. data/lib/peal/types/post_target.rb +29 -0
  254. data/lib/peal/types/post_target_status.rb +18 -0
  255. data/lib/peal/types/prepared_upload.rb +13 -0
  256. data/lib/peal/types/probe_state.rb +18 -0
  257. data/lib/peal/types/publication_attempt.rb +23 -0
  258. data/lib/peal/types/rejection_reason.rb +14 -0
  259. data/lib/peal/types/role.rb +17 -0
  260. data/lib/peal/types/schedule_in_past_encoded.rb +9 -0
  261. data/lib/peal/types/signed_request.rb +15 -0
  262. data/lib/peal/types/signed_request_method.rb +13 -0
  263. data/lib/peal/types/subscription_status.rb +20 -0
  264. data/lib/peal/types/suggestion.rb +17 -0
  265. data/lib/peal/types/suggestion_hashtags.rb +11 -0
  266. data/lib/peal/types/suggestion_text.rb +11 -0
  267. data/lib/peal/types/target_confirmation.rb +17 -0
  268. data/lib/peal/types/target_confirmation_not_published.rb +9 -0
  269. data/lib/peal/types/target_confirmation_published.rb +11 -0
  270. data/lib/peal/types/target_metrics.rb +25 -0
  271. data/lib/peal/types/target_options.rb +19 -0
  272. data/lib/peal/types/target_status_conflict_encoded.rb +11 -0
  273. data/lib/peal/types/text_override.rb +13 -0
  274. data/lib/peal/types/text_unit.rb +18 -0
  275. data/lib/peal/types/tik_tok_account.rb +13 -0
  276. data/lib/peal/types/tik_tok_account_posting.rb +17 -0
  277. data/lib/peal/types/tik_tok_account_posting_blocked.rb +11 -0
  278. data/lib/peal/types/tik_tok_account_posting_ready.rb +11 -0
  279. data/lib/peal/types/tik_tok_block.rb +15 -0
  280. data/lib/peal/types/tik_tok_creator.rb +25 -0
  281. data/lib/peal/types/tik_tok_options.rb +26 -0
  282. data/lib/peal/types/tik_tok_privacy_level.rb +16 -0
  283. data/lib/peal/types/too_many_invitations_encoded.rb +9 -0
  284. data/lib/peal/types/top_post.rb +23 -0
  285. data/lib/peal/types/translation_language.rb +22 -0
  286. data/lib/peal/types/unauthenticated_encoded.rb +11 -0
  287. data/lib/peal/types/unauthenticated_encoded_tag.rb +13 -0
  288. data/lib/peal/types/unconfirmed_reason.rb +16 -0
  289. data/lib/peal/types/unknown_channels_encoded.rb +11 -0
  290. data/lib/peal/types/unknown_media_encoded.rb +11 -0
  291. data/lib/peal/types/unprocessable_entity_error_body.rb +19 -0
  292. data/lib/peal/types/unread_notices.rb +11 -0
  293. data/lib/peal/types/unsupported_media_type_encoded.rb +11 -0
  294. data/lib/peal/types/upload_incomplete_encoded.rb +11 -0
  295. data/lib/peal/types/upload_incomplete_encoded_tag.rb +13 -0
  296. data/lib/peal/types/upload_part.rb +15 -0
  297. data/lib/peal/types/upload_rejected_encoded.rb +13 -0
  298. data/lib/peal/types/upload_rejected_encoded_tag.rb +13 -0
  299. data/lib/peal/types/upload_target.rb +17 -0
  300. data/lib/peal/types/upload_target_multipart.rb +15 -0
  301. data/lib/peal/types/upload_target_single.rb +13 -0
  302. data/lib/peal/types/usage.rb +17 -0
  303. data/lib/peal/types/workspace_member.rb +19 -0
  304. data/lib/peal/types/workspace_not_found_encoded.rb +11 -0
  305. data/lib/peal/types/workspace_not_found_encoded_tag.rb +13 -0
  306. data/lib/peal/types/you_tube_options.rb +24 -0
  307. data/lib/peal/types/you_tube_privacy.rb +15 -0
  308. data/lib/peal/version.rb +2 -12
  309. data/lib/peal.rb +315 -247
  310. metadata +313 -510
  311. data/Gemfile +0 -9
  312. data/Gemfile.lock +0 -136
  313. data/Rakefile +0 -10
  314. data/docs/AlreadyMemberEncoded.md +0 -18
  315. data/docs/AltTextTooLongEncoded.md +0 -20
  316. data/docs/AnalyticsApi.md +0 -155
  317. data/docs/AnalyticsSummary.md +0 -30
  318. data/docs/ApiKey.md +0 -28
  319. data/docs/ApiKeyNotFoundEncoded.md +0 -18
  320. data/docs/ApiKeysApi.md +0 -220
  321. data/docs/ApiKeysRevoke404Response.md +0 -18
  322. data/docs/AssistantAction.md +0 -24
  323. data/docs/AssistantActionAnyOf.md +0 -20
  324. data/docs/AssistantActionAnyOf1.md +0 -20
  325. data/docs/AssistantActionAnyOf2.md +0 -20
  326. data/docs/AssistantActionAnyOf3.md +0 -18
  327. data/docs/AssistantApi.md +0 -149
  328. data/docs/AssistantFailedEncoded.md +0 -20
  329. data/docs/AssistantInputRejectedEncoded.md +0 -22
  330. data/docs/AssistantQuotaExceededEncoded.md +0 -22
  331. data/docs/AssistantStatus.md +0 -26
  332. data/docs/AssistantTone.md +0 -15
  333. data/docs/AssistantUnavailableEncoded.md +0 -18
  334. data/docs/AttemptResult.md +0 -15
  335. data/docs/Authorization.md +0 -18
  336. data/docs/Billing.md +0 -28
  337. data/docs/BillingApi.md +0 -77
  338. data/docs/BillingSubscription.md +0 -24
  339. data/docs/Channel.md +0 -30
  340. data/docs/ChannelCannotPostEncoded.md +0 -20
  341. data/docs/ChannelMetrics.md +0 -30
  342. data/docs/ChannelNotFoundEncoded.md +0 -18
  343. data/docs/ChannelOptions.md +0 -20
  344. data/docs/ChannelStatus.md +0 -20
  345. data/docs/ChannelStatusAnyOf.md +0 -18
  346. data/docs/ChannelStatusAnyOf1.md +0 -18
  347. data/docs/ChannelStatusAnyOf2.md +0 -20
  348. data/docs/ChannelsApi.md +0 -512
  349. data/docs/ChannelsCompleteConnect404Response.md +0 -18
  350. data/docs/ChoosableAccount.md +0 -26
  351. data/docs/ChooseAccounts.md +0 -20
  352. data/docs/ConnectCallback.md +0 -24
  353. data/docs/ConnectChannel.md +0 -20
  354. data/docs/ConnectFailedEncoded.md +0 -20
  355. data/docs/ConnectFailureReason.md +0 -15
  356. data/docs/ConnectOutcome.md +0 -26
  357. data/docs/ConnectOutcomeAnyOf.md +0 -20
  358. data/docs/ConnectOutcomeAnyOf1.md +0 -24
  359. data/docs/ConnectablePlatforms.md +0 -18
  360. data/docs/ContentViolation.md +0 -54
  361. data/docs/ContentViolationAnyOf.md +0 -18
  362. data/docs/ContentViolationAnyOf1.md +0 -20
  363. data/docs/ContentViolationAnyOf10.md +0 -26
  364. data/docs/ContentViolationAnyOf11.md +0 -22
  365. data/docs/ContentViolationAnyOf12.md +0 -26
  366. data/docs/ContentViolationAnyOf13.md +0 -26
  367. data/docs/ContentViolationAnyOf14.md +0 -26
  368. data/docs/ContentViolationAnyOf15.md +0 -26
  369. data/docs/ContentViolationAnyOf16.md +0 -22
  370. data/docs/ContentViolationAnyOf17.md +0 -26
  371. data/docs/ContentViolationAnyOf18.md +0 -28
  372. data/docs/ContentViolationAnyOf19.md +0 -28
  373. data/docs/ContentViolationAnyOf2.md +0 -20
  374. data/docs/ContentViolationAnyOf20.md +0 -28
  375. data/docs/ContentViolationAnyOf21.md +0 -28
  376. data/docs/ContentViolationAnyOf22.md +0 -30
  377. data/docs/ContentViolationAnyOf23.md +0 -32
  378. data/docs/ContentViolationAnyOf24.md +0 -32
  379. data/docs/ContentViolationAnyOf24Maximum.md +0 -15
  380. data/docs/ContentViolationAnyOf25.md +0 -28
  381. data/docs/ContentViolationAnyOf3.md +0 -24
  382. data/docs/ContentViolationAnyOf4.md +0 -24
  383. data/docs/ContentViolationAnyOf5.md +0 -28
  384. data/docs/ContentViolationAnyOf6.md +0 -24
  385. data/docs/ContentViolationAnyOf7.md +0 -22
  386. data/docs/ContentViolationAnyOf8.md +0 -28
  387. data/docs/ContentViolationAnyOf9.md +0 -24
  388. data/docs/CreatedApiKey.md +0 -20
  389. data/docs/DatabaseUnavailableEncoded.md +0 -18
  390. data/docs/DraftPage.md +0 -20
  391. data/docs/EffectHttpApiErrorBadRequestEncoded.md +0 -18
  392. data/docs/EngagementDay.md +0 -26
  393. data/docs/FailureReason.md +0 -15
  394. data/docs/ForbiddenEncoded.md +0 -18
  395. data/docs/InvalidDateRangeEncoded.md +0 -18
  396. data/docs/InvalidTimeRangeEncoded.md +0 -18
  397. data/docs/InvalidTimeZoneEncoded.md +0 -20
  398. data/docs/Invitation.md +0 -28
  399. data/docs/InvitationNotFoundEncoded.md +0 -18
  400. data/docs/InvitationsApi.md +0 -220
  401. data/docs/InvitationsCreate409Response.md +0 -18
  402. data/docs/InvitationsRevoke404Response.md +0 -18
  403. data/docs/MarkNoticesRead.md +0 -18
  404. data/docs/Me.md +0 -22
  405. data/docs/MeUser.md +0 -28
  406. data/docs/Media.md +0 -40
  407. data/docs/MediaApi.md +0 -516
  408. data/docs/MediaAttachment.md +0 -20
  409. data/docs/MediaContentType.md +0 -15
  410. data/docs/MediaCreate422Response.md +0 -28
  411. data/docs/MediaDescription.md +0 -18
  412. data/docs/MediaDimensions.md +0 -20
  413. data/docs/MediaGet404Response.md +0 -18
  414. data/docs/MediaInUseEncoded.md +0 -20
  415. data/docs/MediaKind.md +0 -15
  416. data/docs/MediaNotFoundEncoded.md +0 -18
  417. data/docs/MediaPage.md +0 -20
  418. data/docs/MediaStatus.md +0 -22
  419. data/docs/MediaStatusAnyOf.md +0 -18
  420. data/docs/MediaStatusAnyOf1.md +0 -20
  421. data/docs/MediaStatusAnyOf2.md +0 -18
  422. data/docs/MediaStatusAnyOf3.md +0 -20
  423. data/docs/MediaStoreUnavailableEncoded.md +0 -18
  424. data/docs/MediaTooLargeEncoded.md +0 -24
  425. data/docs/MediaUsage.md +0 -20
  426. data/docs/MembersApi.md +0 -77
  427. data/docs/Membership.md +0 -26
  428. data/docs/MetricTotals.md +0 -28
  429. data/docs/MetricsSnapshot.md +0 -20
  430. data/docs/NewApiKey.md +0 -22
  431. data/docs/NewInvitation.md +0 -20
  432. data/docs/NewUpload.md +0 -22
  433. data/docs/NonFiniteNumber.md +0 -15
  434. data/docs/Notice.md +0 -26
  435. data/docs/NoticeChannel.md +0 -20
  436. data/docs/NoticeEvent.md +0 -28
  437. data/docs/NoticeEventAnyOf.md +0 -24
  438. data/docs/NoticeEventAnyOf1.md +0 -24
  439. data/docs/NoticeEventAnyOf2.md +0 -22
  440. data/docs/NoticeEventAnyOf3.md +0 -20
  441. data/docs/NoticeEventAnyOf4.md +0 -22
  442. data/docs/NoticePage.md +0 -20
  443. data/docs/NoticesApi.md +0 -285
  444. data/docs/NotificationPreferences.md +0 -20
  445. data/docs/NotificationPreferencesApi.md +0 -144
  446. data/docs/NotificationPreferencesChange.md +0 -20
  447. data/docs/NotificationPreferencesChangeEmail.md +0 -24
  448. data/docs/NotificationPreferencesEmail.md +0 -24
  449. data/docs/PaidPlan.md +0 -15
  450. data/docs/PeriodUsage.md +0 -20
  451. data/docs/Plan.md +0 -15
  452. data/docs/PlanAllowances.md +0 -24
  453. data/docs/PlanLimit.md +0 -15
  454. data/docs/PlanLimitReachedEncoded.md +0 -22
  455. data/docs/PlanOffer.md +0 -20
  456. data/docs/Platform.md +0 -15
  457. data/docs/PlatformUnreachableEncoded.md +0 -18
  458. data/docs/Post.md +0 -30
  459. data/docs/PostAnalytics.md +0 -20
  460. data/docs/PostContent.md +0 -22
  461. data/docs/PostContentInvalidEncoded.md +0 -20
  462. data/docs/PostDraft.md +0 -22
  463. data/docs/PostMetrics.md +0 -26
  464. data/docs/PostNotFoundEncoded.md +0 -18
  465. data/docs/PostOutcome.md +0 -15
  466. data/docs/PostSchedule.md +0 -20
  467. data/docs/PostStatus.md +0 -15
  468. data/docs/PostStatusConflictEncoded.md +0 -20
  469. data/docs/PostTarget.md +0 -36
  470. data/docs/PostTargetStatus.md +0 -15
  471. data/docs/PostsApi.md +0 -960
  472. data/docs/PostsCreate422Response.md +0 -24
  473. data/docs/PostsGet404Response.md +0 -18
  474. data/docs/PostsRepost409Response.md +0 -20
  475. data/docs/PostsSchedule422Response.md +0 -26
  476. data/docs/PreparedUpload.md +0 -20
  477. data/docs/ProbeState.md +0 -15
  478. data/docs/PublicationAttempt.md +0 -30
  479. data/docs/RejectionReason.md +0 -15
  480. data/docs/Role.md +0 -15
  481. data/docs/ScheduleInPastEncoded.md +0 -18
  482. data/docs/SchedulePost.md +0 -22
  483. data/docs/SessionApi.md +0 -74
  484. data/docs/SignedRequest.md +0 -22
  485. data/docs/SubscriptionStatus.md +0 -15
  486. data/docs/Suggestion.md +0 -22
  487. data/docs/SuggestionAnyOf.md +0 -20
  488. data/docs/SuggestionAnyOf1.md +0 -20
  489. data/docs/SuggestionRequest.md +0 -20
  490. data/docs/SystemApi.md +0 -129
  491. data/docs/TargetConfirmation.md +0 -20
  492. data/docs/TargetConfirmationAnyOf.md +0 -20
  493. data/docs/TargetConfirmationAnyOf1.md +0 -18
  494. data/docs/TargetMetrics.md +0 -32
  495. data/docs/TargetOptions.md +0 -48
  496. data/docs/TargetStatusConflictEncoded.md +0 -20
  497. data/docs/TextOverride.md +0 -20
  498. data/docs/TextUnit.md +0 -15
  499. data/docs/TikTokAccount.md +0 -20
  500. data/docs/TikTokAccountPosting.md +0 -22
  501. data/docs/TikTokAccountPostingAnyOf.md +0 -20
  502. data/docs/TikTokAccountPostingAnyOf1.md +0 -20
  503. data/docs/TikTokBlock.md +0 -15
  504. data/docs/TikTokCreator.md +0 -32
  505. data/docs/TikTokOptions.md +0 -34
  506. data/docs/TikTokPrivacyLevel.md +0 -15
  507. data/docs/TiktokApi.md +0 -79
  508. data/docs/TooManyInvitationsEncoded.md +0 -18
  509. data/docs/TopPost.md +0 -30
  510. data/docs/TranslationLanguage.md +0 -15
  511. data/docs/UnauthenticatedEncoded.md +0 -18
  512. data/docs/UnconfirmedReason.md +0 -15
  513. data/docs/UnknownChannelsEncoded.md +0 -20
  514. data/docs/UnknownMediaEncoded.md +0 -20
  515. data/docs/UnreadNotices.md +0 -18
  516. data/docs/UnsupportedMediaTypeEncoded.md +0 -20
  517. data/docs/UploadIncompleteEncoded.md +0 -18
  518. data/docs/UploadPart.md +0 -22
  519. data/docs/UploadRejectedEncoded.md +0 -20
  520. data/docs/UploadTarget.md +0 -26
  521. data/docs/UploadTargetAnyOf.md +0 -22
  522. data/docs/UploadTargetAnyOf1.md +0 -24
  523. data/docs/Usage.md +0 -24
  524. data/docs/WorkspaceMember.md +0 -26
  525. data/docs/WorkspaceNotFoundEncoded.md +0 -18
  526. data/docs/YouTubeOptions.md +0 -32
  527. data/docs/YouTubePrivacy.md +0 -15
  528. data/lib/peal/api/analytics_api.rb +0 -185
  529. data/lib/peal/api/api_keys_api.rb +0 -228
  530. data/lib/peal/api/assistant_api.rb +0 -159
  531. data/lib/peal/api/billing_api.rb +0 -85
  532. data/lib/peal/api/channels_api.rb +0 -526
  533. data/lib/peal/api/invitations_api.rb +0 -228
  534. data/lib/peal/api/media_api.rb +0 -526
  535. data/lib/peal/api/members_api.rb +0 -85
  536. data/lib/peal/api/notices_api.rb +0 -272
  537. data/lib/peal/api/notification_preferences_api.rb +0 -147
  538. data/lib/peal/api/posts_api.rb +0 -993
  539. data/lib/peal/api/session_api.rb +0 -79
  540. data/lib/peal/api/system_api.rb +0 -134
  541. data/lib/peal/api/tiktok_api.rb +0 -91
  542. data/lib/peal/api_client.rb +0 -441
  543. data/lib/peal/api_error.rb +0 -58
  544. data/lib/peal/api_model_base.rb +0 -88
  545. data/lib/peal/configuration.rb +0 -392
  546. data/lib/peal/models/already_member_encoded.rb +0 -201
  547. data/lib/peal/models/alt_text_too_long_encoded.rb +0 -245
  548. data/lib/peal/models/analytics_summary.rb +0 -361
  549. data/lib/peal/models/api_key.rb +0 -293
  550. data/lib/peal/models/api_key_not_found_encoded.rb +0 -201
  551. data/lib/peal/models/api_keys_revoke404_response.rb +0 -103
  552. data/lib/peal/models/assistant_action.rb +0 -105
  553. data/lib/peal/models/assistant_action_any_of.rb +0 -227
  554. data/lib/peal/models/assistant_action_any_of1.rb +0 -227
  555. data/lib/peal/models/assistant_action_any_of2.rb +0 -227
  556. data/lib/peal/models/assistant_action_any_of3.rb +0 -201
  557. data/lib/peal/models/assistant_failed_encoded.rb +0 -229
  558. data/lib/peal/models/assistant_input_rejected_encoded.rb +0 -273
  559. data/lib/peal/models/assistant_quota_exceeded_encoded.rb +0 -271
  560. data/lib/peal/models/assistant_status.rb +0 -335
  561. data/lib/peal/models/assistant_tone.rb +0 -43
  562. data/lib/peal/models/assistant_unavailable_encoded.rb +0 -201
  563. data/lib/peal/models/attempt_result.rb +0 -50
  564. data/lib/peal/models/authorization.rb +0 -177
  565. data/lib/peal/models/billing.rb +0 -303
  566. data/lib/peal/models/billing_subscription.rb +0 -263
  567. data/lib/peal/models/channel.rb +0 -313
  568. data/lib/peal/models/channel_cannot_post_encoded.rb +0 -229
  569. data/lib/peal/models/channel_metrics.rb +0 -425
  570. data/lib/peal/models/channel_not_found_encoded.rb +0 -201
  571. data/lib/peal/models/channel_options.rb +0 -203
  572. data/lib/peal/models/channel_status.rb +0 -104
  573. data/lib/peal/models/channel_status_any_of.rb +0 -201
  574. data/lib/peal/models/channel_status_any_of1.rb +0 -201
  575. data/lib/peal/models/channel_status_any_of2.rb +0 -227
  576. data/lib/peal/models/channels_complete_connect404_response.rb +0 -103
  577. data/lib/peal/models/choosable_account.rb +0 -253
  578. data/lib/peal/models/choose_accounts.rb +0 -241
  579. data/lib/peal/models/connect_callback.rb +0 -279
  580. data/lib/peal/models/connect_channel.rb +0 -207
  581. data/lib/peal/models/connect_failed_encoded.rb +0 -227
  582. data/lib/peal/models/connect_failure_reason.rb +0 -48
  583. data/lib/peal/models/connect_outcome.rb +0 -103
  584. data/lib/peal/models/connect_outcome_any_of.rb +0 -227
  585. data/lib/peal/models/connect_outcome_any_of1.rb +0 -281
  586. data/lib/peal/models/connectable_platforms.rb +0 -179
  587. data/lib/peal/models/content_violation.rb +0 -127
  588. data/lib/peal/models/content_violation_any_of.rb +0 -201
  589. data/lib/peal/models/content_violation_any_of1.rb +0 -227
  590. data/lib/peal/models/content_violation_any_of10.rb +0 -341
  591. data/lib/peal/models/content_violation_any_of11.rb +0 -253
  592. data/lib/peal/models/content_violation_any_of12.rb +0 -341
  593. data/lib/peal/models/content_violation_any_of13.rb +0 -341
  594. data/lib/peal/models/content_violation_any_of14.rb +0 -341
  595. data/lib/peal/models/content_violation_any_of15.rb +0 -341
  596. data/lib/peal/models/content_violation_any_of16.rb +0 -253
  597. data/lib/peal/models/content_violation_any_of17.rb +0 -305
  598. data/lib/peal/models/content_violation_any_of18.rb +0 -367
  599. data/lib/peal/models/content_violation_any_of19.rb +0 -367
  600. data/lib/peal/models/content_violation_any_of2.rb +0 -227
  601. data/lib/peal/models/content_violation_any_of20.rb +0 -367
  602. data/lib/peal/models/content_violation_any_of21.rb +0 -367
  603. data/lib/peal/models/content_violation_any_of22.rb +0 -411
  604. data/lib/peal/models/content_violation_any_of23.rb +0 -455
  605. data/lib/peal/models/content_violation_any_of24.rb +0 -419
  606. data/lib/peal/models/content_violation_any_of24_maximum.rb +0 -103
  607. data/lib/peal/models/content_violation_any_of25.rb +0 -367
  608. data/lib/peal/models/content_violation_any_of3.rb +0 -279
  609. data/lib/peal/models/content_violation_any_of4.rb +0 -279
  610. data/lib/peal/models/content_violation_any_of5.rb +0 -367
  611. data/lib/peal/models/content_violation_any_of6.rb +0 -279
  612. data/lib/peal/models/content_violation_any_of7.rb +0 -253
  613. data/lib/peal/models/content_violation_any_of8.rb +0 -367
  614. data/lib/peal/models/content_violation_any_of9.rb +0 -281
  615. data/lib/peal/models/created_api_key.rb +0 -203
  616. data/lib/peal/models/database_unavailable_encoded.rb +0 -201
  617. data/lib/peal/models/draft_page.rb +0 -191
  618. data/lib/peal/models/effect_http_api_error_bad_request_encoded.rb +0 -201
  619. data/lib/peal/models/engagement_day.rb +0 -364
  620. data/lib/peal/models/failure_reason.rb +0 -50
  621. data/lib/peal/models/forbidden_encoded.rb +0 -201
  622. data/lib/peal/models/invalid_date_range_encoded.rb +0 -201
  623. data/lib/peal/models/invalid_time_range_encoded.rb +0 -201
  624. data/lib/peal/models/invalid_time_zone_encoded.rb +0 -227
  625. data/lib/peal/models/invitation.rb +0 -307
  626. data/lib/peal/models/invitation_not_found_encoded.rb +0 -201
  627. data/lib/peal/models/invitations_create409_response.rb +0 -103
  628. data/lib/peal/models/invitations_revoke404_response.rb +0 -103
  629. data/lib/peal/models/mark_notices_read.rb +0 -197
  630. data/lib/peal/models/me.rb +0 -217
  631. data/lib/peal/models/me_user.rb +0 -317
  632. data/lib/peal/models/media.rb +0 -457
  633. data/lib/peal/models/media_attachment.rb +0 -212
  634. data/lib/peal/models/media_content_type.rb +0 -44
  635. data/lib/peal/models/media_create422_response.rb +0 -104
  636. data/lib/peal/models/media_description.rb +0 -163
  637. data/lib/peal/models/media_dimensions.rb +0 -239
  638. data/lib/peal/models/media_get404_response.rb +0 -103
  639. data/lib/peal/models/media_in_use_encoded.rb +0 -229
  640. data/lib/peal/models/media_kind.rb +0 -40
  641. data/lib/peal/models/media_not_found_encoded.rb +0 -201
  642. data/lib/peal/models/media_page.rb +0 -191
  643. data/lib/peal/models/media_status.rb +0 -105
  644. data/lib/peal/models/media_status_any_of.rb +0 -201
  645. data/lib/peal/models/media_status_any_of1.rb +0 -227
  646. data/lib/peal/models/media_status_any_of2.rb +0 -201
  647. data/lib/peal/models/media_status_any_of3.rb +0 -227
  648. data/lib/peal/models/media_store_unavailable_encoded.rb +0 -201
  649. data/lib/peal/models/media_too_large_encoded.rb +0 -317
  650. data/lib/peal/models/media_usage.rb +0 -207
  651. data/lib/peal/models/membership.rb +0 -295
  652. data/lib/peal/models/metric_totals.rb +0 -399
  653. data/lib/peal/models/metrics_snapshot.rb +0 -203
  654. data/lib/peal/models/new_api_key.rb +0 -277
  655. data/lib/peal/models/new_invitation.rb +0 -245
  656. data/lib/peal/models/new_upload.rb +0 -231
  657. data/lib/peal/models/non_finite_number.rb +0 -41
  658. data/lib/peal/models/notice.rb +0 -267
  659. data/lib/peal/models/notice_channel.rb +0 -225
  660. data/lib/peal/models/notice_event.rb +0 -106
  661. data/lib/peal/models/notice_event_any_of.rb +0 -251
  662. data/lib/peal/models/notice_event_any_of1.rb +0 -265
  663. data/lib/peal/models/notice_event_any_of2.rb +0 -239
  664. data/lib/peal/models/notice_event_any_of3.rb +0 -227
  665. data/lib/peal/models/notice_event_any_of4.rb +0 -253
  666. data/lib/peal/models/notice_page.rb +0 -191
  667. data/lib/peal/models/notification_preferences.rb +0 -203
  668. data/lib/peal/models/notification_preferences_change.rb +0 -169
  669. data/lib/peal/models/notification_preferences_change_email.rb +0 -187
  670. data/lib/peal/models/notification_preferences_email.rb +0 -255
  671. data/lib/peal/models/paid_plan.rb +0 -40
  672. data/lib/peal/models/period_usage.rb +0 -221
  673. data/lib/peal/models/plan.rb +0 -41
  674. data/lib/peal/models/plan_allowances.rb +0 -295
  675. data/lib/peal/models/plan_limit.rb +0 -42
  676. data/lib/peal/models/plan_limit_reached_encoded.rb +0 -271
  677. data/lib/peal/models/plan_offer.rb +0 -225
  678. data/lib/peal/models/platform.rb +0 -48
  679. data/lib/peal/models/platform_unreachable_encoded.rb +0 -201
  680. data/lib/peal/models/post.rb +0 -315
  681. data/lib/peal/models/post_analytics.rb +0 -205
  682. data/lib/peal/models/post_content.rb +0 -251
  683. data/lib/peal/models/post_content_invalid_encoded.rb +0 -229
  684. data/lib/peal/models/post_draft.rb +0 -216
  685. data/lib/peal/models/post_metrics.rb +0 -355
  686. data/lib/peal/models/post_not_found_encoded.rb +0 -201
  687. data/lib/peal/models/post_outcome.rb +0 -43
  688. data/lib/peal/models/post_schedule.rb +0 -203
  689. data/lib/peal/models/post_status.rb +0 -43
  690. data/lib/peal/models/post_status_conflict_encoded.rb +0 -227
  691. data/lib/peal/models/post_target.rb +0 -364
  692. data/lib/peal/models/post_target_status.rb +0 -44
  693. data/lib/peal/models/posts_create422_response.rb +0 -104
  694. data/lib/peal/models/posts_get404_response.rb +0 -103
  695. data/lib/peal/models/posts_repost409_response.rb +0 -103
  696. data/lib/peal/models/posts_schedule422_response.rb +0 -106
  697. data/lib/peal/models/prepared_upload.rb +0 -203
  698. data/lib/peal/models/probe_state.rb +0 -44
  699. data/lib/peal/models/publication_attempt.rb +0 -377
  700. data/lib/peal/models/rejection_reason.rb +0 -40
  701. data/lib/peal/models/role.rb +0 -43
  702. data/lib/peal/models/schedule_in_past_encoded.rb +0 -201
  703. data/lib/peal/models/schedule_post.rb +0 -240
  704. data/lib/peal/models/signed_request.rb +0 -255
  705. data/lib/peal/models/subscription_status.rb +0 -46
  706. data/lib/peal/models/suggestion.rb +0 -103
  707. data/lib/peal/models/suggestion_any_of.rb +0 -227
  708. data/lib/peal/models/suggestion_any_of1.rb +0 -229
  709. data/lib/peal/models/suggestion_request.rb +0 -212
  710. data/lib/peal/models/target_confirmation.rb +0 -103
  711. data/lib/peal/models/target_confirmation_any_of.rb +0 -228
  712. data/lib/peal/models/target_confirmation_any_of1.rb +0 -201
  713. data/lib/peal/models/target_metrics.rb +0 -319
  714. data/lib/peal/models/target_options.rb +0 -104
  715. data/lib/peal/models/target_status_conflict_encoded.rb +0 -227
  716. data/lib/peal/models/text_override.rb +0 -221
  717. data/lib/peal/models/text_unit.rb +0 -44
  718. data/lib/peal/models/tik_tok_account.rb +0 -203
  719. data/lib/peal/models/tik_tok_account_posting.rb +0 -103
  720. data/lib/peal/models/tik_tok_account_posting_any_of.rb +0 -227
  721. data/lib/peal/models/tik_tok_account_posting_any_of1.rb +0 -227
  722. data/lib/peal/models/tik_tok_block.rb +0 -41
  723. data/lib/peal/models/tik_tok_creator.rb +0 -357
  724. data/lib/peal/models/tik_tok_options.rb +0 -274
  725. data/lib/peal/models/tik_tok_privacy_level.rb +0 -42
  726. data/lib/peal/models/too_many_invitations_encoded.rb +0 -201
  727. data/lib/peal/models/top_post.rb +0 -337
  728. data/lib/peal/models/translation_language.rb +0 -48
  729. data/lib/peal/models/unauthenticated_encoded.rb +0 -201
  730. data/lib/peal/models/unconfirmed_reason.rb +0 -42
  731. data/lib/peal/models/unknown_channels_encoded.rb +0 -229
  732. data/lib/peal/models/unknown_media_encoded.rb +0 -229
  733. data/lib/peal/models/unread_notices.rb +0 -195
  734. data/lib/peal/models/unsupported_media_type_encoded.rb +0 -227
  735. data/lib/peal/models/upload_incomplete_encoded.rb +0 -201
  736. data/lib/peal/models/upload_part.rb +0 -265
  737. data/lib/peal/models/upload_rejected_encoded.rb +0 -227
  738. data/lib/peal/models/upload_target.rb +0 -103
  739. data/lib/peal/models/upload_target_any_of.rb +0 -253
  740. data/lib/peal/models/upload_target_any_of1.rb +0 -299
  741. data/lib/peal/models/usage.rb +0 -291
  742. data/lib/peal/models/workspace_member.rb +0 -281
  743. data/lib/peal/models/workspace_not_found_encoded.rb +0 -201
  744. data/lib/peal/models/you_tube_options.rb +0 -324
  745. data/lib/peal/models/you_tube_privacy.rb +0 -41
  746. data/peal.gemspec +0 -41
  747. data/project.json +0 -17
@@ -0,0 +1,703 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Peal
4
+ module Posts
5
+ class Client
6
+ # @param client [Peal::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # Lists the workspace's drafts, newest first, 20 a page unless `limit` (at most 50) says otherwise. Pass the
14
+ # page's `nextCursor` as `cursor` for the next one. Needs post:read.
15
+ #
16
+ # @param request_options [Hash]
17
+ # @param params [Hash]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ # @option params [String] :workspace_id
24
+ # @option params [String, nil] :cursor
25
+ # @option params [String, nil] :limit
26
+ #
27
+ # @example
28
+ # client.posts.drafts(workspace_id: "workspaceId")
29
+ #
30
+ # @return [Peal::Types::DraftPage]
31
+ def drafts(request_options: {}, **params)
32
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
33
+ query_params = {}
34
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
35
+ query_params["limit"] = params[:limit] if params.key?(:limit)
36
+
37
+ request = Peal::Internal::JSON::Request.new(
38
+ base_url: request_options[:base_url],
39
+ method: "GET",
40
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/drafts",
41
+ query: query_params,
42
+ request_options: request_options
43
+ )
44
+ begin
45
+ response = @client.send(request)
46
+ rescue Net::HTTPRequestTimeout
47
+ raise Peal::Errors::TimeoutError
48
+ end
49
+ code = response.code.to_i
50
+ if code.between?(200, 299)
51
+ (response.body.to_s.empty? ? nil : Peal::Types::DraftPage.load(response.body))
52
+ else
53
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
54
+ error_types = {
55
+ 401 => Peal::Types::UnauthenticatedEncoded,
56
+ 403 => Peal::Types::ForbiddenEncoded
57
+ }
58
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
59
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
60
+ end
61
+ end
62
+
63
+ # Lists the posts scheduled from `from` (included) to `to` (excluded), at most 62 days apart, by scheduled
64
+ # instant, with their channels and how each went. Drafts have no time and are not listed; cancelled posts are,
65
+ # with the time they had. Needs post:read.
66
+ #
67
+ # @param request_options [Hash]
68
+ # @param params [Hash]
69
+ # @option request_options [String] :base_url
70
+ # @option request_options [Hash{String => Object}] :additional_headers
71
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
72
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
73
+ # @option request_options [Integer] :timeout_in_seconds
74
+ # @option params [String] :workspace_id
75
+ # @option params [String] :from
76
+ # @option params [String] :to
77
+ #
78
+ # @example
79
+ # client.posts.list(
80
+ # workspace_id: "workspaceId",
81
+ # from: "from",
82
+ # to: "to"
83
+ # )
84
+ #
85
+ # @return [Array[Peal::Types::Post]]
86
+ def list(request_options: {}, **params)
87
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
88
+ query_params = {}
89
+ query_params["from"] = params[:from] if params.key?(:from)
90
+ query_params["to"] = params[:to] if params.key?(:to)
91
+
92
+ request = Peal::Internal::JSON::Request.new(
93
+ base_url: request_options[:base_url],
94
+ method: "GET",
95
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts",
96
+ query: query_params,
97
+ request_options: request_options
98
+ )
99
+ begin
100
+ response = @client.send(request)
101
+ rescue Net::HTTPRequestTimeout
102
+ raise Peal::Errors::TimeoutError
103
+ end
104
+ code = response.code.to_i
105
+ if code.between?(200, 299)
106
+ Peal::Internal::Types::Utils.coerce(Internal::Types::Array[Peal::Types::Post], (response.body.to_s.empty? ? nil : JSON.parse(response.body, symbolize_names: true)))
107
+ else
108
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
109
+ error_types = {
110
+ 401 => Peal::Types::UnauthenticatedEncoded,
111
+ 403 => Peal::Types::ForbiddenEncoded
112
+ }
113
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
114
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
115
+ end
116
+ end
117
+
118
+ # Creates a draft for some of the workspace's channels, possibly none yet, with options on those whose platform
119
+ # takes them (`TargetOptions`, of the channel's platform). Its media must be the workspace's, and ready. Its text,
120
+ # media and options are checked against each platform's rules when it is scheduled, not before. Needs post:create,
121
+ # channel:read, and media:read when it shows media.
122
+ #
123
+ # @param request_options [Hash]
124
+ # @param params [Peal::Types::PostDraft]
125
+ # @option request_options [String] :base_url
126
+ # @option request_options [Hash{String => Object}] :additional_headers
127
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
128
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
129
+ # @option request_options [Integer] :timeout_in_seconds
130
+ # @option params [String] :workspace_id
131
+ #
132
+ # @example
133
+ # client.posts.create(
134
+ # workspace_id: "workspaceId",
135
+ # channel_ids: ["channelIds"],
136
+ # content: {
137
+ # media: [{
138
+ # altText: "altText",
139
+ # mediaId: "mediaId"
140
+ # }],
141
+ # overrides: [{
142
+ # channelId: "channelId",
143
+ # text: "text"
144
+ # }],
145
+ # text: "text"
146
+ # }
147
+ # )
148
+ #
149
+ # @return [Peal::Types::Post]
150
+ def create(request_options: {}, **params)
151
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
152
+ path_param_names = %i[workspace_id]
153
+ body_params = params.except(*path_param_names)
154
+
155
+ request = Peal::Internal::JSON::Request.new(
156
+ base_url: request_options[:base_url],
157
+ method: "POST",
158
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts",
159
+ body: Peal::Types::PostDraft.new(body_params).to_h,
160
+ request_options: request_options,
161
+ max_retries: 0
162
+ )
163
+ begin
164
+ response = @client.send(request)
165
+ rescue Net::HTTPRequestTimeout
166
+ raise Peal::Errors::TimeoutError
167
+ end
168
+ code = response.code.to_i
169
+ if code.between?(200, 299)
170
+ (response.body.to_s.empty? ? nil : Peal::Types::Post.load(response.body))
171
+ else
172
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
173
+ error_types = {
174
+ 401 => Peal::Types::UnauthenticatedEncoded,
175
+ 403 => Peal::Types::ForbiddenEncoded
176
+ }
177
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
178
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
179
+ end
180
+ end
181
+
182
+ # Answers with a post of the workspace. Needs post:read.
183
+ #
184
+ # @param request_options [Hash]
185
+ # @param params [Hash]
186
+ # @option request_options [String] :base_url
187
+ # @option request_options [Hash{String => Object}] :additional_headers
188
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
189
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
190
+ # @option request_options [Integer] :timeout_in_seconds
191
+ # @option params [String] :workspace_id
192
+ # @option params [String] :post_id
193
+ #
194
+ # @example
195
+ # client.posts.get(
196
+ # workspace_id: "workspaceId",
197
+ # post_id: "postId"
198
+ # )
199
+ #
200
+ # @return [Peal::Types::Post]
201
+ def get(request_options: {}, **params)
202
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
203
+ request = Peal::Internal::JSON::Request.new(
204
+ base_url: request_options[:base_url],
205
+ method: "GET",
206
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/#{URI.encode_uri_component(params[:post_id].to_s)}",
207
+ request_options: request_options
208
+ )
209
+ begin
210
+ response = @client.send(request)
211
+ rescue Net::HTTPRequestTimeout
212
+ raise Peal::Errors::TimeoutError
213
+ end
214
+ code = response.code.to_i
215
+ if code.between?(200, 299)
216
+ (response.body.to_s.empty? ? nil : Peal::Types::Post.load(response.body))
217
+ else
218
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
219
+ error_types = {
220
+ 401 => Peal::Types::UnauthenticatedEncoded,
221
+ 403 => Peal::Types::ForbiddenEncoded
222
+ }
223
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
224
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
225
+ end
226
+ end
227
+
228
+ # Replaces a draft's content, channels and options: options left out are removed. A post that is no longer a draft
229
+ # is a conflict. Needs post:update, channel:read, and media:read when it shows media.
230
+ #
231
+ # @param request_options [Hash]
232
+ # @param params [Peal::Types::PostDraft]
233
+ # @option request_options [String] :base_url
234
+ # @option request_options [Hash{String => Object}] :additional_headers
235
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
236
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
237
+ # @option request_options [Integer] :timeout_in_seconds
238
+ # @option params [String] :workspace_id
239
+ # @option params [String] :post_id
240
+ #
241
+ # @example
242
+ # client.posts.update(
243
+ # workspace_id: "workspaceId",
244
+ # post_id: "postId",
245
+ # channel_ids: ["channelIds"],
246
+ # content: {
247
+ # media: [{
248
+ # altText: "altText",
249
+ # mediaId: "mediaId"
250
+ # }],
251
+ # overrides: [{
252
+ # channelId: "channelId",
253
+ # text: "text"
254
+ # }],
255
+ # text: "text"
256
+ # }
257
+ # )
258
+ #
259
+ # @return [Peal::Types::Post]
260
+ def update(request_options: {}, **params)
261
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
262
+ path_param_names = %i[workspace_id post_id]
263
+ body_params = params.except(*path_param_names)
264
+
265
+ request = Peal::Internal::JSON::Request.new(
266
+ base_url: request_options[:base_url],
267
+ method: "PUT",
268
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/#{URI.encode_uri_component(params[:post_id].to_s)}",
269
+ body: Peal::Types::PostDraft.new(body_params).to_h,
270
+ request_options: request_options
271
+ )
272
+ begin
273
+ response = @client.send(request)
274
+ rescue Net::HTTPRequestTimeout
275
+ raise Peal::Errors::TimeoutError
276
+ end
277
+ code = response.code.to_i
278
+ if code.between?(200, 299)
279
+ (response.body.to_s.empty? ? nil : Peal::Types::Post.load(response.body))
280
+ else
281
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
282
+ error_types = {
283
+ 401 => Peal::Types::UnauthenticatedEncoded,
284
+ 403 => Peal::Types::ForbiddenEncoded
285
+ }
286
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
287
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
288
+ end
289
+ end
290
+
291
+ # Deletes a draft. A post scheduled or sent is a conflict: cancel it instead. Needs post:delete, or post:update
292
+ # for the user who created the draft.
293
+ #
294
+ # @param request_options [Hash]
295
+ # @param params [Hash]
296
+ # @option request_options [String] :base_url
297
+ # @option request_options [Hash{String => Object}] :additional_headers
298
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
299
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
300
+ # @option request_options [Integer] :timeout_in_seconds
301
+ # @option params [String] :workspace_id
302
+ # @option params [String] :post_id
303
+ #
304
+ # @example
305
+ # client.posts.discard(
306
+ # workspace_id: "workspaceId",
307
+ # post_id: "postId"
308
+ # )
309
+ #
310
+ # @return [untyped]
311
+ def discard(request_options: {}, **params)
312
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
313
+ request = Peal::Internal::JSON::Request.new(
314
+ base_url: request_options[:base_url],
315
+ method: "DELETE",
316
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/#{URI.encode_uri_component(params[:post_id].to_s)}",
317
+ request_options: request_options
318
+ )
319
+ begin
320
+ response = @client.send(request)
321
+ rescue Net::HTTPRequestTimeout
322
+ raise Peal::Errors::TimeoutError
323
+ end
324
+ code = response.code.to_i
325
+ return if code.between?(200, 299)
326
+
327
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
328
+ error_types = {
329
+ 401 => Peal::Types::UnauthenticatedEncoded,
330
+ 403 => Peal::Types::ForbiddenEncoded
331
+ }
332
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
333
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
334
+ end
335
+
336
+ # Lists every attempt Peal made at publishing the post, by channel, round and attempt, with how each ended. An
337
+ # attempt still in progress is not listed yet. Needs post:read.
338
+ #
339
+ # @param request_options [Hash]
340
+ # @param params [Hash]
341
+ # @option request_options [String] :base_url
342
+ # @option request_options [Hash{String => Object}] :additional_headers
343
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
344
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
345
+ # @option request_options [Integer] :timeout_in_seconds
346
+ # @option params [String] :workspace_id
347
+ # @option params [String] :post_id
348
+ #
349
+ # @example
350
+ # client.posts.attempts(
351
+ # workspace_id: "workspaceId",
352
+ # post_id: "postId"
353
+ # )
354
+ #
355
+ # @return [Array[Peal::Types::PublicationAttempt]]
356
+ def attempts(request_options: {}, **params)
357
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
358
+ request = Peal::Internal::JSON::Request.new(
359
+ base_url: request_options[:base_url],
360
+ method: "GET",
361
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/#{URI.encode_uri_component(params[:post_id].to_s)}/attempts",
362
+ request_options: request_options
363
+ )
364
+ begin
365
+ response = @client.send(request)
366
+ rescue Net::HTTPRequestTimeout
367
+ raise Peal::Errors::TimeoutError
368
+ end
369
+ code = response.code.to_i
370
+ if code.between?(200, 299)
371
+ Peal::Internal::Types::Utils.coerce(Internal::Types::Array[Peal::Types::PublicationAttempt], (response.body.to_s.empty? ? nil : JSON.parse(response.body, symbolize_names: true)))
372
+ else
373
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
374
+ error_types = {
375
+ 401 => Peal::Types::UnauthenticatedEncoded,
376
+ 403 => Peal::Types::ForbiddenEncoded
377
+ }
378
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
379
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
380
+ end
381
+ end
382
+
383
+ # Schedules a draft on some of the workspace's channels at an instant, kept with the IANA time zone it was chosen
384
+ # in. The content must fit each platform's rules, its media included: file types, sizes, durations, dimensions,
385
+ # alt text, how many videos, and whether images and videos go together. A channel whose platform takes options
386
+ # needs those it requires, as the draft gives them on that channel: a channel the draft was not for has none yet.
387
+ # A time up to a minute ago publishes now. On a server that bills, the posts going out in that month (UTC) must
388
+ # fit the workspace's plan (PlanLimitReached). Needs post:schedule and channel:read, and media:read when it shows
389
+ # media.
390
+ #
391
+ # @param request_options [Hash]
392
+ # @param params [Peal::Posts::Types::SchedulePost]
393
+ # @option request_options [String] :base_url
394
+ # @option request_options [Hash{String => Object}] :additional_headers
395
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
396
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
397
+ # @option request_options [Integer] :timeout_in_seconds
398
+ # @option params [String] :workspace_id
399
+ # @option params [String] :post_id
400
+ #
401
+ # @example
402
+ # client.posts.schedule(
403
+ # workspace_id: "workspaceId",
404
+ # post_id: "postId",
405
+ # at: "at",
406
+ # channel_ids: ["channelIds"],
407
+ # time_zone: "timeZone"
408
+ # )
409
+ #
410
+ # @return [Peal::Types::Post]
411
+ def schedule(request_options: {}, **params)
412
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
413
+ request_data = Peal::Posts::Types::SchedulePost.new(params).to_h
414
+ non_body_param_names = %w[workspaceId postId]
415
+ body = request_data.except(*non_body_param_names)
416
+
417
+ request = Peal::Internal::JSON::Request.new(
418
+ base_url: request_options[:base_url],
419
+ method: "POST",
420
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/#{URI.encode_uri_component(params[:post_id].to_s)}/schedule",
421
+ body: body,
422
+ request_options: request_options,
423
+ max_retries: 0
424
+ )
425
+ begin
426
+ response = @client.send(request)
427
+ rescue Net::HTTPRequestTimeout
428
+ raise Peal::Errors::TimeoutError
429
+ end
430
+ code = response.code.to_i
431
+ if code.between?(200, 299)
432
+ (response.body.to_s.empty? ? nil : Peal::Types::Post.load(response.body))
433
+ else
434
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
435
+ error_types = {
436
+ 401 => Peal::Types::UnauthenticatedEncoded,
437
+ 402 => Peal::Types::PlanLimitReachedEncoded,
438
+ 403 => Peal::Types::ForbiddenEncoded
439
+ }
440
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
441
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
442
+ end
443
+ end
444
+
445
+ # Moves a scheduled post to another instant, or schedules a draft on the channels it has. Moved to another month,
446
+ # or scheduled, it must fit that month's posts in the workspace's plan (PlanLimitReached). Needs post:schedule,
447
+ # and channel:read for a draft.
448
+ #
449
+ # @param request_options [Hash]
450
+ # @param params [Peal::Types::PostSchedule]
451
+ # @option request_options [String] :base_url
452
+ # @option request_options [Hash{String => Object}] :additional_headers
453
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
454
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
455
+ # @option request_options [Integer] :timeout_in_seconds
456
+ # @option params [String] :workspace_id
457
+ # @option params [String] :post_id
458
+ #
459
+ # @example
460
+ # client.posts.reschedule(
461
+ # workspace_id: "workspaceId",
462
+ # post_id: "postId",
463
+ # at: "at",
464
+ # time_zone: "timeZone"
465
+ # )
466
+ #
467
+ # @return [Peal::Types::Post]
468
+ def reschedule(request_options: {}, **params)
469
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
470
+ path_param_names = %i[workspace_id post_id]
471
+ body_params = params.except(*path_param_names)
472
+
473
+ request = Peal::Internal::JSON::Request.new(
474
+ base_url: request_options[:base_url],
475
+ method: "POST",
476
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/#{URI.encode_uri_component(params[:post_id].to_s)}/reschedule",
477
+ body: Peal::Types::PostSchedule.new(body_params).to_h,
478
+ request_options: request_options,
479
+ max_retries: 0
480
+ )
481
+ begin
482
+ response = @client.send(request)
483
+ rescue Net::HTTPRequestTimeout
484
+ raise Peal::Errors::TimeoutError
485
+ end
486
+ code = response.code.to_i
487
+ if code.between?(200, 299)
488
+ (response.body.to_s.empty? ? nil : Peal::Types::Post.load(response.body))
489
+ else
490
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
491
+ error_types = {
492
+ 401 => Peal::Types::UnauthenticatedEncoded,
493
+ 402 => Peal::Types::PlanLimitReachedEncoded,
494
+ 403 => Peal::Types::ForbiddenEncoded
495
+ }
496
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
497
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
498
+ end
499
+ end
500
+
501
+ # Takes a scheduled post back to draft, so its text and media can change: it goes out at no time until it is
502
+ # scheduled again. A post already publishing is a conflict. Needs post:schedule.
503
+ #
504
+ # @param request_options [Hash]
505
+ # @param params [Hash]
506
+ # @option request_options [String] :base_url
507
+ # @option request_options [Hash{String => Object}] :additional_headers
508
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
509
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
510
+ # @option request_options [Integer] :timeout_in_seconds
511
+ # @option params [String] :workspace_id
512
+ # @option params [String] :post_id
513
+ #
514
+ # @example
515
+ # client.posts.unschedule(
516
+ # workspace_id: "workspaceId",
517
+ # post_id: "postId"
518
+ # )
519
+ #
520
+ # @return [Peal::Types::Post]
521
+ def unschedule(request_options: {}, **params)
522
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
523
+ request = Peal::Internal::JSON::Request.new(
524
+ base_url: request_options[:base_url],
525
+ method: "POST",
526
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/#{URI.encode_uri_component(params[:post_id].to_s)}/unschedule",
527
+ request_options: request_options,
528
+ max_retries: 0
529
+ )
530
+ begin
531
+ response = @client.send(request)
532
+ rescue Net::HTTPRequestTimeout
533
+ raise Peal::Errors::TimeoutError
534
+ end
535
+ code = response.code.to_i
536
+ if code.between?(200, 299)
537
+ (response.body.to_s.empty? ? nil : Peal::Types::Post.load(response.body))
538
+ else
539
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
540
+ error_types = {
541
+ 401 => Peal::Types::UnauthenticatedEncoded,
542
+ 403 => Peal::Types::ForbiddenEncoded
543
+ }
544
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
545
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
546
+ end
547
+ end
548
+
549
+ # Sends the post again, now, on one channel where it failed or is unconfirmed: a new round, with its own attempts.
550
+ # Check the platform first when it is unconfirmed, as it may be live already. Needs post:schedule.
551
+ #
552
+ # @param request_options [Hash]
553
+ # @param params [Hash]
554
+ # @option request_options [String] :base_url
555
+ # @option request_options [Hash{String => Object}] :additional_headers
556
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
557
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
558
+ # @option request_options [Integer] :timeout_in_seconds
559
+ # @option params [String] :workspace_id
560
+ # @option params [String] :post_id
561
+ # @option params [String] :target_id
562
+ #
563
+ # @example
564
+ # client.posts.repost(
565
+ # workspace_id: "workspaceId",
566
+ # post_id: "postId",
567
+ # target_id: "targetId"
568
+ # )
569
+ #
570
+ # @return [Peal::Types::Post]
571
+ def repost(request_options: {}, **params)
572
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
573
+ request = Peal::Internal::JSON::Request.new(
574
+ base_url: request_options[:base_url],
575
+ method: "POST",
576
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/#{URI.encode_uri_component(params[:post_id].to_s)}/targets/#{URI.encode_uri_component(params[:target_id].to_s)}/repost",
577
+ request_options: request_options,
578
+ max_retries: 0
579
+ )
580
+ begin
581
+ response = @client.send(request)
582
+ rescue Net::HTTPRequestTimeout
583
+ raise Peal::Errors::TimeoutError
584
+ end
585
+ code = response.code.to_i
586
+ if code.between?(200, 299)
587
+ (response.body.to_s.empty? ? nil : Peal::Types::Post.load(response.body))
588
+ else
589
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
590
+ error_types = {
591
+ 401 => Peal::Types::UnauthenticatedEncoded,
592
+ 403 => Peal::Types::ForbiddenEncoded
593
+ }
594
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
595
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
596
+ end
597
+ end
598
+
599
+ # Says what you found on the platform for a post unconfirmed on one channel: `published`, with its address if you
600
+ # have it, or `notPublished`, which fails it there so it can be reposted. Its notifications are marked read. Needs
601
+ # post:schedule.
602
+ #
603
+ # @param request_options [Hash]
604
+ # @param params [Peal::Types::TargetConfirmation]
605
+ # @option request_options [String] :base_url
606
+ # @option request_options [Hash{String => Object}] :additional_headers
607
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
608
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
609
+ # @option request_options [Integer] :timeout_in_seconds
610
+ # @option params [String] :workspace_id
611
+ # @option params [String] :post_id
612
+ # @option params [String] :target_id
613
+ #
614
+ # @example
615
+ # client.posts.confirm(
616
+ # workspace_id: "workspaceId",
617
+ # post_id: "postId",
618
+ # target_id: "targetId"
619
+ # )
620
+ #
621
+ # @return [Peal::Types::Post]
622
+ def confirm(request_options: {}, **params)
623
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
624
+ path_param_names = %i[workspace_id post_id target_id]
625
+ body_params = params.except(*path_param_names)
626
+
627
+ request = Peal::Internal::JSON::Request.new(
628
+ base_url: request_options[:base_url],
629
+ method: "POST",
630
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/#{URI.encode_uri_component(params[:post_id].to_s)}/targets/#{URI.encode_uri_component(params[:target_id].to_s)}/confirm",
631
+ body: Peal::Types::TargetConfirmation.new(body_params).to_h,
632
+ request_options: request_options,
633
+ max_retries: 0
634
+ )
635
+ begin
636
+ response = @client.send(request)
637
+ rescue Net::HTTPRequestTimeout
638
+ raise Peal::Errors::TimeoutError
639
+ end
640
+ code = response.code.to_i
641
+ if code.between?(200, 299)
642
+ (response.body.to_s.empty? ? nil : Peal::Types::Post.load(response.body))
643
+ else
644
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
645
+ error_types = {
646
+ 401 => Peal::Types::UnauthenticatedEncoded,
647
+ 403 => Peal::Types::ForbiddenEncoded
648
+ }
649
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
650
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
651
+ end
652
+ end
653
+
654
+ # Cancels a draft or a scheduled post. A post already publishing finishes with what its channels did: those not
655
+ # yet sent are cancelled. Needs post:schedule.
656
+ #
657
+ # @param request_options [Hash]
658
+ # @param params [Hash]
659
+ # @option request_options [String] :base_url
660
+ # @option request_options [Hash{String => Object}] :additional_headers
661
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
662
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
663
+ # @option request_options [Integer] :timeout_in_seconds
664
+ # @option params [String] :workspace_id
665
+ # @option params [String] :post_id
666
+ #
667
+ # @example
668
+ # client.posts.cancel(
669
+ # workspace_id: "workspaceId",
670
+ # post_id: "postId"
671
+ # )
672
+ #
673
+ # @return [Peal::Types::Post]
674
+ def cancel(request_options: {}, **params)
675
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
676
+ request = Peal::Internal::JSON::Request.new(
677
+ base_url: request_options[:base_url],
678
+ method: "POST",
679
+ path: "api/workspaces/#{URI.encode_uri_component(params[:workspace_id].to_s)}/posts/#{URI.encode_uri_component(params[:post_id].to_s)}/cancel",
680
+ request_options: request_options,
681
+ max_retries: 0
682
+ )
683
+ begin
684
+ response = @client.send(request)
685
+ rescue Net::HTTPRequestTimeout
686
+ raise Peal::Errors::TimeoutError
687
+ end
688
+ code = response.code.to_i
689
+ if code.between?(200, 299)
690
+ (response.body.to_s.empty? ? nil : Peal::Types::Post.load(response.body))
691
+ else
692
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
693
+ error_types = {
694
+ 401 => Peal::Types::UnauthenticatedEncoded,
695
+ 403 => Peal::Types::ForbiddenEncoded
696
+ }
697
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
698
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
699
+ end
700
+ end
701
+ end
702
+ end
703
+ end