peal 0.2.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 (528) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +171 -320
  3. data/lib/peal/analytics/client.rb +120 -0
  4. data/lib/peal/analytics/types/post_analytics_request.rb +13 -0
  5. data/lib/peal/analytics/types/summary_analytics_request.rb +17 -0
  6. data/lib/peal/api_keys/client.rb +153 -0
  7. data/lib/peal/api_keys/types/list_api_keys_request.rb +11 -0
  8. data/lib/peal/api_keys/types/new_api_key.rb +17 -0
  9. data/lib/peal/api_keys/types/revoke_api_keys_request.rb +13 -0
  10. data/lib/peal/assistant/client.rb +112 -0
  11. data/lib/peal/assistant/types/status_assistant_request.rb +11 -0
  12. data/lib/peal/assistant/types/suggestion_request.rb +15 -0
  13. data/lib/peal/billing/client.rb +58 -0
  14. data/lib/peal/billing/types/get_billing_request.rb +11 -0
  15. data/lib/peal/channels/client.rb +366 -0
  16. data/lib/peal/channels/types/choose_accounts.rb +17 -0
  17. data/lib/peal/channels/types/connect_callback.rb +21 -0
  18. data/lib/peal/channels/types/connect_channel.rb +17 -0
  19. data/lib/peal/channels/types/disconnect_channels_request.rb +13 -0
  20. data/lib/peal/channels/types/list_channels_request.rb +11 -0
  21. data/lib/peal/channels/types/platforms_channels_request.rb +11 -0
  22. data/lib/peal/channels/types/reconnect_channels_request.rb +13 -0
  23. data/lib/peal/client.rb +93 -0
  24. data/lib/peal/environment.rb +7 -0
  25. data/lib/peal/errors/api_error.rb +8 -0
  26. data/lib/peal/errors/client_error.rb +17 -0
  27. data/lib/peal/errors/connection_error.rb +11 -0
  28. data/lib/peal/errors/redirect_error.rb +8 -0
  29. data/lib/peal/errors/response_error.rb +65 -0
  30. data/lib/peal/errors/server_error.rb +11 -0
  31. data/lib/peal/errors/timeout_error.rb +8 -0
  32. data/lib/peal/internal/errors/constraint_error.rb +10 -0
  33. data/lib/peal/internal/errors/type_error.rb +10 -0
  34. data/lib/peal/internal/http/base_request.rb +83 -0
  35. data/lib/peal/internal/http/raw_client.rb +297 -0
  36. data/lib/peal/internal/iterators/cursor_item_iterator.rb +33 -0
  37. data/lib/peal/internal/iterators/cursor_page_iterator.rb +126 -0
  38. data/lib/peal/internal/iterators/item_iterator.rb +120 -0
  39. data/lib/peal/internal/iterators/offset_item_iterator.rb +35 -0
  40. data/lib/peal/internal/iterators/offset_page_iterator.rb +160 -0
  41. data/lib/peal/internal/json/request.rb +51 -0
  42. data/lib/peal/internal/json/serializable.rb +25 -0
  43. data/lib/peal/internal/multipart/multipart_encoder.rb +141 -0
  44. data/lib/peal/internal/multipart/multipart_form_data.rb +84 -0
  45. data/lib/peal/internal/multipart/multipart_form_data_part.rb +51 -0
  46. data/lib/peal/internal/multipart/multipart_request.rb +42 -0
  47. data/lib/peal/internal/types/array.rb +47 -0
  48. data/lib/peal/internal/types/boolean.rb +34 -0
  49. data/lib/peal/internal/types/enum.rb +56 -0
  50. data/lib/peal/internal/types/hash.rb +36 -0
  51. data/lib/peal/internal/types/model/field.rb +38 -0
  52. data/lib/peal/internal/types/model.rb +258 -0
  53. data/lib/peal/internal/types/type.rb +35 -0
  54. data/lib/peal/internal/types/union.rb +161 -0
  55. data/lib/peal/internal/types/unknown.rb +15 -0
  56. data/lib/peal/internal/types/utils.rb +144 -0
  57. data/lib/peal/invitations/client.rb +160 -0
  58. data/lib/peal/invitations/types/list_invitations_request.rb +11 -0
  59. data/lib/peal/invitations/types/new_invitation.rb +15 -0
  60. data/lib/peal/invitations/types/revoke_invitations_request.rb +13 -0
  61. data/lib/peal/media/client.rb +360 -0
  62. data/lib/peal/media/types/complete_media_request.rb +13 -0
  63. data/lib/peal/media/types/delete_media_request.rb +13 -0
  64. data/lib/peal/media/types/get_media_request.rb +13 -0
  65. data/lib/peal/media/types/list_media_request.rb +15 -0
  66. data/lib/peal/media/types/media_description.rb +15 -0
  67. data/lib/peal/media/types/new_upload.rb +17 -0
  68. data/lib/peal/media/types/usage_media_request.rb +13 -0
  69. data/lib/peal/members/client.rb +58 -0
  70. data/lib/peal/members/types/list_members_request.rb +11 -0
  71. data/lib/peal/notices/client.rb +189 -0
  72. data/lib/peal/notices/types/list_notices_request.rb +13 -0
  73. data/lib/peal/notices/types/mark_notices_read.rb +11 -0
  74. data/lib/peal/notification_preferences/client.rb +100 -0
  75. data/lib/peal/notification_preferences/types/notification_preferences_change.rb +13 -0
  76. data/lib/peal/notification_preferences/types/notification_preferences_change_email.rb +19 -0
  77. data/lib/peal/posts/client.rb +703 -0
  78. data/lib/peal/posts/types/attempts_posts_request.rb +13 -0
  79. data/lib/peal/posts/types/cancel_posts_request.rb +13 -0
  80. data/lib/peal/posts/types/confirm_posts_request.rb +17 -0
  81. data/lib/peal/posts/types/create_posts_request.rb +13 -0
  82. data/lib/peal/posts/types/discard_posts_request.rb +13 -0
  83. data/lib/peal/posts/types/drafts_posts_request.rb +15 -0
  84. data/lib/peal/posts/types/get_posts_request.rb +13 -0
  85. data/lib/peal/posts/types/list_posts_request.rb +15 -0
  86. data/lib/peal/posts/types/repost_posts_request.rb +15 -0
  87. data/lib/peal/posts/types/reschedule_posts_request.rb +15 -0
  88. data/lib/peal/posts/types/schedule_post.rb +19 -0
  89. data/lib/peal/posts/types/unschedule_posts_request.rb +13 -0
  90. data/lib/peal/posts/types/update_posts_request.rb +15 -0
  91. data/lib/peal/session/client.rb +55 -0
  92. data/lib/peal/system/client.rb +82 -0
  93. data/lib/peal/tiktok/client.rb +62 -0
  94. data/lib/peal/tiktok/types/creator_tiktok_request.rb +13 -0
  95. data/lib/peal/types/already_member_encoded.rb +9 -0
  96. data/lib/peal/types/alt_text_too_long_encoded.rb +13 -0
  97. data/lib/peal/types/alt_text_too_long_encoded_tag.rb +13 -0
  98. data/lib/peal/types/analytics_summary.rb +23 -0
  99. data/lib/peal/types/api_key.rb +21 -0
  100. data/lib/peal/types/api_key_not_found_encoded.rb +9 -0
  101. data/lib/peal/types/assistant_action.rb +21 -0
  102. data/lib/peal/types/assistant_action_hashtags.rb +9 -0
  103. data/lib/peal/types/assistant_action_rewrite.rb +11 -0
  104. data/lib/peal/types/assistant_action_shorten.rb +11 -0
  105. data/lib/peal/types/assistant_action_translate.rb +11 -0
  106. data/lib/peal/types/assistant_failed_encoded.rb +13 -0
  107. data/lib/peal/types/assistant_failed_encoded_reason.rb +16 -0
  108. data/lib/peal/types/assistant_failed_encoded_tag.rb +13 -0
  109. data/lib/peal/types/assistant_input_rejected_encoded.rb +15 -0
  110. data/lib/peal/types/assistant_input_rejected_encoded_reason.rb +14 -0
  111. data/lib/peal/types/assistant_input_rejected_encoded_tag.rb +13 -0
  112. data/lib/peal/types/assistant_quota_exceeded_encoded.rb +15 -0
  113. data/lib/peal/types/assistant_quota_exceeded_encoded_tag.rb +13 -0
  114. data/lib/peal/types/assistant_status.rb +19 -0
  115. data/lib/peal/types/assistant_tone.rb +17 -0
  116. data/lib/peal/types/assistant_unavailable_encoded.rb +11 -0
  117. data/lib/peal/types/assistant_unavailable_encoded_tag.rb +13 -0
  118. data/lib/peal/types/attempt_result.rb +24 -0
  119. data/lib/peal/types/authorization.rb +11 -0
  120. data/lib/peal/types/billing.rb +21 -0
  121. data/lib/peal/types/billing_subscription.rb +17 -0
  122. data/lib/peal/types/calendar_day.rb +25 -0
  123. data/lib/peal/types/channel.rb +23 -0
  124. data/lib/peal/types/channel_cannot_post_encoded.rb +13 -0
  125. data/lib/peal/types/channel_cannot_post_encoded_reason.rb +14 -0
  126. data/lib/peal/types/channel_cannot_post_encoded_tag.rb +13 -0
  127. data/lib/peal/types/channel_metrics.rb +23 -0
  128. data/lib/peal/types/channel_not_found_encoded.rb +9 -0
  129. data/lib/peal/types/channel_options.rb +13 -0
  130. data/lib/peal/types/channel_status.rb +19 -0
  131. data/lib/peal/types/channel_status_active.rb +9 -0
  132. data/lib/peal/types/channel_status_disabled.rb +11 -0
  133. data/lib/peal/types/channel_status_refresh_needed.rb +9 -0
  134. data/lib/peal/types/choosable_account.rb +19 -0
  135. data/lib/peal/types/conflict_error_body.rb +17 -0
  136. data/lib/peal/types/connect_failed_encoded.rb +13 -0
  137. data/lib/peal/types/connect_failed_encoded_tag.rb +13 -0
  138. data/lib/peal/types/connect_failure_reason.rb +22 -0
  139. data/lib/peal/types/connect_outcome.rb +17 -0
  140. data/lib/peal/types/connect_outcome_choose.rb +15 -0
  141. data/lib/peal/types/connect_outcome_connected.rb +11 -0
  142. data/lib/peal/types/connectable_platforms.rb +11 -0
  143. data/lib/peal/types/content_violation.rb +65 -0
  144. data/lib/peal/types/content_violation_alt_text_too_long.rb +19 -0
  145. data/lib/peal/types/content_violation_aspect_ratio_unsupported.rb +23 -0
  146. data/lib/peal/types/content_violation_aspect_ratio_unsupported_maximum.rb +15 -0
  147. data/lib/peal/types/content_violation_aspect_ratio_unsupported_minimum.rb +15 -0
  148. data/lib/peal/types/content_violation_empty.rb +13 -0
  149. data/lib/peal/types/content_violation_forbidden_characters.rb +15 -0
  150. data/lib/peal/types/content_violation_media_required.rb +13 -0
  151. data/lib/peal/types/content_violation_media_too_large.rb +19 -0
  152. data/lib/peal/types/content_violation_media_too_small.rb +19 -0
  153. data/lib/peal/types/content_violation_media_type_unsupported.rb +17 -0
  154. data/lib/peal/types/content_violation_mixed_media.rb +13 -0
  155. data/lib/peal/types/content_violation_no_channels.rb +9 -0
  156. data/lib/peal/types/content_violation_option_invalid.rb +15 -0
  157. data/lib/peal/types/content_violation_option_missing.rb +15 -0
  158. data/lib/peal/types/content_violation_option_too_long.rb +19 -0
  159. data/lib/peal/types/content_violation_options_for_other_platform.rb +15 -0
  160. data/lib/peal/types/content_violation_options_without_channel.rb +11 -0
  161. data/lib/peal/types/content_violation_override_without_channel.rb +11 -0
  162. data/lib/peal/types/content_violation_side_out_of_range.rb +23 -0
  163. data/lib/peal/types/content_violation_text_too_long.rb +19 -0
  164. data/lib/peal/types/content_violation_too_many_hashtags.rb +17 -0
  165. data/lib/peal/types/content_violation_too_many_links.rb +17 -0
  166. data/lib/peal/types/content_violation_too_many_media.rb +17 -0
  167. data/lib/peal/types/content_violation_too_many_mentions.rb +17 -0
  168. data/lib/peal/types/content_violation_too_many_pixels.rb +21 -0
  169. data/lib/peal/types/content_violation_too_many_videos.rb +17 -0
  170. data/lib/peal/types/content_violation_video_too_long.rb +19 -0
  171. data/lib/peal/types/content_violation_video_too_short.rb +19 -0
  172. data/lib/peal/types/created_api_key.rb +13 -0
  173. data/lib/peal/types/database_unavailable_encoded.rb +11 -0
  174. data/lib/peal/types/database_unavailable_encoded_tag.rb +13 -0
  175. data/lib/peal/types/draft_page.rb +13 -0
  176. data/lib/peal/types/effect_http_api_error_bad_request_encoded.rb +11 -0
  177. data/lib/peal/types/effect_http_api_error_bad_request_encoded_tag.rb +13 -0
  178. data/lib/peal/types/engagement_day.rb +19 -0
  179. data/lib/peal/types/failure_reason.rb +24 -0
  180. data/lib/peal/types/forbidden_encoded.rb +11 -0
  181. data/lib/peal/types/forbidden_encoded_tag.rb +13 -0
  182. data/lib/peal/types/invalid_date_range_encoded.rb +11 -0
  183. data/lib/peal/types/invalid_date_range_encoded_tag.rb +13 -0
  184. data/lib/peal/types/invalid_time_range_encoded.rb +11 -0
  185. data/lib/peal/types/invalid_time_range_encoded_tag.rb +13 -0
  186. data/lib/peal/types/invalid_time_zone_encoded.rb +13 -0
  187. data/lib/peal/types/invalid_time_zone_encoded_tag.rb +13 -0
  188. data/lib/peal/types/invitation.rb +21 -0
  189. data/lib/peal/types/invitation_not_found_encoded.rb +9 -0
  190. data/lib/peal/types/me.rb +15 -0
  191. data/lib/peal/types/me_user.rb +21 -0
  192. data/lib/peal/types/me_user_locale.rb +14 -0
  193. data/lib/peal/types/media.rb +33 -0
  194. data/lib/peal/types/media_attachment.rb +13 -0
  195. data/lib/peal/types/media_content_type.rb +18 -0
  196. data/lib/peal/types/media_dimensions.rb +13 -0
  197. data/lib/peal/types/media_in_use_encoded.rb +13 -0
  198. data/lib/peal/types/media_in_use_encoded_tag.rb +13 -0
  199. data/lib/peal/types/media_kind.rb +14 -0
  200. data/lib/peal/types/media_not_found_encoded.rb +9 -0
  201. data/lib/peal/types/media_page.rb +13 -0
  202. data/lib/peal/types/media_status.rb +21 -0
  203. data/lib/peal/types/media_status_pending.rb +9 -0
  204. data/lib/peal/types/media_status_ready.rb +9 -0
  205. data/lib/peal/types/media_status_rejected.rb +11 -0
  206. data/lib/peal/types/media_status_uploaded.rb +11 -0
  207. data/lib/peal/types/media_store_unavailable_encoded.rb +11 -0
  208. data/lib/peal/types/media_store_unavailable_encoded_tag.rb +13 -0
  209. data/lib/peal/types/media_too_large_encoded.rb +15 -0
  210. data/lib/peal/types/media_too_large_encoded_kind.rb +14 -0
  211. data/lib/peal/types/media_usage.rb +13 -0
  212. data/lib/peal/types/membership.rb +19 -0
  213. data/lib/peal/types/metric_totals.rb +21 -0
  214. data/lib/peal/types/metrics_snapshot.rb +13 -0
  215. data/lib/peal/types/non_finite_number.rb +14 -0
  216. data/lib/peal/types/not_found_error_body.rb +17 -0
  217. data/lib/peal/types/notice.rb +19 -0
  218. data/lib/peal/types/notice_channel.rb +13 -0
  219. data/lib/peal/types/notice_event.rb +23 -0
  220. data/lib/peal/types/notice_event_channel_reconnect_required.rb +11 -0
  221. data/lib/peal/types/notice_event_channel_reconnect_soon.rb +13 -0
  222. data/lib/peal/types/notice_event_post_failed.rb +15 -0
  223. data/lib/peal/types/notice_event_post_published.rb +15 -0
  224. data/lib/peal/types/notice_event_post_unconfirmed.rb +13 -0
  225. data/lib/peal/types/notice_page.rb +13 -0
  226. data/lib/peal/types/notification_preferences.rb +13 -0
  227. data/lib/peal/types/notification_preferences_email.rb +17 -0
  228. data/lib/peal/types/paid_plan.rb +14 -0
  229. data/lib/peal/types/period_usage.rb +13 -0
  230. data/lib/peal/types/permission.rb +40 -0
  231. data/lib/peal/types/plan.rb +15 -0
  232. data/lib/peal/types/plan_allowances.rb +17 -0
  233. data/lib/peal/types/plan_limit.rb +16 -0
  234. data/lib/peal/types/plan_limit_reached_encoded.rb +15 -0
  235. data/lib/peal/types/plan_limit_reached_encoded_tag.rb +13 -0
  236. data/lib/peal/types/plan_offer.rb +13 -0
  237. data/lib/peal/types/platform.rb +22 -0
  238. data/lib/peal/types/platform_unreachable_encoded.rb +11 -0
  239. data/lib/peal/types/platform_unreachable_encoded_tag.rb +13 -0
  240. data/lib/peal/types/post.rb +23 -0
  241. data/lib/peal/types/post_analytics.rb +13 -0
  242. data/lib/peal/types/post_content.rb +15 -0
  243. data/lib/peal/types/post_content_invalid_encoded.rb +11 -0
  244. data/lib/peal/types/post_draft.rb +15 -0
  245. data/lib/peal/types/post_metrics.rb +19 -0
  246. data/lib/peal/types/post_not_found_encoded.rb +9 -0
  247. data/lib/peal/types/post_outcome.rb +17 -0
  248. data/lib/peal/types/post_schedule.rb +13 -0
  249. data/lib/peal/types/post_status.rb +17 -0
  250. data/lib/peal/types/post_status_conflict_encoded.rb +13 -0
  251. data/lib/peal/types/post_status_conflict_encoded_tag.rb +13 -0
  252. data/lib/peal/types/post_target.rb +29 -0
  253. data/lib/peal/types/post_target_status.rb +18 -0
  254. data/lib/peal/types/prepared_upload.rb +13 -0
  255. data/lib/peal/types/probe_state.rb +18 -0
  256. data/lib/peal/types/publication_attempt.rb +23 -0
  257. data/lib/peal/types/rejection_reason.rb +14 -0
  258. data/lib/peal/types/role.rb +17 -0
  259. data/lib/peal/types/schedule_in_past_encoded.rb +9 -0
  260. data/lib/peal/types/signed_request.rb +15 -0
  261. data/lib/peal/types/signed_request_method.rb +13 -0
  262. data/lib/peal/types/subscription_status.rb +20 -0
  263. data/lib/peal/types/suggestion.rb +17 -0
  264. data/lib/peal/types/suggestion_hashtags.rb +11 -0
  265. data/lib/peal/types/suggestion_text.rb +11 -0
  266. data/lib/peal/types/target_confirmation.rb +17 -0
  267. data/lib/peal/types/target_confirmation_not_published.rb +9 -0
  268. data/lib/peal/types/target_confirmation_published.rb +11 -0
  269. data/lib/peal/types/target_metrics.rb +25 -0
  270. data/lib/peal/types/target_options.rb +19 -0
  271. data/lib/peal/types/target_status_conflict_encoded.rb +11 -0
  272. data/lib/peal/types/text_override.rb +13 -0
  273. data/lib/peal/types/text_unit.rb +18 -0
  274. data/lib/peal/types/tik_tok_account.rb +13 -0
  275. data/lib/peal/types/tik_tok_account_posting.rb +17 -0
  276. data/lib/peal/types/tik_tok_account_posting_blocked.rb +11 -0
  277. data/lib/peal/types/tik_tok_account_posting_ready.rb +11 -0
  278. data/lib/peal/types/tik_tok_block.rb +15 -0
  279. data/lib/peal/types/tik_tok_creator.rb +25 -0
  280. data/lib/peal/types/tik_tok_options.rb +26 -0
  281. data/lib/peal/types/tik_tok_privacy_level.rb +16 -0
  282. data/lib/peal/types/too_many_invitations_encoded.rb +9 -0
  283. data/lib/peal/types/top_post.rb +23 -0
  284. data/lib/peal/types/translation_language.rb +22 -0
  285. data/lib/peal/types/unauthenticated_encoded.rb +11 -0
  286. data/lib/peal/types/unauthenticated_encoded_tag.rb +13 -0
  287. data/lib/peal/types/unconfirmed_reason.rb +16 -0
  288. data/lib/peal/types/unknown_channels_encoded.rb +11 -0
  289. data/lib/peal/types/unknown_media_encoded.rb +11 -0
  290. data/lib/peal/types/unprocessable_entity_error_body.rb +19 -0
  291. data/lib/peal/types/unread_notices.rb +11 -0
  292. data/lib/peal/types/unsupported_media_type_encoded.rb +11 -0
  293. data/lib/peal/types/upload_incomplete_encoded.rb +11 -0
  294. data/lib/peal/types/upload_incomplete_encoded_tag.rb +13 -0
  295. data/lib/peal/types/upload_part.rb +15 -0
  296. data/lib/peal/types/upload_rejected_encoded.rb +13 -0
  297. data/lib/peal/types/upload_rejected_encoded_tag.rb +13 -0
  298. data/lib/peal/types/upload_target.rb +17 -0
  299. data/lib/peal/types/upload_target_multipart.rb +15 -0
  300. data/lib/peal/types/upload_target_single.rb +13 -0
  301. data/lib/peal/types/usage.rb +17 -0
  302. data/lib/peal/types/workspace_member.rb +19 -0
  303. data/lib/peal/types/workspace_not_found_encoded.rb +11 -0
  304. data/lib/peal/types/workspace_not_found_encoded_tag.rb +13 -0
  305. data/lib/peal/types/you_tube_options.rb +24 -0
  306. data/lib/peal/types/you_tube_privacy.rb +15 -0
  307. data/lib/peal/version.rb +2 -12
  308. data/lib/peal.rb +315 -248
  309. metadata +312 -292
  310. data/lib/peal/api/analytics_api.rb +0 -185
  311. data/lib/peal/api/api_keys_api.rb +0 -228
  312. data/lib/peal/api/assistant_api.rb +0 -159
  313. data/lib/peal/api/billing_api.rb +0 -85
  314. data/lib/peal/api/channels_api.rb +0 -526
  315. data/lib/peal/api/invitations_api.rb +0 -228
  316. data/lib/peal/api/media_api.rb +0 -526
  317. data/lib/peal/api/members_api.rb +0 -85
  318. data/lib/peal/api/notices_api.rb +0 -272
  319. data/lib/peal/api/notification_preferences_api.rb +0 -147
  320. data/lib/peal/api/posts_api.rb +0 -993
  321. data/lib/peal/api/session_api.rb +0 -79
  322. data/lib/peal/api/system_api.rb +0 -134
  323. data/lib/peal/api/tiktok_api.rb +0 -91
  324. data/lib/peal/api_client.rb +0 -441
  325. data/lib/peal/api_error.rb +0 -58
  326. data/lib/peal/api_model_base.rb +0 -88
  327. data/lib/peal/configuration.rb +0 -392
  328. data/lib/peal/models/already_member_encoded.rb +0 -201
  329. data/lib/peal/models/alt_text_too_long_encoded.rb +0 -245
  330. data/lib/peal/models/analytics_summary.rb +0 -361
  331. data/lib/peal/models/api_key.rb +0 -281
  332. data/lib/peal/models/api_key_not_found_encoded.rb +0 -201
  333. data/lib/peal/models/api_keys_revoke404_response.rb +0 -103
  334. data/lib/peal/models/assistant_action.rb +0 -105
  335. data/lib/peal/models/assistant_action_any_of.rb +0 -227
  336. data/lib/peal/models/assistant_action_any_of1.rb +0 -227
  337. data/lib/peal/models/assistant_action_any_of2.rb +0 -227
  338. data/lib/peal/models/assistant_action_any_of3.rb +0 -201
  339. data/lib/peal/models/assistant_failed_encoded.rb +0 -229
  340. data/lib/peal/models/assistant_input_rejected_encoded.rb +0 -273
  341. data/lib/peal/models/assistant_quota_exceeded_encoded.rb +0 -271
  342. data/lib/peal/models/assistant_status.rb +0 -335
  343. data/lib/peal/models/assistant_tone.rb +0 -43
  344. data/lib/peal/models/assistant_unavailable_encoded.rb +0 -201
  345. data/lib/peal/models/attempt_result.rb +0 -50
  346. data/lib/peal/models/authorization.rb +0 -177
  347. data/lib/peal/models/billing.rb +0 -303
  348. data/lib/peal/models/billing_subscription.rb +0 -263
  349. data/lib/peal/models/channel.rb +0 -313
  350. data/lib/peal/models/channel_cannot_post_encoded.rb +0 -229
  351. data/lib/peal/models/channel_metrics.rb +0 -425
  352. data/lib/peal/models/channel_not_found_encoded.rb +0 -201
  353. data/lib/peal/models/channel_options.rb +0 -203
  354. data/lib/peal/models/channel_status.rb +0 -104
  355. data/lib/peal/models/channel_status_any_of.rb +0 -201
  356. data/lib/peal/models/channel_status_any_of1.rb +0 -201
  357. data/lib/peal/models/channel_status_any_of2.rb +0 -227
  358. data/lib/peal/models/channels_complete_connect404_response.rb +0 -103
  359. data/lib/peal/models/choosable_account.rb +0 -253
  360. data/lib/peal/models/choose_accounts.rb +0 -241
  361. data/lib/peal/models/connect_callback.rb +0 -279
  362. data/lib/peal/models/connect_channel.rb +0 -207
  363. data/lib/peal/models/connect_failed_encoded.rb +0 -227
  364. data/lib/peal/models/connect_failure_reason.rb +0 -48
  365. data/lib/peal/models/connect_outcome.rb +0 -103
  366. data/lib/peal/models/connect_outcome_any_of.rb +0 -227
  367. data/lib/peal/models/connect_outcome_any_of1.rb +0 -281
  368. data/lib/peal/models/connectable_platforms.rb +0 -179
  369. data/lib/peal/models/content_violation.rb +0 -127
  370. data/lib/peal/models/content_violation_any_of.rb +0 -201
  371. data/lib/peal/models/content_violation_any_of1.rb +0 -227
  372. data/lib/peal/models/content_violation_any_of10.rb +0 -341
  373. data/lib/peal/models/content_violation_any_of11.rb +0 -253
  374. data/lib/peal/models/content_violation_any_of12.rb +0 -341
  375. data/lib/peal/models/content_violation_any_of13.rb +0 -341
  376. data/lib/peal/models/content_violation_any_of14.rb +0 -341
  377. data/lib/peal/models/content_violation_any_of15.rb +0 -341
  378. data/lib/peal/models/content_violation_any_of16.rb +0 -253
  379. data/lib/peal/models/content_violation_any_of17.rb +0 -305
  380. data/lib/peal/models/content_violation_any_of18.rb +0 -367
  381. data/lib/peal/models/content_violation_any_of19.rb +0 -367
  382. data/lib/peal/models/content_violation_any_of2.rb +0 -227
  383. data/lib/peal/models/content_violation_any_of20.rb +0 -367
  384. data/lib/peal/models/content_violation_any_of21.rb +0 -367
  385. data/lib/peal/models/content_violation_any_of22.rb +0 -411
  386. data/lib/peal/models/content_violation_any_of23.rb +0 -455
  387. data/lib/peal/models/content_violation_any_of24.rb +0 -419
  388. data/lib/peal/models/content_violation_any_of24_maximum.rb +0 -103
  389. data/lib/peal/models/content_violation_any_of25.rb +0 -367
  390. data/lib/peal/models/content_violation_any_of3.rb +0 -279
  391. data/lib/peal/models/content_violation_any_of4.rb +0 -279
  392. data/lib/peal/models/content_violation_any_of5.rb +0 -367
  393. data/lib/peal/models/content_violation_any_of6.rb +0 -279
  394. data/lib/peal/models/content_violation_any_of7.rb +0 -253
  395. data/lib/peal/models/content_violation_any_of8.rb +0 -367
  396. data/lib/peal/models/content_violation_any_of9.rb +0 -281
  397. data/lib/peal/models/created_api_key.rb +0 -203
  398. data/lib/peal/models/database_unavailable_encoded.rb +0 -201
  399. data/lib/peal/models/draft_page.rb +0 -191
  400. data/lib/peal/models/effect_http_api_error_bad_request_encoded.rb +0 -201
  401. data/lib/peal/models/engagement_day.rb +0 -364
  402. data/lib/peal/models/failure_reason.rb +0 -50
  403. data/lib/peal/models/forbidden_encoded.rb +0 -201
  404. data/lib/peal/models/invalid_date_range_encoded.rb +0 -201
  405. data/lib/peal/models/invalid_time_range_encoded.rb +0 -201
  406. data/lib/peal/models/invalid_time_zone_encoded.rb +0 -227
  407. data/lib/peal/models/invitation.rb +0 -307
  408. data/lib/peal/models/invitation_not_found_encoded.rb +0 -201
  409. data/lib/peal/models/invitations_create409_response.rb +0 -103
  410. data/lib/peal/models/invitations_revoke404_response.rb +0 -103
  411. data/lib/peal/models/mark_notices_read.rb +0 -197
  412. data/lib/peal/models/me.rb +0 -217
  413. data/lib/peal/models/me_user.rb +0 -317
  414. data/lib/peal/models/media.rb +0 -457
  415. data/lib/peal/models/media_attachment.rb +0 -212
  416. data/lib/peal/models/media_content_type.rb +0 -44
  417. data/lib/peal/models/media_create422_response.rb +0 -104
  418. data/lib/peal/models/media_description.rb +0 -163
  419. data/lib/peal/models/media_dimensions.rb +0 -239
  420. data/lib/peal/models/media_get404_response.rb +0 -103
  421. data/lib/peal/models/media_in_use_encoded.rb +0 -229
  422. data/lib/peal/models/media_kind.rb +0 -40
  423. data/lib/peal/models/media_not_found_encoded.rb +0 -201
  424. data/lib/peal/models/media_page.rb +0 -191
  425. data/lib/peal/models/media_status.rb +0 -105
  426. data/lib/peal/models/media_status_any_of.rb +0 -201
  427. data/lib/peal/models/media_status_any_of1.rb +0 -227
  428. data/lib/peal/models/media_status_any_of2.rb +0 -201
  429. data/lib/peal/models/media_status_any_of3.rb +0 -227
  430. data/lib/peal/models/media_store_unavailable_encoded.rb +0 -201
  431. data/lib/peal/models/media_too_large_encoded.rb +0 -317
  432. data/lib/peal/models/media_usage.rb +0 -207
  433. data/lib/peal/models/membership.rb +0 -283
  434. data/lib/peal/models/metric_totals.rb +0 -399
  435. data/lib/peal/models/metrics_snapshot.rb +0 -203
  436. data/lib/peal/models/new_api_key.rb +0 -269
  437. data/lib/peal/models/new_invitation.rb +0 -245
  438. data/lib/peal/models/new_upload.rb +0 -231
  439. data/lib/peal/models/non_finite_number.rb +0 -41
  440. data/lib/peal/models/notice.rb +0 -267
  441. data/lib/peal/models/notice_channel.rb +0 -225
  442. data/lib/peal/models/notice_event.rb +0 -106
  443. data/lib/peal/models/notice_event_any_of.rb +0 -251
  444. data/lib/peal/models/notice_event_any_of1.rb +0 -265
  445. data/lib/peal/models/notice_event_any_of2.rb +0 -239
  446. data/lib/peal/models/notice_event_any_of3.rb +0 -227
  447. data/lib/peal/models/notice_event_any_of4.rb +0 -253
  448. data/lib/peal/models/notice_page.rb +0 -191
  449. data/lib/peal/models/notification_preferences.rb +0 -203
  450. data/lib/peal/models/notification_preferences_change.rb +0 -169
  451. data/lib/peal/models/notification_preferences_change_email.rb +0 -187
  452. data/lib/peal/models/notification_preferences_email.rb +0 -255
  453. data/lib/peal/models/paid_plan.rb +0 -40
  454. data/lib/peal/models/period_usage.rb +0 -221
  455. data/lib/peal/models/permission.rb +0 -66
  456. data/lib/peal/models/plan.rb +0 -41
  457. data/lib/peal/models/plan_allowances.rb +0 -295
  458. data/lib/peal/models/plan_limit.rb +0 -42
  459. data/lib/peal/models/plan_limit_reached_encoded.rb +0 -271
  460. data/lib/peal/models/plan_offer.rb +0 -225
  461. data/lib/peal/models/platform.rb +0 -48
  462. data/lib/peal/models/platform_unreachable_encoded.rb +0 -201
  463. data/lib/peal/models/post.rb +0 -315
  464. data/lib/peal/models/post_analytics.rb +0 -205
  465. data/lib/peal/models/post_content.rb +0 -251
  466. data/lib/peal/models/post_content_invalid_encoded.rb +0 -229
  467. data/lib/peal/models/post_draft.rb +0 -216
  468. data/lib/peal/models/post_metrics.rb +0 -355
  469. data/lib/peal/models/post_not_found_encoded.rb +0 -201
  470. data/lib/peal/models/post_outcome.rb +0 -43
  471. data/lib/peal/models/post_schedule.rb +0 -203
  472. data/lib/peal/models/post_status.rb +0 -43
  473. data/lib/peal/models/post_status_conflict_encoded.rb +0 -227
  474. data/lib/peal/models/post_target.rb +0 -364
  475. data/lib/peal/models/post_target_status.rb +0 -44
  476. data/lib/peal/models/posts_create422_response.rb +0 -104
  477. data/lib/peal/models/posts_get404_response.rb +0 -103
  478. data/lib/peal/models/posts_repost409_response.rb +0 -103
  479. data/lib/peal/models/posts_schedule422_response.rb +0 -106
  480. data/lib/peal/models/prepared_upload.rb +0 -203
  481. data/lib/peal/models/probe_state.rb +0 -44
  482. data/lib/peal/models/publication_attempt.rb +0 -377
  483. data/lib/peal/models/rejection_reason.rb +0 -40
  484. data/lib/peal/models/role.rb +0 -43
  485. data/lib/peal/models/schedule_in_past_encoded.rb +0 -201
  486. data/lib/peal/models/schedule_post.rb +0 -240
  487. data/lib/peal/models/signed_request.rb +0 -255
  488. data/lib/peal/models/subscription_status.rb +0 -46
  489. data/lib/peal/models/suggestion.rb +0 -103
  490. data/lib/peal/models/suggestion_any_of.rb +0 -227
  491. data/lib/peal/models/suggestion_any_of1.rb +0 -229
  492. data/lib/peal/models/suggestion_request.rb +0 -212
  493. data/lib/peal/models/target_confirmation.rb +0 -103
  494. data/lib/peal/models/target_confirmation_any_of.rb +0 -228
  495. data/lib/peal/models/target_confirmation_any_of1.rb +0 -201
  496. data/lib/peal/models/target_metrics.rb +0 -319
  497. data/lib/peal/models/target_options.rb +0 -104
  498. data/lib/peal/models/target_status_conflict_encoded.rb +0 -227
  499. data/lib/peal/models/text_override.rb +0 -221
  500. data/lib/peal/models/text_unit.rb +0 -44
  501. data/lib/peal/models/tik_tok_account.rb +0 -203
  502. data/lib/peal/models/tik_tok_account_posting.rb +0 -103
  503. data/lib/peal/models/tik_tok_account_posting_any_of.rb +0 -227
  504. data/lib/peal/models/tik_tok_account_posting_any_of1.rb +0 -227
  505. data/lib/peal/models/tik_tok_block.rb +0 -41
  506. data/lib/peal/models/tik_tok_creator.rb +0 -357
  507. data/lib/peal/models/tik_tok_options.rb +0 -274
  508. data/lib/peal/models/tik_tok_privacy_level.rb +0 -42
  509. data/lib/peal/models/too_many_invitations_encoded.rb +0 -201
  510. data/lib/peal/models/top_post.rb +0 -337
  511. data/lib/peal/models/translation_language.rb +0 -48
  512. data/lib/peal/models/unauthenticated_encoded.rb +0 -201
  513. data/lib/peal/models/unconfirmed_reason.rb +0 -42
  514. data/lib/peal/models/unknown_channels_encoded.rb +0 -229
  515. data/lib/peal/models/unknown_media_encoded.rb +0 -229
  516. data/lib/peal/models/unread_notices.rb +0 -195
  517. data/lib/peal/models/unsupported_media_type_encoded.rb +0 -227
  518. data/lib/peal/models/upload_incomplete_encoded.rb +0 -201
  519. data/lib/peal/models/upload_part.rb +0 -265
  520. data/lib/peal/models/upload_rejected_encoded.rb +0 -227
  521. data/lib/peal/models/upload_target.rb +0 -103
  522. data/lib/peal/models/upload_target_any_of.rb +0 -253
  523. data/lib/peal/models/upload_target_any_of1.rb +0 -299
  524. data/lib/peal/models/usage.rb +0 -291
  525. data/lib/peal/models/workspace_member.rb +0 -281
  526. data/lib/peal/models/workspace_not_found_encoded.rb +0 -201
  527. data/lib/peal/models/you_tube_options.rb +0 -324
  528. data/lib/peal/models/you_tube_privacy.rb +0 -41
