trycourier 4.7.1 → 4.9.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 (418) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +63 -0
  3. data/README.md +25 -235
  4. data/lib/courier/client.rb +12 -0
  5. data/lib/courier/internal/util.rb +50 -6
  6. data/lib/courier/models/audience_delete_params.rb +7 -1
  7. data/lib/courier/models/audience_list_members_params.rb +8 -1
  8. data/lib/courier/models/audience_retrieve_params.rb +7 -1
  9. data/lib/courier/models/audience_update_params.rb +8 -1
  10. data/lib/courier/models/audit_event_retrieve_params.rb +7 -1
  11. data/lib/courier/models/automations/invoke_invoke_by_template_params.rb +7 -1
  12. data/lib/courier/models/brand_delete_params.rb +7 -1
  13. data/lib/courier/models/brand_retrieve_params.rb +7 -1
  14. data/lib/courier/models/brand_update_params.rb +8 -1
  15. data/lib/courier/models/bulk_add_users_params.rb +7 -1
  16. data/lib/courier/models/bulk_list_users_params.rb +8 -1
  17. data/lib/courier/models/bulk_retrieve_job_params.rb +7 -1
  18. data/lib/courier/models/bulk_run_job_params.rb +7 -1
  19. data/lib/courier/models/channel.rb +75 -0
  20. data/lib/courier/models/channel_metadata.rb +15 -0
  21. data/lib/courier/models/elemental_content.rb +3 -10
  22. data/lib/courier/models/elemental_html_node_with_type.rb +24 -0
  23. data/lib/courier/models/elemental_node.rb +3 -1
  24. data/lib/courier/models/journey.rb +63 -0
  25. data/lib/courier/models/journey_invoke_params.rb +20 -0
  26. data/lib/courier/models/journey_list_params.rb +47 -0
  27. data/lib/courier/models/journeys_invoke_request.rb +49 -0
  28. data/lib/courier/models/journeys_invoke_response.rb +17 -0
  29. data/lib/courier/models/journeys_list_response.rb +24 -0
  30. data/lib/courier/models/list_delete_params.rb +7 -1
  31. data/lib/courier/models/list_restore_params.rb +7 -1
  32. data/lib/courier/models/list_retrieve_params.rb +7 -1
  33. data/lib/courier/models/list_update_params.rb +7 -1
  34. data/lib/courier/models/lists/subscription_add_params.rb +7 -1
  35. data/lib/courier/models/lists/subscription_list_params.rb +8 -1
  36. data/lib/courier/models/lists/subscription_subscribe_params.rb +7 -1
  37. data/lib/courier/models/lists/subscription_subscribe_user_params.rb +7 -1
  38. data/lib/courier/models/lists/subscription_unsubscribe_user_params.rb +7 -1
  39. data/lib/courier/models/message_cancel_params.rb +7 -1
  40. data/lib/courier/models/message_channels.rb +8 -0
  41. data/lib/courier/models/message_content_params.rb +7 -1
  42. data/lib/courier/models/message_details.rb +37 -37
  43. data/lib/courier/models/message_history_params.rb +8 -1
  44. data/lib/courier/models/message_providers.rb +8 -0
  45. data/lib/courier/models/message_providers_type.rb +38 -0
  46. data/lib/courier/models/message_retrieve_params.rb +7 -1
  47. data/lib/courier/models/metadata.rb +15 -0
  48. data/lib/courier/models/notification_archive_params.rb +20 -0
  49. data/lib/courier/models/notification_create_params.rb +14 -0
  50. data/lib/courier/models/notification_list_params.rb +13 -4
  51. data/lib/courier/models/notification_list_response.rb +108 -93
  52. data/lib/courier/models/notification_list_versions_params.rb +37 -0
  53. data/lib/courier/models/notification_publish_params.rb +20 -0
  54. data/lib/courier/models/notification_replace_params.rb +20 -0
  55. data/lib/courier/models/notification_retrieve_content_params.rb +7 -1
  56. data/lib/courier/models/notification_retrieve_params.rb +33 -0
  57. data/lib/courier/models/notification_template_create_request.rb +45 -0
  58. data/lib/courier/models/notification_template_get_response.rb +92 -0
  59. data/lib/courier/models/notification_template_mutation_response.rb +51 -0
  60. data/lib/courier/models/notification_template_payload.rb +98 -0
  61. data/lib/courier/models/notification_template_publish_request.rb +19 -0
  62. data/lib/courier/models/notification_template_summary.rb +81 -0
  63. data/lib/courier/models/notification_template_update_request.rb +46 -0
  64. data/lib/courier/models/notification_template_version_list_response.rb +22 -0
  65. data/lib/courier/models/notifications/check_delete_params.rb +7 -1
  66. data/lib/courier/models/notifications/check_list_params.rb +7 -1
  67. data/lib/courier/models/notifications/check_update_params.rb +7 -1
  68. data/lib/courier/models/notifications/draft_retrieve_content_params.rb +7 -1
  69. data/lib/courier/models/profile_create_params.rb +7 -1
  70. data/lib/courier/models/profile_delete_params.rb +7 -1
  71. data/lib/courier/models/profile_replace_params.rb +7 -1
  72. data/lib/courier/models/profile_retrieve_params.rb +7 -1
  73. data/lib/courier/models/profile_update_params.rb +8 -1
  74. data/lib/courier/models/profiles/list_delete_params.rb +7 -1
  75. data/lib/courier/models/profiles/list_retrieve_params.rb +8 -1
  76. data/lib/courier/models/profiles/list_subscribe_params.rb +7 -1
  77. data/lib/courier/models/provider.rb +67 -0
  78. data/lib/courier/models/provider_create_params.rb +52 -0
  79. data/lib/courier/models/provider_delete_params.rb +20 -0
  80. data/lib/courier/models/provider_list_params.rb +22 -0
  81. data/lib/courier/models/provider_list_response.rb +24 -0
  82. data/lib/courier/models/provider_retrieve_params.rb +20 -0
  83. data/lib/courier/models/provider_update_params.rb +58 -0
  84. data/lib/courier/models/providers/catalog_list_params.rb +44 -0
  85. data/lib/courier/models/providers/catalog_list_response.rb +26 -0
  86. data/lib/courier/models/providers_catalog_entry.rb +86 -0
  87. data/lib/courier/models/request_archive_params.rb +7 -1
  88. data/lib/courier/models/routing_strategy_archive_params.rb +20 -0
  89. data/lib/courier/models/routing_strategy_create_params.rb +14 -0
  90. data/lib/courier/models/routing_strategy_create_request.rb +58 -0
  91. data/lib/courier/models/routing_strategy_get_response.rb +99 -0
  92. data/lib/courier/models/routing_strategy_list_params.rb +30 -0
  93. data/lib/courier/models/routing_strategy_list_response.rb +24 -0
  94. data/lib/courier/models/routing_strategy_mutation_response.rb +19 -0
  95. data/lib/courier/models/routing_strategy_replace_params.rb +20 -0
  96. data/lib/courier/models/routing_strategy_replace_request.rb +59 -0
  97. data/lib/courier/models/routing_strategy_retrieve_params.rb +20 -0
  98. data/lib/courier/models/routing_strategy_summary.rb +75 -0
  99. data/lib/courier/models/send_message_params.rb +6 -154
  100. data/lib/courier/models/tenant_delete_params.rb +7 -1
  101. data/lib/courier/models/tenant_list_users_params.rb +8 -1
  102. data/lib/courier/models/tenant_retrieve_params.rb +7 -1
  103. data/lib/courier/models/tenant_template_input.rb +6 -152
  104. data/lib/courier/models/tenant_update_params.rb +8 -1
  105. data/lib/courier/models/tenants/preferences/item_delete_params.rb +7 -1
  106. data/lib/courier/models/tenants/preferences/item_update_params.rb +7 -1
  107. data/lib/courier/models/tenants/template_list_params.rb +8 -1
  108. data/lib/courier/models/tenants/template_publish_params.rb +7 -1
  109. data/lib/courier/models/tenants/template_replace_params.rb +7 -1
  110. data/lib/courier/models/tenants/template_retrieve_params.rb +7 -1
  111. data/lib/courier/models/tenants/templates/version_retrieve_params.rb +7 -1
  112. data/lib/courier/models/timeouts.rb +21 -0
  113. data/lib/courier/models/translation_retrieve_params.rb +7 -1
  114. data/lib/courier/models/translation_update_params.rb +7 -1
  115. data/lib/courier/models/users/preference_retrieve_params.rb +8 -1
  116. data/lib/courier/models/users/preference_retrieve_topic_params.rb +8 -1
  117. data/lib/courier/models/users/preference_update_or_create_topic_params.rb +8 -1
  118. data/lib/courier/models/users/tenant_add_multiple_params.rb +7 -1
  119. data/lib/courier/models/users/tenant_add_single_params.rb +7 -1
  120. data/lib/courier/models/users/tenant_list_params.rb +8 -1
  121. data/lib/courier/models/users/tenant_remove_all_params.rb +7 -1
  122. data/lib/courier/models/users/tenant_remove_single_params.rb +7 -1
  123. data/lib/courier/models/users/token_add_multiple_params.rb +7 -1
  124. data/lib/courier/models/users/token_add_single_params.rb +168 -2
  125. data/lib/courier/models/users/token_delete_params.rb +7 -1
  126. data/lib/courier/models/users/token_list_params.rb +7 -1
  127. data/lib/courier/models/users/token_retrieve_params.rb +7 -1
  128. data/lib/courier/models/users/token_update_params.rb +7 -1
  129. data/lib/courier/models/version_node.rb +46 -0
  130. data/lib/courier/models.rb +98 -0
  131. data/lib/courier/resources/audiences.rb +4 -2
  132. data/lib/courier/resources/audit_events.rb +2 -1
  133. data/lib/courier/resources/automations.rb +2 -1
  134. data/lib/courier/resources/brands.rb +2 -1
  135. data/lib/courier/resources/bulk.rb +2 -1
  136. data/lib/courier/resources/journeys.rb +73 -0
  137. data/lib/courier/resources/lists/subscriptions.rb +2 -1
  138. data/lib/courier/resources/lists.rb +2 -1
  139. data/lib/courier/resources/messages.rb +4 -2
  140. data/lib/courier/resources/notifications.rb +167 -4
  141. data/lib/courier/resources/profiles/lists.rb +2 -1
  142. data/lib/courier/resources/providers/catalog.rb +49 -0
  143. data/lib/courier/resources/providers.rb +150 -0
  144. data/lib/courier/resources/routing_strategies.rb +151 -0
  145. data/lib/courier/resources/tenants/templates.rb +2 -1
  146. data/lib/courier/resources/tenants.rb +4 -2
  147. data/lib/courier/resources/users/preferences.rb +7 -4
  148. data/lib/courier/resources/users/tenants.rb +2 -1
  149. data/lib/courier/resources/users/tokens.rb +7 -9
  150. data/lib/courier/version.rb +1 -1
  151. data/lib/courier.rb +54 -0
  152. data/rbi/courier/client.rbi +9 -0
  153. data/rbi/courier/internal/util.rbi +28 -0
  154. data/rbi/courier/models/audience_delete_params.rbi +13 -5
  155. data/rbi/courier/models/audience_list_members_params.rbi +6 -0
  156. data/rbi/courier/models/audience_retrieve_params.rbi +13 -5
  157. data/rbi/courier/models/audience_update_params.rbi +6 -0
  158. data/rbi/courier/models/audit_event_retrieve_params.rbi +13 -5
  159. data/rbi/courier/models/automations/invoke_invoke_by_template_params.rbi +6 -0
  160. data/rbi/courier/models/brand_delete_params.rbi +13 -5
  161. data/rbi/courier/models/brand_retrieve_params.rbi +13 -5
  162. data/rbi/courier/models/brand_update_params.rbi +6 -0
  163. data/rbi/courier/models/bulk_add_users_params.rbi +6 -1
  164. data/rbi/courier/models/bulk_list_users_params.rbi +6 -0
  165. data/rbi/courier/models/bulk_retrieve_job_params.rbi +13 -5
  166. data/rbi/courier/models/bulk_run_job_params.rbi +13 -5
  167. data/rbi/courier/models/channel.rbi +106 -0
  168. data/rbi/courier/models/channel_metadata.rbi +28 -0
  169. data/rbi/courier/models/elemental_content.rbi +9 -12
  170. data/rbi/courier/models/elemental_html_node_with_type.rbi +59 -0
  171. data/rbi/courier/models/elemental_node.rbi +2 -1
  172. data/rbi/courier/models/journey.rbi +91 -0
  173. data/rbi/courier/models/journey_invoke_params.rbi +35 -0
  174. data/rbi/courier/models/journey_list_params.rbi +85 -0
  175. data/rbi/courier/models/journeys_invoke_request.rbi +84 -0
  176. data/rbi/courier/models/journeys_invoke_response.rbi +27 -0
  177. data/rbi/courier/models/journeys_list_response.rbi +46 -0
  178. data/rbi/courier/models/list_delete_params.rbi +13 -5
  179. data/rbi/courier/models/list_restore_params.rbi +13 -5
  180. data/rbi/courier/models/list_retrieve_params.rbi +13 -5
  181. data/rbi/courier/models/list_update_params.rbi +6 -1
  182. data/rbi/courier/models/lists/subscription_add_params.rbi +6 -1
  183. data/rbi/courier/models/lists/subscription_list_params.rbi +6 -0
  184. data/rbi/courier/models/lists/subscription_subscribe_params.rbi +6 -1
  185. data/rbi/courier/models/lists/subscription_subscribe_user_params.rbi +6 -1
  186. data/rbi/courier/models/lists/subscription_unsubscribe_user_params.rbi +10 -2
  187. data/rbi/courier/models/message_cancel_params.rbi +13 -5
  188. data/rbi/courier/models/message_channels.rbi +11 -0
  189. data/rbi/courier/models/message_content_params.rbi +13 -5
  190. data/rbi/courier/models/message_details.rbi +55 -43
  191. data/rbi/courier/models/message_history_params.rbi +10 -1
  192. data/rbi/courier/models/message_providers.rbi +11 -0
  193. data/rbi/courier/models/message_providers_type.rbi +60 -0
  194. data/rbi/courier/models/message_retrieve_params.rbi +13 -5
  195. data/rbi/courier/models/metadata.rbi +26 -0
  196. data/rbi/courier/models/notification_archive_params.rbi +35 -0
  197. data/rbi/courier/models/notification_create_params.rbi +27 -0
  198. data/rbi/courier/models/notification_list_params.rbi +15 -2
  199. data/rbi/courier/models/notification_list_response.rbi +159 -119
  200. data/rbi/courier/models/notification_list_versions_params.rbi +66 -0
  201. data/rbi/courier/models/notification_publish_params.rbi +35 -0
  202. data/rbi/courier/models/notification_replace_params.rbi +35 -0
  203. data/rbi/courier/models/notification_retrieve_content_params.rbi +13 -5
  204. data/rbi/courier/models/notification_retrieve_params.rbi +54 -0
  205. data/rbi/courier/models/notification_template_create_request.rbi +102 -0
  206. data/rbi/courier/models/notification_template_get_response.rbi +162 -0
  207. data/rbi/courier/models/notification_template_mutation_response.rbi +121 -0
  208. data/rbi/courier/models/notification_template_payload.rbi +183 -0
  209. data/rbi/courier/models/notification_template_publish_request.rbi +35 -0
  210. data/rbi/courier/models/notification_template_summary.rbi +124 -0
  211. data/rbi/courier/models/notification_template_update_request.rbi +103 -0
  212. data/rbi/courier/models/notification_template_version_list_response.rbi +41 -0
  213. data/rbi/courier/models/notifications/check_delete_params.rbi +10 -2
  214. data/rbi/courier/models/notifications/check_list_params.rbi +10 -2
  215. data/rbi/courier/models/notifications/check_update_params.rbi +6 -1
  216. data/rbi/courier/models/notifications/draft_retrieve_content_params.rbi +13 -5
  217. data/rbi/courier/models/profile_create_params.rbi +6 -1
  218. data/rbi/courier/models/profile_delete_params.rbi +13 -5
  219. data/rbi/courier/models/profile_replace_params.rbi +6 -1
  220. data/rbi/courier/models/profile_retrieve_params.rbi +13 -5
  221. data/rbi/courier/models/profile_update_params.rbi +6 -0
  222. data/rbi/courier/models/profiles/list_delete_params.rbi +13 -5
  223. data/rbi/courier/models/profiles/list_retrieve_params.rbi +6 -0
  224. data/rbi/courier/models/profiles/list_subscribe_params.rbi +6 -1
  225. data/rbi/courier/models/provider.rbi +87 -0
  226. data/rbi/courier/models/provider_create_params.rbi +82 -0
  227. data/rbi/courier/models/provider_delete_params.rbi +35 -0
  228. data/rbi/courier/models/provider_list_params.rbi +43 -0
  229. data/rbi/courier/models/provider_list_response.rbi +42 -0
  230. data/rbi/courier/models/provider_retrieve_params.rbi +35 -0
  231. data/rbi/courier/models/provider_update_params.rbi +86 -0
  232. data/rbi/courier/models/providers/catalog_list_params.rbi +75 -0
  233. data/rbi/courier/models/providers/catalog_list_response.rbi +47 -0
  234. data/rbi/courier/models/providers_catalog_entry.rbi +129 -0
  235. data/rbi/courier/models/request_archive_params.rbi +13 -5
  236. data/rbi/courier/models/routing_strategy_archive_params.rbi +38 -0
  237. data/rbi/courier/models/routing_strategy_create_params.rbi +30 -0
  238. data/rbi/courier/models/routing_strategy_create_request.rbi +86 -0
  239. data/rbi/courier/models/routing_strategy_get_response.rbi +121 -0
  240. data/rbi/courier/models/routing_strategy_list_params.rbi +54 -0
  241. data/rbi/courier/models/routing_strategy_list_response.rbi +45 -0
  242. data/rbi/courier/models/routing_strategy_mutation_response.rbi +31 -0
  243. data/rbi/courier/models/routing_strategy_replace_params.rbi +38 -0
  244. data/rbi/courier/models/routing_strategy_replace_request.rbi +87 -0
  245. data/rbi/courier/models/routing_strategy_retrieve_params.rbi +38 -0
  246. data/rbi/courier/models/routing_strategy_summary.rbi +95 -0
  247. data/rbi/courier/models/send_message_params.rbi +6 -362
  248. data/rbi/courier/models/tenant_delete_params.rbi +13 -5
  249. data/rbi/courier/models/tenant_list_users_params.rbi +6 -0
  250. data/rbi/courier/models/tenant_retrieve_params.rbi +13 -5
  251. data/rbi/courier/models/tenant_template_input.rbi +8 -336
  252. data/rbi/courier/models/tenant_update_params.rbi +6 -0
  253. data/rbi/courier/models/tenants/preferences/item_delete_params.rbi +10 -2
  254. data/rbi/courier/models/tenants/preferences/item_update_params.rbi +10 -2
  255. data/rbi/courier/models/tenants/template_list_params.rbi +6 -0
  256. data/rbi/courier/models/tenants/template_publish_params.rbi +10 -2
  257. data/rbi/courier/models/tenants/template_replace_params.rbi +10 -2
  258. data/rbi/courier/models/tenants/template_retrieve_params.rbi +10 -2
  259. data/rbi/courier/models/tenants/templates/version_retrieve_params.rbi +6 -1
  260. data/rbi/courier/models/timeouts.rbi +33 -0
  261. data/rbi/courier/models/translation_retrieve_params.rbi +10 -2
  262. data/rbi/courier/models/translation_update_params.rbi +6 -1
  263. data/rbi/courier/models/users/preference_retrieve_params.rbi +6 -0
  264. data/rbi/courier/models/users/preference_retrieve_topic_params.rbi +6 -0
  265. data/rbi/courier/models/users/preference_update_or_create_topic_params.rbi +6 -0
  266. data/rbi/courier/models/users/tenant_add_multiple_params.rbi +6 -1
  267. data/rbi/courier/models/users/tenant_add_single_params.rbi +6 -1
  268. data/rbi/courier/models/users/tenant_list_params.rbi +6 -0
  269. data/rbi/courier/models/users/tenant_remove_all_params.rbi +13 -5
  270. data/rbi/courier/models/users/tenant_remove_single_params.rbi +10 -2
  271. data/rbi/courier/models/users/token_add_multiple_params.rbi +13 -5
  272. data/rbi/courier/models/users/token_add_single_params.rbi +290 -3
  273. data/rbi/courier/models/users/token_delete_params.rbi +10 -2
  274. data/rbi/courier/models/users/token_list_params.rbi +13 -5
  275. data/rbi/courier/models/users/token_retrieve_params.rbi +10 -2
  276. data/rbi/courier/models/users/token_update_params.rbi +6 -1
  277. data/rbi/courier/models/version_node.rbi +65 -0
  278. data/rbi/courier/models.rbi +106 -0
  279. data/rbi/courier/resources/journeys.rbi +64 -0
  280. data/rbi/courier/resources/notifications.rbi +119 -1
  281. data/rbi/courier/resources/providers/catalog.rbi +38 -0
  282. data/rbi/courier/resources/providers.rbi +116 -0
  283. data/rbi/courier/resources/routing_strategies.rbi +126 -0
  284. data/rbi/courier/resources/users/tokens.rbi +11 -9
  285. data/sig/courier/client.rbs +6 -0
  286. data/sig/courier/internal/util.rbs +14 -0
  287. data/sig/courier/models/audience_delete_params.rbs +11 -3
  288. data/sig/courier/models/audience_list_members_params.rbs +6 -1
  289. data/sig/courier/models/audience_retrieve_params.rbs +11 -3
  290. data/sig/courier/models/audience_update_params.rbs +5 -0
  291. data/sig/courier/models/audit_event_retrieve_params.rbs +11 -3
  292. data/sig/courier/models/automations/invoke_invoke_by_template_params.rbs +5 -0
  293. data/sig/courier/models/brand_delete_params.rbs +11 -3
  294. data/sig/courier/models/brand_retrieve_params.rbs +11 -3
  295. data/sig/courier/models/brand_update_params.rbs +5 -0
  296. data/sig/courier/models/bulk_add_users_params.rbs +5 -1
  297. data/sig/courier/models/bulk_list_users_params.rbs +6 -1
  298. data/sig/courier/models/bulk_retrieve_job_params.rbs +11 -3
  299. data/sig/courier/models/bulk_run_job_params.rbs +11 -3
  300. data/sig/courier/models/channel.rbs +61 -0
  301. data/sig/courier/models/channel_metadata.rbs +13 -0
  302. data/sig/courier/models/elemental_content.rbs +3 -11
  303. data/sig/courier/models/elemental_html_node_with_type.rbs +32 -0
  304. data/sig/courier/models/elemental_node.rbs +1 -0
  305. data/sig/courier/models/journey.rbs +55 -0
  306. data/sig/courier/models/journey_invoke_params.rbs +25 -0
  307. data/sig/courier/models/journey_list_params.rbs +45 -0
  308. data/sig/courier/models/journeys_invoke_request.rbs +36 -0
  309. data/sig/courier/models/journeys_invoke_response.rbs +13 -0
  310. data/sig/courier/models/journeys_list_response.rbs +23 -0
  311. data/sig/courier/models/list_delete_params.rbs +12 -3
  312. data/sig/courier/models/list_restore_params.rbs +11 -3
  313. data/sig/courier/models/list_retrieve_params.rbs +11 -3
  314. data/sig/courier/models/list_update_params.rbs +9 -1
  315. data/sig/courier/models/lists/subscription_add_params.rbs +8 -1
  316. data/sig/courier/models/lists/subscription_list_params.rbs +6 -1
  317. data/sig/courier/models/lists/subscription_subscribe_params.rbs +8 -1
  318. data/sig/courier/models/lists/subscription_subscribe_user_params.rbs +9 -1
  319. data/sig/courier/models/lists/subscription_unsubscribe_user_params.rbs +6 -1
  320. data/sig/courier/models/message_cancel_params.rbs +11 -3
  321. data/sig/courier/models/message_channels.rbs +7 -0
  322. data/sig/courier/models/message_content_params.rbs +11 -3
  323. data/sig/courier/models/message_details.rbs +31 -23
  324. data/sig/courier/models/message_history_params.rbs +6 -1
  325. data/sig/courier/models/message_providers.rbs +7 -0
  326. data/sig/courier/models/message_providers_type.rbs +35 -0
  327. data/sig/courier/models/message_retrieve_params.rbs +11 -3
  328. data/sig/courier/models/metadata.rbs +13 -0
  329. data/sig/courier/models/notification_archive_params.rbs +20 -0
  330. data/sig/courier/models/notification_create_params.rbs +15 -0
  331. data/sig/courier/models/notification_list_params.rbs +7 -1
  332. data/sig/courier/models/notification_list_response.rbs +81 -71
  333. data/sig/courier/models/notification_list_versions_params.rbs +36 -0
  334. data/sig/courier/models/notification_publish_params.rbs +22 -0
  335. data/sig/courier/models/notification_replace_params.rbs +22 -0
  336. data/sig/courier/models/notification_retrieve_content_params.rbs +8 -3
  337. data/sig/courier/models/notification_retrieve_params.rbs +30 -0
  338. data/sig/courier/models/notification_template_create_request.rbs +40 -0
  339. data/sig/courier/models/notification_template_get_response.rbs +72 -0
  340. data/sig/courier/models/notification_template_mutation_response.rbs +46 -0
  341. data/sig/courier/models/notification_template_payload.rbs +75 -0
  342. data/sig/courier/models/notification_template_publish_request.rbs +15 -0
  343. data/sig/courier/models/notification_template_summary.rbs +70 -0
  344. data/sig/courier/models/notification_template_update_request.rbs +40 -0
  345. data/sig/courier/models/notification_template_version_list_response.rbs +22 -0
  346. data/sig/courier/models/notifications/check_delete_params.rbs +10 -2
  347. data/sig/courier/models/notifications/check_list_params.rbs +10 -2
  348. data/sig/courier/models/notifications/check_update_params.rbs +9 -1
  349. data/sig/courier/models/notifications/draft_retrieve_content_params.rbs +8 -3
  350. data/sig/courier/models/profile_create_params.rbs +5 -1
  351. data/sig/courier/models/profile_delete_params.rbs +11 -3
  352. data/sig/courier/models/profile_replace_params.rbs +5 -1
  353. data/sig/courier/models/profile_retrieve_params.rbs +11 -3
  354. data/sig/courier/models/profile_update_params.rbs +5 -1
  355. data/sig/courier/models/profiles/list_delete_params.rbs +11 -3
  356. data/sig/courier/models/profiles/list_retrieve_params.rbs +6 -1
  357. data/sig/courier/models/profiles/list_subscribe_params.rbs +8 -1
  358. data/sig/courier/models/provider.rbs +52 -0
  359. data/sig/courier/models/provider_create_params.rbs +47 -0
  360. data/sig/courier/models/provider_delete_params.rbs +20 -0
  361. data/sig/courier/models/provider_list_params.rbs +25 -0
  362. data/sig/courier/models/provider_list_response.rbs +22 -0
  363. data/sig/courier/models/provider_retrieve_params.rbs +20 -0
  364. data/sig/courier/models/provider_update_params.rbs +52 -0
  365. data/sig/courier/models/providers/catalog_list_params.rbs +40 -0
  366. data/sig/courier/models/providers/catalog_list_response.rbs +27 -0
  367. data/sig/courier/models/providers_catalog_entry.rbs +64 -0
  368. data/sig/courier/models/request_archive_params.rbs +11 -3
  369. data/sig/courier/models/routing_strategy_archive_params.rbs +20 -0
  370. data/sig/courier/models/routing_strategy_create_params.rbs +15 -0
  371. data/sig/courier/models/routing_strategy_create_request.rbs +45 -0
  372. data/sig/courier/models/routing_strategy_get_response.rbs +70 -0
  373. data/sig/courier/models/routing_strategy_list_params.rbs +30 -0
  374. data/sig/courier/models/routing_strategy_list_response.rbs +25 -0
  375. data/sig/courier/models/routing_strategy_mutation_response.rbs +13 -0
  376. data/sig/courier/models/routing_strategy_replace_params.rbs +22 -0
  377. data/sig/courier/models/routing_strategy_replace_request.rbs +45 -0
  378. data/sig/courier/models/routing_strategy_retrieve_params.rbs +20 -0
  379. data/sig/courier/models/routing_strategy_summary.rbs +55 -0
  380. data/sig/courier/models/send_message_params.rbs +8 -130
  381. data/sig/courier/models/tenant_delete_params.rbs +11 -3
  382. data/sig/courier/models/tenant_list_users_params.rbs +5 -1
  383. data/sig/courier/models/tenant_retrieve_params.rbs +11 -3
  384. data/sig/courier/models/tenant_template_input.rbs +12 -134
  385. data/sig/courier/models/tenant_update_params.rbs +5 -0
  386. data/sig/courier/models/tenants/preferences/item_delete_params.rbs +6 -1
  387. data/sig/courier/models/tenants/preferences/item_update_params.rbs +8 -1
  388. data/sig/courier/models/tenants/template_list_params.rbs +5 -1
  389. data/sig/courier/models/tenants/template_publish_params.rbs +8 -1
  390. data/sig/courier/models/tenants/template_replace_params.rbs +8 -1
  391. data/sig/courier/models/tenants/template_retrieve_params.rbs +6 -1
  392. data/sig/courier/models/tenants/templates/version_retrieve_params.rbs +5 -1
  393. data/sig/courier/models/timeouts.rbs +15 -0
  394. data/sig/courier/models/translation_retrieve_params.rbs +6 -1
  395. data/sig/courier/models/translation_update_params.rbs +5 -1
  396. data/sig/courier/models/users/preference_retrieve_params.rbs +6 -1
  397. data/sig/courier/models/users/preference_retrieve_topic_params.rbs +5 -1
  398. data/sig/courier/models/users/preference_update_or_create_topic_params.rbs +5 -0
  399. data/sig/courier/models/users/tenant_add_multiple_params.rbs +5 -1
  400. data/sig/courier/models/users/tenant_add_single_params.rbs +5 -1
  401. data/sig/courier/models/users/tenant_list_params.rbs +5 -1
  402. data/sig/courier/models/users/tenant_remove_all_params.rbs +11 -3
  403. data/sig/courier/models/users/tenant_remove_single_params.rbs +6 -1
  404. data/sig/courier/models/users/token_add_multiple_params.rbs +11 -3
  405. data/sig/courier/models/users/token_add_single_params.rbs +127 -4
  406. data/sig/courier/models/users/token_delete_params.rbs +6 -1
  407. data/sig/courier/models/users/token_list_params.rbs +11 -3
  408. data/sig/courier/models/users/token_retrieve_params.rbs +6 -1
  409. data/sig/courier/models/users/token_update_params.rbs +5 -0
  410. data/sig/courier/models/version_node.rbs +32 -0
  411. data/sig/courier/models.rbs +96 -0
  412. data/sig/courier/resources/journeys.rbs +21 -0
  413. data/sig/courier/resources/notifications.rbs +35 -0
  414. data/sig/courier/resources/providers/catalog.rbs +16 -0
  415. data/sig/courier/resources/providers.rbs +38 -0
  416. data/sig/courier/resources/routing_strategies.rbs +41 -0
  417. data/sig/courier/resources/users/tokens.rbs +5 -6
  418. metadata +164 -2
