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,2 @@
1
+ export { ChannelsService } from './channels-service.js';
2
+ export * from './models/index.js';
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod';
2
+
3
+ import { Links, links, linksRequest, linksResponse } from '../../common/links.js';
4
+ import { ApnsToken, apnsToken, apnsTokenRequest, apnsTokenResponse } from './apns-token.js';
5
+
6
+ /**
7
+ * The shape of the model inside the application code - what the users use
8
+ */
9
+ export const apnsTokenCollection = z.lazy(() => {
10
+ return z.object({
11
+ data: z.array(apnsToken).optional(),
12
+ links: links.optional(),
13
+ });
14
+ });
15
+
16
+ /**
17
+ *
18
+ * @typedef {ApnsTokenCollection} apnsTokenCollection
19
+ * @property {ApnsToken[]}
20
+ * @property {Links}
21
+ */
22
+ export type ApnsTokenCollection = z.infer<typeof apnsTokenCollection>;
23
+
24
+ /**
25
+ * The shape of the model mapping from the api schema into the application shape.
26
+ * Is equal to application shape if all property names match the api schema
27
+ */
28
+ export const apnsTokenCollectionResponse = z.lazy(() => {
29
+ return z
30
+ .object({
31
+ data: z.array(apnsTokenResponse).optional(),
32
+ links: linksResponse.optional(),
33
+ })
34
+ .transform((data) => ({
35
+ data: data['data'],
36
+ links: data['links'],
37
+ }));
38
+ });
39
+
40
+ /**
41
+ * The shape of the model mapping from the application shape into the api schema.
42
+ * Is equal to application shape if all property names match the api schema
43
+ */
44
+ export const apnsTokenCollectionRequest = z.lazy(() => {
45
+ return z
46
+ .object({
47
+ data: z.array(apnsTokenRequest).optional(),
48
+ links: linksRequest.optional(),
49
+ })
50
+ .transform((data) => ({
51
+ data: data['data'],
52
+ links: data['links'],
53
+ }));
54
+ });
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+
3
+ export enum ApnsTokenInstallationId {
4
+ DEVELOPMENT = 'development',
5
+ PRODUCTION = 'production',
6
+ }
@@ -0,0 +1,90 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * The shape of the model inside the application code - what the users use
5
+ */
6
+ export const apnsToken = z.lazy(() => {
7
+ return z.object({
8
+ appId: z
9
+ .string()
10
+ .regex(/^[a-zA-Z0-9]+(.[a-zA-Z0-9]+)*$/)
11
+ .optional(),
12
+ createdAt: z.string(),
13
+ deviceToken: z.string().min(64),
14
+ discardedAt: z.string().optional().nullable(),
15
+ id: z.string(),
16
+ installationId: z.string().optional(),
17
+ updatedAt: z.string().optional().nullable(),
18
+ });
19
+ });
20
+
21
+ /**
22
+ *
23
+ * @typedef {ApnsToken} apnsToken
24
+ * @property {string} - (Optional) The bundle identifier of the application that is registering this token. Use this field to override the default identifier specified in the projects APNs integration.
25
+ * @property {string}
26
+ * @property {string}
27
+ * @property {string}
28
+ * @property {string}
29
+ * @property {ApnsTokenInstallationId} - (Optional) The APNs environment the token is registered for. If none is provided we assume the token is used in `production`.
30
+ * @property {string}
31
+ */
32
+ export type ApnsToken = z.infer<typeof apnsToken>;
33
+
34
+ /**
35
+ * The shape of the model mapping from the api schema into the application shape.
36
+ * Is equal to application shape if all property names match the api schema
37
+ */
38
+ export const apnsTokenResponse = z.lazy(() => {
39
+ return z
40
+ .object({
41
+ app_id: z
42
+ .string()
43
+ .regex(/^[a-zA-Z0-9]+(.[a-zA-Z0-9]+)*$/)
44
+ .optional(),
45
+ created_at: z.string(),
46
+ device_token: z.string().min(64),
47
+ discarded_at: z.string().optional().nullable(),
48
+ id: z.string(),
49
+ installation_id: z.string().optional(),
50
+ updated_at: z.string().optional().nullable(),
51
+ })
52
+ .transform((data) => ({
53
+ appId: data['app_id'],
54
+ createdAt: data['created_at'],
55
+ deviceToken: data['device_token'],
56
+ discardedAt: data['discarded_at'],
57
+ id: data['id'],
58
+ installationId: data['installation_id'],
59
+ updatedAt: data['updated_at'],
60
+ }));
61
+ });
62
+
63
+ /**
64
+ * The shape of the model mapping from the application shape into the api schema.
65
+ * Is equal to application shape if all property names match the api schema
66
+ */
67
+ export const apnsTokenRequest = z.lazy(() => {
68
+ return z
69
+ .object({
70
+ appId: z
71
+ .string()
72
+ .regex(/^[a-zA-Z0-9]+(.[a-zA-Z0-9]+)*$/)
73
+ .optional(),
74
+ createdAt: z.string(),
75
+ deviceToken: z.string().min(64),
76
+ discardedAt: z.string().optional().nullable(),
77
+ id: z.string(),
78
+ installationId: z.string().optional(),
79
+ updatedAt: z.string().optional().nullable(),
80
+ })
81
+ .transform((data) => ({
82
+ app_id: data['appId'],
83
+ created_at: data['createdAt'],
84
+ device_token: data['deviceToken'],
85
+ discarded_at: data['discardedAt'],
86
+ id: data['id'],
87
+ installation_id: data['installationId'],
88
+ updated_at: data['updatedAt'],
89
+ }));
90
+ });
@@ -0,0 +1,57 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * The shape of the model inside the application code - what the users use
5
+ */
6
+ export const categoryDeliveryConfigChannels = z.lazy(() => {
7
+ return z.object({
8
+ channel: z.string(),
9
+ delay: z.number().gte(0).optional(),
10
+ if: z.string().optional().nullable(),
11
+ });
12
+ });
13
+
14
+ /**
15
+ *
16
+ * @typedef {CategoryDeliveryConfigChannels} categoryDeliveryConfigChannels
17
+ * @property {Channel}
18
+ * @property {number}
19
+ * @property {string}
20
+ */
21
+ export type CategoryDeliveryConfigChannels = z.infer<typeof categoryDeliveryConfigChannels>;
22
+
23
+ /**
24
+ * The shape of the model mapping from the api schema into the application shape.
25
+ * Is equal to application shape if all property names match the api schema
26
+ */
27
+ export const categoryDeliveryConfigChannelsResponse = z.lazy(() => {
28
+ return z
29
+ .object({
30
+ channel: z.string(),
31
+ delay: z.number().gte(0).optional(),
32
+ if: z.string().optional().nullable(),
33
+ })
34
+ .transform((data) => ({
35
+ channel: data['channel'],
36
+ delay: data['delay'],
37
+ if: data['if'],
38
+ }));
39
+ });
40
+
41
+ /**
42
+ * The shape of the model mapping from the application shape into the api schema.
43
+ * Is equal to application shape if all property names match the api schema
44
+ */
45
+ export const categoryDeliveryConfigChannelsRequest = z.lazy(() => {
46
+ return z
47
+ .object({
48
+ channel: z.string(),
49
+ delay: z.number().gte(0).optional(),
50
+ if: z.string().optional().nullable(),
51
+ })
52
+ .transform((data) => ({
53
+ channel: data['channel'],
54
+ delay: data['delay'],
55
+ if: data['if'],
56
+ }));
57
+ });
@@ -0,0 +1,73 @@
1
+ import { z } from 'zod';
2
+
3
+ import {
4
+ CategoryDeliveryConfigChannels,
5
+ categoryDeliveryConfigChannels,
6
+ categoryDeliveryConfigChannelsRequest,
7
+ categoryDeliveryConfigChannelsResponse,
8
+ } from './category-delivery-config-channels.js';
9
+
10
+ /**
11
+ * The shape of the model inside the application code - what the users use
12
+ */
13
+ export const categoryDeliveryConfig = z.lazy(() => {
14
+ return z.object({
15
+ channels: z.array(categoryDeliveryConfigChannels),
16
+ disabled: z.boolean().optional(),
17
+ key: z
18
+ .string()
19
+ .min(3)
20
+ .regex(/^[A-Za-z0-9_.\-:\/]+$/),
21
+ });
22
+ });
23
+
24
+ /**
25
+ *
26
+ * @typedef {CategoryDeliveryConfig} categoryDeliveryConfig
27
+ * @property {CategoryDeliveryConfigChannels[]}
28
+ * @property {boolean}
29
+ * @property {string}
30
+ */
31
+ export type CategoryDeliveryConfig = z.infer<typeof categoryDeliveryConfig>;
32
+
33
+ /**
34
+ * The shape of the model mapping from the api schema into the application shape.
35
+ * Is equal to application shape if all property names match the api schema
36
+ */
37
+ export const categoryDeliveryConfigResponse = z.lazy(() => {
38
+ return z
39
+ .object({
40
+ channels: z.array(categoryDeliveryConfigChannelsResponse),
41
+ disabled: z.boolean().optional(),
42
+ key: z
43
+ .string()
44
+ .min(3)
45
+ .regex(/^[A-Za-z0-9_.\-:\/]+$/),
46
+ })
47
+ .transform((data) => ({
48
+ channels: data['channels'],
49
+ disabled: data['disabled'],
50
+ key: data['key'],
51
+ }));
52
+ });
53
+
54
+ /**
55
+ * The shape of the model mapping from the application shape into the api schema.
56
+ * Is equal to application shape if all property names match the api schema
57
+ */
58
+ export const categoryDeliveryConfigRequest = z.lazy(() => {
59
+ return z
60
+ .object({
61
+ channels: z.array(categoryDeliveryConfigChannelsRequest),
62
+ disabled: z.boolean().optional(),
63
+ key: z
64
+ .string()
65
+ .min(3)
66
+ .regex(/^[A-Za-z0-9_.\-:\/]+$/),
67
+ })
68
+ .transform((data) => ({
69
+ channels: data['channels'],
70
+ disabled: data['disabled'],
71
+ key: data['key'],
72
+ }));
73
+ });
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+
3
+ export enum Channel {
4
+ IN_APP = 'in_app',
5
+ SLACK = 'slack',
6
+ WEB_PUSH = 'web_push',
7
+ MOBILE_PUSH = 'mobile_push',
8
+ TEAMS = 'teams',
9
+ EMAIL = 'email',
10
+ SMS = 'sms',
11
+ }
@@ -0,0 +1,51 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * The shape of the model inside the application code - what the users use
5
+ */
6
+ export const discardResult = z.lazy(() => {
7
+ return z.object({
8
+ discardedAt: z.string().optional(),
9
+ id: z.string().optional(),
10
+ });
11
+ });
12
+
13
+ /**
14
+ *
15
+ * @typedef {DiscardResult} discardResult
16
+ * @property {string}
17
+ * @property {string}
18
+ */
19
+ export type DiscardResult = z.infer<typeof discardResult>;
20
+
21
+ /**
22
+ * The shape of the model mapping from the api schema into the application shape.
23
+ * Is equal to application shape if all property names match the api schema
24
+ */
25
+ export const discardResultResponse = z.lazy(() => {
26
+ return z
27
+ .object({
28
+ discarded_at: z.string().optional(),
29
+ id: z.string().optional(),
30
+ })
31
+ .transform((data) => ({
32
+ discardedAt: data['discarded_at'],
33
+ id: data['id'],
34
+ }));
35
+ });
36
+
37
+ /**
38
+ * The shape of the model mapping from the application shape into the api schema.
39
+ * Is equal to application shape if all property names match the api schema
40
+ */
41
+ export const discardResultRequest = z.lazy(() => {
42
+ return z
43
+ .object({
44
+ discardedAt: z.string().optional(),
45
+ id: z.string().optional(),
46
+ })
47
+ .transform((data) => ({
48
+ discarded_at: data['discardedAt'],
49
+ id: data['id'],
50
+ }));
51
+ });
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod';
2
+
3
+ import { Links, links, linksRequest, linksResponse } from '../../common/links.js';
4
+ import { ExpoToken, expoToken, expoTokenRequest, expoTokenResponse } from './expo-token.js';
5
+
6
+ /**
7
+ * The shape of the model inside the application code - what the users use
8
+ */
9
+ export const expoTokenCollection = z.lazy(() => {
10
+ return z.object({
11
+ data: z.array(expoToken).optional(),
12
+ links: links.optional(),
13
+ });
14
+ });
15
+
16
+ /**
17
+ *
18
+ * @typedef {ExpoTokenCollection} expoTokenCollection
19
+ * @property {ExpoToken[]}
20
+ * @property {Links}
21
+ */
22
+ export type ExpoTokenCollection = z.infer<typeof expoTokenCollection>;
23
+
24
+ /**
25
+ * The shape of the model mapping from the api schema into the application shape.
26
+ * Is equal to application shape if all property names match the api schema
27
+ */
28
+ export const expoTokenCollectionResponse = z.lazy(() => {
29
+ return z
30
+ .object({
31
+ data: z.array(expoTokenResponse).optional(),
32
+ links: linksResponse.optional(),
33
+ })
34
+ .transform((data) => ({
35
+ data: data['data'],
36
+ links: data['links'],
37
+ }));
38
+ });
39
+
40
+ /**
41
+ * The shape of the model mapping from the application shape into the api schema.
42
+ * Is equal to application shape if all property names match the api schema
43
+ */
44
+ export const expoTokenCollectionRequest = z.lazy(() => {
45
+ return z
46
+ .object({
47
+ data: z.array(expoTokenRequest).optional(),
48
+ links: linksRequest.optional(),
49
+ })
50
+ .transform((data) => ({
51
+ data: data['data'],
52
+ links: data['links'],
53
+ }));
54
+ });
@@ -0,0 +1,69 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * The shape of the model inside the application code - what the users use
5
+ */
6
+ export const expoToken = z.lazy(() => {
7
+ return z.object({
8
+ createdAt: z.string(),
9
+ deviceToken: z.string().min(1),
10
+ discardedAt: z.string().optional().nullable(),
11
+ id: z.string(),
12
+ updatedAt: z.string().optional().nullable(),
13
+ });
14
+ });
15
+
16
+ /**
17
+ *
18
+ * @typedef {ExpoToken} expoToken
19
+ * @property {string}
20
+ * @property {string}
21
+ * @property {string}
22
+ * @property {string}
23
+ * @property {string}
24
+ */
25
+ export type ExpoToken = z.infer<typeof expoToken>;
26
+
27
+ /**
28
+ * The shape of the model mapping from the api schema into the application shape.
29
+ * Is equal to application shape if all property names match the api schema
30
+ */
31
+ export const expoTokenResponse = z.lazy(() => {
32
+ return z
33
+ .object({
34
+ created_at: z.string(),
35
+ device_token: z.string().min(1),
36
+ discarded_at: z.string().optional().nullable(),
37
+ id: z.string(),
38
+ updated_at: z.string().optional().nullable(),
39
+ })
40
+ .transform((data) => ({
41
+ createdAt: data['created_at'],
42
+ deviceToken: data['device_token'],
43
+ discardedAt: data['discarded_at'],
44
+ id: data['id'],
45
+ updatedAt: data['updated_at'],
46
+ }));
47
+ });
48
+
49
+ /**
50
+ * The shape of the model mapping from the application shape into the api schema.
51
+ * Is equal to application shape if all property names match the api schema
52
+ */
53
+ export const expoTokenRequest = z.lazy(() => {
54
+ return z
55
+ .object({
56
+ createdAt: z.string(),
57
+ deviceToken: z.string().min(1),
58
+ discardedAt: z.string().optional().nullable(),
59
+ id: z.string(),
60
+ updatedAt: z.string().optional().nullable(),
61
+ })
62
+ .transform((data) => ({
63
+ created_at: data['createdAt'],
64
+ device_token: data['deviceToken'],
65
+ discarded_at: data['discardedAt'],
66
+ id: data['id'],
67
+ updated_at: data['updatedAt'],
68
+ }));
69
+ });
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod';
2
+
3
+ import { Links, links, linksRequest, linksResponse } from '../../common/links.js';
4
+ import { FcmToken, fcmToken, fcmTokenRequest, fcmTokenResponse } from './fcm-token.js';
5
+
6
+ /**
7
+ * The shape of the model inside the application code - what the users use
8
+ */
9
+ export const fcmTokenCollection = z.lazy(() => {
10
+ return z.object({
11
+ data: z.array(fcmToken).optional(),
12
+ links: links.optional(),
13
+ });
14
+ });
15
+
16
+ /**
17
+ *
18
+ * @typedef {FcmTokenCollection} fcmTokenCollection
19
+ * @property {FcmToken[]}
20
+ * @property {Links}
21
+ */
22
+ export type FcmTokenCollection = z.infer<typeof fcmTokenCollection>;
23
+
24
+ /**
25
+ * The shape of the model mapping from the api schema into the application shape.
26
+ * Is equal to application shape if all property names match the api schema
27
+ */
28
+ export const fcmTokenCollectionResponse = z.lazy(() => {
29
+ return z
30
+ .object({
31
+ data: z.array(fcmTokenResponse).optional(),
32
+ links: linksResponse.optional(),
33
+ })
34
+ .transform((data) => ({
35
+ data: data['data'],
36
+ links: data['links'],
37
+ }));
38
+ });
39
+
40
+ /**
41
+ * The shape of the model mapping from the application shape into the api schema.
42
+ * Is equal to application shape if all property names match the api schema
43
+ */
44
+ export const fcmTokenCollectionRequest = z.lazy(() => {
45
+ return z
46
+ .object({
47
+ data: z.array(fcmTokenRequest).optional(),
48
+ links: linksRequest.optional(),
49
+ })
50
+ .transform((data) => ({
51
+ data: data['data'],
52
+ links: data['links'],
53
+ }));
54
+ });
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+
3
+ export enum FcmTokenInstallationId {
4
+ DEVELOPMENT = 'development',
5
+ PRODUCTION = 'production',
6
+ }
@@ -0,0 +1,75 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * The shape of the model inside the application code - what the users use
5
+ */
6
+ export const fcmToken = z.lazy(() => {
7
+ return z.object({
8
+ createdAt: z.string(),
9
+ deviceToken: z.string().min(64),
10
+ discardedAt: z.string().optional().nullable(),
11
+ id: z.string(),
12
+ installationId: z.string().optional(),
13
+ updatedAt: z.string().optional().nullable(),
14
+ });
15
+ });
16
+
17
+ /**
18
+ *
19
+ * @typedef {FcmToken} fcmToken
20
+ * @property {string}
21
+ * @property {string}
22
+ * @property {string}
23
+ * @property {string}
24
+ * @property {FcmTokenInstallationId}
25
+ * @property {string}
26
+ */
27
+ export type FcmToken = z.infer<typeof fcmToken>;
28
+
29
+ /**
30
+ * The shape of the model mapping from the api schema into the application shape.
31
+ * Is equal to application shape if all property names match the api schema
32
+ */
33
+ export const fcmTokenResponse = z.lazy(() => {
34
+ return z
35
+ .object({
36
+ created_at: z.string(),
37
+ device_token: z.string().min(64),
38
+ discarded_at: z.string().optional().nullable(),
39
+ id: z.string(),
40
+ installation_id: z.string().optional(),
41
+ updated_at: z.string().optional().nullable(),
42
+ })
43
+ .transform((data) => ({
44
+ createdAt: data['created_at'],
45
+ deviceToken: data['device_token'],
46
+ discardedAt: data['discarded_at'],
47
+ id: data['id'],
48
+ installationId: data['installation_id'],
49
+ updatedAt: data['updated_at'],
50
+ }));
51
+ });
52
+
53
+ /**
54
+ * The shape of the model mapping from the application shape into the api schema.
55
+ * Is equal to application shape if all property names match the api schema
56
+ */
57
+ export const fcmTokenRequest = z.lazy(() => {
58
+ return z
59
+ .object({
60
+ createdAt: z.string(),
61
+ deviceToken: z.string().min(64),
62
+ discardedAt: z.string().optional().nullable(),
63
+ id: z.string(),
64
+ installationId: z.string().optional(),
65
+ updatedAt: z.string().optional().nullable(),
66
+ })
67
+ .transform((data) => ({
68
+ created_at: data['createdAt'],
69
+ device_token: data['deviceToken'],
70
+ discarded_at: data['discardedAt'],
71
+ id: data['id'],
72
+ installation_id: data['installationId'],
73
+ updated_at: data['updatedAt'],
74
+ }));
75
+ });
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+
3
+ import { Links, links, linksRequest, linksResponse } from '../../common/links.js';
4
+ import {
5
+ InboxTokenResponse,
6
+ inboxTokenResponse,
7
+ inboxTokenResponseRequest,
8
+ inboxTokenResponseResponse,
9
+ } from './inbox-token-response.js';
10
+
11
+ /**
12
+ * The shape of the model inside the application code - what the users use
13
+ */
14
+ export const inboxTokenResponseCollection = z.lazy(() => {
15
+ return z.object({
16
+ data: z.array(inboxTokenResponse).optional(),
17
+ links: links.optional(),
18
+ });
19
+ });
20
+
21
+ /**
22
+ *
23
+ * @typedef {InboxTokenResponseCollection} inboxTokenResponseCollection
24
+ * @property {InboxTokenResponse[]}
25
+ * @property {Links}
26
+ */
27
+ export type InboxTokenResponseCollection = z.infer<typeof inboxTokenResponseCollection>;
28
+
29
+ /**
30
+ * The shape of the model mapping from the api schema into the application shape.
31
+ * Is equal to application shape if all property names match the api schema
32
+ */
33
+ export const inboxTokenResponseCollectionResponse = z.lazy(() => {
34
+ return z
35
+ .object({
36
+ data: z.array(inboxTokenResponseResponse).optional(),
37
+ links: linksResponse.optional(),
38
+ })
39
+ .transform((data) => ({
40
+ data: data['data'],
41
+ links: data['links'],
42
+ }));
43
+ });
44
+
45
+ /**
46
+ * The shape of the model mapping from the application shape into the api schema.
47
+ * Is equal to application shape if all property names match the api schema
48
+ */
49
+ export const inboxTokenResponseCollectionRequest = z.lazy(() => {
50
+ return z
51
+ .object({
52
+ data: z.array(inboxTokenResponseRequest).optional(),
53
+ links: linksRequest.optional(),
54
+ })
55
+ .transform((data) => ({
56
+ data: data['data'],
57
+ links: data['links'],
58
+ }));
59
+ });