postboost 1.42.0 → 1.44.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 (758) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/docs/FreeToolPlanContentCalendarRequest.md +26 -0
  4. data/docs/FreeToolPlanContentCalendarRequestPostsPerWeek.md +38 -0
  5. data/docs/FreeToolPlanContentCalendarRequestTimes.md +38 -0
  6. data/docs/FreeToolPlanContentCalendarResponse.md +26 -0
  7. data/docs/FreeToolPlanContentCalendarResponseSlotsInner.md +28 -0
  8. data/docs/FreeToolsApi.md +65 -0
  9. data/lib/postboost/api/account_groups_api.rb +1 -1
  10. data/lib/postboost/api/accounts_api.rb +1 -1
  11. data/lib/postboost/api/activity_api.rb +1 -1
  12. data/lib/postboost/api/agents_api.rb +1 -1
  13. data/lib/postboost/api/ai_api.rb +1 -1
  14. data/lib/postboost/api/analytics_api.rb +1 -1
  15. data/lib/postboost/api/competitors_api.rb +1 -1
  16. data/lib/postboost/api/free_tools_api.rb +69 -1
  17. data/lib/postboost/api/hashtag_groups_api.rb +1 -1
  18. data/lib/postboost/api/inbox_api.rb +1 -1
  19. data/lib/postboost/api/media_api.rb +1 -1
  20. data/lib/postboost/api/mentions_api.rb +1 -1
  21. data/lib/postboost/api/posting_schedule_api.rb +1 -1
  22. data/lib/postboost/api/posts_api.rb +1 -1
  23. data/lib/postboost/api/receipts_api.rb +1 -1
  24. data/lib/postboost/api/subscriptions_api.rb +1 -1
  25. data/lib/postboost/api/tags_api.rb +1 -1
  26. data/lib/postboost/api/templates_api.rb +1 -1
  27. data/lib/postboost/api/users_api.rb +1 -1
  28. data/lib/postboost/api/webhooks_api.rb +1 -1
  29. data/lib/postboost/api/workspaces_api.rb +1 -1
  30. data/lib/postboost/api_client.rb +1 -1
  31. data/lib/postboost/api_error.rb +1 -1
  32. data/lib/postboost/configuration.rb +1 -1
  33. data/lib/postboost/models/account.rb +1 -1
  34. data/lib/postboost/models/account_analytics.rb +1 -1
  35. data/lib/postboost/models/account_analytics_initial_sync.rb +1 -1
  36. data/lib/postboost/models/account_connection_health.rb +1 -1
  37. data/lib/postboost/models/account_connection_health_reconnect_reason.rb +1 -1
  38. data/lib/postboost/models/account_errors_inner.rb +1 -1
  39. data/lib/postboost/models/account_errors_inner_one_of.rb +1 -1
  40. data/lib/postboost/models/account_group.rb +1 -1
  41. data/lib/postboost/models/account_group_input.rb +1 -1
  42. data/lib/postboost/models/account_health.rb +1 -1
  43. data/lib/postboost/models/account_health_daily_cap.rb +1 -1
  44. data/lib/postboost/models/account_schedule.rb +1 -1
  45. data/lib/postboost/models/add_competitor202_response.rb +1 -1
  46. data/lib/postboost/models/add_competitor409_response.rb +1 -1
  47. data/lib/postboost/models/add_generic_subscription_request.rb +1 -1
  48. data/lib/postboost/models/add_post_to_queue_request.rb +1 -1
  49. data/lib/postboost/models/agent_page_meta.rb +1 -1
  50. data/lib/postboost/models/agent_proposal.rb +1 -1
  51. data/lib/postboost/models/agent_proposal_decision.rb +1 -1
  52. data/lib/postboost/models/agent_run.rb +1 -1
  53. data/lib/postboost/models/ai_credits.rb +1 -1
  54. data/lib/postboost/models/ai_usage.rb +1 -1
  55. data/lib/postboost/models/ai_usage_text.rb +1 -1
  56. data/lib/postboost/models/analytics_period.rb +1 -1
  57. data/lib/postboost/models/analytics_summary.rb +1 -1
  58. data/lib/postboost/models/analytics_summary_data.rb +1 -1
  59. data/lib/postboost/models/api_activity.rb +1 -1
  60. data/lib/postboost/models/api_activity_outcome.rb +1 -1
  61. data/lib/postboost/models/api_key.rb +1 -1
  62. data/lib/postboost/models/api_key_ability.rb +1 -1
  63. data/lib/postboost/models/api_key_input.rb +1 -1
  64. data/lib/postboost/models/approve_agent_proposal200_response.rb +1 -1
  65. data/lib/postboost/models/approve_agent_proposal409_response.rb +1 -1
  66. data/lib/postboost/models/approve_inbox_reply_draft403_response.rb +1 -1
  67. data/lib/postboost/models/approve_post_request.rb +1 -1
  68. data/lib/postboost/models/best_posting_times.rb +1 -1
  69. data/lib/postboost/models/best_posting_times_times_inner.rb +1 -1
  70. data/lib/postboost/models/blog_to_social200_response.rb +1 -1
  71. data/lib/postboost/models/blog_to_social429_response.rb +1 -1
  72. data/lib/postboost/models/blog_to_social_caption.rb +1 -1
  73. data/lib/postboost/models/blog_to_social_input.rb +1 -1
  74. data/lib/postboost/models/blog_to_social_media.rb +1 -1
  75. data/lib/postboost/models/blog_to_social_response.rb +1 -1
  76. data/lib/postboost/models/brand_voice.rb +1 -1
  77. data/lib/postboost/models/brand_voice_input.rb +1 -1
  78. data/lib/postboost/models/brand_voice_meta.rb +1 -1
  79. data/lib/postboost/models/cancel_subscription422_response.rb +1 -1
  80. data/lib/postboost/models/cancel_subscription422_response_errors.rb +1 -1
  81. data/lib/postboost/models/cancel_subscription_request.rb +1 -1
  82. data/lib/postboost/models/change_subscription_plan_request.rb +1 -1
  83. data/lib/postboost/models/channel_account.rb +1 -1
  84. data/lib/postboost/models/checkout_subscription200_response.rb +1 -1
  85. data/lib/postboost/models/checkout_subscription_request.rb +1 -1
  86. data/lib/postboost/models/coded_error.rb +1 -1
  87. data/lib/postboost/models/competitor.rb +1 -1
  88. data/lib/postboost/models/competitor_detail.rb +1 -1
  89. data/lib/postboost/models/competitor_input.rb +1 -1
  90. data/lib/postboost/models/competitor_media.rb +1 -1
  91. data/lib/postboost/models/competitor_snapshot.rb +1 -1
  92. data/lib/postboost/models/complete_chunked_upload_request.rb +1 -1
  93. data/lib/postboost/models/connect_channel_input.rb +1 -1
  94. data/lib/postboost/models/connect_link.rb +1 -1
  95. data/lib/postboost/models/create_account_group201_response.rb +1 -1
  96. data/lib/postboost/models/create_agent201_response.rb +1 -1
  97. data/lib/postboost/models/create_api_key201_response.rb +1 -1
  98. data/lib/postboost/models/create_api_key201_response_data.rb +1 -1
  99. data/lib/postboost/models/create_connect_link_request.rb +1 -1
  100. data/lib/postboost/models/create_hashtag_group201_response.rb +1 -1
  101. data/lib/postboost/models/create_inbox_reply_draft201_response.rb +1 -1
  102. data/lib/postboost/models/create_media_folder_request.rb +1 -1
  103. data/lib/postboost/models/create_mention201_response.rb +1 -1
  104. data/lib/postboost/models/create_post201_response.rb +1 -1
  105. data/lib/postboost/models/create_recycling_rule201_response.rb +1 -1
  106. data/lib/postboost/models/create_report_export201_response.rb +1 -1
  107. data/lib/postboost/models/create_reseller_client201_response.rb +1 -1
  108. data/lib/postboost/models/create_rss_feed201_response.rb +1 -1
  109. data/lib/postboost/models/create_template201_response.rb +1 -1
  110. data/lib/postboost/models/create_webhook_subscription201_response.rb +1 -1
  111. data/lib/postboost/models/create_webhook_subscription201_response_data.rb +1 -1
  112. data/lib/postboost/models/delete_agent200_response.rb +1 -1
  113. data/lib/postboost/models/delete_media_bulk_request.rb +1 -1
  114. data/lib/postboost/models/delete_media_bulk_request_items_inner.rb +1 -1
  115. data/lib/postboost/models/delete_media_folder_request.rb +1 -1
  116. data/lib/postboost/models/delete_mode.rb +1 -1
  117. data/lib/postboost/models/delete_post_request.rb +1 -1
  118. data/lib/postboost/models/delete_posts_bulk_request.rb +1 -1
  119. data/lib/postboost/models/delete_receipts_bulk_request.rb +1 -1
  120. data/lib/postboost/models/delete_result.rb +1 -1
  121. data/lib/postboost/models/delete_user400_response.rb +1 -1
  122. data/lib/postboost/models/delete_users_bulk_request.rb +1 -1
  123. data/lib/postboost/models/delete_workspaces_bulk_request.rb +1 -1
  124. data/lib/postboost/models/free_tool_build_utm_url_request.rb +1 -1
  125. data/lib/postboost/models/free_tool_build_utm_url_response.rb +1 -1
  126. data/lib/postboost/models/free_tool_calculate_aspect_ratio_request.rb +1 -1
  127. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response.rb +1 -1
  128. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_matches_inner.rb +1 -1
  129. data/lib/postboost/models/free_tool_calculate_aspect_ratio_response_rounding.rb +1 -1
  130. data/lib/postboost/models/free_tool_calculate_crop_request.rb +1 -1
  131. data/lib/postboost/models/free_tool_calculate_crop_response.rb +1 -1
  132. data/lib/postboost/models/free_tool_calculate_crop_response_crop.rb +1 -1
  133. data/lib/postboost/models/free_tool_calculate_crop_response_image.rb +1 -1
  134. data/lib/postboost/models/free_tool_calculate_crop_response_output.rb +1 -1
  135. data/lib/postboost/models/free_tool_calculate_engagement_rate_request.rb +1 -1
  136. data/lib/postboost/models/free_tool_calculate_engagement_rate_response.rb +1 -1
  137. data/lib/postboost/models/free_tool_check_link_preview_request.rb +1 -1
  138. data/lib/postboost/models/free_tool_check_link_preview_response.rb +1 -1
  139. data/lib/postboost/models/free_tool_check_link_preview_response_image.rb +1 -1
  140. data/lib/postboost/models/free_tool_check_link_preview_response_previews_value.rb +1 -1
  141. data/lib/postboost/models/free_tool_check_link_preview_response_redirects_inner.rb +1 -1
  142. data/lib/postboost/models/free_tool_check_link_preview_response_tags.rb +1 -1
  143. data/lib/postboost/models/free_tool_check_post_request.rb +1 -1
  144. data/lib/postboost/models/free_tool_check_post_request_media.rb +1 -1
  145. data/lib/postboost/models/free_tool_check_post_response.rb +1 -1
  146. data/lib/postboost/models/free_tool_check_post_response_networks_inner.rb +1 -1
  147. data/lib/postboost/models/free_tool_check_post_response_networks_inner_errors_inner.rb +1 -1
  148. data/lib/postboost/models/free_tool_check_youtube_thumbnail_request.rb +1 -1
  149. data/lib/postboost/models/free_tool_check_youtube_thumbnail_response.rb +1 -1
  150. data/lib/postboost/models/free_tool_check_youtube_thumbnail_response_checks_inner.rb +1 -1
  151. data/lib/postboost/models/free_tool_clean_text_request.rb +1 -1
  152. data/lib/postboost/models/free_tool_clean_text_response.rb +1 -1
  153. data/lib/postboost/models/free_tool_clean_text_response_changes_inner.rb +1 -1
  154. data/lib/postboost/models/free_tool_clean_text_response_flags_inner.rb +1 -1
  155. data/lib/postboost/models/free_tool_count_characters_request.rb +1 -1
  156. data/lib/postboost/models/free_tool_count_characters_response.rb +1 -1
  157. data/lib/postboost/models/free_tool_count_characters_response_networks_inner.rb +1 -1
  158. data/lib/postboost/models/free_tool_error.rb +1 -1
  159. data/lib/postboost/models/free_tool_format_instagram_caption_request.rb +1 -1
  160. data/lib/postboost/models/free_tool_format_instagram_caption_response.rb +1 -1
  161. data/lib/postboost/models/free_tool_format_linked_in_post_request.rb +1 -1
  162. data/lib/postboost/models/free_tool_format_linked_in_post_response.rb +1 -1
  163. data/lib/postboost/models/free_tool_generate_caption_request.rb +1 -1
  164. data/lib/postboost/models/free_tool_generate_caption_response.rb +1 -1
  165. data/lib/postboost/models/free_tool_generate_fancy_text_request.rb +1 -1
  166. data/lib/postboost/models/free_tool_generate_fancy_text_response.rb +1 -1
  167. data/lib/postboost/models/free_tool_generate_fancy_text_response_styles_inner.rb +1 -1
  168. data/lib/postboost/models/free_tool_generate_hashtags_request.rb +1 -1
  169. data/lib/postboost/models/free_tool_generate_hashtags_response.rb +1 -1
  170. data/lib/postboost/models/free_tool_generate_hooks_request.rb +1 -1
  171. data/lib/postboost/models/free_tool_generate_hooks_response.rb +1 -1
  172. data/lib/postboost/models/free_tool_generate_hooks_response_hooks_inner.rb +1 -1
  173. data/lib/postboost/models/free_tool_generate_qr_code_request.rb +1 -1
  174. data/lib/postboost/models/free_tool_generate_qr_code_request_utm.rb +1 -1
  175. data/lib/postboost/models/free_tool_generate_qr_code_response.rb +1 -1
  176. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_request.rb +1 -1
  177. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response.rb +1 -1
  178. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_posts_inner.rb +1 -1
  179. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_source.rb +1 -1
  180. data/lib/postboost/models/free_tool_generate_social_posts_from_blog_response_warnings_inner.rb +1 -1
  181. data/lib/postboost/models/free_tool_get_best_times_to_post_response.rb +1 -1
  182. data/lib/postboost/models/free_tool_get_best_times_to_post_response_networks_inner.rb +1 -1
  183. data/lib/postboost/models/free_tool_get_hook_templates_response.rb +1 -1
  184. data/lib/postboost/models/free_tool_get_hook_templates_response_hooks_inner.rb +1 -1
  185. data/lib/postboost/models/free_tool_get_image_sizes_response.rb +1 -1
  186. data/lib/postboost/models/free_tool_get_image_sizes_response_sizes_inner.rb +1 -1
  187. data/lib/postboost/models/free_tool_get_image_sizes_response_sources_inner.rb +1 -1
  188. data/lib/postboost/models/free_tool_get_video_specs_response.rb +1 -1
  189. data/lib/postboost/models/free_tool_get_video_specs_response_specs_inner.rb +1 -1
  190. data/lib/postboost/models/free_tool_get_video_specs_response_specs_inner_limits.rb +1 -1
  191. data/lib/postboost/models/free_tool_list.rb +1 -1
  192. data/lib/postboost/models/free_tool_list_item.rb +1 -1
  193. data/lib/postboost/models/free_tool_plan_content_calendar_request.rb +338 -0
  194. data/lib/postboost/models/free_tool_plan_content_calendar_request_posts_per_week.rb +635 -0
  195. data/lib/postboost/models/free_tool_plan_content_calendar_request_times.rb +558 -0
  196. data/lib/postboost/models/free_tool_plan_content_calendar_response.rb +256 -0
  197. data/lib/postboost/models/free_tool_plan_content_calendar_response_slots_inner.rb +262 -0
  198. data/lib/postboost/models/free_tool_preview_post_request.rb +1 -1
  199. data/lib/postboost/models/free_tool_preview_post_response.rb +1 -1
  200. data/lib/postboost/models/free_tool_preview_post_response_networks_inner.rb +1 -1
  201. data/lib/postboost/models/free_tool_split_thread_request.rb +1 -1
  202. data/lib/postboost/models/free_tool_split_thread_response.rb +1 -1
  203. data/lib/postboost/models/free_tool_split_thread_response_posts_inner.rb +1 -1
  204. data/lib/postboost/models/get_account_health200_response.rb +1 -1
  205. data/lib/postboost/models/get_brand_voice200_response.rb +1 -1
  206. data/lib/postboost/models/get_competitor200_response.rb +1 -1
  207. data/lib/postboost/models/get_inbox_conversation200_response.rb +1 -1
  208. data/lib/postboost/models/get_posting_schedule200_response.rb +1 -1
  209. data/lib/postboost/models/get_remote_upload_status200_response.rb +1 -1
  210. data/lib/postboost/models/get_report_branding200_response.rb +1 -1
  211. data/lib/postboost/models/get_repurpose_run200_response.rb +1 -1
  212. data/lib/postboost/models/guardrail_error.rb +1 -1
  213. data/lib/postboost/models/hashtag_group.rb +1 -1
  214. data/lib/postboost/models/hashtag_group_input.rb +1 -1
  215. data/lib/postboost/models/image_alt_text200_response.rb +1 -1
  216. data/lib/postboost/models/image_alt_text_input.rb +1 -1
  217. data/lib/postboost/models/image_alt_text_response.rb +1 -1
  218. data/lib/postboost/models/image_credit_balance.rb +1 -1
  219. data/lib/postboost/models/image_edit_input.rb +1 -1
  220. data/lib/postboost/models/image_generate200_response.rb +1 -1
  221. data/lib/postboost/models/image_generate429_response.rb +1 -1
  222. data/lib/postboost/models/image_generate_input.rb +1 -1
  223. data/lib/postboost/models/image_generation_response.rb +1 -1
  224. data/lib/postboost/models/image_prompt200_response.rb +1 -1
  225. data/lib/postboost/models/image_prompt429_response.rb +1 -1
  226. data/lib/postboost/models/image_prompt_input.rb +1 -1
  227. data/lib/postboost/models/image_prompt_response.rb +1 -1
  228. data/lib/postboost/models/image_variations200_response.rb +1 -1
  229. data/lib/postboost/models/image_variations_input.rb +1 -1
  230. data/lib/postboost/models/image_variations_response.rb +1 -1
  231. data/lib/postboost/models/inbox_author.rb +1 -1
  232. data/lib/postboost/models/inbox_conversation.rb +1 -1
  233. data/lib/postboost/models/inbox_conversation_account.rb +1 -1
  234. data/lib/postboost/models/inbox_conversation_update.rb +1 -1
  235. data/lib/postboost/models/inbox_message.rb +1 -1
  236. data/lib/postboost/models/inbox_message_author.rb +1 -1
  237. data/lib/postboost/models/inbox_reply_draft.rb +1 -1
  238. data/lib/postboost/models/inbox_reply_draft_approve.rb +1 -1
  239. data/lib/postboost/models/inbox_reply_draft_edit.rb +1 -1
  240. data/lib/postboost/models/inbox_reply_draft_input.rb +1 -1
  241. data/lib/postboost/models/initiate_chunked_upload201_response.rb +1 -1
  242. data/lib/postboost/models/initiate_chunked_upload_request.rb +1 -1
  243. data/lib/postboost/models/initiate_remote_upload201_response.rb +1 -1
  244. data/lib/postboost/models/initiate_remote_upload201_response_one_of.rb +1 -1
  245. data/lib/postboost/models/initiate_remote_upload_request.rb +1 -1
  246. data/lib/postboost/models/learn_brand_voice_input.rb +1 -1
  247. data/lib/postboost/models/learn_brand_voice_response.rb +1 -1
  248. data/lib/postboost/models/learn_brand_voice_response_meta.rb +1 -1
  249. data/lib/postboost/models/list_account_groups200_response.rb +1 -1
  250. data/lib/postboost/models/list_accounts200_response.rb +1 -1
  251. data/lib/postboost/models/list_agent_proposals200_response.rb +1 -1
  252. data/lib/postboost/models/list_agent_runs200_response.rb +1 -1
  253. data/lib/postboost/models/list_agents200_response.rb +1 -1
  254. data/lib/postboost/models/list_api_activity200_response.rb +1 -1
  255. data/lib/postboost/models/list_api_keys200_response.rb +1 -1
  256. data/lib/postboost/models/list_competitors200_response.rb +1 -1
  257. data/lib/postboost/models/list_hashtag_groups200_response.rb +1 -1
  258. data/lib/postboost/models/list_inbox_conversations200_response.rb +1 -1
  259. data/lib/postboost/models/list_inbox_reply_drafts200_response.rb +1 -1
  260. data/lib/postboost/models/list_media200_response.rb +1 -1
  261. data/lib/postboost/models/list_media_folders200_response.rb +1 -1
  262. data/lib/postboost/models/list_mentions200_response.rb +1 -1
  263. data/lib/postboost/models/list_my_workspaces200_response.rb +1 -1
  264. data/lib/postboost/models/list_posts200_response.rb +1 -1
  265. data/lib/postboost/models/list_receipts200_response.rb +1 -1
  266. data/lib/postboost/models/list_recycling_rules200_response.rb +1 -1
  267. data/lib/postboost/models/list_recycling_runs200_response.rb +1 -1
  268. data/lib/postboost/models/list_report_exports200_response.rb +1 -1
  269. data/lib/postboost/models/list_reseller_clients200_response.rb +1 -1
  270. data/lib/postboost/models/list_rss_feeds200_response.rb +1 -1
  271. data/lib/postboost/models/list_tags200_response.rb +1 -1
  272. data/lib/postboost/models/list_templates200_response.rb +1 -1
  273. data/lib/postboost/models/list_users200_response.rb +1 -1
  274. data/lib/postboost/models/list_webhook_subscriptions200_response.rb +1 -1
  275. data/lib/postboost/models/list_workspaces200_response.rb +1 -1
  276. data/lib/postboost/models/media.rb +1 -1
  277. data/lib/postboost/models/media_base64_input.rb +1 -1
  278. data/lib/postboost/models/media_folder.rb +1 -1
  279. data/lib/postboost/models/media_folder_input.rb +1 -1
  280. data/lib/postboost/models/media_folder_ref.rb +1 -1
  281. data/lib/postboost/models/mention.rb +1 -1
  282. data/lib/postboost/models/mention_identity.rb +1 -1
  283. data/lib/postboost/models/mention_identity_input.rb +1 -1
  284. data/lib/postboost/models/mention_input.rb +1 -1
  285. data/lib/postboost/models/message_only.rb +1 -1
  286. data/lib/postboost/models/pagination_meta.rb +1 -1
  287. data/lib/postboost/models/pagination_meta_links.rb +1 -1
  288. data/lib/postboost/models/pagination_meta_meta.rb +1 -1
  289. data/lib/postboost/models/poll_rss_feed200_response.rb +1 -1
  290. data/lib/postboost/models/post.rb +1 -1
  291. data/lib/postboost/models/post_analytics.rb +1 -1
  292. data/lib/postboost/models/post_content.rb +1 -1
  293. data/lib/postboost/models/post_input.rb +1 -1
  294. data/lib/postboost/models/post_options_instagram.rb +1 -1
  295. data/lib/postboost/models/post_options_tik_tok.rb +1 -1
  296. data/lib/postboost/models/post_options_youtube.rb +1 -1
  297. data/lib/postboost/models/post_status.rb +1 -1
  298. data/lib/postboost/models/post_version.rb +1 -1
  299. data/lib/postboost/models/post_version_options.rb +1 -1
  300. data/lib/postboost/models/post_warning.rb +4 -4
  301. data/lib/postboost/models/post_warnings.rb +1 -1
  302. data/lib/postboost/models/posting_schedule.rb +1 -1
  303. data/lib/postboost/models/posting_schedule_day.rb +1 -1
  304. data/lib/postboost/models/posting_schedule_day_times_inner.rb +1 -1
  305. data/lib/postboost/models/posting_schedule_input.rb +1 -1
  306. data/lib/postboost/models/posting_time_slot.rb +1 -1
  307. data/lib/postboost/models/posting_times.rb +1 -1
  308. data/lib/postboost/models/posting_times_best_inner.rb +1 -1
  309. data/lib/postboost/models/posting_times_day_intervals_inner_inner.rb +1 -1
  310. data/lib/postboost/models/posting_times_days_inner.rb +1 -1
  311. data/lib/postboost/models/preflight_result.rb +1 -1
  312. data/lib/postboost/models/public_workspace.rb +1 -1
  313. data/lib/postboost/models/public_workspace_pivot.rb +1 -1
  314. data/lib/postboost/models/publish_progress.rb +1 -1
  315. data/lib/postboost/models/queue_slots.rb +1 -1
  316. data/lib/postboost/models/receipt.rb +1 -1
  317. data/lib/postboost/models/receipt_input.rb +1 -1
  318. data/lib/postboost/models/receipt_update_input.rb +1 -1
  319. data/lib/postboost/models/recommended_posting_times.rb +1 -1
  320. data/lib/postboost/models/reconnect_link.rb +1 -1
  321. data/lib/postboost/models/recycling_rule.rb +1 -1
  322. data/lib/postboost/models/recycling_rule_input.rb +1 -1
  323. data/lib/postboost/models/recycling_rule_settings.rb +1 -1
  324. data/lib/postboost/models/recycling_rule_update.rb +1 -1
  325. data/lib/postboost/models/recycling_run.rb +1 -1
  326. data/lib/postboost/models/remove_generic_subscription422_response.rb +1 -1
  327. data/lib/postboost/models/remove_user_from_workspace_request.rb +1 -1
  328. data/lib/postboost/models/report_branding.rb +1 -1
  329. data/lib/postboost/models/report_branding_input.rb +1 -1
  330. data/lib/postboost/models/report_export.rb +1 -1
  331. data/lib/postboost/models/report_export_input.rb +1 -1
  332. data/lib/postboost/models/repurpose_content200_response.rb +1 -1
  333. data/lib/postboost/models/repurpose_content202_response.rb +1 -1
  334. data/lib/postboost/models/repurpose_content500_response.rb +1 -1
  335. data/lib/postboost/models/repurpose_input.rb +1 -1
  336. data/lib/postboost/models/repurpose_input_theme.rb +1 -1
  337. data/lib/postboost/models/repurpose_result.rb +1 -1
  338. data/lib/postboost/models/repurpose_result_media.rb +1 -1
  339. data/lib/postboost/models/repurpose_result_source.rb +1 -1
  340. data/lib/postboost/models/repurpose_run.rb +1 -1
  341. data/lib/postboost/models/repurpose_run_accepted.rb +1 -1
  342. data/lib/postboost/models/repurpose_slide.rb +1 -1
  343. data/lib/postboost/models/reseller_client.rb +1 -1
  344. data/lib/postboost/models/reseller_client_input.rb +1 -1
  345. data/lib/postboost/models/reseller_client_usage.rb +1 -1
  346. data/lib/postboost/models/retry_post_account_result.rb +1 -1
  347. data/lib/postboost/models/rss_feed.rb +1 -1
  348. data/lib/postboost/models/rss_feed_input.rb +1 -1
  349. data/lib/postboost/models/rss_feed_update.rb +1 -1
  350. data/lib/postboost/models/run_agent202_response.rb +1 -1
  351. data/lib/postboost/models/schedule_post_request.rb +1 -1
  352. data/lib/postboost/models/schedule_result.rb +1 -1
  353. data/lib/postboost/models/subscription.rb +1 -1
  354. data/lib/postboost/models/subscription_input.rb +1 -1
  355. data/lib/postboost/models/subscription_status.rb +1 -1
  356. data/lib/postboost/models/subscription_update_input.rb +1 -1
  357. data/lib/postboost/models/tag.rb +1 -1
  358. data/lib/postboost/models/tag_input.rb +1 -1
  359. data/lib/postboost/models/template.rb +1 -1
  360. data/lib/postboost/models/template_content_item.rb +1 -1
  361. data/lib/postboost/models/template_input.rb +1 -1
  362. data/lib/postboost/models/template_input_content_inner.rb +1 -1
  363. data/lib/postboost/models/update_media_request.rb +1 -1
  364. data/lib/postboost/models/update_post200_response.rb +1 -1
  365. data/lib/postboost/models/upload_chunk201_response.rb +1 -1
  366. data/lib/postboost/models/user.rb +1 -1
  367. data/lib/postboost/models/user_input.rb +1 -1
  368. data/lib/postboost/models/user_update_input.rb +1 -1
  369. data/lib/postboost/models/webhook_envelope.rb +1 -1
  370. data/lib/postboost/models/webhook_event_name.rb +1 -1
  371. data/lib/postboost/models/webhook_event_payload.rb +1 -1
  372. data/lib/postboost/models/webhook_subscription.rb +1 -1
  373. data/lib/postboost/models/webhook_subscription_input.rb +1 -1
  374. data/lib/postboost/models/workspace.rb +1 -1
  375. data/lib/postboost/models/workspace_agent.rb +1 -1
  376. data/lib/postboost/models/workspace_agent_input.rb +1 -1
  377. data/lib/postboost/models/workspace_agent_settings.rb +1 -1
  378. data/lib/postboost/models/workspace_agent_update.rb +1 -1
  379. data/lib/postboost/models/workspace_input.rb +1 -1
  380. data/lib/postboost/models/workspace_user_input.rb +1 -1
  381. data/lib/postboost/models/x_usage.rb +1 -1
  382. data/lib/postboost/models/x_usage_counter.rb +1 -1
  383. data/lib/postboost/version.rb +2 -2
  384. data/lib/postboost.rb +6 -1
  385. data/postboost.gemspec +1 -1
  386. data/spec/api/account_groups_api_spec.rb +1 -1
  387. data/spec/api/accounts_api_spec.rb +1 -1
  388. data/spec/api/activity_api_spec.rb +1 -1
  389. data/spec/api/agents_api_spec.rb +1 -1
  390. data/spec/api/ai_api_spec.rb +1 -1
  391. data/spec/api/analytics_api_spec.rb +1 -1
  392. data/spec/api/competitors_api_spec.rb +1 -1
  393. data/spec/api/free_tools_api_spec.rb +13 -1
  394. data/spec/api/hashtag_groups_api_spec.rb +1 -1
  395. data/spec/api/inbox_api_spec.rb +1 -1
  396. data/spec/api/media_api_spec.rb +1 -1
  397. data/spec/api/mentions_api_spec.rb +1 -1
  398. data/spec/api/posting_schedule_api_spec.rb +1 -1
  399. data/spec/api/posts_api_spec.rb +1 -1
  400. data/spec/api/receipts_api_spec.rb +1 -1
  401. data/spec/api/subscriptions_api_spec.rb +1 -1
  402. data/spec/api/tags_api_spec.rb +1 -1
  403. data/spec/api/templates_api_spec.rb +1 -1
  404. data/spec/api/users_api_spec.rb +1 -1
  405. data/spec/api/webhooks_api_spec.rb +1 -1
  406. data/spec/api/workspaces_api_spec.rb +1 -1
  407. data/spec/models/account_analytics_initial_sync_spec.rb +1 -1
  408. data/spec/models/account_analytics_spec.rb +1 -1
  409. data/spec/models/account_connection_health_reconnect_reason_spec.rb +1 -1
  410. data/spec/models/account_connection_health_spec.rb +1 -1
  411. data/spec/models/account_errors_inner_one_of_spec.rb +1 -1
  412. data/spec/models/account_errors_inner_spec.rb +1 -1
  413. data/spec/models/account_group_input_spec.rb +1 -1
  414. data/spec/models/account_group_spec.rb +1 -1
  415. data/spec/models/account_health_daily_cap_spec.rb +1 -1
  416. data/spec/models/account_health_spec.rb +1 -1
  417. data/spec/models/account_schedule_spec.rb +1 -1
  418. data/spec/models/account_spec.rb +1 -1
  419. data/spec/models/add_competitor202_response_spec.rb +1 -1
  420. data/spec/models/add_competitor409_response_spec.rb +1 -1
  421. data/spec/models/add_generic_subscription_request_spec.rb +1 -1
  422. data/spec/models/add_post_to_queue_request_spec.rb +1 -1
  423. data/spec/models/agent_page_meta_spec.rb +1 -1
  424. data/spec/models/agent_proposal_decision_spec.rb +1 -1
  425. data/spec/models/agent_proposal_spec.rb +1 -1
  426. data/spec/models/agent_run_spec.rb +1 -1
  427. data/spec/models/ai_credits_spec.rb +1 -1
  428. data/spec/models/ai_usage_spec.rb +1 -1
  429. data/spec/models/ai_usage_text_spec.rb +1 -1
  430. data/spec/models/analytics_period_spec.rb +1 -1
  431. data/spec/models/analytics_summary_data_spec.rb +1 -1
  432. data/spec/models/analytics_summary_spec.rb +1 -1
  433. data/spec/models/api_activity_outcome_spec.rb +1 -1
  434. data/spec/models/api_activity_spec.rb +1 -1
  435. data/spec/models/api_key_ability_spec.rb +1 -1
  436. data/spec/models/api_key_input_spec.rb +1 -1
  437. data/spec/models/api_key_spec.rb +1 -1
  438. data/spec/models/approve_agent_proposal200_response_spec.rb +1 -1
  439. data/spec/models/approve_agent_proposal409_response_spec.rb +1 -1
  440. data/spec/models/approve_inbox_reply_draft403_response_spec.rb +1 -1
  441. data/spec/models/approve_post_request_spec.rb +1 -1
  442. data/spec/models/best_posting_times_spec.rb +1 -1
  443. data/spec/models/best_posting_times_times_inner_spec.rb +1 -1
  444. data/spec/models/blog_to_social200_response_spec.rb +1 -1
  445. data/spec/models/blog_to_social429_response_spec.rb +1 -1
  446. data/spec/models/blog_to_social_caption_spec.rb +1 -1
  447. data/spec/models/blog_to_social_input_spec.rb +1 -1
  448. data/spec/models/blog_to_social_media_spec.rb +1 -1
  449. data/spec/models/blog_to_social_response_spec.rb +1 -1
  450. data/spec/models/brand_voice_input_spec.rb +1 -1
  451. data/spec/models/brand_voice_meta_spec.rb +1 -1
  452. data/spec/models/brand_voice_spec.rb +1 -1
  453. data/spec/models/cancel_subscription422_response_errors_spec.rb +1 -1
  454. data/spec/models/cancel_subscription422_response_spec.rb +1 -1
  455. data/spec/models/cancel_subscription_request_spec.rb +1 -1
  456. data/spec/models/change_subscription_plan_request_spec.rb +1 -1
  457. data/spec/models/channel_account_spec.rb +1 -1
  458. data/spec/models/checkout_subscription200_response_spec.rb +1 -1
  459. data/spec/models/checkout_subscription_request_spec.rb +1 -1
  460. data/spec/models/coded_error_spec.rb +1 -1
  461. data/spec/models/competitor_detail_spec.rb +1 -1
  462. data/spec/models/competitor_input_spec.rb +1 -1
  463. data/spec/models/competitor_media_spec.rb +1 -1
  464. data/spec/models/competitor_snapshot_spec.rb +1 -1
  465. data/spec/models/competitor_spec.rb +1 -1
  466. data/spec/models/complete_chunked_upload_request_spec.rb +1 -1
  467. data/spec/models/connect_channel_input_spec.rb +1 -1
  468. data/spec/models/connect_link_spec.rb +1 -1
  469. data/spec/models/create_account_group201_response_spec.rb +1 -1
  470. data/spec/models/create_agent201_response_spec.rb +1 -1
  471. data/spec/models/create_api_key201_response_data_spec.rb +1 -1
  472. data/spec/models/create_api_key201_response_spec.rb +1 -1
  473. data/spec/models/create_connect_link_request_spec.rb +1 -1
  474. data/spec/models/create_hashtag_group201_response_spec.rb +1 -1
  475. data/spec/models/create_inbox_reply_draft201_response_spec.rb +1 -1
  476. data/spec/models/create_media_folder_request_spec.rb +1 -1
  477. data/spec/models/create_mention201_response_spec.rb +1 -1
  478. data/spec/models/create_post201_response_spec.rb +1 -1
  479. data/spec/models/create_recycling_rule201_response_spec.rb +1 -1
  480. data/spec/models/create_report_export201_response_spec.rb +1 -1
  481. data/spec/models/create_reseller_client201_response_spec.rb +1 -1
  482. data/spec/models/create_rss_feed201_response_spec.rb +1 -1
  483. data/spec/models/create_template201_response_spec.rb +1 -1
  484. data/spec/models/create_webhook_subscription201_response_data_spec.rb +1 -1
  485. data/spec/models/create_webhook_subscription201_response_spec.rb +1 -1
  486. data/spec/models/delete_agent200_response_spec.rb +1 -1
  487. data/spec/models/delete_media_bulk_request_items_inner_spec.rb +1 -1
  488. data/spec/models/delete_media_bulk_request_spec.rb +1 -1
  489. data/spec/models/delete_media_folder_request_spec.rb +1 -1
  490. data/spec/models/delete_mode_spec.rb +1 -1
  491. data/spec/models/delete_post_request_spec.rb +1 -1
  492. data/spec/models/delete_posts_bulk_request_spec.rb +1 -1
  493. data/spec/models/delete_receipts_bulk_request_spec.rb +1 -1
  494. data/spec/models/delete_result_spec.rb +1 -1
  495. data/spec/models/delete_user400_response_spec.rb +1 -1
  496. data/spec/models/delete_users_bulk_request_spec.rb +1 -1
  497. data/spec/models/delete_workspaces_bulk_request_spec.rb +1 -1
  498. data/spec/models/free_tool_build_utm_url_request_spec.rb +1 -1
  499. data/spec/models/free_tool_build_utm_url_response_spec.rb +1 -1
  500. data/spec/models/free_tool_calculate_aspect_ratio_request_spec.rb +1 -1
  501. data/spec/models/free_tool_calculate_aspect_ratio_response_matches_inner_spec.rb +1 -1
  502. data/spec/models/free_tool_calculate_aspect_ratio_response_rounding_spec.rb +1 -1
  503. data/spec/models/free_tool_calculate_aspect_ratio_response_spec.rb +1 -1
  504. data/spec/models/free_tool_calculate_crop_request_spec.rb +1 -1
  505. data/spec/models/free_tool_calculate_crop_response_crop_spec.rb +1 -1
  506. data/spec/models/free_tool_calculate_crop_response_image_spec.rb +1 -1
  507. data/spec/models/free_tool_calculate_crop_response_output_spec.rb +1 -1
  508. data/spec/models/free_tool_calculate_crop_response_spec.rb +1 -1
  509. data/spec/models/free_tool_calculate_engagement_rate_request_spec.rb +1 -1
  510. data/spec/models/free_tool_calculate_engagement_rate_response_spec.rb +1 -1
  511. data/spec/models/free_tool_check_link_preview_request_spec.rb +1 -1
  512. data/spec/models/free_tool_check_link_preview_response_image_spec.rb +1 -1
  513. data/spec/models/free_tool_check_link_preview_response_previews_value_spec.rb +1 -1
  514. data/spec/models/free_tool_check_link_preview_response_redirects_inner_spec.rb +1 -1
  515. data/spec/models/free_tool_check_link_preview_response_spec.rb +1 -1
  516. data/spec/models/free_tool_check_link_preview_response_tags_spec.rb +1 -1
  517. data/spec/models/free_tool_check_post_request_media_spec.rb +1 -1
  518. data/spec/models/free_tool_check_post_request_spec.rb +1 -1
  519. data/spec/models/free_tool_check_post_response_networks_inner_errors_inner_spec.rb +1 -1
  520. data/spec/models/free_tool_check_post_response_networks_inner_spec.rb +1 -1
  521. data/spec/models/free_tool_check_post_response_spec.rb +1 -1
  522. data/spec/models/free_tool_check_youtube_thumbnail_request_spec.rb +1 -1
  523. data/spec/models/free_tool_check_youtube_thumbnail_response_checks_inner_spec.rb +1 -1
  524. data/spec/models/free_tool_check_youtube_thumbnail_response_spec.rb +1 -1
  525. data/spec/models/free_tool_clean_text_request_spec.rb +1 -1
  526. data/spec/models/free_tool_clean_text_response_changes_inner_spec.rb +1 -1
  527. data/spec/models/free_tool_clean_text_response_flags_inner_spec.rb +1 -1
  528. data/spec/models/free_tool_clean_text_response_spec.rb +1 -1
  529. data/spec/models/free_tool_count_characters_request_spec.rb +1 -1
  530. data/spec/models/free_tool_count_characters_response_networks_inner_spec.rb +1 -1
  531. data/spec/models/free_tool_count_characters_response_spec.rb +1 -1
  532. data/spec/models/free_tool_error_spec.rb +1 -1
  533. data/spec/models/free_tool_format_instagram_caption_request_spec.rb +1 -1
  534. data/spec/models/free_tool_format_instagram_caption_response_spec.rb +1 -1
  535. data/spec/models/free_tool_format_linked_in_post_request_spec.rb +1 -1
  536. data/spec/models/free_tool_format_linked_in_post_response_spec.rb +1 -1
  537. data/spec/models/free_tool_generate_caption_request_spec.rb +1 -1
  538. data/spec/models/free_tool_generate_caption_response_spec.rb +1 -1
  539. data/spec/models/free_tool_generate_fancy_text_request_spec.rb +1 -1
  540. data/spec/models/free_tool_generate_fancy_text_response_spec.rb +1 -1
  541. data/spec/models/free_tool_generate_fancy_text_response_styles_inner_spec.rb +1 -1
  542. data/spec/models/free_tool_generate_hashtags_request_spec.rb +1 -1
  543. data/spec/models/free_tool_generate_hashtags_response_spec.rb +1 -1
  544. data/spec/models/free_tool_generate_hooks_request_spec.rb +1 -1
  545. data/spec/models/free_tool_generate_hooks_response_hooks_inner_spec.rb +1 -1
  546. data/spec/models/free_tool_generate_hooks_response_spec.rb +1 -1
  547. data/spec/models/free_tool_generate_qr_code_request_spec.rb +1 -1
  548. data/spec/models/free_tool_generate_qr_code_request_utm_spec.rb +1 -1
  549. data/spec/models/free_tool_generate_qr_code_response_spec.rb +1 -1
  550. data/spec/models/free_tool_generate_social_posts_from_blog_request_spec.rb +1 -1
  551. data/spec/models/free_tool_generate_social_posts_from_blog_response_posts_inner_spec.rb +1 -1
  552. data/spec/models/free_tool_generate_social_posts_from_blog_response_source_spec.rb +1 -1
  553. data/spec/models/free_tool_generate_social_posts_from_blog_response_spec.rb +1 -1
  554. data/spec/models/free_tool_generate_social_posts_from_blog_response_warnings_inner_spec.rb +1 -1
  555. data/spec/models/free_tool_get_best_times_to_post_response_networks_inner_spec.rb +1 -1
  556. data/spec/models/free_tool_get_best_times_to_post_response_spec.rb +1 -1
  557. data/spec/models/free_tool_get_hook_templates_response_hooks_inner_spec.rb +1 -1
  558. data/spec/models/free_tool_get_hook_templates_response_spec.rb +1 -1
  559. data/spec/models/free_tool_get_image_sizes_response_sizes_inner_spec.rb +1 -1
  560. data/spec/models/free_tool_get_image_sizes_response_sources_inner_spec.rb +1 -1
  561. data/spec/models/free_tool_get_image_sizes_response_spec.rb +1 -1
  562. data/spec/models/free_tool_get_video_specs_response_spec.rb +1 -1
  563. data/spec/models/free_tool_get_video_specs_response_specs_inner_limits_spec.rb +1 -1
  564. data/spec/models/free_tool_get_video_specs_response_specs_inner_spec.rb +1 -1
  565. data/spec/models/free_tool_list_item_spec.rb +1 -1
  566. data/spec/models/free_tool_list_spec.rb +1 -1
  567. data/spec/models/free_tool_plan_content_calendar_request_posts_per_week_spec.rb +96 -0
  568. data/spec/models/free_tool_plan_content_calendar_request_spec.rb +60 -0
  569. data/spec/models/free_tool_plan_content_calendar_request_times_spec.rb +96 -0
  570. data/spec/models/free_tool_plan_content_calendar_response_slots_inner_spec.rb +66 -0
  571. data/spec/models/free_tool_plan_content_calendar_response_spec.rb +60 -0
  572. data/spec/models/free_tool_preview_post_request_spec.rb +1 -1
  573. data/spec/models/free_tool_preview_post_response_networks_inner_spec.rb +1 -1
  574. data/spec/models/free_tool_preview_post_response_spec.rb +1 -1
  575. data/spec/models/free_tool_split_thread_request_spec.rb +1 -1
  576. data/spec/models/free_tool_split_thread_response_posts_inner_spec.rb +1 -1
  577. data/spec/models/free_tool_split_thread_response_spec.rb +1 -1
  578. data/spec/models/get_account_health200_response_spec.rb +1 -1
  579. data/spec/models/get_brand_voice200_response_spec.rb +1 -1
  580. data/spec/models/get_competitor200_response_spec.rb +1 -1
  581. data/spec/models/get_inbox_conversation200_response_spec.rb +1 -1
  582. data/spec/models/get_posting_schedule200_response_spec.rb +1 -1
  583. data/spec/models/get_remote_upload_status200_response_spec.rb +1 -1
  584. data/spec/models/get_report_branding200_response_spec.rb +1 -1
  585. data/spec/models/get_repurpose_run200_response_spec.rb +1 -1
  586. data/spec/models/guardrail_error_spec.rb +1 -1
  587. data/spec/models/hashtag_group_input_spec.rb +1 -1
  588. data/spec/models/hashtag_group_spec.rb +1 -1
  589. data/spec/models/image_alt_text200_response_spec.rb +1 -1
  590. data/spec/models/image_alt_text_input_spec.rb +1 -1
  591. data/spec/models/image_alt_text_response_spec.rb +1 -1
  592. data/spec/models/image_credit_balance_spec.rb +1 -1
  593. data/spec/models/image_edit_input_spec.rb +1 -1
  594. data/spec/models/image_generate200_response_spec.rb +1 -1
  595. data/spec/models/image_generate429_response_spec.rb +1 -1
  596. data/spec/models/image_generate_input_spec.rb +1 -1
  597. data/spec/models/image_generation_response_spec.rb +1 -1
  598. data/spec/models/image_prompt200_response_spec.rb +1 -1
  599. data/spec/models/image_prompt429_response_spec.rb +1 -1
  600. data/spec/models/image_prompt_input_spec.rb +1 -1
  601. data/spec/models/image_prompt_response_spec.rb +1 -1
  602. data/spec/models/image_variations200_response_spec.rb +1 -1
  603. data/spec/models/image_variations_input_spec.rb +1 -1
  604. data/spec/models/image_variations_response_spec.rb +1 -1
  605. data/spec/models/inbox_author_spec.rb +1 -1
  606. data/spec/models/inbox_conversation_account_spec.rb +1 -1
  607. data/spec/models/inbox_conversation_spec.rb +1 -1
  608. data/spec/models/inbox_conversation_update_spec.rb +1 -1
  609. data/spec/models/inbox_message_author_spec.rb +1 -1
  610. data/spec/models/inbox_message_spec.rb +1 -1
  611. data/spec/models/inbox_reply_draft_approve_spec.rb +1 -1
  612. data/spec/models/inbox_reply_draft_edit_spec.rb +1 -1
  613. data/spec/models/inbox_reply_draft_input_spec.rb +1 -1
  614. data/spec/models/inbox_reply_draft_spec.rb +1 -1
  615. data/spec/models/initiate_chunked_upload201_response_spec.rb +1 -1
  616. data/spec/models/initiate_chunked_upload_request_spec.rb +1 -1
  617. data/spec/models/initiate_remote_upload201_response_one_of_spec.rb +1 -1
  618. data/spec/models/initiate_remote_upload201_response_spec.rb +1 -1
  619. data/spec/models/initiate_remote_upload_request_spec.rb +1 -1
  620. data/spec/models/learn_brand_voice_input_spec.rb +1 -1
  621. data/spec/models/learn_brand_voice_response_meta_spec.rb +1 -1
  622. data/spec/models/learn_brand_voice_response_spec.rb +1 -1
  623. data/spec/models/list_account_groups200_response_spec.rb +1 -1
  624. data/spec/models/list_accounts200_response_spec.rb +1 -1
  625. data/spec/models/list_agent_proposals200_response_spec.rb +1 -1
  626. data/spec/models/list_agent_runs200_response_spec.rb +1 -1
  627. data/spec/models/list_agents200_response_spec.rb +1 -1
  628. data/spec/models/list_api_activity200_response_spec.rb +1 -1
  629. data/spec/models/list_api_keys200_response_spec.rb +1 -1
  630. data/spec/models/list_competitors200_response_spec.rb +1 -1
  631. data/spec/models/list_hashtag_groups200_response_spec.rb +1 -1
  632. data/spec/models/list_inbox_conversations200_response_spec.rb +1 -1
  633. data/spec/models/list_inbox_reply_drafts200_response_spec.rb +1 -1
  634. data/spec/models/list_media200_response_spec.rb +1 -1
  635. data/spec/models/list_media_folders200_response_spec.rb +1 -1
  636. data/spec/models/list_mentions200_response_spec.rb +1 -1
  637. data/spec/models/list_my_workspaces200_response_spec.rb +1 -1
  638. data/spec/models/list_posts200_response_spec.rb +1 -1
  639. data/spec/models/list_receipts200_response_spec.rb +1 -1
  640. data/spec/models/list_recycling_rules200_response_spec.rb +1 -1
  641. data/spec/models/list_recycling_runs200_response_spec.rb +1 -1
  642. data/spec/models/list_report_exports200_response_spec.rb +1 -1
  643. data/spec/models/list_reseller_clients200_response_spec.rb +1 -1
  644. data/spec/models/list_rss_feeds200_response_spec.rb +1 -1
  645. data/spec/models/list_tags200_response_spec.rb +1 -1
  646. data/spec/models/list_templates200_response_spec.rb +1 -1
  647. data/spec/models/list_users200_response_spec.rb +1 -1
  648. data/spec/models/list_webhook_subscriptions200_response_spec.rb +1 -1
  649. data/spec/models/list_workspaces200_response_spec.rb +1 -1
  650. data/spec/models/media_base64_input_spec.rb +1 -1
  651. data/spec/models/media_folder_input_spec.rb +1 -1
  652. data/spec/models/media_folder_ref_spec.rb +1 -1
  653. data/spec/models/media_folder_spec.rb +1 -1
  654. data/spec/models/media_spec.rb +1 -1
  655. data/spec/models/mention_identity_input_spec.rb +1 -1
  656. data/spec/models/mention_identity_spec.rb +1 -1
  657. data/spec/models/mention_input_spec.rb +1 -1
  658. data/spec/models/mention_spec.rb +1 -1
  659. data/spec/models/message_only_spec.rb +1 -1
  660. data/spec/models/pagination_meta_links_spec.rb +1 -1
  661. data/spec/models/pagination_meta_meta_spec.rb +1 -1
  662. data/spec/models/pagination_meta_spec.rb +1 -1
  663. data/spec/models/poll_rss_feed200_response_spec.rb +1 -1
  664. data/spec/models/post_analytics_spec.rb +1 -1
  665. data/spec/models/post_content_spec.rb +1 -1
  666. data/spec/models/post_input_spec.rb +1 -1
  667. data/spec/models/post_options_instagram_spec.rb +1 -1
  668. data/spec/models/post_options_tik_tok_spec.rb +1 -1
  669. data/spec/models/post_options_youtube_spec.rb +1 -1
  670. data/spec/models/post_spec.rb +1 -1
  671. data/spec/models/post_status_spec.rb +1 -1
  672. data/spec/models/post_version_options_spec.rb +1 -1
  673. data/spec/models/post_version_spec.rb +1 -1
  674. data/spec/models/post_warning_spec.rb +2 -2
  675. data/spec/models/post_warnings_spec.rb +1 -1
  676. data/spec/models/posting_schedule_day_spec.rb +1 -1
  677. data/spec/models/posting_schedule_day_times_inner_spec.rb +1 -1
  678. data/spec/models/posting_schedule_input_spec.rb +1 -1
  679. data/spec/models/posting_schedule_spec.rb +1 -1
  680. data/spec/models/posting_time_slot_spec.rb +1 -1
  681. data/spec/models/posting_times_best_inner_spec.rb +1 -1
  682. data/spec/models/posting_times_day_intervals_inner_inner_spec.rb +1 -1
  683. data/spec/models/posting_times_days_inner_spec.rb +1 -1
  684. data/spec/models/posting_times_spec.rb +1 -1
  685. data/spec/models/preflight_result_spec.rb +1 -1
  686. data/spec/models/public_workspace_pivot_spec.rb +1 -1
  687. data/spec/models/public_workspace_spec.rb +1 -1
  688. data/spec/models/publish_progress_spec.rb +1 -1
  689. data/spec/models/queue_slots_spec.rb +1 -1
  690. data/spec/models/receipt_input_spec.rb +1 -1
  691. data/spec/models/receipt_spec.rb +1 -1
  692. data/spec/models/receipt_update_input_spec.rb +1 -1
  693. data/spec/models/recommended_posting_times_spec.rb +1 -1
  694. data/spec/models/reconnect_link_spec.rb +1 -1
  695. data/spec/models/recycling_rule_input_spec.rb +1 -1
  696. data/spec/models/recycling_rule_settings_spec.rb +1 -1
  697. data/spec/models/recycling_rule_spec.rb +1 -1
  698. data/spec/models/recycling_rule_update_spec.rb +1 -1
  699. data/spec/models/recycling_run_spec.rb +1 -1
  700. data/spec/models/remove_generic_subscription422_response_spec.rb +1 -1
  701. data/spec/models/remove_user_from_workspace_request_spec.rb +1 -1
  702. data/spec/models/report_branding_input_spec.rb +1 -1
  703. data/spec/models/report_branding_spec.rb +1 -1
  704. data/spec/models/report_export_input_spec.rb +1 -1
  705. data/spec/models/report_export_spec.rb +1 -1
  706. data/spec/models/repurpose_content200_response_spec.rb +1 -1
  707. data/spec/models/repurpose_content202_response_spec.rb +1 -1
  708. data/spec/models/repurpose_content500_response_spec.rb +1 -1
  709. data/spec/models/repurpose_input_spec.rb +1 -1
  710. data/spec/models/repurpose_input_theme_spec.rb +1 -1
  711. data/spec/models/repurpose_result_media_spec.rb +1 -1
  712. data/spec/models/repurpose_result_source_spec.rb +1 -1
  713. data/spec/models/repurpose_result_spec.rb +1 -1
  714. data/spec/models/repurpose_run_accepted_spec.rb +1 -1
  715. data/spec/models/repurpose_run_spec.rb +1 -1
  716. data/spec/models/repurpose_slide_spec.rb +1 -1
  717. data/spec/models/reseller_client_input_spec.rb +1 -1
  718. data/spec/models/reseller_client_spec.rb +1 -1
  719. data/spec/models/reseller_client_usage_spec.rb +1 -1
  720. data/spec/models/retry_post_account_result_spec.rb +1 -1
  721. data/spec/models/rss_feed_input_spec.rb +1 -1
  722. data/spec/models/rss_feed_spec.rb +1 -1
  723. data/spec/models/rss_feed_update_spec.rb +1 -1
  724. data/spec/models/run_agent202_response_spec.rb +1 -1
  725. data/spec/models/schedule_post_request_spec.rb +1 -1
  726. data/spec/models/schedule_result_spec.rb +1 -1
  727. data/spec/models/subscription_input_spec.rb +1 -1
  728. data/spec/models/subscription_spec.rb +1 -1
  729. data/spec/models/subscription_status_spec.rb +1 -1
  730. data/spec/models/subscription_update_input_spec.rb +1 -1
  731. data/spec/models/tag_input_spec.rb +1 -1
  732. data/spec/models/tag_spec.rb +1 -1
  733. data/spec/models/template_content_item_spec.rb +1 -1
  734. data/spec/models/template_input_content_inner_spec.rb +1 -1
  735. data/spec/models/template_input_spec.rb +1 -1
  736. data/spec/models/template_spec.rb +1 -1
  737. data/spec/models/update_media_request_spec.rb +1 -1
  738. data/spec/models/update_post200_response_spec.rb +1 -1
  739. data/spec/models/upload_chunk201_response_spec.rb +1 -1
  740. data/spec/models/user_input_spec.rb +1 -1
  741. data/spec/models/user_spec.rb +1 -1
  742. data/spec/models/user_update_input_spec.rb +1 -1
  743. data/spec/models/webhook_envelope_spec.rb +1 -1
  744. data/spec/models/webhook_event_name_spec.rb +1 -1
  745. data/spec/models/webhook_event_payload_spec.rb +1 -1
  746. data/spec/models/webhook_subscription_input_spec.rb +1 -1
  747. data/spec/models/webhook_subscription_spec.rb +1 -1
  748. data/spec/models/workspace_agent_input_spec.rb +1 -1
  749. data/spec/models/workspace_agent_settings_spec.rb +1 -1
  750. data/spec/models/workspace_agent_spec.rb +1 -1
  751. data/spec/models/workspace_agent_update_spec.rb +1 -1
  752. data/spec/models/workspace_input_spec.rb +1 -1
  753. data/spec/models/workspace_spec.rb +1 -1
  754. data/spec/models/workspace_user_input_spec.rb +1 -1
  755. data/spec/models/x_usage_counter_spec.rb +1 -1
  756. data/spec/models/x_usage_spec.rb +1 -1
  757. data/spec/spec_helper.rb +1 -1
  758. metadata +21 -1
