knockapi 0.6.1 → 1.1.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 (689) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +61 -0
  4. data/README.md +204 -89
  5. data/SECURITY.md +27 -0
  6. data/lib/knockapi/client.rb +122 -0
  7. data/lib/knockapi/errors.rb +192 -0
  8. data/lib/knockapi/file_part.rb +55 -0
  9. data/lib/knockapi/internal/entries_cursor.rb +101 -0
  10. data/lib/knockapi/internal/items_cursor.rb +101 -0
  11. data/lib/knockapi/internal/ms_teams_pagination.rb +86 -0
  12. data/lib/knockapi/internal/slack_channels_cursor.rb +86 -0
  13. data/lib/knockapi/internal/transport/base_client.rb +555 -0
  14. data/lib/knockapi/internal/transport/pooled_net_requester.rb +209 -0
  15. data/lib/knockapi/internal/type/array_of.rb +154 -0
  16. data/lib/knockapi/internal/type/base_model.rb +477 -0
  17. data/lib/knockapi/internal/type/base_page.rb +55 -0
  18. data/lib/knockapi/internal/type/boolean.rb +63 -0
  19. data/lib/knockapi/internal/type/converter.rb +292 -0
  20. data/lib/knockapi/internal/type/enum.rb +108 -0
  21. data/lib/knockapi/internal/type/file_input.rb +96 -0
  22. data/lib/knockapi/internal/type/hash_of.rb +174 -0
  23. data/lib/knockapi/internal/type/request_parameters.rb +42 -0
  24. data/lib/knockapi/internal/type/union.rb +226 -0
  25. data/lib/knockapi/internal/type/unknown.rb +67 -0
  26. data/lib/knockapi/internal/util.rb +862 -0
  27. data/lib/knockapi/internal.rb +17 -0
  28. data/lib/knockapi/models/activity.rb +70 -0
  29. data/lib/knockapi/models/audience_add_members_params.rb +57 -0
  30. data/lib/knockapi/models/audience_add_members_response.rb +7 -0
  31. data/lib/knockapi/models/audience_list_members_params.rb +14 -0
  32. data/lib/knockapi/models/audience_list_members_response.rb +27 -0
  33. data/lib/knockapi/models/audience_member.rb +55 -0
  34. data/lib/knockapi/models/audience_remove_members_params.rb +60 -0
  35. data/lib/knockapi/models/audience_remove_members_response.rb +7 -0
  36. data/lib/knockapi/models/bulk_operation.rb +165 -0
  37. data/lib/knockapi/models/bulk_operation_get_params.rb +14 -0
  38. data/lib/knockapi/models/channels/bulk_update_message_status_params.rb +168 -0
  39. data/lib/knockapi/models/condition.rb +63 -0
  40. data/lib/knockapi/models/identify_user_request.rb +97 -0
  41. data/lib/knockapi/models/inline_identify_user_request.rb +106 -0
  42. data/lib/knockapi/models/inline_object_request.rb +56 -0
  43. data/lib/knockapi/models/inline_tenant_request.rb +23 -0
  44. data/lib/knockapi/models/integrations/census_custom_destination_params.rb +48 -0
  45. data/lib/knockapi/models/integrations/census_custom_destination_response.rb +27 -0
  46. data/lib/knockapi/models/integrations/hightouch_embedded_destination_params.rb +48 -0
  47. data/lib/knockapi/models/integrations/hightouch_embedded_destination_response.rb +27 -0
  48. data/lib/knockapi/models/message.rb +264 -0
  49. data/lib/knockapi/models/message_archive_params.rb +14 -0
  50. data/lib/knockapi/models/message_delivery_log.rb +210 -0
  51. data/lib/knockapi/models/message_event.rb +90 -0
  52. data/lib/knockapi/models/message_get_content_params.rb +14 -0
  53. data/lib/knockapi/models/message_get_content_response.rb +517 -0
  54. data/lib/knockapi/models/message_get_params.rb +14 -0
  55. data/lib/knockapi/models/message_list_activities_params.rb +46 -0
  56. data/lib/knockapi/models/message_list_delivery_logs_params.rb +38 -0
  57. data/lib/knockapi/models/message_list_events_params.rb +38 -0
  58. data/lib/knockapi/models/message_list_params.rb +196 -0
  59. data/lib/knockapi/models/message_mark_as_interacted_params.rb +22 -0
  60. data/lib/knockapi/models/message_mark_as_read_params.rb +14 -0
  61. data/lib/knockapi/models/message_mark_as_seen_params.rb +14 -0
  62. data/lib/knockapi/models/message_mark_as_unread_params.rb +14 -0
  63. data/lib/knockapi/models/message_mark_as_unseen_params.rb +14 -0
  64. data/lib/knockapi/models/message_unarchive_params.rb +14 -0
  65. data/lib/knockapi/models/messages/batch_archive_params.rb +24 -0
  66. data/lib/knockapi/models/messages/batch_archive_response.rb +10 -0
  67. data/lib/knockapi/models/messages/batch_get_content_params.rb +24 -0
  68. data/lib/knockapi/models/messages/batch_get_content_response.rb +525 -0
  69. data/lib/knockapi/models/messages/batch_mark_as_interacted_params.rb +32 -0
  70. data/lib/knockapi/models/messages/batch_mark_as_interacted_response.rb +10 -0
  71. data/lib/knockapi/models/messages/batch_mark_as_read_params.rb +24 -0
  72. data/lib/knockapi/models/messages/batch_mark_as_read_response.rb +10 -0
  73. data/lib/knockapi/models/messages/batch_mark_as_seen_params.rb +24 -0
  74. data/lib/knockapi/models/messages/batch_mark_as_seen_response.rb +10 -0
  75. data/lib/knockapi/models/messages/batch_mark_as_unread_params.rb +24 -0
  76. data/lib/knockapi/models/messages/batch_mark_as_unread_response.rb +10 -0
  77. data/lib/knockapi/models/messages/batch_mark_as_unseen_params.rb +24 -0
  78. data/lib/knockapi/models/messages/batch_mark_as_unseen_response.rb +10 -0
  79. data/lib/knockapi/models/messages/batch_unarchive_params.rb +24 -0
  80. data/lib/knockapi/models/messages/batch_unarchive_response.rb +10 -0
  81. data/lib/knockapi/models/object.rb +59 -0
  82. data/lib/knockapi/models/object_add_subscriptions_params.rb +34 -0
  83. data/lib/knockapi/models/object_add_subscriptions_response.rb +9 -0
  84. data/lib/knockapi/models/object_delete_params.rb +14 -0
  85. data/lib/knockapi/models/object_delete_response.rb +7 -0
  86. data/lib/knockapi/models/object_delete_subscriptions_params.rb +26 -0
  87. data/lib/knockapi/models/object_delete_subscriptions_response.rb +9 -0
  88. data/lib/knockapi/models/object_get_channel_data_params.rb +14 -0
  89. data/lib/knockapi/models/object_get_params.rb +14 -0
  90. data/lib/knockapi/models/object_get_preferences_params.rb +14 -0
  91. data/lib/knockapi/models/object_list_messages_params.rb +199 -0
  92. data/lib/knockapi/models/object_list_params.rb +55 -0
  93. data/lib/knockapi/models/object_list_preferences_params.rb +14 -0
  94. data/lib/knockapi/models/object_list_preferences_response.rb +9 -0
  95. data/lib/knockapi/models/object_list_schedules_params.rb +54 -0
  96. data/lib/knockapi/models/object_list_subscriptions_params.rb +122 -0
  97. data/lib/knockapi/models/object_set_channel_data_params.rb +14 -0
  98. data/lib/knockapi/models/object_set_params.rb +59 -0
  99. data/lib/knockapi/models/object_set_preferences_params.rb +14 -0
  100. data/lib/knockapi/models/object_unset_channel_data_params.rb +14 -0
  101. data/lib/knockapi/models/object_unset_channel_data_response.rb +7 -0
  102. data/lib/knockapi/models/objects/bulk_add_subscriptions_params.rb +52 -0
  103. data/lib/knockapi/models/objects/bulk_delete_params.rb +24 -0
  104. data/lib/knockapi/models/objects/bulk_set_params.rb +24 -0
  105. data/lib/knockapi/models/page_info.rb +42 -0
  106. data/lib/knockapi/models/providers/ms_team_check_auth_params.rb +24 -0
  107. data/lib/knockapi/models/providers/ms_team_check_auth_response.rb +43 -0
  108. data/lib/knockapi/models/providers/ms_team_list_channels_params.rb +63 -0
  109. data/lib/knockapi/models/providers/ms_team_list_channels_response.rb +74 -0
  110. data/lib/knockapi/models/providers/ms_team_list_teams_params.rb +73 -0
  111. data/lib/knockapi/models/providers/ms_team_list_teams_response.rb +35 -0
  112. data/lib/knockapi/models/providers/ms_team_revoke_access_params.rb +24 -0
  113. data/lib/knockapi/models/providers/ms_team_revoke_access_response.rb +21 -0
  114. data/lib/knockapi/models/providers/slack_check_auth_params.rb +24 -0
  115. data/lib/knockapi/models/providers/slack_check_auth_response.rb +43 -0
  116. data/lib/knockapi/models/providers/slack_list_channels_params.rb +80 -0
  117. data/lib/knockapi/models/providers/slack_list_channels_response.rb +53 -0
  118. data/lib/knockapi/models/providers/slack_revoke_access_params.rb +24 -0
  119. data/lib/knockapi/models/providers/slack_revoke_access_response.rb +21 -0
  120. data/lib/knockapi/models/recipient.rb +23 -0
  121. data/lib/knockapi/models/recipient_reference.rb +45 -0
  122. data/lib/knockapi/models/recipient_request.rb +28 -0
  123. data/lib/knockapi/models/recipients/channel_data.rb +100 -0
  124. data/lib/knockapi/models/recipients/channel_data_request.rb +57 -0
  125. data/lib/knockapi/models/recipients/discord_channel_data.rb +92 -0
  126. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +46 -0
  127. data/lib/knockapi/models/recipients/inline_preference_set_request.rb +11 -0
  128. data/lib/knockapi/models/recipients/ms_teams_channel_data.rb +123 -0
  129. data/lib/knockapi/models/recipients/one_signal_channel_data.rb +20 -0
  130. data/lib/knockapi/models/recipients/preference_set.rb +150 -0
  131. data/lib/knockapi/models/recipients/preference_set_channel_type_setting.rb +21 -0
  132. data/lib/knockapi/models/recipients/preference_set_channel_types.rb +174 -0
  133. data/lib/knockapi/models/recipients/preference_set_request.rb +141 -0
  134. data/lib/knockapi/models/recipients/push_channel_data.rb +20 -0
  135. data/lib/knockapi/models/recipients/slack_channel_data.rb +110 -0
  136. data/lib/knockapi/models/recipients/subscription.rb +60 -0
  137. data/lib/knockapi/models/schedule.rb +112 -0
  138. data/lib/knockapi/models/schedule_create_params.rb +70 -0
  139. data/lib/knockapi/models/schedule_create_response.rb +8 -0
  140. data/lib/knockapi/models/schedule_delete_params.rb +22 -0
  141. data/lib/knockapi/models/schedule_delete_response.rb +8 -0
  142. data/lib/knockapi/models/schedule_list_params.rb +62 -0
  143. data/lib/knockapi/models/schedule_repeat_rule.rb +99 -0
  144. data/lib/knockapi/models/schedule_update_params.rb +74 -0
  145. data/lib/knockapi/models/schedule_update_response.rb +8 -0
  146. data/lib/knockapi/models/schedules/bulk_create_params.rb +101 -0
  147. data/lib/knockapi/models/tenant.rb +112 -0
  148. data/lib/knockapi/models/tenant_delete_params.rb +14 -0
  149. data/lib/knockapi/models/tenant_delete_response.rb +7 -0
  150. data/lib/knockapi/models/tenant_get_params.rb +14 -0
  151. data/lib/knockapi/models/tenant_list_params.rb +54 -0
  152. data/lib/knockapi/models/tenant_request.rb +114 -0
  153. data/lib/knockapi/models/tenant_set_params.rb +108 -0
  154. data/lib/knockapi/models/tenants/bulk_delete_params.rb +24 -0
  155. data/lib/knockapi/models/tenants/bulk_set_params.rb +24 -0
  156. data/lib/knockapi/models/user.rb +92 -0
  157. data/lib/knockapi/models/user_delete_params.rb +14 -0
  158. data/lib/knockapi/models/user_delete_response.rb +7 -0
  159. data/lib/knockapi/models/user_get_channel_data_params.rb +14 -0
  160. data/lib/knockapi/models/user_get_params.rb +14 -0
  161. data/lib/knockapi/models/user_get_preferences_params.rb +22 -0
  162. data/lib/knockapi/models/user_list_messages_params.rb +201 -0
  163. data/lib/knockapi/models/user_list_params.rb +55 -0
  164. data/lib/knockapi/models/user_list_preferences_params.rb +14 -0
  165. data/lib/knockapi/models/user_list_preferences_response.rb +9 -0
  166. data/lib/knockapi/models/user_list_schedules_params.rb +54 -0
  167. data/lib/knockapi/models/user_list_subscriptions_params.rb +64 -0
  168. data/lib/knockapi/models/user_merge_params.rb +22 -0
  169. data/lib/knockapi/models/user_set_channel_data_params.rb +14 -0
  170. data/lib/knockapi/models/user_set_preferences_params.rb +14 -0
  171. data/lib/knockapi/models/user_unset_channel_data_params.rb +14 -0
  172. data/lib/knockapi/models/user_unset_channel_data_response.rb +7 -0
  173. data/lib/knockapi/models/user_update_params.rb +14 -0
  174. data/lib/knockapi/models/users/bulk_delete_params.rb +24 -0
  175. data/lib/knockapi/models/users/bulk_identify_params.rb +24 -0
  176. data/lib/knockapi/models/users/bulk_set_preferences_params.rb +32 -0
  177. data/lib/knockapi/models/users/feed_get_settings_params.rb +16 -0
  178. data/lib/knockapi/models/users/feed_get_settings_response.rb +35 -0
  179. data/lib/knockapi/models/users/feed_list_items_params.rb +122 -0
  180. data/lib/knockapi/models/users/feed_list_items_response.rb +342 -0
  181. data/lib/knockapi/models/users/guide_get_channel_params.rb +40 -0
  182. data/lib/knockapi/models/users/guide_get_channel_response.rb +79 -0
  183. data/lib/knockapi/models/users/guide_mark_message_as_archived_params.rb +88 -0
  184. data/lib/knockapi/models/users/guide_mark_message_as_archived_response.rb +21 -0
  185. data/lib/knockapi/models/users/guide_mark_message_as_interacted_params.rb +88 -0
  186. data/lib/knockapi/models/users/guide_mark_message_as_interacted_response.rb +21 -0
  187. data/lib/knockapi/models/users/guide_mark_message_as_seen_params.rb +88 -0
  188. data/lib/knockapi/models/users/guide_mark_message_as_seen_response.rb +21 -0
  189. data/lib/knockapi/models/workflow_cancel_params.rb +40 -0
  190. data/lib/knockapi/models/workflow_cancel_response.rb +7 -0
  191. data/lib/knockapi/models/workflow_trigger_params.rb +64 -0
  192. data/lib/knockapi/models/workflow_trigger_response.rb +23 -0
  193. data/lib/knockapi/models.rb +202 -0
  194. data/lib/knockapi/request_options.rb +77 -0
  195. data/lib/knockapi/resources/audiences.rb +82 -0
  196. data/lib/knockapi/resources/bulk_operations.rb +34 -0
  197. data/lib/knockapi/resources/channels/bulk.rb +66 -0
  198. data/lib/knockapi/resources/channels.rb +18 -0
  199. data/lib/knockapi/resources/integrations/census.rb +44 -0
  200. data/lib/knockapi/resources/integrations/hightouch.rb +44 -0
  201. data/lib/knockapi/resources/integrations.rb +22 -0
  202. data/lib/knockapi/resources/messages/batch.rb +208 -0
  203. data/lib/knockapi/resources/messages.rb +358 -0
  204. data/lib/knockapi/resources/objects/bulk.rb +92 -0
  205. data/lib/knockapi/resources/objects.rb +498 -0
  206. data/lib/knockapi/resources/providers/ms_teams.rb +122 -0
  207. data/lib/knockapi/resources/providers/slack.rb +91 -0
  208. data/lib/knockapi/resources/providers.rb +22 -0
  209. data/lib/knockapi/resources/recipients/channel_data.rb +16 -0
  210. data/lib/knockapi/resources/recipients/preferences.rb +16 -0
  211. data/lib/knockapi/resources/recipients/subscriptions.rb +16 -0
  212. data/lib/knockapi/resources/recipients.rb +26 -0
  213. data/lib/knockapi/resources/schedules/bulk.rb +40 -0
  214. data/lib/knockapi/resources/schedules.rb +154 -0
  215. data/lib/knockapi/resources/shared.rb +14 -0
  216. data/lib/knockapi/resources/tenants/bulk.rb +60 -0
  217. data/lib/knockapi/resources/tenants.rb +118 -0
  218. data/lib/knockapi/resources/users/bulk.rb +89 -0
  219. data/lib/knockapi/resources/users/feeds.rb +84 -0
  220. data/lib/knockapi/resources/users/guides.rb +175 -0
  221. data/lib/knockapi/resources/users.rb +440 -0
  222. data/lib/knockapi/resources/workflows.rb +84 -0
  223. data/lib/knockapi/version.rb +5 -0
  224. data/lib/knockapi.rb +248 -0
  225. data/manifest.yaml +15 -0
  226. data/rbi/knockapi/client.rbi +85 -0
  227. data/rbi/knockapi/errors.rbi +162 -0
  228. data/rbi/knockapi/file_part.rbi +37 -0
  229. data/rbi/knockapi/internal/entries_cursor.rbi +40 -0
  230. data/rbi/knockapi/internal/items_cursor.rbi +40 -0
  231. data/rbi/knockapi/internal/ms_teams_pagination.rbi +22 -0
  232. data/rbi/knockapi/internal/slack_channels_cursor.rbi +22 -0
  233. data/rbi/knockapi/internal/transport/base_client.rbi +293 -0
  234. data/rbi/knockapi/internal/transport/pooled_net_requester.rbi +79 -0
  235. data/rbi/knockapi/internal/type/array_of.rbi +98 -0
  236. data/rbi/knockapi/internal/type/base_model.rbi +297 -0
  237. data/rbi/knockapi/internal/type/base_page.rbi +42 -0
  238. data/rbi/knockapi/internal/type/boolean.rbi +50 -0
  239. data/rbi/knockapi/internal/type/converter.rbi +162 -0
  240. data/rbi/knockapi/internal/type/enum.rbi +77 -0
  241. data/rbi/knockapi/internal/type/file_input.rbi +54 -0
  242. data/rbi/knockapi/internal/type/hash_of.rbi +98 -0
  243. data/rbi/knockapi/internal/type/request_parameters.rbi +29 -0
  244. data/rbi/knockapi/internal/type/union.rbi +111 -0
  245. data/rbi/knockapi/internal/type/unknown.rbi +50 -0
  246. data/rbi/knockapi/internal/util.rbi +451 -0
  247. data/rbi/knockapi/internal.rbi +13 -0
  248. data/rbi/knockapi/models/activity.rbi +107 -0
  249. data/rbi/knockapi/models/audience_add_members_params.rbi +123 -0
  250. data/rbi/knockapi/models/audience_add_members_response.rbi +7 -0
  251. data/rbi/knockapi/models/audience_list_members_params.rbi +30 -0
  252. data/rbi/knockapi/models/audience_list_members_response.rbi +52 -0
  253. data/rbi/knockapi/models/audience_member.rbi +77 -0
  254. data/rbi/knockapi/models/audience_remove_members_params.rbi +127 -0
  255. data/rbi/knockapi/models/audience_remove_members_response.rbi +7 -0
  256. data/rbi/knockapi/models/bulk_operation.rbi +222 -0
  257. data/rbi/knockapi/models/bulk_operation_get_params.rbi +27 -0
  258. data/rbi/knockapi/models/channels/bulk_update_message_status_params.rbi +432 -0
  259. data/rbi/knockapi/models/condition.rbi +124 -0
  260. data/rbi/knockapi/models/identify_user_request.rbi +164 -0
  261. data/rbi/knockapi/models/inline_identify_user_request.rbi +176 -0
  262. data/rbi/knockapi/models/inline_object_request.rbi +122 -0
  263. data/rbi/knockapi/models/inline_tenant_request.rbi +18 -0
  264. data/rbi/knockapi/models/integrations/census_custom_destination_params.rbi +75 -0
  265. data/rbi/knockapi/models/integrations/census_custom_destination_response.rbi +50 -0
  266. data/rbi/knockapi/models/integrations/hightouch_embedded_destination_params.rbi +75 -0
  267. data/rbi/knockapi/models/integrations/hightouch_embedded_destination_response.rbi +50 -0
  268. data/rbi/knockapi/models/message.rbi +406 -0
  269. data/rbi/knockapi/models/message_archive_params.rbi +27 -0
  270. data/rbi/knockapi/models/message_delivery_log.rbi +347 -0
  271. data/rbi/knockapi/models/message_event.rbi +152 -0
  272. data/rbi/knockapi/models/message_get_content_params.rbi +27 -0
  273. data/rbi/knockapi/models/message_get_content_response.rbi +899 -0
  274. data/rbi/knockapi/models/message_get_params.rbi +27 -0
  275. data/rbi/knockapi/models/message_list_activities_params.rbi +82 -0
  276. data/rbi/knockapi/models/message_list_delivery_logs_params.rbi +71 -0
  277. data/rbi/knockapi/models/message_list_events_params.rbi +68 -0
  278. data/rbi/knockapi/models/message_list_params.rbi +360 -0
  279. data/rbi/knockapi/models/message_mark_as_interacted_params.rbi +49 -0
  280. data/rbi/knockapi/models/message_mark_as_read_params.rbi +27 -0
  281. data/rbi/knockapi/models/message_mark_as_seen_params.rbi +27 -0
  282. data/rbi/knockapi/models/message_mark_as_unread_params.rbi +30 -0
  283. data/rbi/knockapi/models/message_mark_as_unseen_params.rbi +30 -0
  284. data/rbi/knockapi/models/message_unarchive_params.rbi +27 -0
  285. data/rbi/knockapi/models/messages/batch_archive_params.rbi +48 -0
  286. data/rbi/knockapi/models/messages/batch_archive_response.rbi +13 -0
  287. data/rbi/knockapi/models/messages/batch_get_content_params.rbi +48 -0
  288. data/rbi/knockapi/models/messages/batch_get_content_response.rbi +909 -0
  289. data/rbi/knockapi/models/messages/batch_mark_as_interacted_params.rbi +56 -0
  290. data/rbi/knockapi/models/messages/batch_mark_as_interacted_response.rbi +13 -0
  291. data/rbi/knockapi/models/messages/batch_mark_as_read_params.rbi +48 -0
  292. data/rbi/knockapi/models/messages/batch_mark_as_read_response.rbi +13 -0
  293. data/rbi/knockapi/models/messages/batch_mark_as_seen_params.rbi +48 -0
  294. data/rbi/knockapi/models/messages/batch_mark_as_seen_response.rbi +13 -0
  295. data/rbi/knockapi/models/messages/batch_mark_as_unread_params.rbi +48 -0
  296. data/rbi/knockapi/models/messages/batch_mark_as_unread_response.rbi +13 -0
  297. data/rbi/knockapi/models/messages/batch_mark_as_unseen_params.rbi +48 -0
  298. data/rbi/knockapi/models/messages/batch_mark_as_unseen_response.rbi +13 -0
  299. data/rbi/knockapi/models/messages/batch_unarchive_params.rbi +48 -0
  300. data/rbi/knockapi/models/messages/batch_unarchive_response.rbi +13 -0
  301. data/rbi/knockapi/models/object.rbi +79 -0
  302. data/rbi/knockapi/models/object_add_subscriptions_params.rbi +80 -0
  303. data/rbi/knockapi/models/object_add_subscriptions_response.rbi +11 -0
  304. data/rbi/knockapi/models/object_delete_params.rbi +27 -0
  305. data/rbi/knockapi/models/object_delete_response.rbi +7 -0
  306. data/rbi/knockapi/models/object_delete_subscriptions_params.rbi +61 -0
  307. data/rbi/knockapi/models/object_delete_subscriptions_response.rbi +11 -0
  308. data/rbi/knockapi/models/object_get_channel_data_params.rbi +30 -0
  309. data/rbi/knockapi/models/object_get_params.rbi +27 -0
  310. data/rbi/knockapi/models/object_get_preferences_params.rbi +30 -0
  311. data/rbi/knockapi/models/object_list_messages_params.rbi +390 -0
  312. data/rbi/knockapi/models/object_list_params.rbi +106 -0
  313. data/rbi/knockapi/models/object_list_preferences_params.rbi +30 -0
  314. data/rbi/knockapi/models/object_list_preferences_response.rbi +11 -0
  315. data/rbi/knockapi/models/object_list_schedules_params.rbi +93 -0
  316. data/rbi/knockapi/models/object_list_subscriptions_params.rbi +279 -0
  317. data/rbi/knockapi/models/object_set_channel_data_params.rbi +30 -0
  318. data/rbi/knockapi/models/object_set_params.rbi +141 -0
  319. data/rbi/knockapi/models/object_set_preferences_params.rbi +30 -0
  320. data/rbi/knockapi/models/object_unset_channel_data_params.rbi +30 -0
  321. data/rbi/knockapi/models/object_unset_channel_data_response.rbi +7 -0
  322. data/rbi/knockapi/models/objects/bulk_add_subscriptions_params.rbi +129 -0
  323. data/rbi/knockapi/models/objects/bulk_delete_params.rbi +48 -0
  324. data/rbi/knockapi/models/objects/bulk_set_params.rbi +45 -0
  325. data/rbi/knockapi/models/page_info.rbi +60 -0
  326. data/rbi/knockapi/models/providers/ms_team_check_auth_params.rbi +48 -0
  327. data/rbi/knockapi/models/providers/ms_team_check_auth_response.rbi +95 -0
  328. data/rbi/knockapi/models/providers/ms_team_list_channels_params.rbi +121 -0
  329. data/rbi/knockapi/models/providers/ms_team_list_channels_response.rbi +140 -0
  330. data/rbi/knockapi/models/providers/ms_team_list_teams_params.rbi +147 -0
  331. data/rbi/knockapi/models/providers/ms_team_list_teams_response.rbi +54 -0
  332. data/rbi/knockapi/models/providers/ms_team_revoke_access_params.rbi +48 -0
  333. data/rbi/knockapi/models/providers/ms_team_revoke_access_response.rbi +36 -0
  334. data/rbi/knockapi/models/providers/slack_check_auth_params.rbi +48 -0
  335. data/rbi/knockapi/models/providers/slack_check_auth_response.rbi +95 -0
  336. data/rbi/knockapi/models/providers/slack_list_channels_params.rbi +158 -0
  337. data/rbi/knockapi/models/providers/slack_list_channels_response.rbi +75 -0
  338. data/rbi/knockapi/models/providers/slack_revoke_access_params.rbi +48 -0
  339. data/rbi/knockapi/models/providers/slack_revoke_access_response.rbi +36 -0
  340. data/rbi/knockapi/models/recipient.rbi +16 -0
  341. data/rbi/knockapi/models/recipient_reference.rbi +58 -0
  342. data/rbi/knockapi/models/recipient_request.rbi +25 -0
  343. data/rbi/knockapi/models/recipients/channel_data.rbi +198 -0
  344. data/rbi/knockapi/models/recipients/channel_data_request.rbi +91 -0
  345. data/rbi/knockapi/models/recipients/discord_channel_data.rbi +190 -0
  346. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +41 -0
  347. data/rbi/knockapi/models/recipients/inline_preference_set_request.rbi +15 -0
  348. data/rbi/knockapi/models/recipients/ms_teams_channel_data.rbi +231 -0
  349. data/rbi/knockapi/models/recipients/one_signal_channel_data.rbi +33 -0
  350. data/rbi/knockapi/models/recipients/preference_set.rbi +314 -0
  351. data/rbi/knockapi/models/recipients/preference_set_channel_type_setting.rbi +38 -0
  352. data/rbi/knockapi/models/recipients/preference_set_channel_types.rbi +389 -0
  353. data/rbi/knockapi/models/recipients/preference_set_request.rbi +309 -0
  354. data/rbi/knockapi/models/recipients/push_channel_data.rbi +33 -0
  355. data/rbi/knockapi/models/recipients/slack_channel_data.rbi +212 -0
  356. data/rbi/knockapi/models/recipients/subscription.rbi +86 -0
  357. data/rbi/knockapi/models/schedule.rbi +132 -0
  358. data/rbi/knockapi/models/schedule_create_params.rbi +115 -0
  359. data/rbi/knockapi/models/schedule_create_response.rbi +11 -0
  360. data/rbi/knockapi/models/schedule_delete_params.rbi +43 -0
  361. data/rbi/knockapi/models/schedule_delete_response.rbi +11 -0
  362. data/rbi/knockapi/models/schedule_list_params.rbi +98 -0
  363. data/rbi/knockapi/models/schedule_repeat_rule.rbi +148 -0
  364. data/rbi/knockapi/models/schedule_update_params.rbi +113 -0
  365. data/rbi/knockapi/models/schedule_update_response.rbi +11 -0
  366. data/rbi/knockapi/models/schedules/bulk_create_params.rbi +213 -0
  367. data/rbi/knockapi/models/tenant.rbi +188 -0
  368. data/rbi/knockapi/models/tenant_delete_params.rbi +27 -0
  369. data/rbi/knockapi/models/tenant_delete_response.rbi +7 -0
  370. data/rbi/knockapi/models/tenant_get_params.rbi +27 -0
  371. data/rbi/knockapi/models/tenant_list_params.rbi +90 -0
  372. data/rbi/knockapi/models/tenant_request.rbi +243 -0
  373. data/rbi/knockapi/models/tenant_set_params.rbi +241 -0
  374. data/rbi/knockapi/models/tenants/bulk_delete_params.rbi +48 -0
  375. data/rbi/knockapi/models/tenants/bulk_set_params.rbi +45 -0
  376. data/rbi/knockapi/models/user.rbi +110 -0
  377. data/rbi/knockapi/models/user_delete_params.rbi +27 -0
  378. data/rbi/knockapi/models/user_delete_response.rbi +7 -0
  379. data/rbi/knockapi/models/user_get_channel_data_params.rbi +27 -0
  380. data/rbi/knockapi/models/user_get_params.rbi +27 -0
  381. data/rbi/knockapi/models/user_get_preferences_params.rbi +43 -0
  382. data/rbi/knockapi/models/user_list_messages_params.rbi +386 -0
  383. data/rbi/knockapi/models/user_list_params.rbi +106 -0
  384. data/rbi/knockapi/models/user_list_preferences_params.rbi +30 -0
  385. data/rbi/knockapi/models/user_list_preferences_response.rbi +11 -0
  386. data/rbi/knockapi/models/user_list_schedules_params.rbi +90 -0
  387. data/rbi/knockapi/models/user_list_subscriptions_params.rbi +134 -0
  388. data/rbi/knockapi/models/user_merge_params.rbi +40 -0
  389. data/rbi/knockapi/models/user_set_channel_data_params.rbi +27 -0
  390. data/rbi/knockapi/models/user_set_preferences_params.rbi +27 -0
  391. data/rbi/knockapi/models/user_unset_channel_data_params.rbi +30 -0
  392. data/rbi/knockapi/models/user_unset_channel_data_response.rbi +7 -0
  393. data/rbi/knockapi/models/user_update_params.rbi +27 -0
  394. data/rbi/knockapi/models/users/bulk_delete_params.rbi +48 -0
  395. data/rbi/knockapi/models/users/bulk_identify_params.rbi +48 -0
  396. data/rbi/knockapi/models/users/bulk_set_preferences_params.rbi +63 -0
  397. data/rbi/knockapi/models/users/feed_get_settings_params.rbi +32 -0
  398. data/rbi/knockapi/models/users/feed_get_settings_response.rbi +83 -0
  399. data/rbi/knockapi/models/users/feed_list_items_params.rbi +251 -0
  400. data/rbi/knockapi/models/users/feed_list_items_response.rbi +540 -0
  401. data/rbi/knockapi/models/users/guide_get_channel_params.rbi +73 -0
  402. data/rbi/knockapi/models/users/guide_get_channel_response.rbi +183 -0
  403. data/rbi/knockapi/models/users/guide_mark_message_as_archived_params.rbi +124 -0
  404. data/rbi/knockapi/models/users/guide_mark_message_as_archived_response.rbi +33 -0
  405. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_params.rbi +124 -0
  406. data/rbi/knockapi/models/users/guide_mark_message_as_interacted_response.rbi +33 -0
  407. data/rbi/knockapi/models/users/guide_mark_message_as_seen_params.rbi +124 -0
  408. data/rbi/knockapi/models/users/guide_mark_message_as_seen_response.rbi +33 -0
  409. data/rbi/knockapi/models/workflow_cancel_params.rbi +82 -0
  410. data/rbi/knockapi/models/workflow_cancel_response.rbi +7 -0
  411. data/rbi/knockapi/models/workflow_trigger_params.rbi +137 -0
  412. data/rbi/knockapi/models/workflow_trigger_response.rbi +33 -0
  413. data/rbi/knockapi/models.rbi +179 -0
  414. data/rbi/knockapi/request_options.rbi +59 -0
  415. data/rbi/knockapi/resources/audiences.rbi +61 -0
  416. data/rbi/knockapi/resources/bulk_operations.rbi +26 -0
  417. data/rbi/knockapi/resources/channels/bulk.rbi +70 -0
  418. data/rbi/knockapi/resources/channels.rbi +15 -0
  419. data/rbi/knockapi/resources/integrations/census.rbi +39 -0
  420. data/rbi/knockapi/resources/integrations/hightouch.rbi +39 -0
  421. data/rbi/knockapi/resources/integrations.rbi +18 -0
  422. data/rbi/knockapi/resources/messages/batch.rbi +145 -0
  423. data/rbi/knockapi/resources/messages.rbi +290 -0
  424. data/rbi/knockapi/resources/objects/bulk.rbi +72 -0
  425. data/rbi/knockapi/resources/objects.rbi +504 -0
  426. data/rbi/knockapi/resources/providers/ms_teams.rbi +98 -0
  427. data/rbi/knockapi/resources/providers/slack.rbi +72 -0
  428. data/rbi/knockapi/resources/providers.rbi +18 -0
  429. data/rbi/knockapi/resources/recipients/channel_data.rbi +14 -0
  430. data/rbi/knockapi/resources/recipients/preferences.rbi +14 -0
  431. data/rbi/knockapi/resources/recipients/subscriptions.rbi +14 -0
  432. data/rbi/knockapi/resources/recipients.rbi +21 -0
  433. data/rbi/knockapi/resources/schedules/bulk.rbi +31 -0
  434. data/rbi/knockapi/resources/schedules.rbi +146 -0
  435. data/rbi/knockapi/resources/shared.rbi +12 -0
  436. data/rbi/knockapi/resources/tenants/bulk.rbi +42 -0
  437. data/rbi/knockapi/resources/tenants.rbi +111 -0
  438. data/rbi/knockapi/resources/users/bulk.rbi +64 -0
  439. data/rbi/knockapi/resources/users/feeds.rbi +83 -0
  440. data/rbi/knockapi/resources/users/guides.rbi +177 -0
  441. data/rbi/knockapi/resources/users.rbi +426 -0
  442. data/rbi/knockapi/resources/workflows.rbi +101 -0
  443. data/rbi/knockapi/version.rbi +5 -0
  444. data/sig/knockapi/client.rbs +50 -0
  445. data/sig/knockapi/errors.rbs +101 -0
  446. data/sig/knockapi/file_part.rbs +21 -0
  447. data/sig/knockapi/internal/entries_cursor.rbs +22 -0
  448. data/sig/knockapi/internal/items_cursor.rbs +22 -0
  449. data/sig/knockapi/internal/ms_teams_pagination.rbs +13 -0
  450. data/sig/knockapi/internal/slack_channels_cursor.rbs +13 -0
  451. data/sig/knockapi/internal/transport/base_client.rbs +131 -0
  452. data/sig/knockapi/internal/transport/pooled_net_requester.rbs +45 -0
  453. data/sig/knockapi/internal/type/array_of.rbs +45 -0
  454. data/sig/knockapi/internal/type/base_model.rbs +100 -0
  455. data/sig/knockapi/internal/type/base_page.rbs +24 -0
  456. data/sig/knockapi/internal/type/boolean.rbs +23 -0
  457. data/sig/knockapi/internal/type/converter.rbs +56 -0
  458. data/sig/knockapi/internal/type/enum.rbs +30 -0
  459. data/sig/knockapi/internal/type/file_input.rbs +23 -0
  460. data/sig/knockapi/internal/type/hash_of.rbs +45 -0
  461. data/sig/knockapi/internal/type/request_parameters.rbs +17 -0
  462. data/sig/knockapi/internal/type/union.rbs +50 -0
  463. data/sig/knockapi/internal/type/unknown.rbs +23 -0
  464. data/sig/knockapi/internal/util.rbs +173 -0
  465. data/sig/knockapi/internal.rbs +7 -0
  466. data/sig/knockapi/models/activity.rbs +52 -0
  467. data/sig/knockapi/models/audience_add_members_params.rbs +46 -0
  468. data/sig/knockapi/models/audience_add_members_response.rbs +5 -0
  469. data/sig/knockapi/models/audience_list_members_params.rbs +13 -0
  470. data/sig/knockapi/models/audience_list_members_response.rbs +20 -0
  471. data/sig/knockapi/models/audience_member.rbs +32 -0
  472. data/sig/knockapi/models/audience_remove_members_params.rbs +46 -0
  473. data/sig/knockapi/models/audience_remove_members_response.rbs +5 -0
  474. data/sig/knockapi/models/bulk_operation.rbs +103 -0
  475. data/sig/knockapi/models/bulk_operation_get_params.rbs +13 -0
  476. data/sig/knockapi/models/channels/bulk_update_message_status_params.rbs +174 -0
  477. data/sig/knockapi/models/condition.rbs +69 -0
  478. data/sig/knockapi/models/identify_user_request.rbs +48 -0
  479. data/sig/knockapi/models/inline_identify_user_request.rbs +52 -0
  480. data/sig/knockapi/models/inline_object_request.rbs +32 -0
  481. data/sig/knockapi/models/inline_tenant_request.rbs +11 -0
  482. data/sig/knockapi/models/integrations/census_custom_destination_params.rbs +37 -0
  483. data/sig/knockapi/models/integrations/census_custom_destination_response.rbs +20 -0
  484. data/sig/knockapi/models/integrations/hightouch_embedded_destination_params.rbs +37 -0
  485. data/sig/knockapi/models/integrations/hightouch_embedded_destination_response.rbs +20 -0
  486. data/sig/knockapi/models/message.rbs +185 -0
  487. data/sig/knockapi/models/message_archive_params.rbs +13 -0
  488. data/sig/knockapi/models/message_delivery_log.rbs +146 -0
  489. data/sig/knockapi/models/message_event.rbs +75 -0
  490. data/sig/knockapi/models/message_get_content_params.rbs +13 -0
  491. data/sig/knockapi/models/message_get_content_response.rbs +316 -0
  492. data/sig/knockapi/models/message_get_params.rbs +13 -0
  493. data/sig/knockapi/models/message_list_activities_params.rbs +41 -0
  494. data/sig/knockapi/models/message_list_delivery_logs_params.rbs +31 -0
  495. data/sig/knockapi/models/message_list_events_params.rbs +31 -0
  496. data/sig/knockapi/models/message_list_params.rbs +172 -0
  497. data/sig/knockapi/models/message_mark_as_interacted_params.rbs +21 -0
  498. data/sig/knockapi/models/message_mark_as_read_params.rbs +13 -0
  499. data/sig/knockapi/models/message_mark_as_seen_params.rbs +13 -0
  500. data/sig/knockapi/models/message_mark_as_unread_params.rbs +13 -0
  501. data/sig/knockapi/models/message_mark_as_unseen_params.rbs +13 -0
  502. data/sig/knockapi/models/message_unarchive_params.rbs +13 -0
  503. data/sig/knockapi/models/messages/batch_archive_params.rbs +21 -0
  504. data/sig/knockapi/models/messages/batch_archive_response.rbs +9 -0
  505. data/sig/knockapi/models/messages/batch_get_content_params.rbs +21 -0
  506. data/sig/knockapi/models/messages/batch_get_content_response.rbs +327 -0
  507. data/sig/knockapi/models/messages/batch_mark_as_interacted_params.rbs +24 -0
  508. data/sig/knockapi/models/messages/batch_mark_as_interacted_response.rbs +9 -0
  509. data/sig/knockapi/models/messages/batch_mark_as_read_params.rbs +21 -0
  510. data/sig/knockapi/models/messages/batch_mark_as_read_response.rbs +9 -0
  511. data/sig/knockapi/models/messages/batch_mark_as_seen_params.rbs +21 -0
  512. data/sig/knockapi/models/messages/batch_mark_as_seen_response.rbs +9 -0
  513. data/sig/knockapi/models/messages/batch_mark_as_unread_params.rbs +21 -0
  514. data/sig/knockapi/models/messages/batch_mark_as_unread_response.rbs +9 -0
  515. data/sig/knockapi/models/messages/batch_mark_as_unseen_params.rbs +21 -0
  516. data/sig/knockapi/models/messages/batch_mark_as_unseen_response.rbs +9 -0
  517. data/sig/knockapi/models/messages/batch_unarchive_params.rbs +21 -0
  518. data/sig/knockapi/models/messages/batch_unarchive_response.rbs +9 -0
  519. data/sig/knockapi/models/object.rbs +38 -0
  520. data/sig/knockapi/models/object_add_subscriptions_params.rbs +25 -0
  521. data/sig/knockapi/models/object_add_subscriptions_response.rbs +8 -0
  522. data/sig/knockapi/models/object_delete_params.rbs +13 -0
  523. data/sig/knockapi/models/object_delete_response.rbs +5 -0
  524. data/sig/knockapi/models/object_delete_subscriptions_params.rbs +19 -0
  525. data/sig/knockapi/models/object_delete_subscriptions_response.rbs +8 -0
  526. data/sig/knockapi/models/object_get_channel_data_params.rbs +13 -0
  527. data/sig/knockapi/models/object_get_params.rbs +12 -0
  528. data/sig/knockapi/models/object_get_preferences_params.rbs +13 -0
  529. data/sig/knockapi/models/object_list_messages_params.rbs +172 -0
  530. data/sig/knockapi/models/object_list_params.rbs +53 -0
  531. data/sig/knockapi/models/object_list_preferences_params.rbs +13 -0
  532. data/sig/knockapi/models/object_list_preferences_response.rbs +8 -0
  533. data/sig/knockapi/models/object_list_schedules_params.rbs +47 -0
  534. data/sig/knockapi/models/object_list_subscriptions_params.rbs +102 -0
  535. data/sig/knockapi/models/object_set_channel_data_params.rbs +13 -0
  536. data/sig/knockapi/models/object_set_params.rbs +41 -0
  537. data/sig/knockapi/models/object_set_preferences_params.rbs +13 -0
  538. data/sig/knockapi/models/object_unset_channel_data_params.rbs +13 -0
  539. data/sig/knockapi/models/object_unset_channel_data_response.rbs +5 -0
  540. data/sig/knockapi/models/objects/bulk_add_subscriptions_params.rbs +40 -0
  541. data/sig/knockapi/models/objects/bulk_delete_params.rbs +21 -0
  542. data/sig/knockapi/models/objects/bulk_set_params.rbs +21 -0
  543. data/sig/knockapi/models/page_info.rbs +23 -0
  544. data/sig/knockapi/models/providers/ms_team_check_auth_params.rbs +21 -0
  545. data/sig/knockapi/models/providers/ms_team_check_auth_response.rbs +28 -0
  546. data/sig/knockapi/models/providers/ms_team_list_channels_params.rbs +49 -0
  547. data/sig/knockapi/models/providers/ms_team_list_channels_response.rbs +57 -0
  548. data/sig/knockapi/models/providers/ms_team_list_teams_params.rbs +59 -0
  549. data/sig/knockapi/models/providers/ms_team_list_teams_response.rbs +22 -0
  550. data/sig/knockapi/models/providers/ms_team_revoke_access_params.rbs +21 -0
  551. data/sig/knockapi/models/providers/ms_team_revoke_access_response.rbs +15 -0
  552. data/sig/knockapi/models/providers/slack_check_auth_params.rbs +21 -0
  553. data/sig/knockapi/models/providers/slack_check_auth_response.rbs +28 -0
  554. data/sig/knockapi/models/providers/slack_list_channels_params.rbs +70 -0
  555. data/sig/knockapi/models/providers/slack_list_channels_response.rbs +34 -0
  556. data/sig/knockapi/models/providers/slack_revoke_access_params.rbs +21 -0
  557. data/sig/knockapi/models/providers/slack_revoke_access_response.rbs +15 -0
  558. data/sig/knockapi/models/recipient.rbs +11 -0
  559. data/sig/knockapi/models/recipient_reference.rbs +26 -0
  560. data/sig/knockapi/models/recipient_request.rbs +14 -0
  561. data/sig/knockapi/models/recipients/channel_data.rbs +72 -0
  562. data/sig/knockapi/models/recipients/channel_data_request.rbs +29 -0
  563. data/sig/knockapi/models/recipients/discord_channel_data.rbs +57 -0
  564. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +23 -0
  565. data/sig/knockapi/models/recipients/inline_preference_set_request.rbs +10 -0
  566. data/sig/knockapi/models/recipients/ms_teams_channel_data.rbs +78 -0
  567. data/sig/knockapi/models/recipients/one_signal_channel_data.rbs +13 -0
  568. data/sig/knockapi/models/recipients/preference_set.rbs +84 -0
  569. data/sig/knockapi/models/recipients/preference_set_channel_type_setting.rbs +14 -0
  570. data/sig/knockapi/models/recipients/preference_set_channel_types.rbs +112 -0
  571. data/sig/knockapi/models/recipients/preference_set_request.rbs +80 -0
  572. data/sig/knockapi/models/recipients/push_channel_data.rbs +13 -0
  573. data/sig/knockapi/models/recipients/slack_channel_data.rbs +65 -0
  574. data/sig/knockapi/models/recipients/subscription.rbs +38 -0
  575. data/sig/knockapi/models/schedule.rbs +62 -0
  576. data/sig/knockapi/models/schedule_create_params.rbs +45 -0
  577. data/sig/knockapi/models/schedule_create_response.rbs +7 -0
  578. data/sig/knockapi/models/schedule_delete_params.rbs +19 -0
  579. data/sig/knockapi/models/schedule_delete_response.rbs +7 -0
  580. data/sig/knockapi/models/schedule_list_params.rbs +51 -0
  581. data/sig/knockapi/models/schedule_repeat_rule.rbs +71 -0
  582. data/sig/knockapi/models/schedule_update_params.rbs +49 -0
  583. data/sig/knockapi/models/schedule_update_response.rbs +7 -0
  584. data/sig/knockapi/models/schedules/bulk_create_params.rbs +70 -0
  585. data/sig/knockapi/models/tenant.rbs +70 -0
  586. data/sig/knockapi/models/tenant_delete_params.rbs +13 -0
  587. data/sig/knockapi/models/tenant_delete_response.rbs +5 -0
  588. data/sig/knockapi/models/tenant_get_params.rbs +12 -0
  589. data/sig/knockapi/models/tenant_list_params.rbs +47 -0
  590. data/sig/knockapi/models/tenant_request.rbs +78 -0
  591. data/sig/knockapi/models/tenant_set_params.rbs +79 -0
  592. data/sig/knockapi/models/tenants/bulk_delete_params.rbs +21 -0
  593. data/sig/knockapi/models/tenants/bulk_set_params.rbs +21 -0
  594. data/sig/knockapi/models/user.rbs +48 -0
  595. data/sig/knockapi/models/user_delete_params.rbs +13 -0
  596. data/sig/knockapi/models/user_delete_response.rbs +5 -0
  597. data/sig/knockapi/models/user_get_channel_data_params.rbs +13 -0
  598. data/sig/knockapi/models/user_get_params.rbs +12 -0
  599. data/sig/knockapi/models/user_get_preferences_params.rbs +20 -0
  600. data/sig/knockapi/models/user_list_messages_params.rbs +172 -0
  601. data/sig/knockapi/models/user_list_params.rbs +53 -0
  602. data/sig/knockapi/models/user_list_preferences_params.rbs +13 -0
  603. data/sig/knockapi/models/user_list_preferences_response.rbs +8 -0
  604. data/sig/knockapi/models/user_list_schedules_params.rbs +47 -0
  605. data/sig/knockapi/models/user_list_subscriptions_params.rbs +59 -0
  606. data/sig/knockapi/models/user_merge_params.rbs +18 -0
  607. data/sig/knockapi/models/user_set_channel_data_params.rbs +13 -0
  608. data/sig/knockapi/models/user_set_preferences_params.rbs +13 -0
  609. data/sig/knockapi/models/user_unset_channel_data_params.rbs +13 -0
  610. data/sig/knockapi/models/user_unset_channel_data_response.rbs +5 -0
  611. data/sig/knockapi/models/user_update_params.rbs +13 -0
  612. data/sig/knockapi/models/users/bulk_delete_params.rbs +21 -0
  613. data/sig/knockapi/models/users/bulk_identify_params.rbs +21 -0
  614. data/sig/knockapi/models/users/bulk_set_preferences_params.rbs +27 -0
  615. data/sig/knockapi/models/users/feed_get_settings_params.rbs +15 -0
  616. data/sig/knockapi/models/users/feed_get_settings_response.rbs +24 -0
  617. data/sig/knockapi/models/users/feed_list_items_params.rbs +109 -0
  618. data/sig/knockapi/models/users/feed_list_items_response.rbs +204 -0
  619. data/sig/knockapi/models/users/guide_get_channel_params.rbs +33 -0
  620. data/sig/knockapi/models/users/guide_get_channel_response.rbs +65 -0
  621. data/sig/knockapi/models/users/guide_mark_message_as_archived_params.rbs +63 -0
  622. data/sig/knockapi/models/users/guide_mark_message_as_archived_response.rbs +13 -0
  623. data/sig/knockapi/models/users/guide_mark_message_as_interacted_params.rbs +63 -0
  624. data/sig/knockapi/models/users/guide_mark_message_as_interacted_response.rbs +13 -0
  625. data/sig/knockapi/models/users/guide_mark_message_as_seen_params.rbs +63 -0
  626. data/sig/knockapi/models/users/guide_mark_message_as_seen_response.rbs +13 -0
  627. data/sig/knockapi/models/workflow_cancel_params.rbs +25 -0
  628. data/sig/knockapi/models/workflow_cancel_response.rbs +5 -0
  629. data/sig/knockapi/models/workflow_trigger_params.rbs +37 -0
  630. data/sig/knockapi/models/workflow_trigger_response.rbs +11 -0
  631. data/sig/knockapi/models.rbs +173 -0
  632. data/sig/knockapi/request_options.rbs +34 -0
  633. data/sig/knockapi/resources/audiences.rbs +24 -0
  634. data/sig/knockapi/resources/bulk_operations.rbs +12 -0
  635. data/sig/knockapi/resources/channels/bulk.rbs +25 -0
  636. data/sig/knockapi/resources/channels.rbs +9 -0
  637. data/sig/knockapi/resources/integrations/census.rbs +17 -0
  638. data/sig/knockapi/resources/integrations/hightouch.rbs +17 -0
  639. data/sig/knockapi/resources/integrations.rbs +11 -0
  640. data/sig/knockapi/resources/messages/batch.rbs +50 -0
  641. data/sig/knockapi/resources/messages.rbs +98 -0
  642. data/sig/knockapi/resources/objects/bulk.rbs +27 -0
  643. data/sig/knockapi/resources/objects.rbs +144 -0
  644. data/sig/knockapi/resources/providers/ms_teams.rbs +36 -0
  645. data/sig/knockapi/resources/providers/slack.rbs +28 -0
  646. data/sig/knockapi/resources/providers.rbs +11 -0
  647. data/sig/knockapi/resources/recipients/channel_data.rbs +9 -0
  648. data/sig/knockapi/resources/recipients/preferences.rbs +9 -0
  649. data/sig/knockapi/resources/recipients/subscriptions.rbs +9 -0
  650. data/sig/knockapi/resources/recipients.rbs +13 -0
  651. data/sig/knockapi/resources/schedules/bulk.rbs +14 -0
  652. data/sig/knockapi/resources/schedules.rbs +46 -0
  653. data/sig/knockapi/resources/shared.rbs +7 -0
  654. data/sig/knockapi/resources/tenants/bulk.rbs +19 -0
  655. data/sig/knockapi/resources/tenants.rbs +36 -0
  656. data/sig/knockapi/resources/users/bulk.rbs +25 -0
  657. data/sig/knockapi/resources/users/feeds.rbs +31 -0
  658. data/sig/knockapi/resources/users/guides.rbs +63 -0
  659. data/sig/knockapi/resources/users.rbs +130 -0
  660. data/sig/knockapi/resources/workflows.rbs +24 -0
  661. data/sig/knockapi/version.rbs +3 -0
  662. metadata +678 -77
  663. data/.github/workflows/publish.yml +0 -17
  664. data/.github/workflows/ruby.yml +0 -47
  665. data/.gitignore +0 -49
  666. data/.rubocop.yml +0 -8
  667. data/.ruby-version +0 -1
  668. data/.tool-versions +0 -1
  669. data/CONTRIBUTING.md +0 -31
  670. data/Gemfile +0 -9
  671. data/Gemfile.lock +0 -63
  672. data/LICENSE +0 -21
  673. data/bin/console +0 -8
  674. data/bin/publish +0 -5
  675. data/knockapi.gemspec +0 -30
  676. data/lib/knock/bulk_operations.rb +0 -27
  677. data/lib/knock/client.rb +0 -149
  678. data/lib/knock/configuration.rb +0 -18
  679. data/lib/knock/errors.rb +0 -57
  680. data/lib/knock/messages.rb +0 -93
  681. data/lib/knock/objects.rb +0 -442
  682. data/lib/knock/preferences.rb +0 -114
  683. data/lib/knock/tenants.rb +0 -72
  684. data/lib/knock/users.rb +0 -420
  685. data/lib/knock/version.rb +0 -5
  686. data/lib/knock/workflows.rb +0 -152
  687. data/lib/knock.rb +0 -71
  688. data/spec/configuration_spec.rb +0 -63
  689. data/spec/tenants_spec.rb +0 -66
