magicbell-js 0.0.3 → 0.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 (398) hide show
  1. package/README.md +2 -3
  2. package/dist/commonjs/project-client/http/errors/throwable-error.d.ts +7 -0
  3. package/dist/commonjs/project-client/http/errors/throwable-error.d.ts.map +1 -0
  4. package/dist/commonjs/project-client/http/errors/throwable-error.js +25 -0
  5. package/dist/commonjs/project-client/http/errors/throwable-error.js.map +1 -0
  6. package/dist/commonjs/project-client/http/handlers/hook-handler.d.ts.map +1 -1
  7. package/dist/commonjs/project-client/http/handlers/hook-handler.js +2 -2
  8. package/dist/commonjs/project-client/http/handlers/hook-handler.js.map +1 -1
  9. package/dist/commonjs/project-client/http/transport/types.d.ts +2 -1
  10. package/dist/commonjs/project-client/http/transport/types.d.ts.map +1 -1
  11. package/dist/commonjs/project-client/services/broadcasts/broadcasts-service.d.ts.map +1 -1
  12. package/dist/commonjs/project-client/services/broadcasts/broadcasts-service.js.map +1 -1
  13. package/dist/commonjs/project-client/services/channels/channels-service.d.ts.map +1 -1
  14. package/dist/commonjs/project-client/services/channels/channels-service.js.map +1 -1
  15. package/dist/commonjs/project-client/services/events/events-service.d.ts.map +1 -1
  16. package/dist/commonjs/project-client/services/events/events-service.js.map +1 -1
  17. package/dist/commonjs/project-client/services/integrations/integrations-service.d.ts.map +1 -1
  18. package/dist/commonjs/project-client/services/integrations/integrations-service.js.map +1 -1
  19. package/dist/commonjs/project-client/services/jwt/jwt-service.d.ts +1 -25
  20. package/dist/commonjs/project-client/services/jwt/jwt-service.d.ts.map +1 -1
  21. package/dist/commonjs/project-client/services/jwt/jwt-service.js +0 -103
  22. package/dist/commonjs/project-client/services/jwt/jwt-service.js.map +1 -1
  23. package/dist/commonjs/project-client/services/jwt/models/index.d.ts +0 -1
  24. package/dist/commonjs/project-client/services/jwt/models/index.d.ts.map +1 -1
  25. package/dist/commonjs/project-client/services/jwt/request-params.d.ts +0 -5
  26. package/dist/commonjs/project-client/services/jwt/request-params.d.ts.map +1 -1
  27. package/dist/commonjs/project-client/services/notifications/notifications-service.d.ts.map +1 -1
  28. package/dist/commonjs/project-client/services/notifications/notifications-service.js.map +1 -1
  29. package/dist/commonjs/project-client/services/users/users-service.d.ts.map +1 -1
  30. package/dist/commonjs/project-client/services/users/users-service.js.map +1 -1
  31. package/dist/commonjs/user-client/http/errors/throwable-error.d.ts +7 -0
  32. package/dist/commonjs/user-client/http/errors/throwable-error.d.ts.map +1 -0
  33. package/dist/commonjs/user-client/http/errors/throwable-error.js +25 -0
  34. package/dist/commonjs/user-client/http/errors/throwable-error.js.map +1 -0
  35. package/dist/commonjs/user-client/http/handlers/hook-handler.d.ts.map +1 -1
  36. package/dist/commonjs/user-client/http/handlers/hook-handler.js +2 -2
  37. package/dist/commonjs/user-client/http/handlers/hook-handler.js.map +1 -1
  38. package/dist/commonjs/user-client/http/transport/types.d.ts +2 -1
  39. package/dist/commonjs/user-client/http/transport/types.d.ts.map +1 -1
  40. package/dist/commonjs/user-client/services/channels/channels-service.d.ts.map +1 -1
  41. package/dist/commonjs/user-client/services/channels/channels-service.js.map +1 -1
  42. package/dist/commonjs/user-client/services/integrations/integrations-service.d.ts.map +1 -1
  43. package/dist/commonjs/user-client/services/integrations/integrations-service.js.map +1 -1
  44. package/dist/commonjs/user-client/services/notifications/notifications-service.d.ts +26 -1
  45. package/dist/commonjs/user-client/services/notifications/notifications-service.d.ts.map +1 -1
  46. package/dist/commonjs/user-client/services/notifications/notifications-service.js +106 -0
  47. package/dist/commonjs/user-client/services/notifications/notifications-service.js.map +1 -1
  48. package/dist/commonjs/user-client/services/notifications/request-params.d.ts +9 -0
  49. package/dist/commonjs/user-client/services/notifications/request-params.d.ts.map +1 -1
  50. package/dist/esm/project-client/http/errors/throwable-error.d.ts +7 -0
  51. package/dist/esm/project-client/http/errors/throwable-error.d.ts.map +1 -0
  52. package/dist/esm/project-client/http/errors/throwable-error.js +21 -0
  53. package/dist/esm/project-client/http/errors/throwable-error.js.map +1 -0
  54. package/dist/esm/project-client/http/handlers/hook-handler.d.ts.map +1 -1
  55. package/dist/esm/project-client/http/handlers/hook-handler.js +2 -2
  56. package/dist/esm/project-client/http/handlers/hook-handler.js.map +1 -1
  57. package/dist/esm/project-client/http/transport/types.d.ts +2 -1
  58. package/dist/esm/project-client/http/transport/types.d.ts.map +1 -1
  59. package/dist/esm/project-client/services/broadcasts/broadcasts-service.d.ts.map +1 -1
  60. package/dist/esm/project-client/services/broadcasts/broadcasts-service.js.map +1 -1
  61. package/dist/esm/project-client/services/channels/channels-service.d.ts.map +1 -1
  62. package/dist/esm/project-client/services/channels/channels-service.js.map +1 -1
  63. package/dist/esm/project-client/services/events/events-service.d.ts.map +1 -1
  64. package/dist/esm/project-client/services/events/events-service.js.map +1 -1
  65. package/dist/esm/project-client/services/integrations/integrations-service.d.ts.map +1 -1
  66. package/dist/esm/project-client/services/integrations/integrations-service.js.map +1 -1
  67. package/dist/esm/project-client/services/jwt/jwt-service.d.ts +1 -25
  68. package/dist/esm/project-client/services/jwt/jwt-service.d.ts.map +1 -1
  69. package/dist/esm/project-client/services/jwt/jwt-service.js +0 -103
  70. package/dist/esm/project-client/services/jwt/jwt-service.js.map +1 -1
  71. package/dist/esm/project-client/services/jwt/models/index.d.ts +0 -1
  72. package/dist/esm/project-client/services/jwt/models/index.d.ts.map +1 -1
  73. package/dist/esm/project-client/services/jwt/request-params.d.ts +0 -5
  74. package/dist/esm/project-client/services/jwt/request-params.d.ts.map +1 -1
  75. package/dist/esm/project-client/services/notifications/notifications-service.d.ts.map +1 -1
  76. package/dist/esm/project-client/services/notifications/notifications-service.js.map +1 -1
  77. package/dist/esm/project-client/services/users/users-service.d.ts.map +1 -1
  78. package/dist/esm/project-client/services/users/users-service.js.map +1 -1
  79. package/dist/esm/user-client/http/errors/throwable-error.d.ts +7 -0
  80. package/dist/esm/user-client/http/errors/throwable-error.d.ts.map +1 -0
  81. package/dist/esm/user-client/http/errors/throwable-error.js +21 -0
  82. package/dist/esm/user-client/http/errors/throwable-error.js.map +1 -0
  83. package/dist/esm/user-client/http/handlers/hook-handler.d.ts.map +1 -1
  84. package/dist/esm/user-client/http/handlers/hook-handler.js +2 -2
  85. package/dist/esm/user-client/http/handlers/hook-handler.js.map +1 -1
  86. package/dist/esm/user-client/http/transport/types.d.ts +2 -1
  87. package/dist/esm/user-client/http/transport/types.d.ts.map +1 -1
  88. package/dist/esm/user-client/services/channels/channels-service.d.ts.map +1 -1
  89. package/dist/esm/user-client/services/channels/channels-service.js.map +1 -1
  90. package/dist/esm/user-client/services/integrations/integrations-service.d.ts.map +1 -1
  91. package/dist/esm/user-client/services/integrations/integrations-service.js.map +1 -1
  92. package/dist/esm/user-client/services/notifications/notifications-service.d.ts +26 -1
  93. package/dist/esm/user-client/services/notifications/notifications-service.d.ts.map +1 -1
  94. package/dist/esm/user-client/services/notifications/notifications-service.js +106 -0
  95. package/dist/esm/user-client/services/notifications/notifications-service.js.map +1 -1
  96. package/dist/esm/user-client/services/notifications/request-params.d.ts +9 -0
  97. package/dist/esm/user-client/services/notifications/request-params.d.ts.map +1 -1
  98. package/package.json +3 -1
  99. package/src/project-client/http/client.ts +71 -0
  100. package/src/project-client/http/environment.ts +3 -0
  101. package/src/project-client/http/error.ts +14 -0
  102. package/src/project-client/http/errors/throwable-error.ts +9 -0
  103. package/src/project-client/http/errors/validation-error.ts +25 -0
  104. package/src/project-client/http/handlers/handler-chain.ts +30 -0
  105. package/src/project-client/http/handlers/hook-handler.ts +80 -0
  106. package/src/project-client/http/handlers/request-validation-handler.ts +111 -0
  107. package/src/project-client/http/handlers/response-validation-handler.ts +203 -0
  108. package/src/project-client/http/handlers/retry-handler.ts +60 -0
  109. package/src/project-client/http/handlers/terminating-handler.ts +14 -0
  110. package/src/project-client/http/hooks/custom-hook.ts +25 -0
  111. package/src/project-client/http/hooks/hook.ts +41 -0
  112. package/src/project-client/http/index.ts +11 -0
  113. package/src/project-client/http/serialization/base-serializer.ts +139 -0
  114. package/src/project-client/http/serialization/header-serializer.ts +19 -0
  115. package/src/project-client/http/serialization/path-serializer.ts +12 -0
  116. package/src/project-client/http/serialization/query-serializer.ts +18 -0
  117. package/src/project-client/http/transport/request-builder.ts +242 -0
  118. package/src/project-client/http/transport/request-fetch-adapter.ts +131 -0
  119. package/src/project-client/http/transport/request.ts +222 -0
  120. package/src/project-client/http/transport/transport-hook-adapter.ts +91 -0
  121. package/src/project-client/http/transport/types.ts +51 -0
  122. package/src/project-client/http/types.ts +74 -0
  123. package/src/project-client/http/utils/content-type.ts +33 -0
  124. package/src/project-client/http/utils/line-decoder.ts +35 -0
  125. package/src/project-client/http/utils/response-matcher.ts +25 -0
  126. package/src/project-client/index.ts +94 -0
  127. package/src/project-client/services/base-service.ts +27 -0
  128. package/src/project-client/services/broadcasts/broadcasts-service.ts +116 -0
  129. package/src/project-client/services/broadcasts/index.ts +2 -0
  130. package/src/project-client/services/broadcasts/models/broadcast-collection.ts +54 -0
  131. package/src/project-client/services/broadcasts/models/broadcast-status.ts +60 -0
  132. package/src/project-client/services/broadcasts/models/broadcast.ts +143 -0
  133. package/src/project-client/services/broadcasts/models/email.ts +57 -0
  134. package/src/project-client/services/broadcasts/models/errors.ts +45 -0
  135. package/src/project-client/services/broadcasts/models/in-app.ts +57 -0
  136. package/src/project-client/services/broadcasts/models/index.ts +15 -0
  137. package/src/project-client/services/broadcasts/models/mobile-push.ts +57 -0
  138. package/src/project-client/services/broadcasts/models/overrides-channels.ts +82 -0
  139. package/src/project-client/services/broadcasts/models/overrides.ts +59 -0
  140. package/src/project-client/services/broadcasts/models/providers.ts +81 -0
  141. package/src/project-client/services/broadcasts/models/slack.ts +57 -0
  142. package/src/project-client/services/broadcasts/models/sms.ts +57 -0
  143. package/src/project-client/services/broadcasts/models/status-status.ts +7 -0
  144. package/src/project-client/services/broadcasts/models/summary.ts +51 -0
  145. package/src/project-client/services/broadcasts/models/web-push.ts +57 -0
  146. package/src/project-client/services/broadcasts/request-params.ts +5 -0
  147. package/src/project-client/services/channels/channels-service.ts +1018 -0
  148. package/src/project-client/services/channels/index.ts +2 -0
  149. package/src/project-client/services/channels/models/apns-token-collection.ts +54 -0
  150. package/src/project-client/services/channels/models/apns-token-installation-id.ts +6 -0
  151. package/src/project-client/services/channels/models/apns-token.ts +90 -0
  152. package/src/project-client/services/channels/models/category-delivery-config-channels.ts +57 -0
  153. package/src/project-client/services/channels/models/category-delivery-config.ts +73 -0
  154. package/src/project-client/services/channels/models/channel.ts +11 -0
  155. package/src/project-client/services/channels/models/discard-result.ts +51 -0
  156. package/src/project-client/services/channels/models/expo-token-collection.ts +54 -0
  157. package/src/project-client/services/channels/models/expo-token.ts +69 -0
  158. package/src/project-client/services/channels/models/fcm-token-collection.ts +54 -0
  159. package/src/project-client/services/channels/models/fcm-token-installation-id.ts +6 -0
  160. package/src/project-client/services/channels/models/fcm-token.ts +75 -0
  161. package/src/project-client/services/channels/models/inbox-token-response-collection.ts +59 -0
  162. package/src/project-client/services/channels/models/inbox-token-response.ts +75 -0
  163. package/src/project-client/services/channels/models/index.ts +24 -0
  164. package/src/project-client/services/channels/models/keys.ts +51 -0
  165. package/src/project-client/services/channels/models/oauth.ts +57 -0
  166. package/src/project-client/services/channels/models/slack-token-collection.ts +54 -0
  167. package/src/project-client/services/channels/models/slack-token-webhook.ts +45 -0
  168. package/src/project-client/services/channels/models/slack-token.ts +83 -0
  169. package/src/project-client/services/channels/models/teams-token-collection.ts +54 -0
  170. package/src/project-client/services/channels/models/teams-token-webhook.ts +45 -0
  171. package/src/project-client/services/channels/models/teams-token.ts +76 -0
  172. package/src/project-client/services/channels/models/web-push-token-collection.ts +54 -0
  173. package/src/project-client/services/channels/models/web-push-token.ts +77 -0
  174. package/src/project-client/services/channels/request-params.ts +45 -0
  175. package/src/project-client/services/common/index.ts +1 -0
  176. package/src/project-client/services/common/links.ts +57 -0
  177. package/src/project-client/services/events/events-service.ts +85 -0
  178. package/src/project-client/services/events/index.ts +2 -0
  179. package/src/project-client/services/events/models/event-collection.ts +54 -0
  180. package/src/project-client/services/events/models/event.ts +81 -0
  181. package/src/project-client/services/events/models/index.ts +2 -0
  182. package/src/project-client/services/events/request-params.ts +5 -0
  183. package/src/project-client/services/integrations/index.ts +2 -0
  184. package/src/project-client/services/integrations/integrations-service.ts +1966 -0
  185. package/src/project-client/services/integrations/models/apns-config-collection.ts +54 -0
  186. package/src/project-client/services/integrations/models/apns-config-payload.ts +81 -0
  187. package/src/project-client/services/integrations/models/apns-config.ts +64 -0
  188. package/src/project-client/services/integrations/models/awssns-config-collection.ts +54 -0
  189. package/src/project-client/services/integrations/models/awssns-config-payload.ts +45 -0
  190. package/src/project-client/services/integrations/models/awssns-config.ts +64 -0
  191. package/src/project-client/services/integrations/models/badge.ts +6 -0
  192. package/src/project-client/services/integrations/models/banner.ts +63 -0
  193. package/src/project-client/services/integrations/models/default-hover.ts +45 -0
  194. package/src/project-client/services/integrations/models/default-state.ts +45 -0
  195. package/src/project-client/services/integrations/models/default_.ts +90 -0
  196. package/src/project-client/services/integrations/models/dialog.ts +57 -0
  197. package/src/project-client/services/integrations/models/event-source-config-collection.ts +59 -0
  198. package/src/project-client/services/integrations/models/event-source-config-payload.ts +45 -0
  199. package/src/project-client/services/integrations/models/event-source-config.ts +64 -0
  200. package/src/project-client/services/integrations/models/expo-config-collection.ts +54 -0
  201. package/src/project-client/services/integrations/models/expo-config-payload.ts +45 -0
  202. package/src/project-client/services/integrations/models/expo-config.ts +64 -0
  203. package/src/project-client/services/integrations/models/fcm-config-collection.ts +54 -0
  204. package/src/project-client/services/integrations/models/fcm-config-payload.ts +105 -0
  205. package/src/project-client/services/integrations/models/fcm-config.ts +64 -0
  206. package/src/project-client/services/integrations/models/footer.ts +63 -0
  207. package/src/project-client/services/integrations/models/github-config-collection.ts +54 -0
  208. package/src/project-client/services/integrations/models/github-config-payload.ts +45 -0
  209. package/src/project-client/services/integrations/models/github-config.ts +64 -0
  210. package/src/project-client/services/integrations/models/header.ts +69 -0
  211. package/src/project-client/services/integrations/models/icon.ts +51 -0
  212. package/src/project-client/services/integrations/models/images.ts +45 -0
  213. package/src/project-client/services/integrations/models/inbox-config-collection.ts +54 -0
  214. package/src/project-client/services/integrations/models/inbox-config-payload.ts +60 -0
  215. package/src/project-client/services/integrations/models/inbox-config.ts +64 -0
  216. package/src/project-client/services/integrations/models/index.ts +75 -0
  217. package/src/project-client/services/integrations/models/integration-config-collection.ts +59 -0
  218. package/src/project-client/services/integrations/models/integration-config.ts +57 -0
  219. package/src/project-client/services/integrations/models/mailgun-config-collection.ts +54 -0
  220. package/src/project-client/services/integrations/models/mailgun-config-payload-from.ts +51 -0
  221. package/src/project-client/services/integrations/models/mailgun-config-payload.ts +70 -0
  222. package/src/project-client/services/integrations/models/mailgun-config.ts +64 -0
  223. package/src/project-client/services/integrations/models/notification.ts +61 -0
  224. package/src/project-client/services/integrations/models/payload-version.ts +6 -0
  225. package/src/project-client/services/integrations/models/ping-config-collection.ts +54 -0
  226. package/src/project-client/services/integrations/models/ping-config-payload.ts +45 -0
  227. package/src/project-client/services/integrations/models/ping-config.ts +64 -0
  228. package/src/project-client/services/integrations/models/region.ts +6 -0
  229. package/src/project-client/services/integrations/models/reply-to.ts +51 -0
  230. package/src/project-client/services/integrations/models/sendgrid-config-collection.ts +54 -0
  231. package/src/project-client/services/integrations/models/sendgrid-config-payload-from.ts +51 -0
  232. package/src/project-client/services/integrations/models/sendgrid-config-payload.ts +65 -0
  233. package/src/project-client/services/integrations/models/sendgrid-config.ts +64 -0
  234. package/src/project-client/services/integrations/models/ses-config-collection.ts +54 -0
  235. package/src/project-client/services/integrations/models/ses-config-payload-from.ts +51 -0
  236. package/src/project-client/services/integrations/models/ses-config-payload.ts +70 -0
  237. package/src/project-client/services/integrations/models/ses-config.ts +64 -0
  238. package/src/project-client/services/integrations/models/slack-config-collection.ts +54 -0
  239. package/src/project-client/services/integrations/models/slack-config-payload.ts +63 -0
  240. package/src/project-client/services/integrations/models/slack-config.ts +64 -0
  241. package/src/project-client/services/integrations/models/stripe-config-collection.ts +54 -0
  242. package/src/project-client/services/integrations/models/stripe-config-payload.ts +45 -0
  243. package/src/project-client/services/integrations/models/stripe-config.ts +64 -0
  244. package/src/project-client/services/integrations/models/templates-config-collection.ts +59 -0
  245. package/src/project-client/services/integrations/models/templates-config.ts +57 -0
  246. package/src/project-client/services/integrations/models/theme.ts +89 -0
  247. package/src/project-client/services/integrations/models/twilio-config-collection.ts +54 -0
  248. package/src/project-client/services/integrations/models/twilio-config-payload.ts +75 -0
  249. package/src/project-client/services/integrations/models/twilio-config.ts +64 -0
  250. package/src/project-client/services/integrations/models/type_.ts +5 -0
  251. package/src/project-client/services/integrations/models/unread-hover.ts +45 -0
  252. package/src/project-client/services/integrations/models/unread-state.ts +45 -0
  253. package/src/project-client/services/integrations/models/unread.ts +66 -0
  254. package/src/project-client/services/integrations/models/unseen-badge.ts +45 -0
  255. package/src/project-client/services/integrations/models/unseen-hover.ts +45 -0
  256. package/src/project-client/services/integrations/models/unseen-state.ts +45 -0
  257. package/src/project-client/services/integrations/models/unseen.ts +66 -0
  258. package/src/project-client/services/integrations/models/webpush-config-collection.ts +54 -0
  259. package/src/project-client/services/integrations/models/webpush-config-payload.ts +51 -0
  260. package/src/project-client/services/integrations/models/webpush-config.ts +64 -0
  261. package/src/project-client/services/integrations/request-params.ts +5 -0
  262. package/src/project-client/services/jwt/index.ts +2 -0
  263. package/src/project-client/services/jwt/jwt-service.ts +121 -0
  264. package/src/project-client/services/jwt/models/access-token-collection.ts +54 -0
  265. package/src/project-client/services/jwt/models/access-token.ts +69 -0
  266. package/src/project-client/services/jwt/models/create-project-token-request.ts +51 -0
  267. package/src/project-client/services/jwt/models/create-token-response.ts +63 -0
  268. package/src/project-client/services/jwt/models/discard-token-response.ts +51 -0
  269. package/src/project-client/services/jwt/models/index.ts +5 -0
  270. package/src/project-client/services/jwt/request-params.ts +5 -0
  271. package/src/project-client/services/notifications/index.ts +2 -0
  272. package/src/project-client/services/notifications/models/delivery-plan-collection.ts +54 -0
  273. package/src/project-client/services/notifications/models/delivery-plan.ts +93 -0
  274. package/src/project-client/services/notifications/models/index.ts +2 -0
  275. package/src/project-client/services/notifications/notifications-service.ts +45 -0
  276. package/src/project-client/services/users/index.ts +2 -0
  277. package/src/project-client/services/users/models/index.ts +2 -0
  278. package/src/project-client/services/users/models/user-collection.ts +54 -0
  279. package/src/project-client/services/users/models/user.ts +99 -0
  280. package/src/project-client/services/users/request-params.ts +6 -0
  281. package/src/project-client/services/users/users-service.ts +118 -0
  282. package/src/project-client.ts +1 -0
  283. package/src/user-client/http/client.ts +71 -0
  284. package/src/user-client/http/environment.ts +3 -0
  285. package/src/user-client/http/error.ts +14 -0
  286. package/src/user-client/http/errors/throwable-error.ts +9 -0
  287. package/src/user-client/http/errors/validation-error.ts +25 -0
  288. package/src/user-client/http/handlers/handler-chain.ts +30 -0
  289. package/src/user-client/http/handlers/hook-handler.ts +80 -0
  290. package/src/user-client/http/handlers/request-validation-handler.ts +111 -0
  291. package/src/user-client/http/handlers/response-validation-handler.ts +203 -0
  292. package/src/user-client/http/handlers/retry-handler.ts +60 -0
  293. package/src/user-client/http/handlers/terminating-handler.ts +14 -0
  294. package/src/user-client/http/hooks/custom-hook.ts +25 -0
  295. package/src/user-client/http/hooks/hook.ts +41 -0
  296. package/src/user-client/http/index.ts +11 -0
  297. package/src/user-client/http/serialization/base-serializer.ts +139 -0
  298. package/src/user-client/http/serialization/header-serializer.ts +19 -0
  299. package/src/user-client/http/serialization/path-serializer.ts +12 -0
  300. package/src/user-client/http/serialization/query-serializer.ts +18 -0
  301. package/src/user-client/http/transport/request-builder.ts +242 -0
  302. package/src/user-client/http/transport/request-fetch-adapter.ts +131 -0
  303. package/src/user-client/http/transport/request.ts +222 -0
  304. package/src/user-client/http/transport/transport-hook-adapter.ts +91 -0
  305. package/src/user-client/http/transport/types.ts +51 -0
  306. package/src/user-client/http/types.ts +74 -0
  307. package/src/user-client/http/utils/content-type.ts +33 -0
  308. package/src/user-client/http/utils/line-decoder.ts +35 -0
  309. package/src/user-client/http/utils/response-matcher.ts +25 -0
  310. package/src/user-client/index.ts +54 -0
  311. package/src/user-client/services/base-service.ts +27 -0
  312. package/src/user-client/services/channels/channels-service.ts +1021 -0
  313. package/src/user-client/services/channels/index.ts +2 -0
  314. package/src/user-client/services/channels/models/apns-token-collection.ts +54 -0
  315. package/src/user-client/services/channels/models/apns-token-installation-id.ts +6 -0
  316. package/src/user-client/services/channels/models/apns-token-payload-installation-id.ts +6 -0
  317. package/src/user-client/services/channels/models/apns-token-payload.ts +66 -0
  318. package/src/user-client/services/channels/models/apns-token.ts +90 -0
  319. package/src/user-client/services/channels/models/discard-result.ts +51 -0
  320. package/src/user-client/services/channels/models/expo-token-collection.ts +54 -0
  321. package/src/user-client/services/channels/models/expo-token-payload.ts +45 -0
  322. package/src/user-client/services/channels/models/expo-token.ts +69 -0
  323. package/src/user-client/services/channels/models/fcm-token-collection.ts +54 -0
  324. package/src/user-client/services/channels/models/fcm-token-installation-id.ts +6 -0
  325. package/src/user-client/services/channels/models/fcm-token-payload-installation-id.ts +6 -0
  326. package/src/user-client/services/channels/models/fcm-token-payload.ts +51 -0
  327. package/src/user-client/services/channels/models/fcm-token.ts +75 -0
  328. package/src/user-client/services/channels/models/inbox-token-response-collection.ts +59 -0
  329. package/src/user-client/services/channels/models/inbox-token-response.ts +75 -0
  330. package/src/user-client/services/channels/models/inbox-token.ts +51 -0
  331. package/src/user-client/services/channels/models/index.ts +33 -0
  332. package/src/user-client/services/channels/models/slack-token-collection.ts +54 -0
  333. package/src/user-client/services/channels/models/slack-token-oauth.ts +57 -0
  334. package/src/user-client/services/channels/models/slack-token-payload-oauth.ts +57 -0
  335. package/src/user-client/services/channels/models/slack-token-payload-webhook.ts +45 -0
  336. package/src/user-client/services/channels/models/slack-token-payload.ts +64 -0
  337. package/src/user-client/services/channels/models/slack-token-webhook.ts +45 -0
  338. package/src/user-client/services/channels/models/slack-token.ts +88 -0
  339. package/src/user-client/services/channels/models/teams-token-collection.ts +54 -0
  340. package/src/user-client/services/channels/models/teams-token-payload-webhook.ts +45 -0
  341. package/src/user-client/services/channels/models/teams-token-payload.ts +52 -0
  342. package/src/user-client/services/channels/models/teams-token-webhook.ts +45 -0
  343. package/src/user-client/services/channels/models/teams-token.ts +76 -0
  344. package/src/user-client/services/channels/models/web-push-token-collection.ts +54 -0
  345. package/src/user-client/services/channels/models/web-push-token-keys.ts +51 -0
  346. package/src/user-client/services/channels/models/web-push-token-payload-keys.ts +51 -0
  347. package/src/user-client/services/channels/models/web-push-token.ts +82 -0
  348. package/src/user-client/services/channels/request-params.ts +41 -0
  349. package/src/user-client/services/common/index.ts +2 -0
  350. package/src/user-client/services/common/links.ts +57 -0
  351. package/src/user-client/services/common/web-push-token-payload.ts +58 -0
  352. package/src/user-client/services/integrations/index.ts +2 -0
  353. package/src/user-client/services/integrations/integrations-service.ts +279 -0
  354. package/src/user-client/services/integrations/models/authed-user.ts +75 -0
  355. package/src/user-client/services/integrations/models/banner.ts +63 -0
  356. package/src/user-client/services/integrations/models/default-hover.ts +45 -0
  357. package/src/user-client/services/integrations/models/default-state.ts +45 -0
  358. package/src/user-client/services/integrations/models/default_.ts +90 -0
  359. package/src/user-client/services/integrations/models/dialog.ts +57 -0
  360. package/src/user-client/services/integrations/models/enterprise.ts +51 -0
  361. package/src/user-client/services/integrations/models/footer.ts +63 -0
  362. package/src/user-client/services/integrations/models/header.ts +69 -0
  363. package/src/user-client/services/integrations/models/icon.ts +51 -0
  364. package/src/user-client/services/integrations/models/images.ts +45 -0
  365. package/src/user-client/services/integrations/models/inbox-config-payload.ts +60 -0
  366. package/src/user-client/services/integrations/models/incoming-webhook.ts +57 -0
  367. package/src/user-client/services/integrations/models/index.ts +29 -0
  368. package/src/user-client/services/integrations/models/slack-finish-install-response.ts +57 -0
  369. package/src/user-client/services/integrations/models/slack-installation.ts +136 -0
  370. package/src/user-client/services/integrations/models/slack-start-install-response-content.ts +57 -0
  371. package/src/user-client/services/integrations/models/slack-start-install.ts +63 -0
  372. package/src/user-client/services/integrations/models/team.ts +51 -0
  373. package/src/user-client/services/integrations/models/templates-installation.ts +57 -0
  374. package/src/user-client/services/integrations/models/theme-notification.ts +61 -0
  375. package/src/user-client/services/integrations/models/theme.ts +94 -0
  376. package/src/user-client/services/integrations/models/unread-hover.ts +45 -0
  377. package/src/user-client/services/integrations/models/unread-state.ts +45 -0
  378. package/src/user-client/services/integrations/models/unread.ts +66 -0
  379. package/src/user-client/services/integrations/models/unseen-badge.ts +45 -0
  380. package/src/user-client/services/integrations/models/unseen-hover.ts +45 -0
  381. package/src/user-client/services/integrations/models/unseen-state.ts +45 -0
  382. package/src/user-client/services/integrations/models/unseen.ts +66 -0
  383. package/src/user-client/services/integrations/models/web-push-start-installation-response.ts +51 -0
  384. package/src/user-client/services/notifications/index.ts +2 -0
  385. package/src/user-client/services/notifications/models/index.ts +2 -0
  386. package/src/user-client/services/notifications/models/notification-collection.ts +54 -0
  387. package/src/user-client/services/notifications/models/notification.ts +129 -0
  388. package/src/user-client/services/notifications/notifications-service.ts +305 -0
  389. package/src/user-client/services/notifications/request-params.ts +18 -0
  390. package/src/user-client.ts +1 -0
  391. package/dist/commonjs/project-client/services/jwt/models/create-user-token-request.d.ts +0 -90
  392. package/dist/commonjs/project-client/services/jwt/models/create-user-token-request.d.ts.map +0 -1
  393. package/dist/commonjs/project-client/services/jwt/models/create-user-token-request.js +0 -54
  394. package/dist/commonjs/project-client/services/jwt/models/create-user-token-request.js.map +0 -1
  395. package/dist/esm/project-client/services/jwt/models/create-user-token-request.d.ts +0 -90
  396. package/dist/esm/project-client/services/jwt/models/create-user-token-request.d.ts.map +0 -1
  397. package/dist/esm/project-client/services/jwt/models/create-user-token-request.js +0 -51
  398. package/dist/esm/project-client/services/jwt/models/create-user-token-request.js.map +0 -1