@@ -0,0 +1,189 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Peal
4
+ module Notices
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 user's notices, newest first, 20 a page unless `limit` (at most 100) says otherwise. Pass the page's
14
+ # `nextCursor` as `cursor` for the next one. Each notice is data, for the client to write in the reader's
15
+ # language.
16
+ #
17
+ # @param request_options [Hash]
18
+ # @param params [Hash]
19
+ # @option request_options [String] :base_url
20
+ # @option request_options [Hash{String => Object}] :additional_headers
21
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
22
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
23
+ # @option request_options [Integer] :timeout_in_seconds
24
+ # @option params [String, nil] :cursor
25
+ # @option params [String, nil] :limit
26
+ #
27
+ # @example
28
+ # client.notices.list
29
+ #
30
+ # @return [Peal::Types::NoticePage]
31
+ def list(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/me/notices",
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::NoticePage.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
+ # Counts the user's unread notices.
64
+ #
65
+ # @param request_options [Hash]
66
+ # @param _params [Hash]
67
+ # @option request_options [String] :base_url
68
+ # @option request_options [Hash{String => Object}] :additional_headers
69
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
70
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
71
+ # @option request_options [Integer] :timeout_in_seconds
72
+ #
73
+ # @example
74
+ # client.notices.unread
75
+ #
76
+ # @return [Peal::Types::UnreadNotices]
77
+ def unread(request_options: {}, **_params)
78
+ request = Peal::Internal::JSON::Request.new(
79
+ base_url: request_options[:base_url],
80
+ method: "GET",
81
+ path: "api/me/notices/unread",
82
+ request_options: request_options
83
+ )
84
+ begin
85
+ response = @client.send(request)
86
+ rescue Net::HTTPRequestTimeout
87
+ raise Peal::Errors::TimeoutError
88
+ end
89
+ code = response.code.to_i
90
+ if code.between?(200, 299)
91
+ (response.body.to_s.empty? ? nil : Peal::Types::UnreadNotices.load(response.body))
92
+ else
93
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
94
+ error_types = {
95
+ 401 => Peal::Types::UnauthenticatedEncoded,
96
+ 403 => Peal::Types::ForbiddenEncoded
97
+ }
98
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
99
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
100
+ end
101
+ end
102
+
103
+ # Marks up to 100 of the user's notices read, and answers with how many stay unread. Ids that name none of the
104
+ # user's notices, and notices already read, are left as they are.
105
+ #
106
+ # @param request_options [Hash]
107
+ # @param params [Peal::Notices::Types::MarkNoticesRead]
108
+ # @option request_options [String] :base_url
109
+ # @option request_options [Hash{String => Object}] :additional_headers
110
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
111
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
112
+ # @option request_options [Integer] :timeout_in_seconds
113
+ #
114
+ # @example
115
+ # client.notices.mark_read(ids: ["ids"])
116
+ #
117
+ # @return [Peal::Types::UnreadNotices]
118
+ def mark_read(request_options: {}, **params)
119
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
120
+ request = Peal::Internal::JSON::Request.new(
121
+ base_url: request_options[:base_url],
122
+ method: "POST",
123
+ path: "api/me/notices/read",
124
+ body: Peal::Notices::Types::MarkNoticesRead.new(params).to_h,
125
+ request_options: request_options,
126
+ max_retries: 0
127
+ )
128
+ begin
129
+ response = @client.send(request)
130
+ rescue Net::HTTPRequestTimeout
131
+ raise Peal::Errors::TimeoutError
132
+ end
133
+ code = response.code.to_i
134
+ if code.between?(200, 299)
135
+ (response.body.to_s.empty? ? nil : Peal::Types::UnreadNotices.load(response.body))
136
+ else
137
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
138
+ error_types = {
139
+ 401 => Peal::Types::UnauthenticatedEncoded,
140
+ 403 => Peal::Types::ForbiddenEncoded
141
+ }
142
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
143
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
144
+ end
145
+ end
146
+
147
+ # Marks every notice of the user read.
148
+ #
149
+ # @param request_options [Hash]
150
+ # @param _params [Hash]
151
+ # @option request_options [String] :base_url
152
+ # @option request_options [Hash{String => Object}] :additional_headers
153
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
154
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
155
+ # @option request_options [Integer] :timeout_in_seconds
156
+ #
157
+ # @example
158
+ # client.notices.mark_all_read
159
+ #
160
+ # @return [Peal::Types::UnreadNotices]
161
+ def mark_all_read(request_options: {}, **_params)
162
+ request = Peal::Internal::JSON::Request.new(
163
+ base_url: request_options[:base_url],
164
+ method: "POST",
165
+ path: "api/me/notices/read-all",
166
+ request_options: request_options,
167
+ max_retries: 0
168
+ )
169
+ begin
170
+ response = @client.send(request)
171
+ rescue Net::HTTPRequestTimeout
172
+ raise Peal::Errors::TimeoutError
173
+ end
174
+ code = response.code.to_i
175
+ if code.between?(200, 299)
176
+ (response.body.to_s.empty? ? nil : Peal::Types::UnreadNotices.load(response.body))
177
+ else
178
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
179
+ error_types = {
180
+ 401 => Peal::Types::UnauthenticatedEncoded,
181
+ 403 => Peal::Types::ForbiddenEncoded
182
+ }
183
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
184
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
185
+ end
186
+ end
187
+ end
188
+ end
189
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Peal
4
+ module Notices
5
+ module Types
6
+ class ListNoticesRequest < Internal::Types::Model
7
+ field :cursor, -> { String }, optional: true, nullable: false
8
+
9
+ field :limit, -> { String }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Peal
4
+ module Notices
5
+ module Types
6
+ class MarkNoticesRead < Internal::Types::Model
7
+ field :ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,100 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Peal
4
+ module NotificationPreferences
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
+ # Answers with which notices the user receives by email, and whether they hear about every post. Until they change
14
+ # it: failed and unconfirmed posts, and channels to reconnect, but not published posts, are emailed; and they hear
15
+ # only about the posts they wrote.
16
+ #
17
+ # @param request_options [Hash]
18
+ # @param _params [Hash]
19
+ # @option request_options [String] :base_url
20
+ # @option request_options [Hash{String => Object}] :additional_headers
21
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
22
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
23
+ # @option request_options [Integer] :timeout_in_seconds
24
+ #
25
+ # @example
26
+ # client.notification_preferences.get
27
+ #
28
+ # @return [Peal::Types::NotificationPreferences]
29
+ def get(request_options: {}, **_params)
30
+ request = Peal::Internal::JSON::Request.new(
31
+ base_url: request_options[:base_url],
32
+ method: "GET",
33
+ path: "api/me/notification-preferences",
34
+ request_options: request_options
35
+ )
36
+ begin
37
+ response = @client.send(request)
38
+ rescue Net::HTTPRequestTimeout
39
+ raise Peal::Errors::TimeoutError
40
+ end
41
+ code = response.code.to_i
42
+ if code.between?(200, 299)
43
+ (response.body.to_s.empty? ? nil : Peal::Types::NotificationPreferences.load(response.body))
44
+ else
45
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
46
+ error_types = {
47
+ 401 => Peal::Types::UnauthenticatedEncoded,
48
+ 403 => Peal::Types::ForbiddenEncoded
49
+ }
50
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
51
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
52
+ end
53
+ end
54
+
55
+ # Changes the preferences given, keeps the others, and answers with them all. Staff impersonating the user may not
56
+ # change them.
57
+ #
58
+ # @param request_options [Hash]
59
+ # @param params [Peal::NotificationPreferences::Types::NotificationPreferencesChange]
60
+ # @option request_options [String] :base_url
61
+ # @option request_options [Hash{String => Object}] :additional_headers
62
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
63
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
64
+ # @option request_options [Integer] :timeout_in_seconds
65
+ #
66
+ # @example
67
+ # client.notification_preferences.update
68
+ #
69
+ # @return [Peal::Types::NotificationPreferences]
70
+ def update(request_options: {}, **params)
71
+ params = Peal::Internal::Types::Utils.normalize_keys(params)
72
+ request = Peal::Internal::JSON::Request.new(
73
+ base_url: request_options[:base_url],
74
+ method: "PATCH",
75
+ path: "api/me/notification-preferences",
76
+ body: Peal::NotificationPreferences::Types::NotificationPreferencesChange.new(params).to_h,
77
+ request_options: request_options,
78
+ max_retries: 0
79
+ )
80
+ begin
81
+ response = @client.send(request)
82
+ rescue Net::HTTPRequestTimeout
83
+ raise Peal::Errors::TimeoutError
84
+ end
85
+ code = response.code.to_i
86
+ if code.between?(200, 299)
87
+ (response.body.to_s.empty? ? nil : Peal::Types::NotificationPreferences.load(response.body))
88
+ else
89
+ error_class = Peal::Errors::ResponseError.subclass_for_code(code)
90
+ error_types = {
91
+ 401 => Peal::Types::UnauthenticatedEncoded,
92
+ 403 => Peal::Types::ForbiddenEncoded
93
+ }
94
+ error_body = Peal::Errors::ResponseError.load_error_body(code, response.body, error_types)
95
+ raise error_class.new(response.body, code: code, body: error_body, headers: response.to_hash)
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Peal
4
+ module NotificationPreferences
5
+ module Types
6
+ class NotificationPreferencesChange < Internal::Types::Model
7
+ field :email, -> { Peal::NotificationPreferences::Types::NotificationPreferencesChangeEmail }, optional: true, nullable: false
8
+
9
+ field :every_post, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "everyPost"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../peal"
4
+
5
+ module Peal
6
+ module NotificationPreferences
7
+ module Types
8
+ class NotificationPreferencesChangeEmail < Internal::Types::Model
9
+ field :channel_reconnect, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "channelReconnect"
10
+
11
+ field :post_failed, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "postFailed"
12
+
13
+ field :post_published, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "postPublished"
14
+
15
+ field :post_unconfirmed, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "postUnconfirmed"
16
+ end
17
+ end
18
+ end
19
+ end