@@ -14,23 +14,28 @@ module Courier
14
14
  sig { returns(String) }
15
15
  attr_accessor :domain
16
16
 
17
+ sig { returns(String) }
18
+ attr_accessor :locale
19
+
17
20
  sig { returns(String) }
18
21
  attr_accessor :body
19
22
 
20
23
  sig do
21
24
  params(
22
25
  domain: String,
26
+ locale: String,
23
27
  body: String,
24
28
  request_options: Courier::RequestOptions::OrHash
25
29
  ).returns(T.attached_class)
26
30
  end
27
- def self.new(domain:, body:, request_options: {})
31
+ def self.new(domain:, locale:, body:, request_options: {})
28
32
  end
29
33
 
30
34
  sig do
31
35
  override.returns(
32
36
  {
33
37
  domain: String,
38
+ locale: String,
34
39
  body: String,
35
40
  request_options: Courier::RequestOptions
36
41
  }
@@ -15,17 +15,22 @@ module Courier
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :user_id
20
+
18
21
  # Query the preferences of a user for this specific tenant context.
19
22
  sig { returns(T.nilable(String)) }
20
23
  attr_accessor :tenant_id
21
24
 
22
25
  sig do
23
26
  params(
27
+ user_id: String,
24
28
  tenant_id: T.nilable(String),
25
29
  request_options: Courier::RequestOptions::OrHash
26
30
  ).returns(T.attached_class)
27
31
  end
28
32
  def self.new(
33
+ user_id:,
29
34
  # Query the preferences of a user for this specific tenant context.
30
35
  tenant_id: nil,
31
36
  request_options: {}
@@ -35,6 +40,7 @@ module Courier
35
40
  sig do
36
41
  override.returns(
37
42
  {
43
+ user_id: String,
38
44
  tenant_id: T.nilable(String),
39
45
  request_options: Courier::RequestOptions
40
46
  }
@@ -18,6 +18,9 @@ module Courier
18
18
  sig { returns(String) }
19
19
  attr_accessor :user_id
20
20
 
21
+ sig { returns(String) }
22
+ attr_accessor :topic_id
23
+
21
24
  # Query the preferences of a user for this specific tenant context.
22
25
  sig { returns(T.nilable(String)) }
23
26
  attr_accessor :tenant_id
@@ -25,12 +28,14 @@ module Courier
25
28
  sig do
26
29
  params(
27
30
  user_id: String,
31
+ topic_id: String,
28
32
  tenant_id: T.nilable(String),
29
33
  request_options: Courier::RequestOptions::OrHash
30
34
  ).returns(T.attached_class)
31
35
  end
32
36
  def self.new(
33
37
  user_id:,
38
+ topic_id:,
34
39
  # Query the preferences of a user for this specific tenant context.
35
40
  tenant_id: nil,
36
41
  request_options: {}
@@ -41,6 +46,7 @@ module Courier
41
46
  override.returns(
42
47
  {
43
48
  user_id: String,
49
+ topic_id: String,
44
50
  tenant_id: T.nilable(String),
45
51
  request_options: Courier::RequestOptions
46
52
  }
@@ -18,6 +18,9 @@ module Courier
18
18
  sig { returns(String) }
19
19
  attr_accessor :user_id
20
20
 
21
+ sig { returns(String) }
22
+ attr_accessor :topic_id
23
+
21
24
  sig do
22
25
  returns(Courier::Users::PreferenceUpdateOrCreateTopicParams::Topic)
23
26
  end
@@ -38,6 +41,7 @@ module Courier
38
41
  sig do
39
42
  params(
40
43
  user_id: String,
44
+ topic_id: String,
41
45
  topic:
42
46
  Courier::Users::PreferenceUpdateOrCreateTopicParams::Topic::OrHash,
43
47
  tenant_id: T.nilable(String),
@@ -46,6 +50,7 @@ module Courier
46
50
  end
47
51
  def self.new(
48
52
  user_id:,
53
+ topic_id:,
49
54
  topic:,
50
55
  # Update the preferences of a user for this specific tenant context.
51
56
  tenant_id: nil,
@@ -57,6 +62,7 @@ module Courier
57
62
  override.returns(
58
63
  {
59
64
  user_id: String,
65
+ topic_id: String,
60
66
  topic: Courier::Users::PreferenceUpdateOrCreateTopicParams::Topic,
61
67
  tenant_id: T.nilable(String),
62
68
  request_options: Courier::RequestOptions
@@ -15,21 +15,26 @@ module Courier
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :user_id
20
+
18
21
  sig { returns(T::Array[Courier::TenantAssociation]) }
19
22
  attr_accessor :tenants
20
23
 
21
24
  sig do
22
25
  params(
26
+ user_id: String,
23
27
  tenants: T::Array[Courier::TenantAssociation::OrHash],
24
28
  request_options: Courier::RequestOptions::OrHash
25
29
  ).returns(T.attached_class)
26
30
  end
27
- def self.new(tenants:, request_options: {})
31
+ def self.new(user_id:, tenants:, request_options: {})
28
32
  end
29
33
 
30
34
  sig do
31
35
  override.returns(
32
36
  {
37
+ user_id: String,
33
38
  tenants: T::Array[Courier::TenantAssociation],
34
39
  request_options: Courier::RequestOptions
35
40
  }
@@ -18,23 +18,28 @@ module Courier
18
18
  sig { returns(String) }
19
19
  attr_accessor :user_id
20
20
 
21
+ sig { returns(String) }
22
+ attr_accessor :tenant_id
23
+
21
24
  sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
22
25
  attr_accessor :profile
23
26
 
24
27
  sig do
25
28
  params(
26
29
  user_id: String,
30
+ tenant_id: String,
27
31
  profile: T.nilable(T::Hash[Symbol, T.anything]),
28
32
  request_options: Courier::RequestOptions::OrHash
29
33
  ).returns(T.attached_class)
30
34
  end
31
- def self.new(user_id:, profile: nil, request_options: {})
35
+ def self.new(user_id:, tenant_id:, profile: nil, request_options: {})
32
36
  end
33
37
 
34
38
  sig do
35
39
  override.returns(
36
40
  {
37
41
  user_id: String,
42
+ tenant_id: String,
38
43
  profile: T.nilable(T::Hash[Symbol, T.anything]),
39
44
  request_options: Courier::RequestOptions
40
45
  }
@@ -12,6 +12,9 @@ module Courier
12
12
  T.any(Courier::Users::TenantListParams, Courier::Internal::AnyHash)
13
13
  end
14
14
 
15
+ sig { returns(String) }
16
+ attr_accessor :user_id
17
+
15
18
  # Continue the pagination with the next cursor
16
19
  sig { returns(T.nilable(String)) }
17
20
  attr_accessor :cursor
@@ -22,12 +25,14 @@ module Courier
22
25
 
23
26
  sig do
24
27
  params(
28
+ user_id: String,
25
29
  cursor: T.nilable(String),
26
30
  limit: T.nilable(Integer),
27
31
  request_options: Courier::RequestOptions::OrHash
28
32
  ).returns(T.attached_class)
29
33
  end
30
34
  def self.new(
35
+ user_id:,
31
36
  # Continue the pagination with the next cursor
32
37
  cursor: nil,
33
38
  # The number of accounts to return (defaults to 20, maximum value of 100)
@@ -39,6 +44,7 @@ module Courier
39
44
  sig do
40
45
  override.returns(
41
46
  {
47
+ user_id: String,
42
48
  cursor: T.nilable(String),
43
49
  limit: T.nilable(Integer),
44
50
  request_options: Courier::RequestOptions
@@ -15,15 +15,23 @@ module Courier
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :user_id
20
+
18
21
  sig do
19
- params(request_options: Courier::RequestOptions::OrHash).returns(
20
- T.attached_class
21
- )
22
+ params(
23
+ user_id: String,
24
+ request_options: Courier::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
22
26
  end
23
- def self.new(request_options: {})
27
+ def self.new(user_id:, request_options: {})
24
28
  end
25
29
 
26
- sig { override.returns({ request_options: Courier::RequestOptions }) }
30
+ sig do
31
+ override.returns(
32
+ { user_id: String, request_options: Courier::RequestOptions }
33
+ )
34
+ end
27
35
  def to_hash
28
36
  end
29
37
  end
@@ -18,18 +18,26 @@ module Courier
18
18
  sig { returns(String) }
19
19
  attr_accessor :user_id
20
20
 
21
+ sig { returns(String) }
22
+ attr_accessor :tenant_id
23
+
21
24
  sig do
22
25
  params(
23
26
  user_id: String,
27
+ tenant_id: String,
24
28
  request_options: Courier::RequestOptions::OrHash
25
29
  ).returns(T.attached_class)
26
30
  end
27
- def self.new(user_id:, request_options: {})
31
+ def self.new(user_id:, tenant_id:, request_options: {})
28
32
  end
29
33
 
30
34
  sig do
31
35
  override.returns(
32
- { user_id: String, request_options: Courier::RequestOptions }
36
+ {
37
+ user_id: String,
38
+ tenant_id: String,
39
+ request_options: Courier::RequestOptions
40
+ }
33
41
  )
34
42
  end
35
43
  def to_hash
@@ -15,15 +15,23 @@ module Courier
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :user_id
20
+
18
21
  sig do
19
- params(request_options: Courier::RequestOptions::OrHash).returns(
20
- T.attached_class
21
- )
22
+ params(
23
+ user_id: String,
24
+ request_options: Courier::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
22
26
  end
23
- def self.new(request_options: {})
27
+ def self.new(user_id:, request_options: {})
24
28
  end
25
29
 
26
- sig { override.returns({ request_options: Courier::RequestOptions }) }
30
+ sig do
31
+ override.returns(
32
+ { user_id: String, request_options: Courier::RequestOptions }
33
+ )
34
+ end
27
35
  def to_hash
28
36
  end
29
37
  end
@@ -3,7 +3,7 @@
3
3
  module Courier
4
4
  module Models
5
5
  module Users
6
- class TokenAddSingleParams < Courier::Models::Users::UserToken
6
+ class TokenAddSingleParams < Courier::Internal::Type::BaseModel
7
7
  extend Courier::Internal::Type::RequestParameters::Converter
8
8
  include Courier::Internal::Type::RequestParameters
9
9
 
@@ -18,22 +18,309 @@ module Courier
18
18
  sig { returns(String) }
19
19
  attr_accessor :user_id
20
20
 
21
+ sig { returns(String) }
22
+ attr_accessor :token
23
+
24
+ sig do
25
+ returns(Courier::Users::TokenAddSingleParams::ProviderKey::OrSymbol)
26
+ end
27
+ attr_accessor :provider_key
28
+
29
+ # Information about the device the token came from.
30
+ sig { returns(T.nilable(Courier::Users::TokenAddSingleParams::Device)) }
31
+ attr_reader :device
32
+
33
+ sig do
34
+ params(
35
+ device:
36
+ T.nilable(Courier::Users::TokenAddSingleParams::Device::OrHash)
37
+ ).void
38
+ end
39
+ attr_writer :device
40
+
41
+ # ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
42
+ # disable expiration.
43
+ sig do
44
+ returns(
45
+ T.nilable(
46
+ Courier::Users::TokenAddSingleParams::ExpiryDate::Variants
47
+ )
48
+ )
49
+ end
50
+ attr_accessor :expiry_date
51
+
52
+ # Properties about the token.
53
+ sig { returns(T.nilable(T.anything)) }
54
+ attr_reader :properties
55
+
56
+ sig { params(properties: T.anything).void }
57
+ attr_writer :properties
58
+
59
+ # Tracking information about the device the token came from.
60
+ sig do
61
+ returns(T.nilable(Courier::Users::TokenAddSingleParams::Tracking))
62
+ end
63
+ attr_reader :tracking
64
+
65
+ sig do
66
+ params(
67
+ tracking:
68
+ T.nilable(Courier::Users::TokenAddSingleParams::Tracking::OrHash)
69
+ ).void
70
+ end
71
+ attr_writer :tracking
72
+
21
73
  sig do
22
74
  params(
23
75
  user_id: String,
76
+ token: String,
77
+ provider_key:
78
+ Courier::Users::TokenAddSingleParams::ProviderKey::OrSymbol,
79
+ device:
80
+ T.nilable(Courier::Users::TokenAddSingleParams::Device::OrHash),
81
+ expiry_date:
82
+ T.nilable(
83
+ Courier::Users::TokenAddSingleParams::ExpiryDate::Variants
84
+ ),
85
+ properties: T.anything,
86
+ tracking:
87
+ T.nilable(Courier::Users::TokenAddSingleParams::Tracking::OrHash),
24
88
  request_options: Courier::RequestOptions::OrHash
25
89
  ).returns(T.attached_class)
26
90
  end
27
- def self.new(user_id:, request_options: {})
91
+ def self.new(
92
+ user_id:,
93
+ token:,
94
+ provider_key:,
95
+ # Information about the device the token came from.
96
+ device: nil,
97
+ # ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
98
+ # disable expiration.
99
+ expiry_date: nil,
100
+ # Properties about the token.
101
+ properties: nil,
102
+ # Tracking information about the device the token came from.
103
+ tracking: nil,
104
+ request_options: {}
105
+ )
28
106
  end
29
107
 
30
108
  sig do
31
109
  override.returns(
32
- { user_id: String, request_options: Courier::RequestOptions }
110
+ {
111
+ user_id: String,
112
+ token: String,
113
+ provider_key:
114
+ Courier::Users::TokenAddSingleParams::ProviderKey::OrSymbol,
115
+ device: T.nilable(Courier::Users::TokenAddSingleParams::Device),
116
+ expiry_date:
117
+ T.nilable(
118
+ Courier::Users::TokenAddSingleParams::ExpiryDate::Variants
119
+ ),
120
+ properties: T.anything,
121
+ tracking:
122
+ T.nilable(Courier::Users::TokenAddSingleParams::Tracking),
123
+ request_options: Courier::RequestOptions
124
+ }
33
125
  )
34
126
  end
35
127
  def to_hash
36
128
  end
129
+
130
+ module ProviderKey
131
+ extend Courier::Internal::Type::Enum
132
+
133
+ TaggedSymbol =
134
+ T.type_alias do
135
+ T.all(Symbol, Courier::Users::TokenAddSingleParams::ProviderKey)
136
+ end
137
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
138
+
139
+ FIREBASE_FCM =
140
+ T.let(
141
+ :"firebase-fcm",
142
+ Courier::Users::TokenAddSingleParams::ProviderKey::TaggedSymbol
143
+ )
144
+ APN =
145
+ T.let(
146
+ :apn,
147
+ Courier::Users::TokenAddSingleParams::ProviderKey::TaggedSymbol
148
+ )
149
+ EXPO =
150
+ T.let(
151
+ :expo,
152
+ Courier::Users::TokenAddSingleParams::ProviderKey::TaggedSymbol
153
+ )
154
+ ONESIGNAL =
155
+ T.let(
156
+ :onesignal,
157
+ Courier::Users::TokenAddSingleParams::ProviderKey::TaggedSymbol
158
+ )
159
+
160
+ sig do
161
+ override.returns(
162
+ T::Array[
163
+ Courier::Users::TokenAddSingleParams::ProviderKey::TaggedSymbol
164
+ ]
165
+ )
166
+ end
167
+ def self.values
168
+ end
169
+ end
170
+
171
+ class Device < Courier::Internal::Type::BaseModel
172
+ OrHash =
173
+ T.type_alias do
174
+ T.any(
175
+ Courier::Users::TokenAddSingleParams::Device,
176
+ Courier::Internal::AnyHash
177
+ )
178
+ end
179
+
180
+ # Id of the advertising identifier
181
+ sig { returns(T.nilable(String)) }
182
+ attr_accessor :ad_id
183
+
184
+ # Id of the application the token is used for
185
+ sig { returns(T.nilable(String)) }
186
+ attr_accessor :app_id
187
+
188
+ # Id of the device the token is associated with
189
+ sig { returns(T.nilable(String)) }
190
+ attr_accessor :device_id
191
+
192
+ # The device manufacturer
193
+ sig { returns(T.nilable(String)) }
194
+ attr_accessor :manufacturer
195
+
196
+ # The device model
197
+ sig { returns(T.nilable(String)) }
198
+ attr_accessor :model
199
+
200
+ # The device platform i.e. android, ios, web
201
+ sig { returns(T.nilable(String)) }
202
+ attr_accessor :platform
203
+
204
+ # Information about the device the token came from.
205
+ sig do
206
+ params(
207
+ ad_id: T.nilable(String),
208
+ app_id: T.nilable(String),
209
+ device_id: T.nilable(String),
210
+ manufacturer: T.nilable(String),
211
+ model: T.nilable(String),
212
+ platform: T.nilable(String)
213
+ ).returns(T.attached_class)
214
+ end
215
+ def self.new(
216
+ # Id of the advertising identifier
217
+ ad_id: nil,
218
+ # Id of the application the token is used for
219
+ app_id: nil,
220
+ # Id of the device the token is associated with
221
+ device_id: nil,
222
+ # The device manufacturer
223
+ manufacturer: nil,
224
+ # The device model
225
+ model: nil,
226
+ # The device platform i.e. android, ios, web
227
+ platform: nil
228
+ )
229
+ end
230
+
231
+ sig do
232
+ override.returns(
233
+ {
234
+ ad_id: T.nilable(String),
235
+ app_id: T.nilable(String),
236
+ device_id: T.nilable(String),
237
+ manufacturer: T.nilable(String),
238
+ model: T.nilable(String),
239
+ platform: T.nilable(String)
240
+ }
241
+ )
242
+ end
243
+ def to_hash
244
+ end
245
+ end
246
+
247
+ # ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
248
+ # disable expiration.
249
+ module ExpiryDate
250
+ extend Courier::Internal::Type::Union
251
+
252
+ Variants = T.type_alias { T.any(String, T::Boolean) }
253
+
254
+ sig do
255
+ override.returns(
256
+ T::Array[
257
+ Courier::Users::TokenAddSingleParams::ExpiryDate::Variants
258
+ ]
259
+ )
260
+ end
261
+ def self.variants
262
+ end
263
+ end
264
+
265
+ class Tracking < Courier::Internal::Type::BaseModel
266
+ OrHash =
267
+ T.type_alias do
268
+ T.any(
269
+ Courier::Users::TokenAddSingleParams::Tracking,
270
+ Courier::Internal::AnyHash
271
+ )
272
+ end
273
+
274
+ # The IP address of the device
275
+ sig { returns(T.nilable(String)) }
276
+ attr_accessor :ip
277
+
278
+ # The latitude of the device
279
+ sig { returns(T.nilable(String)) }
280
+ attr_accessor :lat
281
+
282
+ # The longitude of the device
283
+ sig { returns(T.nilable(String)) }
284
+ attr_accessor :long
285
+
286
+ # The operating system version
287
+ sig { returns(T.nilable(String)) }
288
+ attr_accessor :os_version
289
+
290
+ # Tracking information about the device the token came from.
291
+ sig do
292
+ params(
293
+ ip: T.nilable(String),
294
+ lat: T.nilable(String),
295
+ long: T.nilable(String),
296
+ os_version: T.nilable(String)
297
+ ).returns(T.attached_class)
298
+ end
299
+ def self.new(
300
+ # The IP address of the device
301
+ ip: nil,
302
+ # The latitude of the device
303
+ lat: nil,
304
+ # The longitude of the device
305
+ long: nil,
306
+ # The operating system version
307
+ os_version: nil
308
+ )
309
+ end
310
+
311
+ sig do
312
+ override.returns(
313
+ {
314
+ ip: T.nilable(String),
315
+ lat: T.nilable(String),
316
+ long: T.nilable(String),
317
+ os_version: T.nilable(String)
318
+ }
319
+ )
320
+ end
321
+ def to_hash
322
+ end
323
+ end
37
324
  end
38
325
  end
39
326
  end
@@ -15,18 +15,26 @@ module Courier
15
15
  sig { returns(String) }
16
16
  attr_accessor :user_id
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :token
20
+
18
21
  sig do
19
22
  params(
20
23
  user_id: String,
24
+ token: String,
21
25
  request_options: Courier::RequestOptions::OrHash
22
26
  ).returns(T.attached_class)
23
27
  end
24
- def self.new(user_id:, request_options: {})
28
+ def self.new(user_id:, token:, request_options: {})
25
29
  end
26
30
 
27
31
  sig do
28
32
  override.returns(
29
- { user_id: String, request_options: Courier::RequestOptions }
33
+ {
34
+ user_id: String,
35
+ token: String,
36
+ request_options: Courier::RequestOptions
37
+ }
30
38
  )
31
39
  end
32
40
  def to_hash
@@ -12,15 +12,23 @@ module Courier
12
12
  T.any(Courier::Users::TokenListParams, Courier::Internal::AnyHash)
13
13
  end
14
14
 
15
+ sig { returns(String) }
16
+ attr_accessor :user_id
17
+
15
18
  sig do
16
- params(request_options: Courier::RequestOptions::OrHash).returns(
17
- T.attached_class
18
- )
19
+ params(
20
+ user_id: String,
21
+ request_options: Courier::RequestOptions::OrHash
22
+ ).returns(T.attached_class)
19
23
  end
20
- def self.new(request_options: {})
24
+ def self.new(user_id:, request_options: {})
21
25
  end
22
26
 
23
- sig { override.returns({ request_options: Courier::RequestOptions }) }
27
+ sig do
28
+ override.returns(
29
+ { user_id: String, request_options: Courier::RequestOptions }
30
+ )
31
+ end
24
32
  def to_hash
25
33
  end
26
34
  end