@@ -0,0 +1,1018 @@
1
+ import { z } from 'zod';
2
+
3
+ import { Environment } from '../../http/environment.js';
4
+ import { ThrowableError } from '../../http/errors/throwable-error.js';
5
+ import { SerializationStyle } from '../../http/serialization/base-serializer.js';
6
+ import { RequestBuilder } from '../../http/transport/request-builder.js';
7
+ import { ContentType, HttpResponse, RequestConfig } from '../../http/types.js';
8
+ import { BaseService } from '../base-service.js';
9
+ import { ApnsToken, apnsTokenResponse } from './models/apns-token.js';
10
+ import { ApnsTokenCollection, apnsTokenCollectionResponse } from './models/apns-token-collection.js';
11
+ import {
12
+ CategoryDeliveryConfig,
13
+ categoryDeliveryConfigRequest,
14
+ categoryDeliveryConfigResponse,
15
+ } from './models/category-delivery-config.js';
16
+ import { DiscardResult, discardResultResponse } from './models/discard-result.js';
17
+ import { ExpoToken, expoTokenResponse } from './models/expo-token.js';
18
+ import { ExpoTokenCollection, expoTokenCollectionResponse } from './models/expo-token-collection.js';
19
+ import { FcmToken, fcmTokenResponse } from './models/fcm-token.js';
20
+ import { FcmTokenCollection, fcmTokenCollectionResponse } from './models/fcm-token-collection.js';
21
+ import { InboxTokenResponse, inboxTokenResponseResponse } from './models/inbox-token-response.js';
22
+ import {
23
+ InboxTokenResponseCollection,
24
+ inboxTokenResponseCollectionResponse,
25
+ } from './models/inbox-token-response-collection.js';
26
+ import { SlackToken, slackTokenResponse } from './models/slack-token.js';
27
+ import { SlackTokenCollection, slackTokenCollectionResponse } from './models/slack-token-collection.js';
28
+ import { TeamsToken, teamsTokenResponse } from './models/teams-token.js';
29
+ import { TeamsTokenCollection, teamsTokenCollectionResponse } from './models/teams-token-collection.js';
30
+ import { WebPushToken, webPushTokenResponse } from './models/web-push-token.js';
31
+ import { WebPushTokenCollection, webPushTokenCollectionResponse } from './models/web-push-token-collection.js';
32
+ import {
33
+ GetDeliveryconfigParams,
34
+ GetInAppInboxUserTokensParams,
35
+ GetMobilePushApnsUserTokensParams,
36
+ GetMobilePushExpoUserTokensParams,
37
+ GetMobilePushFcmUserTokensParams,
38
+ GetSlackUserTokensParams,
39
+ GetTeamsUserTokensParams,
40
+ GetWebPushUserTokensParams,
41
+ } from './request-params.js';
42
+
43
+ export class ChannelsService extends BaseService {
44
+ /**
45
+ *
46
+ * @param {string} [params.key] -
47
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
48
+ * @returns {Promise<HttpResponse<CategoryDeliveryConfig>>} OK
49
+ */
50
+ async getDeliveryconfig(
51
+ params?: GetDeliveryconfigParams,
52
+ requestConfig?: RequestConfig,
53
+ ): Promise<HttpResponse<CategoryDeliveryConfig>> {
54
+ const request = new RequestBuilder()
55
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
56
+ .setConfig(this.config)
57
+ .setMethod('GET')
58
+ .setPath('/channels/deliveryconfig')
59
+ .setRequestSchema(z.any())
60
+ .addAccessTokenAuth(this.config.token, 'Bearer')
61
+ .setRequestContentType(ContentType.Json)
62
+ .addResponse({
63
+ schema: categoryDeliveryConfigResponse,
64
+ contentType: ContentType.Json,
65
+ status: 200,
66
+ })
67
+ .setRetryAttempts(this.config, requestConfig)
68
+ .setRetryDelayMs(this.config, requestConfig)
69
+ .setResponseValidation(this.config, requestConfig)
70
+ .addQueryParam({
71
+ key: 'key',
72
+ value: params?.key,
73
+ })
74
+ .build();
75
+ return this.client.call<CategoryDeliveryConfig>(request);
76
+ }
77
+
78
+ /**
79
+ *
80
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
81
+ * @returns {Promise<HttpResponse<CategoryDeliveryConfig>>} OK
82
+ */
83
+ async saveDeliveryconfig(
84
+ body: CategoryDeliveryConfig,
85
+ requestConfig?: RequestConfig,
86
+ ): Promise<HttpResponse<CategoryDeliveryConfig>> {
87
+ const request = new RequestBuilder()
88
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
89
+ .setConfig(this.config)
90
+ .setMethod('PUT')
91
+ .setPath('/channels/deliveryconfig')
92
+ .setRequestSchema(categoryDeliveryConfigRequest)
93
+ .addAccessTokenAuth(this.config.token, 'Bearer')
94
+ .setRequestContentType(ContentType.Json)
95
+ .addResponse({
96
+ schema: categoryDeliveryConfigResponse,
97
+ contentType: ContentType.Json,
98
+ status: 200,
99
+ })
100
+ .setRetryAttempts(this.config, requestConfig)
101
+ .setRetryDelayMs(this.config, requestConfig)
102
+ .setResponseValidation(this.config, requestConfig)
103
+ .addHeaderParam({ key: 'Content-Type', value: 'application/json' })
104
+ .addBody(body)
105
+ .build();
106
+ return this.client.call<CategoryDeliveryConfig>(request);
107
+ }
108
+
109
+ /**
110
+ * Lists all in_app tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
111
+ * @param {string} userId -
112
+ * @param {number} [params.limit] -
113
+ * @param {string} [params.startingAfter] -
114
+ * @param {string} [params.endingBefore] -
115
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
116
+ * @returns {Promise<HttpResponse<InboxTokenResponseCollection>>} OK
117
+ */
118
+ async getInAppInboxUserTokens(
119
+ userId: string,
120
+ params?: GetInAppInboxUserTokensParams,
121
+ requestConfig?: RequestConfig,
122
+ ): Promise<HttpResponse<InboxTokenResponseCollection>> {
123
+ const request = new RequestBuilder()
124
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
125
+ .setConfig(this.config)
126
+ .setMethod('GET')
127
+ .setPath('/users/{user_id}/channels/in_app/inbox/tokens')
128
+ .setRequestSchema(z.any())
129
+ .addAccessTokenAuth(this.config.token, 'Bearer')
130
+ .setRequestContentType(ContentType.Json)
131
+ .addResponse({
132
+ schema: inboxTokenResponseCollectionResponse,
133
+ contentType: ContentType.Json,
134
+ status: 200,
135
+ })
136
+ .setRetryAttempts(this.config, requestConfig)
137
+ .setRetryDelayMs(this.config, requestConfig)
138
+ .setResponseValidation(this.config, requestConfig)
139
+ .addPathParam({
140
+ key: 'user_id',
141
+ value: userId,
142
+ })
143
+ .addQueryParam({
144
+ key: 'limit',
145
+ value: params?.limit,
146
+ })
147
+ .addQueryParam({
148
+ key: 'starting_after',
149
+ value: params?.startingAfter,
150
+ })
151
+ .addQueryParam({
152
+ key: 'ending_before',
153
+ value: params?.endingBefore,
154
+ })
155
+ .build();
156
+ return this.client.call<InboxTokenResponseCollection>(request);
157
+ }
158
+
159
+ /**
160
+ * Retrieves a specific in_app token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
161
+ * @param {string} userId -
162
+ * @param {string} tokenId -
163
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
164
+ * @returns {Promise<HttpResponse<InboxTokenResponse>>} OK
165
+ */
166
+ async getInAppInboxUserToken(
167
+ userId: string,
168
+ tokenId: string,
169
+ requestConfig?: RequestConfig,
170
+ ): Promise<HttpResponse<InboxTokenResponse>> {
171
+ const request = new RequestBuilder()
172
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
173
+ .setConfig(this.config)
174
+ .setMethod('GET')
175
+ .setPath('/users/{user_id}/channels/in_app/inbox/tokens/{token_id}')
176
+ .setRequestSchema(z.any())
177
+ .addAccessTokenAuth(this.config.token, 'Bearer')
178
+ .setRequestContentType(ContentType.Json)
179
+ .addResponse({
180
+ schema: inboxTokenResponseResponse,
181
+ contentType: ContentType.Json,
182
+ status: 200,
183
+ })
184
+ .setRetryAttempts(this.config, requestConfig)
185
+ .setRetryDelayMs(this.config, requestConfig)
186
+ .setResponseValidation(this.config, requestConfig)
187
+ .addPathParam({
188
+ key: 'user_id',
189
+ value: userId,
190
+ })
191
+ .addPathParam({
192
+ key: 'token_id',
193
+ value: tokenId,
194
+ })
195
+ .build();
196
+ return this.client.call<InboxTokenResponse>(request);
197
+ }
198
+
199
+ /**
200
+ * Revokes a specific user's in_app token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
201
+ * @param {string} userId -
202
+ * @param {string} tokenId -
203
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
204
+ * @returns {Promise<HttpResponse<DiscardResult>>} OK
205
+ */
206
+ async discardInAppInboxUserToken(
207
+ userId: string,
208
+ tokenId: string,
209
+ requestConfig?: RequestConfig,
210
+ ): Promise<HttpResponse<DiscardResult>> {
211
+ const request = new RequestBuilder()
212
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
213
+ .setConfig(this.config)
214
+ .setMethod('DELETE')
215
+ .setPath('/users/{user_id}/channels/in_app/inbox/tokens/{token_id}')
216
+ .setRequestSchema(z.any())
217
+ .addAccessTokenAuth(this.config.token, 'Bearer')
218
+ .setRequestContentType(ContentType.Json)
219
+ .addResponse({
220
+ schema: discardResultResponse,
221
+ contentType: ContentType.Json,
222
+ status: 200,
223
+ })
224
+ .setRetryAttempts(this.config, requestConfig)
225
+ .setRetryDelayMs(this.config, requestConfig)
226
+ .setResponseValidation(this.config, requestConfig)
227
+ .addPathParam({
228
+ key: 'user_id',
229
+ value: userId,
230
+ })
231
+ .addPathParam({
232
+ key: 'token_id',
233
+ value: tokenId,
234
+ })
235
+ .build();
236
+ return this.client.call<DiscardResult>(request);
237
+ }
238
+
239
+ /**
240
+ * Lists all mobile_push tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
241
+ * @param {string} userId -
242
+ * @param {number} [params.limit] -
243
+ * @param {string} [params.startingAfter] -
244
+ * @param {string} [params.endingBefore] -
245
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
246
+ * @returns {Promise<HttpResponse<ApnsTokenCollection>>} OK
247
+ */
248
+ async getMobilePushApnsUserTokens(
249
+ userId: string,
250
+ params?: GetMobilePushApnsUserTokensParams,
251
+ requestConfig?: RequestConfig,
252
+ ): Promise<HttpResponse<ApnsTokenCollection>> {
253
+ const request = new RequestBuilder()
254
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
255
+ .setConfig(this.config)
256
+ .setMethod('GET')
257
+ .setPath('/users/{user_id}/channels/mobile_push/apns/tokens')
258
+ .setRequestSchema(z.any())
259
+ .addAccessTokenAuth(this.config.token, 'Bearer')
260
+ .setRequestContentType(ContentType.Json)
261
+ .addResponse({
262
+ schema: apnsTokenCollectionResponse,
263
+ contentType: ContentType.Json,
264
+ status: 200,
265
+ })
266
+ .setRetryAttempts(this.config, requestConfig)
267
+ .setRetryDelayMs(this.config, requestConfig)
268
+ .setResponseValidation(this.config, requestConfig)
269
+ .addPathParam({
270
+ key: 'user_id',
271
+ value: userId,
272
+ })
273
+ .addQueryParam({
274
+ key: 'limit',
275
+ value: params?.limit,
276
+ })
277
+ .addQueryParam({
278
+ key: 'starting_after',
279
+ value: params?.startingAfter,
280
+ })
281
+ .addQueryParam({
282
+ key: 'ending_before',
283
+ value: params?.endingBefore,
284
+ })
285
+ .build();
286
+ return this.client.call<ApnsTokenCollection>(request);
287
+ }
288
+
289
+ /**
290
+ * Retrieves a specific mobile_push token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
291
+ * @param {string} userId -
292
+ * @param {string} tokenId -
293
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
294
+ * @returns {Promise<HttpResponse<ApnsToken>>} OK
295
+ */
296
+ async getMobilePushApnsUserToken(
297
+ userId: string,
298
+ tokenId: string,
299
+ requestConfig?: RequestConfig,
300
+ ): Promise<HttpResponse<ApnsToken>> {
301
+ const request = new RequestBuilder()
302
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
303
+ .setConfig(this.config)
304
+ .setMethod('GET')
305
+ .setPath('/users/{user_id}/channels/mobile_push/apns/tokens/{token_id}')
306
+ .setRequestSchema(z.any())
307
+ .addAccessTokenAuth(this.config.token, 'Bearer')
308
+ .setRequestContentType(ContentType.Json)
309
+ .addResponse({
310
+ schema: apnsTokenResponse,
311
+ contentType: ContentType.Json,
312
+ status: 200,
313
+ })
314
+ .setRetryAttempts(this.config, requestConfig)
315
+ .setRetryDelayMs(this.config, requestConfig)
316
+ .setResponseValidation(this.config, requestConfig)
317
+ .addPathParam({
318
+ key: 'user_id',
319
+ value: userId,
320
+ })
321
+ .addPathParam({
322
+ key: 'token_id',
323
+ value: tokenId,
324
+ })
325
+ .build();
326
+ return this.client.call<ApnsToken>(request);
327
+ }
328
+
329
+ /**
330
+ * Revokes a specific user's mobile_push token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
331
+ * @param {string} userId -
332
+ * @param {string} tokenId -
333
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
334
+ * @returns {Promise<HttpResponse<DiscardResult>>} OK
335
+ */
336
+ async discardMobilePushApnsUserToken(
337
+ userId: string,
338
+ tokenId: string,
339
+ requestConfig?: RequestConfig,
340
+ ): Promise<HttpResponse<DiscardResult>> {
341
+ const request = new RequestBuilder()
342
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
343
+ .setConfig(this.config)
344
+ .setMethod('DELETE')
345
+ .setPath('/users/{user_id}/channels/mobile_push/apns/tokens/{token_id}')
346
+ .setRequestSchema(z.any())
347
+ .addAccessTokenAuth(this.config.token, 'Bearer')
348
+ .setRequestContentType(ContentType.Json)
349
+ .addResponse({
350
+ schema: discardResultResponse,
351
+ contentType: ContentType.Json,
352
+ status: 200,
353
+ })
354
+ .setRetryAttempts(this.config, requestConfig)
355
+ .setRetryDelayMs(this.config, requestConfig)
356
+ .setResponseValidation(this.config, requestConfig)
357
+ .addPathParam({
358
+ key: 'user_id',
359
+ value: userId,
360
+ })
361
+ .addPathParam({
362
+ key: 'token_id',
363
+ value: tokenId,
364
+ })
365
+ .build();
366
+ return this.client.call<DiscardResult>(request);
367
+ }
368
+
369
+ /**
370
+ * Lists all mobile_push tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
371
+ * @param {string} userId -
372
+ * @param {number} [params.limit] -
373
+ * @param {string} [params.startingAfter] -
374
+ * @param {string} [params.endingBefore] -
375
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
376
+ * @returns {Promise<HttpResponse<ExpoTokenCollection>>} OK
377
+ */
378
+ async getMobilePushExpoUserTokens(
379
+ userId: string,
380
+ params?: GetMobilePushExpoUserTokensParams,
381
+ requestConfig?: RequestConfig,
382
+ ): Promise<HttpResponse<ExpoTokenCollection>> {
383
+ const request = new RequestBuilder()
384
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
385
+ .setConfig(this.config)
386
+ .setMethod('GET')
387
+ .setPath('/users/{user_id}/channels/mobile_push/expo/tokens')
388
+ .setRequestSchema(z.any())
389
+ .addAccessTokenAuth(this.config.token, 'Bearer')
390
+ .setRequestContentType(ContentType.Json)
391
+ .addResponse({
392
+ schema: expoTokenCollectionResponse,
393
+ contentType: ContentType.Json,
394
+ status: 200,
395
+ })
396
+ .setRetryAttempts(this.config, requestConfig)
397
+ .setRetryDelayMs(this.config, requestConfig)
398
+ .setResponseValidation(this.config, requestConfig)
399
+ .addPathParam({
400
+ key: 'user_id',
401
+ value: userId,
402
+ })
403
+ .addQueryParam({
404
+ key: 'limit',
405
+ value: params?.limit,
406
+ })
407
+ .addQueryParam({
408
+ key: 'starting_after',
409
+ value: params?.startingAfter,
410
+ })
411
+ .addQueryParam({
412
+ key: 'ending_before',
413
+ value: params?.endingBefore,
414
+ })
415
+ .build();
416
+ return this.client.call<ExpoTokenCollection>(request);
417
+ }
418
+
419
+ /**
420
+ * Retrieves a specific mobile_push token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
421
+ * @param {string} userId -
422
+ * @param {string} tokenId -
423
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
424
+ * @returns {Promise<HttpResponse<ExpoToken>>} OK
425
+ */
426
+ async getMobilePushExpoUserToken(
427
+ userId: string,
428
+ tokenId: string,
429
+ requestConfig?: RequestConfig,
430
+ ): Promise<HttpResponse<ExpoToken>> {
431
+ const request = new RequestBuilder()
432
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
433
+ .setConfig(this.config)
434
+ .setMethod('GET')
435
+ .setPath('/users/{user_id}/channels/mobile_push/expo/tokens/{token_id}')
436
+ .setRequestSchema(z.any())
437
+ .addAccessTokenAuth(this.config.token, 'Bearer')
438
+ .setRequestContentType(ContentType.Json)
439
+ .addResponse({
440
+ schema: expoTokenResponse,
441
+ contentType: ContentType.Json,
442
+ status: 200,
443
+ })
444
+ .setRetryAttempts(this.config, requestConfig)
445
+ .setRetryDelayMs(this.config, requestConfig)
446
+ .setResponseValidation(this.config, requestConfig)
447
+ .addPathParam({
448
+ key: 'user_id',
449
+ value: userId,
450
+ })
451
+ .addPathParam({
452
+ key: 'token_id',
453
+ value: tokenId,
454
+ })
455
+ .build();
456
+ return this.client.call<ExpoToken>(request);
457
+ }
458
+
459
+ /**
460
+ * Revokes a specific user's mobile_push token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
461
+ * @param {string} userId -
462
+ * @param {string} tokenId -
463
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
464
+ * @returns {Promise<HttpResponse<DiscardResult>>} OK
465
+ */
466
+ async discardMobilePushExpoUserToken(
467
+ userId: string,
468
+ tokenId: string,
469
+ requestConfig?: RequestConfig,
470
+ ): Promise<HttpResponse<DiscardResult>> {
471
+ const request = new RequestBuilder()
472
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
473
+ .setConfig(this.config)
474
+ .setMethod('DELETE')
475
+ .setPath('/users/{user_id}/channels/mobile_push/expo/tokens/{token_id}')
476
+ .setRequestSchema(z.any())
477
+ .addAccessTokenAuth(this.config.token, 'Bearer')
478
+ .setRequestContentType(ContentType.Json)
479
+ .addResponse({
480
+ schema: discardResultResponse,
481
+ contentType: ContentType.Json,
482
+ status: 200,
483
+ })
484
+ .setRetryAttempts(this.config, requestConfig)
485
+ .setRetryDelayMs(this.config, requestConfig)
486
+ .setResponseValidation(this.config, requestConfig)
487
+ .addPathParam({
488
+ key: 'user_id',
489
+ value: userId,
490
+ })
491
+ .addPathParam({
492
+ key: 'token_id',
493
+ value: tokenId,
494
+ })
495
+ .build();
496
+ return this.client.call<DiscardResult>(request);
497
+ }
498
+
499
+ /**
500
+ * Lists all mobile_push tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
501
+ * @param {string} userId -
502
+ * @param {number} [params.limit] -
503
+ * @param {string} [params.startingAfter] -
504
+ * @param {string} [params.endingBefore] -
505
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
506
+ * @returns {Promise<HttpResponse<FcmTokenCollection>>} OK
507
+ */
508
+ async getMobilePushFcmUserTokens(
509
+ userId: string,
510
+ params?: GetMobilePushFcmUserTokensParams,
511
+ requestConfig?: RequestConfig,
512
+ ): Promise<HttpResponse<FcmTokenCollection>> {
513
+ const request = new RequestBuilder()
514
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
515
+ .setConfig(this.config)
516
+ .setMethod('GET')
517
+ .setPath('/users/{user_id}/channels/mobile_push/fcm/tokens')
518
+ .setRequestSchema(z.any())
519
+ .addAccessTokenAuth(this.config.token, 'Bearer')
520
+ .setRequestContentType(ContentType.Json)
521
+ .addResponse({
522
+ schema: fcmTokenCollectionResponse,
523
+ contentType: ContentType.Json,
524
+ status: 200,
525
+ })
526
+ .setRetryAttempts(this.config, requestConfig)
527
+ .setRetryDelayMs(this.config, requestConfig)
528
+ .setResponseValidation(this.config, requestConfig)
529
+ .addPathParam({
530
+ key: 'user_id',
531
+ value: userId,
532
+ })
533
+ .addQueryParam({
534
+ key: 'limit',
535
+ value: params?.limit,
536
+ })
537
+ .addQueryParam({
538
+ key: 'starting_after',
539
+ value: params?.startingAfter,
540
+ })
541
+ .addQueryParam({
542
+ key: 'ending_before',
543
+ value: params?.endingBefore,
544
+ })
545
+ .build();
546
+ return this.client.call<FcmTokenCollection>(request);
547
+ }
548
+
549
+ /**
550
+ * Retrieves a specific mobile_push token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
551
+ * @param {string} userId -
552
+ * @param {string} tokenId -
553
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
554
+ * @returns {Promise<HttpResponse<FcmToken>>} OK
555
+ */
556
+ async getMobilePushFcmUserToken(
557
+ userId: string,
558
+ tokenId: string,
559
+ requestConfig?: RequestConfig,
560
+ ): Promise<HttpResponse<FcmToken>> {
561
+ const request = new RequestBuilder()
562
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
563
+ .setConfig(this.config)
564
+ .setMethod('GET')
565
+ .setPath('/users/{user_id}/channels/mobile_push/fcm/tokens/{token_id}')
566
+ .setRequestSchema(z.any())
567
+ .addAccessTokenAuth(this.config.token, 'Bearer')
568
+ .setRequestContentType(ContentType.Json)
569
+ .addResponse({
570
+ schema: fcmTokenResponse,
571
+ contentType: ContentType.Json,
572
+ status: 200,
573
+ })
574
+ .setRetryAttempts(this.config, requestConfig)
575
+ .setRetryDelayMs(this.config, requestConfig)
576
+ .setResponseValidation(this.config, requestConfig)
577
+ .addPathParam({
578
+ key: 'user_id',
579
+ value: userId,
580
+ })
581
+ .addPathParam({
582
+ key: 'token_id',
583
+ value: tokenId,
584
+ })
585
+ .build();
586
+ return this.client.call<FcmToken>(request);
587
+ }
588
+
589
+ /**
590
+ * Revokes a specific user's mobile_push token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
591
+ * @param {string} userId -
592
+ * @param {string} tokenId -
593
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
594
+ * @returns {Promise<HttpResponse<DiscardResult>>} OK
595
+ */
596
+ async discardMobilePushFcmUserToken(
597
+ userId: string,
598
+ tokenId: string,
599
+ requestConfig?: RequestConfig,
600
+ ): Promise<HttpResponse<DiscardResult>> {
601
+ const request = new RequestBuilder()
602
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
603
+ .setConfig(this.config)
604
+ .setMethod('DELETE')
605
+ .setPath('/users/{user_id}/channels/mobile_push/fcm/tokens/{token_id}')
606
+ .setRequestSchema(z.any())
607
+ .addAccessTokenAuth(this.config.token, 'Bearer')
608
+ .setRequestContentType(ContentType.Json)
609
+ .addResponse({
610
+ schema: discardResultResponse,
611
+ contentType: ContentType.Json,
612
+ status: 200,
613
+ })
614
+ .setRetryAttempts(this.config, requestConfig)
615
+ .setRetryDelayMs(this.config, requestConfig)
616
+ .setResponseValidation(this.config, requestConfig)
617
+ .addPathParam({
618
+ key: 'user_id',
619
+ value: userId,
620
+ })
621
+ .addPathParam({
622
+ key: 'token_id',
623
+ value: tokenId,
624
+ })
625
+ .build();
626
+ return this.client.call<DiscardResult>(request);
627
+ }
628
+
629
+ /**
630
+ * Lists all slack tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
631
+ * @param {string} userId -
632
+ * @param {number} [params.limit] -
633
+ * @param {string} [params.startingAfter] -
634
+ * @param {string} [params.endingBefore] -
635
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
636
+ * @returns {Promise<HttpResponse<SlackTokenCollection>>} OK
637
+ */
638
+ async getSlackUserTokens(
639
+ userId: string,
640
+ params?: GetSlackUserTokensParams,
641
+ requestConfig?: RequestConfig,
642
+ ): Promise<HttpResponse<SlackTokenCollection>> {
643
+ const request = new RequestBuilder()
644
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
645
+ .setConfig(this.config)
646
+ .setMethod('GET')
647
+ .setPath('/users/{user_id}/channels/slack/tokens')
648
+ .setRequestSchema(z.any())
649
+ .addAccessTokenAuth(this.config.token, 'Bearer')
650
+ .setRequestContentType(ContentType.Json)
651
+ .addResponse({
652
+ schema: slackTokenCollectionResponse,
653
+ contentType: ContentType.Json,
654
+ status: 200,
655
+ })
656
+ .setRetryAttempts(this.config, requestConfig)
657
+ .setRetryDelayMs(this.config, requestConfig)
658
+ .setResponseValidation(this.config, requestConfig)
659
+ .addPathParam({
660
+ key: 'user_id',
661
+ value: userId,
662
+ })
663
+ .addQueryParam({
664
+ key: 'limit',
665
+ value: params?.limit,
666
+ })
667
+ .addQueryParam({
668
+ key: 'starting_after',
669
+ value: params?.startingAfter,
670
+ })
671
+ .addQueryParam({
672
+ key: 'ending_before',
673
+ value: params?.endingBefore,
674
+ })
675
+ .build();
676
+ return this.client.call<SlackTokenCollection>(request);
677
+ }
678
+
679
+ /**
680
+ * Retrieves a specific slack token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
681
+ * @param {string} userId -
682
+ * @param {string} tokenId -
683
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
684
+ * @returns {Promise<HttpResponse<SlackToken>>} OK
685
+ */
686
+ async getSlackUserToken(
687
+ userId: string,
688
+ tokenId: string,
689
+ requestConfig?: RequestConfig,
690
+ ): Promise<HttpResponse<SlackToken>> {
691
+ const request = new RequestBuilder()
692
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
693
+ .setConfig(this.config)
694
+ .setMethod('GET')
695
+ .setPath('/users/{user_id}/channels/slack/tokens/{token_id}')
696
+ .setRequestSchema(z.any())
697
+ .addAccessTokenAuth(this.config.token, 'Bearer')
698
+ .setRequestContentType(ContentType.Json)
699
+ .addResponse({
700
+ schema: slackTokenResponse,
701
+ contentType: ContentType.Json,
702
+ status: 200,
703
+ })
704
+ .setRetryAttempts(this.config, requestConfig)
705
+ .setRetryDelayMs(this.config, requestConfig)
706
+ .setResponseValidation(this.config, requestConfig)
707
+ .addPathParam({
708
+ key: 'user_id',
709
+ value: userId,
710
+ })
711
+ .addPathParam({
712
+ key: 'token_id',
713
+ value: tokenId,
714
+ })
715
+ .build();
716
+ return this.client.call<SlackToken>(request);
717
+ }
718
+
719
+ /**
720
+ * Revokes a specific user's slack token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
721
+ * @param {string} userId -
722
+ * @param {string} tokenId -
723
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
724
+ * @returns {Promise<HttpResponse<DiscardResult>>} OK
725
+ */
726
+ async discardSlackUserToken(
727
+ userId: string,
728
+ tokenId: string,
729
+ requestConfig?: RequestConfig,
730
+ ): Promise<HttpResponse<DiscardResult>> {
731
+ const request = new RequestBuilder()
732
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
733
+ .setConfig(this.config)
734
+ .setMethod('DELETE')
735
+ .setPath('/users/{user_id}/channels/slack/tokens/{token_id}')
736
+ .setRequestSchema(z.any())
737
+ .addAccessTokenAuth(this.config.token, 'Bearer')
738
+ .setRequestContentType(ContentType.Json)
739
+ .addResponse({
740
+ schema: discardResultResponse,
741
+ contentType: ContentType.Json,
742
+ status: 200,
743
+ })
744
+ .setRetryAttempts(this.config, requestConfig)
745
+ .setRetryDelayMs(this.config, requestConfig)
746
+ .setResponseValidation(this.config, requestConfig)
747
+ .addPathParam({
748
+ key: 'user_id',
749
+ value: userId,
750
+ })
751
+ .addPathParam({
752
+ key: 'token_id',
753
+ value: tokenId,
754
+ })
755
+ .build();
756
+ return this.client.call<DiscardResult>(request);
757
+ }
758
+
759
+ /**
760
+ * Lists all teams tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
761
+ * @param {string} userId -
762
+ * @param {number} [params.limit] -
763
+ * @param {string} [params.startingAfter] -
764
+ * @param {string} [params.endingBefore] -
765
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
766
+ * @returns {Promise<HttpResponse<TeamsTokenCollection>>} OK
767
+ */
768
+ async getTeamsUserTokens(
769
+ userId: string,
770
+ params?: GetTeamsUserTokensParams,
771
+ requestConfig?: RequestConfig,
772
+ ): Promise<HttpResponse<TeamsTokenCollection>> {
773
+ const request = new RequestBuilder()
774
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
775
+ .setConfig(this.config)
776
+ .setMethod('GET')
777
+ .setPath('/users/{user_id}/channels/teams/tokens')
778
+ .setRequestSchema(z.any())
779
+ .addAccessTokenAuth(this.config.token, 'Bearer')
780
+ .setRequestContentType(ContentType.Json)
781
+ .addResponse({
782
+ schema: teamsTokenCollectionResponse,
783
+ contentType: ContentType.Json,
784
+ status: 200,
785
+ })
786
+ .setRetryAttempts(this.config, requestConfig)
787
+ .setRetryDelayMs(this.config, requestConfig)
788
+ .setResponseValidation(this.config, requestConfig)
789
+ .addPathParam({
790
+ key: 'user_id',
791
+ value: userId,
792
+ })
793
+ .addQueryParam({
794
+ key: 'limit',
795
+ value: params?.limit,
796
+ })
797
+ .addQueryParam({
798
+ key: 'starting_after',
799
+ value: params?.startingAfter,
800
+ })
801
+ .addQueryParam({
802
+ key: 'ending_before',
803
+ value: params?.endingBefore,
804
+ })
805
+ .build();
806
+ return this.client.call<TeamsTokenCollection>(request);
807
+ }
808
+
809
+ /**
810
+ * Retrieves a specific teams token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
811
+ * @param {string} userId -
812
+ * @param {string} tokenId -
813
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
814
+ * @returns {Promise<HttpResponse<TeamsToken>>} OK
815
+ */
816
+ async getTeamsUserToken(
817
+ userId: string,
818
+ tokenId: string,
819
+ requestConfig?: RequestConfig,
820
+ ): Promise<HttpResponse<TeamsToken>> {
821
+ const request = new RequestBuilder()
822
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
823
+ .setConfig(this.config)
824
+ .setMethod('GET')
825
+ .setPath('/users/{user_id}/channels/teams/tokens/{token_id}')
826
+ .setRequestSchema(z.any())
827
+ .addAccessTokenAuth(this.config.token, 'Bearer')
828
+ .setRequestContentType(ContentType.Json)
829
+ .addResponse({
830
+ schema: teamsTokenResponse,
831
+ contentType: ContentType.Json,
832
+ status: 200,
833
+ })
834
+ .setRetryAttempts(this.config, requestConfig)
835
+ .setRetryDelayMs(this.config, requestConfig)
836
+ .setResponseValidation(this.config, requestConfig)
837
+ .addPathParam({
838
+ key: 'user_id',
839
+ value: userId,
840
+ })
841
+ .addPathParam({
842
+ key: 'token_id',
843
+ value: tokenId,
844
+ })
845
+ .build();
846
+ return this.client.call<TeamsToken>(request);
847
+ }
848
+
849
+ /**
850
+ * Revokes a specific user's teams token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
851
+ * @param {string} userId -
852
+ * @param {string} tokenId -
853
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
854
+ * @returns {Promise<HttpResponse<DiscardResult>>} OK
855
+ */
856
+ async discardTeamsUserToken(
857
+ userId: string,
858
+ tokenId: string,
859
+ requestConfig?: RequestConfig,
860
+ ): Promise<HttpResponse<DiscardResult>> {
861
+ const request = new RequestBuilder()
862
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
863
+ .setConfig(this.config)
864
+ .setMethod('DELETE')
865
+ .setPath('/users/{user_id}/channels/teams/tokens/{token_id}')
866
+ .setRequestSchema(z.any())
867
+ .addAccessTokenAuth(this.config.token, 'Bearer')
868
+ .setRequestContentType(ContentType.Json)
869
+ .addResponse({
870
+ schema: discardResultResponse,
871
+ contentType: ContentType.Json,
872
+ status: 200,
873
+ })
874
+ .setRetryAttempts(this.config, requestConfig)
875
+ .setRetryDelayMs(this.config, requestConfig)
876
+ .setResponseValidation(this.config, requestConfig)
877
+ .addPathParam({
878
+ key: 'user_id',
879
+ value: userId,
880
+ })
881
+ .addPathParam({
882
+ key: 'token_id',
883
+ value: tokenId,
884
+ })
885
+ .build();
886
+ return this.client.call<DiscardResult>(request);
887
+ }
888
+
889
+ /**
890
+ * Lists all web_push tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
891
+ * @param {string} userId -
892
+ * @param {number} [params.limit] -
893
+ * @param {string} [params.startingAfter] -
894
+ * @param {string} [params.endingBefore] -
895
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
896
+ * @returns {Promise<HttpResponse<WebPushTokenCollection>>} OK
897
+ */
898
+ async getWebPushUserTokens(
899
+ userId: string,
900
+ params?: GetWebPushUserTokensParams,
901
+ requestConfig?: RequestConfig,
902
+ ): Promise<HttpResponse<WebPushTokenCollection>> {
903
+ const request = new RequestBuilder()
904
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
905
+ .setConfig(this.config)
906
+ .setMethod('GET')
907
+ .setPath('/users/{user_id}/channels/web_push/tokens')
908
+ .setRequestSchema(z.any())
909
+ .addAccessTokenAuth(this.config.token, 'Bearer')
910
+ .setRequestContentType(ContentType.Json)
911
+ .addResponse({
912
+ schema: webPushTokenCollectionResponse,
913
+ contentType: ContentType.Json,
914
+ status: 200,
915
+ })
916
+ .setRetryAttempts(this.config, requestConfig)
917
+ .setRetryDelayMs(this.config, requestConfig)
918
+ .setResponseValidation(this.config, requestConfig)
919
+ .addPathParam({
920
+ key: 'user_id',
921
+ value: userId,
922
+ })
923
+ .addQueryParam({
924
+ key: 'limit',
925
+ value: params?.limit,
926
+ })
927
+ .addQueryParam({
928
+ key: 'starting_after',
929
+ value: params?.startingAfter,
930
+ })
931
+ .addQueryParam({
932
+ key: 'ending_before',
933
+ value: params?.endingBefore,
934
+ })
935
+ .build();
936
+ return this.client.call<WebPushTokenCollection>(request);
937
+ }
938
+
939
+ /**
940
+ * Retrieves a specific web_push token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
941
+ * @param {string} userId -
942
+ * @param {string} tokenId -
943
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
944
+ * @returns {Promise<HttpResponse<WebPushToken>>} OK
945
+ */
946
+ async getWebPushUserToken(
947
+ userId: string,
948
+ tokenId: string,
949
+ requestConfig?: RequestConfig,
950
+ ): Promise<HttpResponse<WebPushToken>> {
951
+ const request = new RequestBuilder()
952
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
953
+ .setConfig(this.config)
954
+ .setMethod('GET')
955
+ .setPath('/users/{user_id}/channels/web_push/tokens/{token_id}')
956
+ .setRequestSchema(z.any())
957
+ .addAccessTokenAuth(this.config.token, 'Bearer')
958
+ .setRequestContentType(ContentType.Json)
959
+ .addResponse({
960
+ schema: webPushTokenResponse,
961
+ contentType: ContentType.Json,
962
+ status: 200,
963
+ })
964
+ .setRetryAttempts(this.config, requestConfig)
965
+ .setRetryDelayMs(this.config, requestConfig)
966
+ .setResponseValidation(this.config, requestConfig)
967
+ .addPathParam({
968
+ key: 'user_id',
969
+ value: userId,
970
+ })
971
+ .addPathParam({
972
+ key: 'token_id',
973
+ value: tokenId,
974
+ })
975
+ .build();
976
+ return this.client.call<WebPushToken>(request);
977
+ }
978
+
979
+ /**
980
+ * Revokes a specific user's web_push token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
981
+ * @param {string} userId -
982
+ * @param {string} tokenId -
983
+ * @param {RequestConfig} requestConfig - (Optional) The request configuration for retry and validation.
984
+ * @returns {Promise<HttpResponse<DiscardResult>>} OK
985
+ */
986
+ async discardWebPushUserToken(
987
+ userId: string,
988
+ tokenId: string,
989
+ requestConfig?: RequestConfig,
990
+ ): Promise<HttpResponse<DiscardResult>> {
991
+ const request = new RequestBuilder()
992
+ .setBaseUrl(requestConfig?.baseUrl || this.config.baseUrl || this.config.environment || Environment.DEFAULT)
993
+ .setConfig(this.config)
994
+ .setMethod('DELETE')
995
+ .setPath('/users/{user_id}/channels/web_push/tokens/{token_id}')
996
+ .setRequestSchema(z.any())
997
+ .addAccessTokenAuth(this.config.token, 'Bearer')
998
+ .setRequestContentType(ContentType.Json)
999
+ .addResponse({
1000
+ schema: discardResultResponse,
1001
+ contentType: ContentType.Json,
1002
+ status: 200,
1003
+ })
1004
+ .setRetryAttempts(this.config, requestConfig)
1005
+ .setRetryDelayMs(this.config, requestConfig)
1006
+ .setResponseValidation(this.config, requestConfig)
1007
+ .addPathParam({
1008
+ key: 'user_id',
1009
+ value: userId,
1010
+ })
1011
+ .addPathParam({
1012
+ key: 'token_id',
1013
+ value: tokenId,
1014
+ })
1015
+ .build();
1016
+ return this.client.call<DiscardResult>(request);
1017
+ }
1018
+ }