@@ -0,0 +1,498 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Objects
6
+ # @return [Knockapi::Resources::Objects::Bulk]
7
+ attr_reader :bulk
8
+
9
+ # Returns a paginated list of objects from the specified collection. Optionally
10
+ # includes preference data for the objects.
11
+ #
12
+ # @overload list(collection, after: nil, before: nil, include: nil, page_size: nil, request_options: {})
13
+ #
14
+ # @param collection [String] The collection this object belongs to.
15
+ #
16
+ # @param after [String] The cursor to fetch entries after.
17
+ #
18
+ # @param before [String] The cursor to fetch entries before.
19
+ #
20
+ # @param include [Array<Symbol, Knockapi::ObjectListParams::Include>] Includes preferences of the objects in the response.
21
+ #
22
+ # @param page_size [Integer] The number of items per page.
23
+ #
24
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
25
+ #
26
+ # @return [Knockapi::Internal::EntriesCursor<Knockapi::Object>]
27
+ #
28
+ # @see Knockapi::Models::ObjectListParams
29
+ def list(collection, params = {})
30
+ parsed, options = Knockapi::ObjectListParams.dump_request(params)
31
+ @client.request(
32
+ method: :get,
33
+ path: ["v1/objects/%1$s", collection],
34
+ query: parsed,
35
+ page: Knockapi::Internal::EntriesCursor,
36
+ model: Knockapi::Object,
37
+ options: options
38
+ )
39
+ end
40
+
41
+ # Permanently removes an object from the specified collection. This operation
42
+ # cannot be undone.
43
+ #
44
+ # @overload delete(collection, id, request_options: {})
45
+ #
46
+ # @param collection [String] The collection this object belongs to.
47
+ #
48
+ # @param id [String] Unique identifier for the object.
49
+ #
50
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
51
+ #
52
+ # @return [String]
53
+ #
54
+ # @see Knockapi::Models::ObjectDeleteParams
55
+ def delete(collection, id, params = {})
56
+ @client.request(
57
+ method: :delete,
58
+ path: ["v1/objects/%1$s/%2$s", collection, id],
59
+ model: String,
60
+ options: params[:request_options]
61
+ )
62
+ end
63
+
64
+ # Some parameter documentations has been truncated, see
65
+ # {Knockapi::Models::ObjectAddSubscriptionsParams} for more details.
66
+ #
67
+ # Add subscriptions for an object. If a subscription already exists, it will be
68
+ # updated. This endpoint also handles
69
+ # [inline identifications](/managing-recipients/identifying-recipients#inline-identifying-recipients)
70
+ # for the `recipient`.
71
+ #
72
+ # @overload add_subscriptions(collection, object_id_, recipients:, properties: nil, request_options: {})
73
+ #
74
+ # @param collection [String] The collection this object belongs to.
75
+ #
76
+ # @param object_id_ [String] Unique identifier for the object.
77
+ #
78
+ # @param recipients [Array<String, Knockapi::InlineIdentifyUserRequest, Knockapi::InlineObjectRequest>] The recipients of the subscription. You can subscribe up to 100 recipients to an
79
+ #
80
+ # @param properties [Hash{Symbol=>Object}, nil] The custom properties associated with the subscription relationship.
81
+ #
82
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
83
+ #
84
+ # @return [Array<Knockapi::Recipients::Subscription>]
85
+ #
86
+ # @see Knockapi::Models::ObjectAddSubscriptionsParams
87
+ def add_subscriptions(collection, object_id_, params)
88
+ parsed, options = Knockapi::ObjectAddSubscriptionsParams.dump_request(params)
89
+ @client.request(
90
+ method: :post,
91
+ path: ["v1/objects/%1$s/%2$s/subscriptions", collection, object_id_],
92
+ body: parsed,
93
+ model: Knockapi::Internal::Type::ArrayOf[Knockapi::Recipients::Subscription],
94
+ options: options
95
+ )
96
+ end
97
+
98
+ # Some parameter documentations has been truncated, see
99
+ # {Knockapi::Models::ObjectDeleteSubscriptionsParams} for more details.
100
+ #
101
+ # Delete subscriptions for the specified recipients from an object. Returns the
102
+ # list of deleted subscriptions.
103
+ #
104
+ # @overload delete_subscriptions(collection, object_id_, recipients:, request_options: {})
105
+ #
106
+ # @param collection [String] The collection this object belongs to.
107
+ #
108
+ # @param object_id_ [String] Unique identifier for the object.
109
+ #
110
+ # @param recipients [Array<String, Knockapi::RecipientReference::ObjectReference>] The recipients of the subscription. You can subscribe up to 100 recipients to an
111
+ #
112
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
113
+ #
114
+ # @return [Array<Knockapi::Recipients::Subscription>]
115
+ #
116
+ # @see Knockapi::Models::ObjectDeleteSubscriptionsParams
117
+ def delete_subscriptions(collection, object_id_, params)
118
+ parsed, options = Knockapi::ObjectDeleteSubscriptionsParams.dump_request(params)
119
+ @client.request(
120
+ method: :delete,
121
+ path: ["v1/objects/%1$s/%2$s/subscriptions", collection, object_id_],
122
+ body: parsed,
123
+ model: Knockapi::Internal::Type::ArrayOf[Knockapi::Recipients::Subscription],
124
+ options: options
125
+ )
126
+ end
127
+
128
+ # Retrieves a specific object by its ID from the specified collection. Returns the
129
+ # object with all its properties.
130
+ #
131
+ # @overload get(collection, id, request_options: {})
132
+ #
133
+ # @param collection [String] The collection this object belongs to.
134
+ #
135
+ # @param id [String] Unique identifier for the object.
136
+ #
137
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
138
+ #
139
+ # @return [Knockapi::Object]
140
+ #
141
+ # @see Knockapi::Models::ObjectGetParams
142
+ def get(collection, id, params = {})
143
+ @client.request(
144
+ method: :get,
145
+ path: ["v1/objects/%1$s/%2$s", collection, id],
146
+ model: Knockapi::Object,
147
+ options: params[:request_options]
148
+ )
149
+ end
150
+
151
+ # Returns the channel data for the specified object and channel.
152
+ #
153
+ # @overload get_channel_data(collection, object_id_, channel_id, request_options: {})
154
+ #
155
+ # @param collection [String] The collection this object belongs to.
156
+ #
157
+ # @param object_id_ [String] Unique identifier for the object.
158
+ #
159
+ # @param channel_id [String] The unique identifier for the channel.
160
+ #
161
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
162
+ #
163
+ # @return [Knockapi::Recipients::RecipientsChannelData]
164
+ #
165
+ # @see Knockapi::Models::ObjectGetChannelDataParams
166
+ def get_channel_data(collection, object_id_, channel_id, params = {})
167
+ @client.request(
168
+ method: :get,
169
+ path: ["v1/objects/%1$s/%2$s/channel_data/%3$s", collection, object_id_, channel_id],
170
+ model: Knockapi::Recipients::RecipientsChannelData,
171
+ options: params[:request_options]
172
+ )
173
+ end
174
+
175
+ # Returns the preference set for the specified object and preference set `id`.
176
+ #
177
+ # @overload get_preferences(collection, object_id_, id, request_options: {})
178
+ #
179
+ # @param collection [String] The collection this object belongs to.
180
+ #
181
+ # @param object_id_ [String] Unique identifier for the object.
182
+ #
183
+ # @param id [String] Unique identifier for the preference set.
184
+ #
185
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
186
+ #
187
+ # @return [Knockapi::Recipients::PreferenceSet]
188
+ #
189
+ # @see Knockapi::Models::ObjectGetPreferencesParams
190
+ def get_preferences(collection, object_id_, id, params = {})
191
+ @client.request(
192
+ method: :get,
193
+ path: ["v1/objects/%1$s/%2$s/preferences/%3$s", collection, object_id_, id],
194
+ model: Knockapi::Recipients::PreferenceSet,
195
+ options: params[:request_options]
196
+ )
197
+ end
198
+
199
+ # Some parameter documentations has been truncated, see
200
+ # {Knockapi::Models::ObjectListMessagesParams} for more details.
201
+ #
202
+ # Returns a paginated list of messages for a specific object in the given
203
+ # collection. Allows filtering by message status and provides various sorting
204
+ # options.
205
+ #
206
+ # @overload list_messages(collection, id, after: nil, before: nil, channel_id: nil, engagement_status: nil, inserted_at: nil, message_ids: nil, page_size: nil, source: nil, status: nil, tenant: nil, trigger_data: nil, workflow_categories: nil, workflow_recipient_run_id: nil, workflow_run_id: nil, request_options: {})
207
+ #
208
+ # @param collection [String] The collection this object belongs to.
209
+ #
210
+ # @param id [String] Unique identifier for the object.
211
+ #
212
+ # @param after [String] The cursor to fetch entries after.
213
+ #
214
+ # @param before [String] The cursor to fetch entries before.
215
+ #
216
+ # @param channel_id [String] Limits the results to items with the corresponding channel ID.
217
+ #
218
+ # @param engagement_status [Array<Symbol, Knockapi::ObjectListMessagesParams::EngagementStatus>] Limits the results to messages with the given engagement status.
219
+ #
220
+ # @param inserted_at [Knockapi::ObjectListMessagesParams::InsertedAt]
221
+ #
222
+ # @param message_ids [Array<String>] Limits the results to only the message IDs given (max 50). Note: when using this
223
+ #
224
+ # @param page_size [Integer] The number of items per page.
225
+ #
226
+ # @param source [String] Limits the results to messages triggered by the given workflow key.
227
+ #
228
+ # @param status [Array<Symbol, Knockapi::ObjectListMessagesParams::Status>] Limits the results to messages with the given delivery status.
229
+ #
230
+ # @param tenant [String] Limits the results to items with the corresponding tenant.
231
+ #
232
+ # @param trigger_data [String] Limits the results to only messages that were generated with the given data. See
233
+ #
234
+ # @param workflow_categories [Array<String>] Limits the results to messages related to any of the provided categories.
235
+ #
236
+ # @param workflow_recipient_run_id [String] Limits the results to messages for a specific recipient's workflow run.
237
+ #
238
+ # @param workflow_run_id [String] Limits the results to messages associated with the top-level workflow run ID ret
239
+ #
240
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
241
+ #
242
+ # @return [Knockapi::Internal::EntriesCursor<Knockapi::Message>]
243
+ #
244
+ # @see Knockapi::Models::ObjectListMessagesParams
245
+ def list_messages(collection, id, params = {})
246
+ parsed, options = Knockapi::ObjectListMessagesParams.dump_request(params)
247
+ @client.request(
248
+ method: :get,
249
+ path: ["v1/objects/%1$s/%2$s/messages", collection, id],
250
+ query: parsed,
251
+ page: Knockapi::Internal::EntriesCursor,
252
+ model: Knockapi::Message,
253
+ options: options
254
+ )
255
+ end
256
+
257
+ # Returns a paginated list of preference sets for the specified object.
258
+ #
259
+ # @overload list_preferences(collection, object_id_, request_options: {})
260
+ #
261
+ # @param collection [String] The collection this object belongs to.
262
+ #
263
+ # @param object_id_ [String] Unique identifier for the object.
264
+ #
265
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
266
+ #
267
+ # @return [Array<Knockapi::Recipients::PreferenceSet>]
268
+ #
269
+ # @see Knockapi::Models::ObjectListPreferencesParams
270
+ def list_preferences(collection, object_id_, params = {})
271
+ @client.request(
272
+ method: :get,
273
+ path: ["v1/objects/%1$s/%2$s/preferences", collection, object_id_],
274
+ model: Knockapi::Internal::Type::ArrayOf[Knockapi::Recipients::PreferenceSet],
275
+ options: params[:request_options]
276
+ )
277
+ end
278
+
279
+ # Returns a paginated list of schedules for an object.
280
+ #
281
+ # @overload list_schedules(collection, id, after: nil, before: nil, page_size: nil, tenant: nil, workflow: nil, request_options: {})
282
+ #
283
+ # @param collection [String] The collection of the object to list schedules for.
284
+ #
285
+ # @param id [String] The ID of the object to list schedules for.
286
+ #
287
+ # @param after [String] The cursor to fetch entries after.
288
+ #
289
+ # @param before [String] The cursor to fetch entries before.
290
+ #
291
+ # @param page_size [Integer] The number of items per page.
292
+ #
293
+ # @param tenant [String] Filter schedules by tenant id.
294
+ #
295
+ # @param workflow [String] Filter schedules by workflow id.
296
+ #
297
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
298
+ #
299
+ # @return [Knockapi::Internal::EntriesCursor<Knockapi::Schedule>]
300
+ #
301
+ # @see Knockapi::Models::ObjectListSchedulesParams
302
+ def list_schedules(collection, id, params = {})
303
+ parsed, options = Knockapi::ObjectListSchedulesParams.dump_request(params)
304
+ @client.request(
305
+ method: :get,
306
+ path: ["v1/objects/%1$s/%2$s/schedules", collection, id],
307
+ query: parsed,
308
+ page: Knockapi::Internal::EntriesCursor,
309
+ model: Knockapi::Schedule,
310
+ options: options
311
+ )
312
+ end
313
+
314
+ # Some parameter documentations has been truncated, see
315
+ # {Knockapi::Models::ObjectListSubscriptionsParams} for more details.
316
+ #
317
+ # List subscriptions for an object. Either list the recipients that subscribe to
318
+ # the provided object, or list the objects that the provided object is subscribed
319
+ # to. Determined by the `mode` query parameter.
320
+ #
321
+ # @overload list_subscriptions(collection, object_id_, after: nil, before: nil, include: nil, mode: nil, objects: nil, page_size: nil, recipients: nil, request_options: {})
322
+ #
323
+ # @param collection [String] The collection this object belongs to.
324
+ #
325
+ # @param object_id_ [String] Unique identifier for the object.
326
+ #
327
+ # @param after [String] The cursor to fetch entries after.
328
+ #
329
+ # @param before [String] The cursor to fetch entries before.
330
+ #
331
+ # @param include [Array<Symbol, Knockapi::ObjectListSubscriptionsParams::Include>] Additional fields to include in the response.
332
+ #
333
+ # @param mode [Symbol, Knockapi::ObjectListSubscriptionsParams::Mode] Mode of the request. `recipient` to list the objects that the provided object is
334
+ #
335
+ # @param objects [Array<Knockapi::ObjectListSubscriptionsParams::Object>] Objects to filter by (only used if mode is `recipient`).
336
+ #
337
+ # @param page_size [Integer] The number of items per page.
338
+ #
339
+ # @param recipients [Array<String, Knockapi::RecipientReference::ObjectReference>] Recipients to filter by (only used if mode is `object`).
340
+ #
341
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
342
+ #
343
+ # @return [Knockapi::Internal::EntriesCursor<Knockapi::Recipients::Subscription>]
344
+ #
345
+ # @see Knockapi::Models::ObjectListSubscriptionsParams
346
+ def list_subscriptions(collection, object_id_, params = {})
347
+ parsed, options = Knockapi::ObjectListSubscriptionsParams.dump_request(params)
348
+ @client.request(
349
+ method: :get,
350
+ path: ["v1/objects/%1$s/%2$s/subscriptions", collection, object_id_],
351
+ query: parsed,
352
+ page: Knockapi::Internal::EntriesCursor,
353
+ model: Knockapi::Recipients::Subscription,
354
+ options: options
355
+ )
356
+ end
357
+
358
+ # Some parameter documentations has been truncated, see
359
+ # {Knockapi::Models::ObjectSetParams} for more details.
360
+ #
361
+ # Creates a new object or updates an existing one in the specified collection.
362
+ # This operation is used to identify objects with their properties, as well as
363
+ # optional preferences and channel data.
364
+ #
365
+ # @overload set(collection, id, channel_data: nil, locale: nil, preferences: nil, timezone: nil, request_options: {})
366
+ #
367
+ # @param collection [String] The collection this object belongs to.
368
+ #
369
+ # @param id [String] Unique identifier for the object.
370
+ #
371
+ # @param channel_data [Hash{Symbol=>Knockapi::Recipients::PushChannelData, Knockapi::Recipients::OneSignalChannelData, Knockapi::Recipients::SlackChannelData, Knockapi::Recipients::MsTeamsChannelData, Knockapi::Recipients::DiscordChannelData}] A request to set channel data for a type of channel inline.
372
+ #
373
+ # @param locale [String, nil] The locale of the object. Used for [message localization](/concepts/translations
374
+ #
375
+ # @param preferences [Hash{Symbol=>Knockapi::Recipients::PreferenceSetRequest}] Inline set preferences for a recipient, where the key is the preference set id.
376
+ #
377
+ # @param timezone [String, nil] The timezone of the object. Must be a valid [tz database time zone string](https
378
+ #
379
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
380
+ #
381
+ # @return [Knockapi::Object]
382
+ #
383
+ # @see Knockapi::Models::ObjectSetParams
384
+ def set(collection, id, params = {})
385
+ parsed, options = Knockapi::ObjectSetParams.dump_request(params)
386
+ @client.request(
387
+ method: :put,
388
+ path: ["v1/objects/%1$s/%2$s", collection, id],
389
+ body: parsed,
390
+ model: Knockapi::Object,
391
+ options: options
392
+ )
393
+ end
394
+
395
+ # Sets the channel data for the specified object and channel. If no object exists
396
+ # in the current environment for the given `collection` and `object_id`, Knock
397
+ # will create the object as part of this request.
398
+ #
399
+ # @overload set_channel_data(collection, object_id_, channel_id, data:, request_options: {})
400
+ #
401
+ # @param collection [String] The collection this object belongs to.
402
+ #
403
+ # @param object_id_ [String] Unique identifier for the object.
404
+ #
405
+ # @param channel_id [String] The unique identifier for the channel.
406
+ #
407
+ # @param data [Knockapi::Recipients::PushChannelData, Knockapi::Recipients::OneSignalChannelData, Knockapi::Recipients::SlackChannelData, Knockapi::Recipients::MsTeamsChannelData, Knockapi::Recipients::DiscordChannelData] Channel data for a given channel type.
408
+ #
409
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
410
+ #
411
+ # @return [Knockapi::Recipients::RecipientsChannelData]
412
+ #
413
+ # @see Knockapi::Models::ObjectSetChannelDataParams
414
+ def set_channel_data(collection, object_id_, channel_id, params)
415
+ parsed, options = Knockapi::ObjectSetChannelDataParams.dump_request(params)
416
+ @client.request(
417
+ method: :put,
418
+ path: ["v1/objects/%1$s/%2$s/channel_data/%3$s", collection, object_id_, channel_id],
419
+ body: parsed,
420
+ model: Knockapi::Recipients::RecipientsChannelData,
421
+ options: options
422
+ )
423
+ end
424
+
425
+ # Some parameter documentations has been truncated, see
426
+ # {Knockapi::Models::ObjectSetPreferencesParams} for more details.
427
+ #
428
+ # Sets preferences within the given preference set. This is a destructive
429
+ # operation and will replace any existing preferences with the preferences given.
430
+ # If no object exists in the current environment for the given `:collection` and
431
+ # `:object_id`, Knock will create the object as part of this request. The
432
+ # preference set `:id` can be either `default` or a `tenant.id`. Learn more about
433
+ # [per-tenant preferences](/preferences/tenant-preferences).
434
+ #
435
+ # @overload set_preferences(collection, object_id_, id, categories: nil, channel_types: nil, workflows: nil, request_options: {})
436
+ #
437
+ # @param collection [String] The collection this object belongs to.
438
+ #
439
+ # @param object_id_ [String] Unique identifier for the object.
440
+ #
441
+ # @param id [String] Unique identifier for the preference set.
442
+ #
443
+ # @param categories [Hash{Symbol=>Boolean, Knockapi::Recipients::PreferenceSetRequest::Category::PreferenceSetWorkflowCategorySettingObject}, nil] An object where the key is the category and the values are the preference settin
444
+ #
445
+ # @param channel_types [Knockapi::Recipients::PreferenceSetChannelTypes, nil] Channel type preferences.
446
+ #
447
+ # @param workflows [Hash{Symbol=>Boolean, Knockapi::Recipients::PreferenceSetRequest::Workflow::PreferenceSetWorkflowCategorySettingObject}, nil] An object where the key is the workflow key and the values are the preference se
448
+ #
449
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
450
+ #
451
+ # @return [Knockapi::Recipients::PreferenceSet]
452
+ #
453
+ # @see Knockapi::Models::ObjectSetPreferencesParams
454
+ def set_preferences(collection, object_id_, id, params = {})
455
+ parsed, options = Knockapi::ObjectSetPreferencesParams.dump_request(params)
456
+ @client.request(
457
+ method: :put,
458
+ path: ["v1/objects/%1$s/%2$s/preferences/%3$s", collection, object_id_, id],
459
+ body: parsed,
460
+ model: Knockapi::Recipients::PreferenceSet,
461
+ options: options
462
+ )
463
+ end
464
+
465
+ # Unsets the channel data for the specified object and channel.
466
+ #
467
+ # @overload unset_channel_data(collection, object_id_, channel_id, request_options: {})
468
+ #
469
+ # @param collection [String] The collection this object belongs to.
470
+ #
471
+ # @param object_id_ [String] Unique identifier for the object.
472
+ #
473
+ # @param channel_id [String] The unique identifier for the channel.
474
+ #
475
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
476
+ #
477
+ # @return [String]
478
+ #
479
+ # @see Knockapi::Models::ObjectUnsetChannelDataParams
480
+ def unset_channel_data(collection, object_id_, channel_id, params = {})
481
+ @client.request(
482
+ method: :delete,
483
+ path: ["v1/objects/%1$s/%2$s/channel_data/%3$s", collection, object_id_, channel_id],
484
+ model: String,
485
+ options: params[:request_options]
486
+ )
487
+ end
488
+
489
+ # @api private
490
+ #
491
+ # @param client [Knockapi::Client]
492
+ def initialize(client:)
493
+ @client = client
494
+ @bulk = Knockapi::Resources::Objects::Bulk.new(client: client)
495
+ end
496
+ end
497
+ end
498
+ end
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Knockapi
4
+ module Resources
5
+ class Providers
6
+ class MsTeams
7
+ # Check if a connection to Microsoft Teams has been authorized for a given
8
+ # Microsoft Teams tenant object.
9
+ #
10
+ # @overload check_auth(channel_id, ms_teams_tenant_object:, request_options: {})
11
+ #
12
+ # @param channel_id [String] The ID of the Knock Microsoft Teams channel to check.
13
+ #
14
+ # @param ms_teams_tenant_object [String] A JSON encoded string containing the Microsoft Teams tenant object reference.
15
+ #
16
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [Knockapi::Models::Providers::MsTeamCheckAuthResponse]
19
+ #
20
+ # @see Knockapi::Models::Providers::MsTeamCheckAuthParams
21
+ def check_auth(channel_id, params)
22
+ parsed, options = Knockapi::Providers::MsTeamCheckAuthParams.dump_request(params)
23
+ @client.request(
24
+ method: :get,
25
+ path: ["v1/providers/ms-teams/%1$s/auth_check", channel_id],
26
+ query: parsed,
27
+ model: Knockapi::Models::Providers::MsTeamCheckAuthResponse,
28
+ options: options
29
+ )
30
+ end
31
+
32
+ # List the Microsoft Teams channels within a team. By default, archived and
33
+ # private channels are excluded from the results.
34
+ #
35
+ # @overload list_channels(channel_id, ms_teams_tenant_object:, team_id:, query_options: nil, request_options: {})
36
+ #
37
+ # @param channel_id [String] The ID of the Knock Microsoft Teams channel to get channels for.
38
+ #
39
+ # @param ms_teams_tenant_object [String] A JSON encoded string containing the Microsoft Teams tenant object reference.
40
+ #
41
+ # @param team_id [String] Microsoft Teams team ID.
42
+ #
43
+ # @param query_options [Knockapi::Providers::MsTeamListChannelsParams::QueryOptions]
44
+ #
45
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
46
+ #
47
+ # @return [Knockapi::Models::Providers::MsTeamListChannelsResponse]
48
+ #
49
+ # @see Knockapi::Models::Providers::MsTeamListChannelsParams
50
+ def list_channels(channel_id, params)
51
+ parsed, options = Knockapi::Providers::MsTeamListChannelsParams.dump_request(params)
52
+ @client.request(
53
+ method: :get,
54
+ path: ["v1/providers/ms-teams/%1$s/channels", channel_id],
55
+ query: parsed,
56
+ model: Knockapi::Models::Providers::MsTeamListChannelsResponse,
57
+ options: options
58
+ )
59
+ end
60
+
61
+ # Get a list of teams belonging to the Microsoft Entra tenant. By default,
62
+ # archived and private channels are excluded from the results.
63
+ #
64
+ # @overload list_teams(channel_id, ms_teams_tenant_object:, query_options: nil, request_options: {})
65
+ #
66
+ # @param channel_id [String] The ID of the Knock Microsoft Teams channel to get teams for.
67
+ #
68
+ # @param ms_teams_tenant_object [String] A JSON encoded string containing the Microsoft Teams tenant object reference.
69
+ #
70
+ # @param query_options [Knockapi::Providers::MsTeamListTeamsParams::QueryOptions]
71
+ #
72
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
73
+ #
74
+ # @return [Knockapi::Internal::MsTeamsPagination<Knockapi::Models::Providers::MsTeamListTeamsResponse>]
75
+ #
76
+ # @see Knockapi::Models::Providers::MsTeamListTeamsParams
77
+ def list_teams(channel_id, params)
78
+ parsed, options = Knockapi::Providers::MsTeamListTeamsParams.dump_request(params)
79
+ @client.request(
80
+ method: :get,
81
+ path: ["v1/providers/ms-teams/%1$s/teams", channel_id],
82
+ query: parsed,
83
+ page: Knockapi::Internal::MsTeamsPagination,
84
+ model: Knockapi::Models::Providers::MsTeamListTeamsResponse,
85
+ options: options
86
+ )
87
+ end
88
+
89
+ # Remove a Microsoft Entra tenant ID from a Microsoft Teams tenant object.
90
+ #
91
+ # @overload revoke_access(channel_id, ms_teams_tenant_object:, request_options: {})
92
+ #
93
+ # @param channel_id [String] The ID of the Knock Microsoft Teams channel to revoke access for.
94
+ #
95
+ # @param ms_teams_tenant_object [String] A JSON encoded string containing the Microsoft Teams tenant object reference.
96
+ #
97
+ # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
98
+ #
99
+ # @return [Knockapi::Models::Providers::MsTeamRevokeAccessResponse]
100
+ #
101
+ # @see Knockapi::Models::Providers::MsTeamRevokeAccessParams
102
+ def revoke_access(channel_id, params)
103
+ parsed, options = Knockapi::Providers::MsTeamRevokeAccessParams.dump_request(params)
104
+ @client.request(
105
+ method: :put,
106
+ path: ["v1/providers/ms-teams/%1$s/revoke_access", channel_id],
107
+ query: parsed,
108
+ model: Knockapi::Models::Providers::MsTeamRevokeAccessResponse,
109
+ options: options
110
+ )
111
+ end
112
+
113
+ # @api private
114
+ #
115
+ # @param client [Knockapi::Client]
116
+ def initialize(client:)
117
+ @client = client
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end