@@ -0,0 +1,558 @@
1
+ =begin
2
+ #PostBoost API
3
+
4
+ #The PostBoost REST API lets you publish, schedule, and analyze social media posts on every supported network from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Plan access Every workspace-scoped endpoint returns `403` when the workspace's plan does not include API access (capability `api`). ## Dates and times Post dates and times (`date`, `time`, `accounts_schedule`) are read in the request's `timezone` when one is given, otherwise in the workspace timezone. ## Idempotent requests Send an `Idempotency-Key` header (any unique string, for example a UUID) with a `POST`. Repeating the request with the same key within 24 hours returns the stored response with `Idempotent-Replayed: true` and creates nothing new. Reusing a key with a different body returns `422`; a request still in progress with the same key returns `409`. `5xx` and `429` responses are not stored, so they can be retried with the same key. ## Guardrails for automated clients Create and update requests are checked before anything is written: a post whose content matches one created for the same account in the last 24 hours returns `409` (`code: duplicate_post`, override with `allow_duplicate: true`), scheduling past an account's daily cap returns `429` (`code: account_daily_cap_reached`), and scheduling to an account that must be reconnected returns `422` (`code: account_unauthorized` or `account_token_missing`). Use `POST /{workspaceUuid}/posts/validate` for a dry run and `GET /{workspaceUuid}/activity` to review what API clients did. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
+
6
+ The version of the OpenAPI document: 1.44.0
7
+ Contact: hi@postboost.co
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PostBoost
17
+ # Posting time per network (HH:MM, local time). A second post on the same day (over 7 a week) goes 3 hours later, or 3 hours earlier if later passes midnight.
18
+ class FreeToolPlanContentCalendarRequestTimes
19
+ attr_accessor :instagram
20
+
21
+ attr_accessor :facebook
22
+
23
+ attr_accessor :linkedin
24
+
25
+ attr_accessor :x
26
+
27
+ attr_accessor :tiktok
28
+
29
+ attr_accessor :youtube
30
+
31
+ attr_accessor :pinterest
32
+
33
+ attr_accessor :threads
34
+
35
+ attr_accessor :bluesky
36
+
37
+ attr_accessor :mastodon
38
+
39
+ attr_accessor :gbp
40
+
41
+ # Attribute mapping from ruby-style variable name to JSON key.
42
+ def self.attribute_map
43
+ {
44
+ :'instagram' => :'instagram',
45
+ :'facebook' => :'facebook',
46
+ :'linkedin' => :'linkedin',
47
+ :'x' => :'x',
48
+ :'tiktok' => :'tiktok',
49
+ :'youtube' => :'youtube',
50
+ :'pinterest' => :'pinterest',
51
+ :'threads' => :'threads',
52
+ :'bluesky' => :'bluesky',
53
+ :'mastodon' => :'mastodon',
54
+ :'gbp' => :'gbp'
55
+ }
56
+ end
57
+
58
+ # Returns all the JSON keys this model knows about
59
+ def self.acceptable_attributes
60
+ attribute_map.values
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.openapi_types
65
+ {
66
+ :'instagram' => :'String',
67
+ :'facebook' => :'String',
68
+ :'linkedin' => :'String',
69
+ :'x' => :'String',
70
+ :'tiktok' => :'String',
71
+ :'youtube' => :'String',
72
+ :'pinterest' => :'String',
73
+ :'threads' => :'String',
74
+ :'bluesky' => :'String',
75
+ :'mastodon' => :'String',
76
+ :'gbp' => :'String'
77
+ }
78
+ end
79
+
80
+ # List of attributes with nullable: true
81
+ def self.openapi_nullable
82
+ Set.new([
83
+ ])
84
+ end
85
+
86
+ # Initializes the object
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ def initialize(attributes = {})
89
+ if (!attributes.is_a?(Hash))
90
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PostBoost::FreeToolPlanContentCalendarRequestTimes` initialize method"
91
+ end
92
+
93
+ # check to see if the attribute exists and convert string to symbol for hash key
94
+ attributes = attributes.each_with_object({}) { |(k, v), h|
95
+ if (!self.class.attribute_map.key?(k.to_sym))
96
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PostBoost::FreeToolPlanContentCalendarRequestTimes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
97
+ end
98
+ h[k.to_sym] = v
99
+ }
100
+
101
+ if attributes.key?(:'instagram')
102
+ self.instagram = attributes[:'instagram']
103
+ else
104
+ self.instagram = '10:00'
105
+ end
106
+
107
+ if attributes.key?(:'facebook')
108
+ self.facebook = attributes[:'facebook']
109
+ else
110
+ self.facebook = '10:00'
111
+ end
112
+
113
+ if attributes.key?(:'linkedin')
114
+ self.linkedin = attributes[:'linkedin']
115
+ else
116
+ self.linkedin = '10:00'
117
+ end
118
+
119
+ if attributes.key?(:'x')
120
+ self.x = attributes[:'x']
121
+ else
122
+ self.x = '10:00'
123
+ end
124
+
125
+ if attributes.key?(:'tiktok')
126
+ self.tiktok = attributes[:'tiktok']
127
+ else
128
+ self.tiktok = '10:00'
129
+ end
130
+
131
+ if attributes.key?(:'youtube')
132
+ self.youtube = attributes[:'youtube']
133
+ else
134
+ self.youtube = '10:00'
135
+ end
136
+
137
+ if attributes.key?(:'pinterest')
138
+ self.pinterest = attributes[:'pinterest']
139
+ else
140
+ self.pinterest = '10:00'
141
+ end
142
+
143
+ if attributes.key?(:'threads')
144
+ self.threads = attributes[:'threads']
145
+ else
146
+ self.threads = '10:00'
147
+ end
148
+
149
+ if attributes.key?(:'bluesky')
150
+ self.bluesky = attributes[:'bluesky']
151
+ else
152
+ self.bluesky = '10:00'
153
+ end
154
+
155
+ if attributes.key?(:'mastodon')
156
+ self.mastodon = attributes[:'mastodon']
157
+ else
158
+ self.mastodon = '10:00'
159
+ end
160
+
161
+ if attributes.key?(:'gbp')
162
+ self.gbp = attributes[:'gbp']
163
+ else
164
+ self.gbp = '10:00'
165
+ end
166
+ end
167
+
168
+ # Show invalid properties with the reasons. Usually used together with valid?
169
+ # @return Array for valid properties with the reasons
170
+ def list_invalid_properties
171
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
172
+ invalid_properties = Array.new
173
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
174
+ if !@instagram.nil? && @instagram !~ pattern
175
+ invalid_properties.push("invalid value for \"instagram\", must conform to the pattern #{pattern}.")
176
+ end
177
+
178
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
179
+ if !@facebook.nil? && @facebook !~ pattern
180
+ invalid_properties.push("invalid value for \"facebook\", must conform to the pattern #{pattern}.")
181
+ end
182
+
183
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
184
+ if !@linkedin.nil? && @linkedin !~ pattern
185
+ invalid_properties.push("invalid value for \"linkedin\", must conform to the pattern #{pattern}.")
186
+ end
187
+
188
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
189
+ if !@x.nil? && @x !~ pattern
190
+ invalid_properties.push("invalid value for \"x\", must conform to the pattern #{pattern}.")
191
+ end
192
+
193
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
194
+ if !@tiktok.nil? && @tiktok !~ pattern
195
+ invalid_properties.push("invalid value for \"tiktok\", must conform to the pattern #{pattern}.")
196
+ end
197
+
198
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
199
+ if !@youtube.nil? && @youtube !~ pattern
200
+ invalid_properties.push("invalid value for \"youtube\", must conform to the pattern #{pattern}.")
201
+ end
202
+
203
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
204
+ if !@pinterest.nil? && @pinterest !~ pattern
205
+ invalid_properties.push("invalid value for \"pinterest\", must conform to the pattern #{pattern}.")
206
+ end
207
+
208
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
209
+ if !@threads.nil? && @threads !~ pattern
210
+ invalid_properties.push("invalid value for \"threads\", must conform to the pattern #{pattern}.")
211
+ end
212
+
213
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
214
+ if !@bluesky.nil? && @bluesky !~ pattern
215
+ invalid_properties.push("invalid value for \"bluesky\", must conform to the pattern #{pattern}.")
216
+ end
217
+
218
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
219
+ if !@mastodon.nil? && @mastodon !~ pattern
220
+ invalid_properties.push("invalid value for \"mastodon\", must conform to the pattern #{pattern}.")
221
+ end
222
+
223
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
224
+ if !@gbp.nil? && @gbp !~ pattern
225
+ invalid_properties.push("invalid value for \"gbp\", must conform to the pattern #{pattern}.")
226
+ end
227
+
228
+ invalid_properties
229
+ end
230
+
231
+ # Check to see if the all the properties in the model are valid
232
+ # @return true if the model is valid
233
+ def valid?
234
+ warn '[DEPRECATED] the `valid?` method is obsolete'
235
+ return false if !@instagram.nil? && @instagram !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
236
+ return false if !@facebook.nil? && @facebook !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
237
+ return false if !@linkedin.nil? && @linkedin !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
238
+ return false if !@x.nil? && @x !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
239
+ return false if !@tiktok.nil? && @tiktok !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
240
+ return false if !@youtube.nil? && @youtube !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
241
+ return false if !@pinterest.nil? && @pinterest !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
242
+ return false if !@threads.nil? && @threads !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
243
+ return false if !@bluesky.nil? && @bluesky !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
244
+ return false if !@mastodon.nil? && @mastodon !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
245
+ return false if !@gbp.nil? && @gbp !~ Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
246
+ true
247
+ end
248
+
249
+ # Custom attribute writer method with validation
250
+ # @param [Object] instagram Value to be assigned
251
+ def instagram=(instagram)
252
+ if instagram.nil?
253
+ fail ArgumentError, 'instagram cannot be nil'
254
+ end
255
+
256
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
257
+ if instagram !~ pattern
258
+ fail ArgumentError, "invalid value for \"instagram\", must conform to the pattern #{pattern}."
259
+ end
260
+
261
+ @instagram = instagram
262
+ end
263
+
264
+ # Custom attribute writer method with validation
265
+ # @param [Object] facebook Value to be assigned
266
+ def facebook=(facebook)
267
+ if facebook.nil?
268
+ fail ArgumentError, 'facebook cannot be nil'
269
+ end
270
+
271
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
272
+ if facebook !~ pattern
273
+ fail ArgumentError, "invalid value for \"facebook\", must conform to the pattern #{pattern}."
274
+ end
275
+
276
+ @facebook = facebook
277
+ end
278
+
279
+ # Custom attribute writer method with validation
280
+ # @param [Object] linkedin Value to be assigned
281
+ def linkedin=(linkedin)
282
+ if linkedin.nil?
283
+ fail ArgumentError, 'linkedin cannot be nil'
284
+ end
285
+
286
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
287
+ if linkedin !~ pattern
288
+ fail ArgumentError, "invalid value for \"linkedin\", must conform to the pattern #{pattern}."
289
+ end
290
+
291
+ @linkedin = linkedin
292
+ end
293
+
294
+ # Custom attribute writer method with validation
295
+ # @param [Object] x Value to be assigned
296
+ def x=(x)
297
+ if x.nil?
298
+ fail ArgumentError, 'x cannot be nil'
299
+ end
300
+
301
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
302
+ if x !~ pattern
303
+ fail ArgumentError, "invalid value for \"x\", must conform to the pattern #{pattern}."
304
+ end
305
+
306
+ @x = x
307
+ end
308
+
309
+ # Custom attribute writer method with validation
310
+ # @param [Object] tiktok Value to be assigned
311
+ def tiktok=(tiktok)
312
+ if tiktok.nil?
313
+ fail ArgumentError, 'tiktok cannot be nil'
314
+ end
315
+
316
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
317
+ if tiktok !~ pattern
318
+ fail ArgumentError, "invalid value for \"tiktok\", must conform to the pattern #{pattern}."
319
+ end
320
+
321
+ @tiktok = tiktok
322
+ end
323
+
324
+ # Custom attribute writer method with validation
325
+ # @param [Object] youtube Value to be assigned
326
+ def youtube=(youtube)
327
+ if youtube.nil?
328
+ fail ArgumentError, 'youtube cannot be nil'
329
+ end
330
+
331
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
332
+ if youtube !~ pattern
333
+ fail ArgumentError, "invalid value for \"youtube\", must conform to the pattern #{pattern}."
334
+ end
335
+
336
+ @youtube = youtube
337
+ end
338
+
339
+ # Custom attribute writer method with validation
340
+ # @param [Object] pinterest Value to be assigned
341
+ def pinterest=(pinterest)
342
+ if pinterest.nil?
343
+ fail ArgumentError, 'pinterest cannot be nil'
344
+ end
345
+
346
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
347
+ if pinterest !~ pattern
348
+ fail ArgumentError, "invalid value for \"pinterest\", must conform to the pattern #{pattern}."
349
+ end
350
+
351
+ @pinterest = pinterest
352
+ end
353
+
354
+ # Custom attribute writer method with validation
355
+ # @param [Object] threads Value to be assigned
356
+ def threads=(threads)
357
+ if threads.nil?
358
+ fail ArgumentError, 'threads cannot be nil'
359
+ end
360
+
361
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
362
+ if threads !~ pattern
363
+ fail ArgumentError, "invalid value for \"threads\", must conform to the pattern #{pattern}."
364
+ end
365
+
366
+ @threads = threads
367
+ end
368
+
369
+ # Custom attribute writer method with validation
370
+ # @param [Object] bluesky Value to be assigned
371
+ def bluesky=(bluesky)
372
+ if bluesky.nil?
373
+ fail ArgumentError, 'bluesky cannot be nil'
374
+ end
375
+
376
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
377
+ if bluesky !~ pattern
378
+ fail ArgumentError, "invalid value for \"bluesky\", must conform to the pattern #{pattern}."
379
+ end
380
+
381
+ @bluesky = bluesky
382
+ end
383
+
384
+ # Custom attribute writer method with validation
385
+ # @param [Object] mastodon Value to be assigned
386
+ def mastodon=(mastodon)
387
+ if mastodon.nil?
388
+ fail ArgumentError, 'mastodon cannot be nil'
389
+ end
390
+
391
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
392
+ if mastodon !~ pattern
393
+ fail ArgumentError, "invalid value for \"mastodon\", must conform to the pattern #{pattern}."
394
+ end
395
+
396
+ @mastodon = mastodon
397
+ end
398
+
399
+ # Custom attribute writer method with validation
400
+ # @param [Object] gbp Value to be assigned
401
+ def gbp=(gbp)
402
+ if gbp.nil?
403
+ fail ArgumentError, 'gbp cannot be nil'
404
+ end
405
+
406
+ pattern = Regexp.new(/^([01]\d|2[0-3]):[0-5]\d$/)
407
+ if gbp !~ pattern
408
+ fail ArgumentError, "invalid value for \"gbp\", must conform to the pattern #{pattern}."
409
+ end
410
+
411
+ @gbp = gbp
412
+ end
413
+
414
+ # Checks equality by comparing each attribute.
415
+ # @param [Object] Object to be compared
416
+ def ==(o)
417
+ return true if self.equal?(o)
418
+ self.class == o.class &&
419
+ instagram == o.instagram &&
420
+ facebook == o.facebook &&
421
+ linkedin == o.linkedin &&
422
+ x == o.x &&
423
+ tiktok == o.tiktok &&
424
+ youtube == o.youtube &&
425
+ pinterest == o.pinterest &&
426
+ threads == o.threads &&
427
+ bluesky == o.bluesky &&
428
+ mastodon == o.mastodon &&
429
+ gbp == o.gbp
430
+ end
431
+
432
+ # @see the `==` method
433
+ # @param [Object] Object to be compared
434
+ def eql?(o)
435
+ self == o
436
+ end
437
+
438
+ # Calculates hash code according to all attributes.
439
+ # @return [Integer] Hash code
440
+ def hash
441
+ [instagram, facebook, linkedin, x, tiktok, youtube, pinterest, threads, bluesky, mastodon, gbp].hash
442
+ end
443
+
444
+ # Builds the object from hash
445
+ # @param [Hash] attributes Model attributes in the form of hash
446
+ # @return [Object] Returns the model itself
447
+ def self.build_from_hash(attributes)
448
+ return nil unless attributes.is_a?(Hash)
449
+ attributes = attributes.transform_keys(&:to_sym)
450
+ transformed_hash = {}
451
+ openapi_types.each_pair do |key, type|
452
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
453
+ transformed_hash["#{key}"] = nil
454
+ elsif type =~ /\AArray<(.*)>/i
455
+ # check to ensure the input is an array given that the attribute
456
+ # is documented as an array but the input is not
457
+ if attributes[attribute_map[key]].is_a?(Array)
458
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
459
+ end
460
+ elsif !attributes[attribute_map[key]].nil?
461
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
462
+ end
463
+ end
464
+ new(transformed_hash)
465
+ end
466
+
467
+ # Deserializes the data based on type
468
+ # @param string type Data type
469
+ # @param string value Value to be deserialized
470
+ # @return [Object] Deserialized data
471
+ def self._deserialize(type, value)
472
+ case type.to_sym
473
+ when :Time
474
+ Time.parse(value)
475
+ when :Date
476
+ Date.parse(value)
477
+ when :String
478
+ value.to_s
479
+ when :Integer
480
+ value.to_i
481
+ when :Float
482
+ value.to_f
483
+ when :Boolean
484
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
485
+ true
486
+ else
487
+ false
488
+ end
489
+ when :Object
490
+ # generic object (usually a Hash), return directly
491
+ value
492
+ when /\AArray<(?<inner_type>.+)>\z/
493
+ inner_type = Regexp.last_match[:inner_type]
494
+ value.map { |v| _deserialize(inner_type, v) }
495
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
496
+ k_type = Regexp.last_match[:k_type]
497
+ v_type = Regexp.last_match[:v_type]
498
+ {}.tap do |hash|
499
+ value.each do |k, v|
500
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
501
+ end
502
+ end
503
+ else # model
504
+ # models (e.g. Pet) or oneOf
505
+ klass = PostBoost.const_get(type)
506
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
507
+ end
508
+ end
509
+
510
+ # Returns the string representation of the object
511
+ # @return [String] String presentation of the object
512
+ def to_s
513
+ to_hash.to_s
514
+ end
515
+
516
+ # to_body is an alias to to_hash (backward compatibility)
517
+ # @return [Hash] Returns the object in the form of hash
518
+ def to_body
519
+ to_hash
520
+ end
521
+
522
+ # Returns the object in the form of hash
523
+ # @return [Hash] Returns the object in the form of hash
524
+ def to_hash
525
+ hash = {}
526
+ self.class.attribute_map.each_pair do |attr, param|
527
+ value = self.send(attr)
528
+ if value.nil?
529
+ is_nullable = self.class.openapi_nullable.include?(attr)
530
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
531
+ end
532
+
533
+ hash[param] = _to_hash(value)
534
+ end
535
+ hash
536
+ end
537
+
538
+ # Outputs non-array value in the form of hash
539
+ # For object, use to_hash. Otherwise, just return the value
540
+ # @param [Object] value Any valid value
541
+ # @return [Hash] Returns the value in the form of hash
542
+ def _to_hash(value)
543
+ if value.is_a?(Array)
544
+ value.compact.map { |v| _to_hash(v) }
545
+ elsif value.is_a?(Hash)
546
+ {}.tap do |hash|
547
+ value.each { |k, v| hash[k] = _to_hash(v) }
548
+ end
549
+ elsif value.respond_to? :to_hash
550
+ value.to_hash
551
+ else
552
+ value
553
+ end
554
+ end
555
+
556
+ end
557
+
558
+ end