magicbell-js 1.1.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/README.md +66 -5
  2. package/dist/commonjs/project-client/services/broadcasts/models/broadcast-collection.d.ts +274 -274
  3. package/dist/commonjs/project-client/services/broadcasts/models/broadcast.d.ts +168 -168
  4. package/dist/commonjs/project-client/services/broadcasts/models/email.d.ts +3 -3
  5. package/dist/commonjs/project-client/services/broadcasts/models/in-app.d.ts +3 -3
  6. package/dist/commonjs/project-client/services/broadcasts/models/mobile-push.d.ts +3 -3
  7. package/dist/commonjs/project-client/services/broadcasts/models/overrides-channels.d.ts +27 -27
  8. package/dist/commonjs/project-client/services/broadcasts/models/overrides.d.ts +39 -39
  9. package/dist/commonjs/project-client/services/broadcasts/models/sms.d.ts +3 -3
  10. package/dist/commonjs/project-client/services/channels/models/apns-token-collection.d.ts +14 -14
  11. package/dist/commonjs/project-client/services/channels/models/apns-token.d.ts +8 -8
  12. package/dist/commonjs/project-client/services/channels/models/discard-result.d.ts +8 -8
  13. package/dist/commonjs/project-client/services/channels/models/expo-token-collection.d.ts +14 -14
  14. package/dist/commonjs/project-client/services/channels/models/expo-token.d.ts +8 -8
  15. package/dist/commonjs/project-client/services/channels/models/fcm-token-collection.d.ts +14 -14
  16. package/dist/commonjs/project-client/services/channels/models/fcm-token.d.ts +8 -8
  17. package/dist/commonjs/project-client/services/channels/models/inbox-token-response-collection.d.ts +28 -28
  18. package/dist/commonjs/project-client/services/channels/models/inbox-token-response.d.ts +16 -16
  19. package/dist/commonjs/project-client/services/channels/models/slack-token-collection.d.ts +14 -14
  20. package/dist/commonjs/project-client/services/channels/models/slack-token.d.ts +8 -8
  21. package/dist/commonjs/project-client/services/channels/models/teams-token-collection.d.ts +14 -14
  22. package/dist/commonjs/project-client/services/channels/models/teams-token.d.ts +8 -8
  23. package/dist/commonjs/project-client/services/channels/models/web-push-token-collection.d.ts +14 -14
  24. package/dist/commonjs/project-client/services/channels/models/web-push-token.d.ts +8 -8
  25. package/dist/commonjs/project-client/services/common/user.d.ts +6 -6
  26. package/dist/commonjs/project-client/services/integrations/integrations-service.d.ts +43 -1
  27. package/dist/commonjs/project-client/services/integrations/integrations-service.d.ts.map +1 -1
  28. package/dist/commonjs/project-client/services/integrations/integrations-service.js +168 -0
  29. package/dist/commonjs/project-client/services/integrations/integrations-service.js.map +1 -1
  30. package/dist/commonjs/project-client/services/integrations/models/github-config-collection.d.ts +312 -0
  31. package/dist/commonjs/project-client/services/integrations/models/github-config-collection.d.ts.map +1 -0
  32. package/dist/commonjs/project-client/services/integrations/models/github-config-collection.js +46 -0
  33. package/dist/commonjs/project-client/services/integrations/models/github-config-collection.js.map +1 -0
  34. package/dist/commonjs/project-client/services/integrations/models/github-config-payload.d.ts +48 -0
  35. package/dist/commonjs/project-client/services/integrations/models/github-config-payload.d.ts.map +1 -0
  36. package/dist/commonjs/project-client/services/integrations/models/github-config-payload.js +39 -0
  37. package/dist/commonjs/project-client/services/integrations/models/github-config-payload.js.map +1 -0
  38. package/dist/commonjs/project-client/services/integrations/models/github-config.d.ts +122 -0
  39. package/dist/commonjs/project-client/services/integrations/models/github-config.d.ts.map +1 -0
  40. package/dist/commonjs/project-client/services/integrations/models/github-config.js +50 -0
  41. package/dist/commonjs/project-client/services/integrations/models/github-config.js.map +1 -0
  42. package/dist/commonjs/project-client/services/integrations/models/inbox-config-collection.d.ts +182 -182
  43. package/dist/commonjs/project-client/services/integrations/models/inbox-config-payload.d.ts +98 -98
  44. package/dist/commonjs/project-client/services/integrations/models/inbox-config.d.ts +140 -140
  45. package/dist/commonjs/project-client/services/integrations/models/index.d.ts +6 -0
  46. package/dist/commonjs/project-client/services/integrations/models/index.d.ts.map +1 -1
  47. package/dist/commonjs/project-client/services/integrations/models/index.js.map +1 -1
  48. package/dist/commonjs/project-client/services/integrations/models/stripe-config-collection.d.ts +312 -0
  49. package/dist/commonjs/project-client/services/integrations/models/stripe-config-collection.d.ts.map +1 -0
  50. package/dist/commonjs/project-client/services/integrations/models/stripe-config-collection.js +46 -0
  51. package/dist/commonjs/project-client/services/integrations/models/stripe-config-collection.js.map +1 -0
  52. package/dist/commonjs/project-client/services/integrations/models/stripe-config-payload.d.ts +48 -0
  53. package/dist/commonjs/project-client/services/integrations/models/stripe-config-payload.d.ts.map +1 -0
  54. package/dist/commonjs/project-client/services/integrations/models/stripe-config-payload.js +39 -0
  55. package/dist/commonjs/project-client/services/integrations/models/stripe-config-payload.js.map +1 -0
  56. package/dist/commonjs/project-client/services/integrations/models/stripe-config.d.ts +122 -0
  57. package/dist/commonjs/project-client/services/integrations/models/stripe-config.d.ts.map +1 -0
  58. package/dist/commonjs/project-client/services/integrations/models/stripe-config.js +50 -0
  59. package/dist/commonjs/project-client/services/integrations/models/stripe-config.js.map +1 -0
  60. package/dist/commonjs/project-client/services/integrations/models/theme.d.ts +56 -56
  61. package/dist/commonjs/project-client/services/integrations/request-params.d.ts +6 -0
  62. package/dist/commonjs/project-client/services/integrations/request-params.d.ts.map +1 -1
  63. package/dist/commonjs/project-client/services/users/models/user-collection.d.ts +10 -10
  64. package/dist/commonjs/{socket.d.ts → realtime.d.ts} +2 -2
  65. package/dist/commonjs/realtime.d.ts.map +1 -0
  66. package/dist/commonjs/realtime.js +200 -0
  67. package/dist/commonjs/realtime.js.map +1 -0
  68. package/dist/commonjs/user-client/services/channels/channels-service.d.ts +13 -0
  69. package/dist/commonjs/user-client/services/channels/channels-service.d.ts.map +1 -1
  70. package/dist/commonjs/user-client/services/channels/channels-service.js +53 -0
  71. package/dist/commonjs/user-client/services/channels/channels-service.js.map +1 -1
  72. package/dist/commonjs/user-client/services/channels/models/apns-token-collection.d.ts +14 -14
  73. package/dist/commonjs/user-client/services/channels/models/apns-token.d.ts +8 -8
  74. package/dist/commonjs/user-client/services/channels/models/categories.d.ts +145 -0
  75. package/dist/commonjs/user-client/services/channels/models/categories.d.ts.map +1 -0
  76. package/dist/commonjs/user-client/services/channels/models/categories.js +62 -0
  77. package/dist/commonjs/user-client/services/channels/models/categories.js.map +1 -0
  78. package/dist/commonjs/user-client/services/channels/models/channels.d.ts +62 -0
  79. package/dist/commonjs/user-client/services/channels/models/channels.d.ts.map +1 -0
  80. package/dist/commonjs/user-client/services/channels/models/channels.js +44 -0
  81. package/dist/commonjs/user-client/services/channels/models/channels.js.map +1 -0
  82. package/dist/commonjs/user-client/services/channels/models/discard-result.d.ts +8 -8
  83. package/dist/commonjs/user-client/services/channels/models/expo-token-collection.d.ts +14 -14
  84. package/dist/commonjs/user-client/services/channels/models/expo-token.d.ts +8 -8
  85. package/dist/commonjs/user-client/services/channels/models/fcm-token-collection.d.ts +14 -14
  86. package/dist/commonjs/user-client/services/channels/models/fcm-token.d.ts +8 -8
  87. package/dist/commonjs/user-client/services/channels/models/inbox-token-response-collection.d.ts +28 -28
  88. package/dist/commonjs/user-client/services/channels/models/inbox-token-response.d.ts +16 -16
  89. package/dist/commonjs/user-client/services/channels/models/index.d.ts +3 -0
  90. package/dist/commonjs/user-client/services/channels/models/index.d.ts.map +1 -1
  91. package/dist/commonjs/user-client/services/channels/models/index.js.map +1 -1
  92. package/dist/commonjs/user-client/services/channels/models/slack-token-collection.d.ts +14 -14
  93. package/dist/commonjs/user-client/services/channels/models/slack-token.d.ts +8 -8
  94. package/dist/commonjs/user-client/services/channels/models/teams-token-collection.d.ts +14 -14
  95. package/dist/commonjs/user-client/services/channels/models/teams-token.d.ts +8 -8
  96. package/dist/commonjs/user-client/services/channels/models/user-preferences.d.ts +239 -0
  97. package/dist/commonjs/user-client/services/channels/models/user-preferences.d.ts.map +1 -0
  98. package/dist/commonjs/user-client/services/channels/models/user-preferences.js +40 -0
  99. package/dist/commonjs/user-client/services/channels/models/user-preferences.js.map +1 -0
  100. package/dist/commonjs/user-client/services/channels/models/web-push-token-collection.d.ts +14 -14
  101. package/dist/commonjs/user-client/services/channels/models/web-push-token.d.ts +8 -8
  102. package/dist/commonjs/user-client/services/integrations/models/authed-user.d.ts +8 -8
  103. package/dist/commonjs/user-client/services/integrations/models/inbox-config-payload.d.ts +98 -98
  104. package/dist/commonjs/user-client/services/integrations/models/slack-installation.d.ts +57 -57
  105. package/dist/commonjs/user-client/services/integrations/models/slack-start-install.d.ts +8 -8
  106. package/dist/commonjs/user-client/services/integrations/models/theme.d.ts +56 -56
  107. package/dist/commonjs/user-client/services/notifications/models/notification-collection.d.ts +56 -56
  108. package/dist/commonjs/user-client/services/notifications/models/notification.d.ts +32 -32
  109. package/dist/esm/project-client/services/broadcasts/models/broadcast-collection.d.ts +274 -274
  110. package/dist/esm/project-client/services/broadcasts/models/broadcast.d.ts +168 -168
  111. package/dist/esm/project-client/services/broadcasts/models/email.d.ts +3 -3
  112. package/dist/esm/project-client/services/broadcasts/models/in-app.d.ts +3 -3
  113. package/dist/esm/project-client/services/broadcasts/models/mobile-push.d.ts +3 -3
  114. package/dist/esm/project-client/services/broadcasts/models/overrides-channels.d.ts +27 -27
  115. package/dist/esm/project-client/services/broadcasts/models/overrides.d.ts +39 -39
  116. package/dist/esm/project-client/services/broadcasts/models/sms.d.ts +3 -3
  117. package/dist/esm/project-client/services/channels/models/apns-token-collection.d.ts +14 -14
  118. package/dist/esm/project-client/services/channels/models/apns-token.d.ts +8 -8
  119. package/dist/esm/project-client/services/channels/models/discard-result.d.ts +8 -8
  120. package/dist/esm/project-client/services/channels/models/expo-token-collection.d.ts +14 -14
  121. package/dist/esm/project-client/services/channels/models/expo-token.d.ts +8 -8
  122. package/dist/esm/project-client/services/channels/models/fcm-token-collection.d.ts +14 -14
  123. package/dist/esm/project-client/services/channels/models/fcm-token.d.ts +8 -8
  124. package/dist/esm/project-client/services/channels/models/inbox-token-response-collection.d.ts +28 -28
  125. package/dist/esm/project-client/services/channels/models/inbox-token-response.d.ts +16 -16
  126. package/dist/esm/project-client/services/channels/models/slack-token-collection.d.ts +14 -14
  127. package/dist/esm/project-client/services/channels/models/slack-token.d.ts +8 -8
  128. package/dist/esm/project-client/services/channels/models/teams-token-collection.d.ts +14 -14
  129. package/dist/esm/project-client/services/channels/models/teams-token.d.ts +8 -8
  130. package/dist/esm/project-client/services/channels/models/web-push-token-collection.d.ts +14 -14
  131. package/dist/esm/project-client/services/channels/models/web-push-token.d.ts +8 -8
  132. package/dist/esm/project-client/services/common/user.d.ts +6 -6
  133. package/dist/esm/project-client/services/integrations/integrations-service.d.ts +43 -1
  134. package/dist/esm/project-client/services/integrations/integrations-service.d.ts.map +1 -1
  135. package/dist/esm/project-client/services/integrations/integrations-service.js +168 -0
  136. package/dist/esm/project-client/services/integrations/integrations-service.js.map +1 -1
  137. package/dist/esm/project-client/services/integrations/models/github-config-collection.d.ts +312 -0
  138. package/dist/esm/project-client/services/integrations/models/github-config-collection.d.ts.map +1 -0
  139. package/dist/esm/project-client/services/integrations/models/github-config-collection.js +43 -0
  140. package/dist/esm/project-client/services/integrations/models/github-config-collection.js.map +1 -0
  141. package/dist/esm/project-client/services/integrations/models/github-config-payload.d.ts +48 -0
  142. package/dist/esm/project-client/services/integrations/models/github-config-payload.d.ts.map +1 -0
  143. package/dist/esm/project-client/services/integrations/models/github-config-payload.js +36 -0
  144. package/dist/esm/project-client/services/integrations/models/github-config-payload.js.map +1 -0
  145. package/dist/esm/project-client/services/integrations/models/github-config.d.ts +122 -0
  146. package/dist/esm/project-client/services/integrations/models/github-config.d.ts.map +1 -0
  147. package/dist/esm/project-client/services/integrations/models/github-config.js +47 -0
  148. package/dist/esm/project-client/services/integrations/models/github-config.js.map +1 -0
  149. package/dist/esm/project-client/services/integrations/models/inbox-config-collection.d.ts +182 -182
  150. package/dist/esm/project-client/services/integrations/models/inbox-config-payload.d.ts +98 -98
  151. package/dist/esm/project-client/services/integrations/models/inbox-config.d.ts +140 -140
  152. package/dist/esm/project-client/services/integrations/models/index.d.ts +6 -0
  153. package/dist/esm/project-client/services/integrations/models/index.d.ts.map +1 -1
  154. package/dist/esm/project-client/services/integrations/models/index.js.map +1 -1
  155. package/dist/esm/project-client/services/integrations/models/stripe-config-collection.d.ts +312 -0
  156. package/dist/esm/project-client/services/integrations/models/stripe-config-collection.d.ts.map +1 -0
  157. package/dist/esm/project-client/services/integrations/models/stripe-config-collection.js +43 -0
  158. package/dist/esm/project-client/services/integrations/models/stripe-config-collection.js.map +1 -0
  159. package/dist/esm/project-client/services/integrations/models/stripe-config-payload.d.ts +48 -0
  160. package/dist/esm/project-client/services/integrations/models/stripe-config-payload.d.ts.map +1 -0
  161. package/dist/esm/project-client/services/integrations/models/stripe-config-payload.js +36 -0
  162. package/dist/esm/project-client/services/integrations/models/stripe-config-payload.js.map +1 -0
  163. package/dist/esm/project-client/services/integrations/models/stripe-config.d.ts +122 -0
  164. package/dist/esm/project-client/services/integrations/models/stripe-config.d.ts.map +1 -0
  165. package/dist/esm/project-client/services/integrations/models/stripe-config.js +47 -0
  166. package/dist/esm/project-client/services/integrations/models/stripe-config.js.map +1 -0
  167. package/dist/esm/project-client/services/integrations/models/theme.d.ts +56 -56
  168. package/dist/esm/project-client/services/integrations/request-params.d.ts +6 -0
  169. package/dist/esm/project-client/services/integrations/request-params.d.ts.map +1 -1
  170. package/dist/esm/project-client/services/users/models/user-collection.d.ts +10 -10
  171. package/dist/esm/{socket.d.ts → realtime.d.ts} +2 -2
  172. package/dist/esm/realtime.d.ts.map +1 -0
  173. package/dist/esm/realtime.js +196 -0
  174. package/dist/esm/realtime.js.map +1 -0
  175. package/dist/esm/user-client/services/channels/channels-service.d.ts +13 -0
  176. package/dist/esm/user-client/services/channels/channels-service.d.ts.map +1 -1
  177. package/dist/esm/user-client/services/channels/channels-service.js +53 -0
  178. package/dist/esm/user-client/services/channels/channels-service.js.map +1 -1
  179. package/dist/esm/user-client/services/channels/models/apns-token-collection.d.ts +14 -14
  180. package/dist/esm/user-client/services/channels/models/apns-token.d.ts +8 -8
  181. package/dist/esm/user-client/services/channels/models/categories.d.ts +145 -0
  182. package/dist/esm/user-client/services/channels/models/categories.d.ts.map +1 -0
  183. package/dist/esm/user-client/services/channels/models/categories.js +59 -0
  184. package/dist/esm/user-client/services/channels/models/categories.js.map +1 -0
  185. package/dist/esm/user-client/services/channels/models/channels.d.ts +62 -0
  186. package/dist/esm/user-client/services/channels/models/channels.d.ts.map +1 -0
  187. package/dist/esm/user-client/services/channels/models/channels.js +41 -0
  188. package/dist/esm/user-client/services/channels/models/channels.js.map +1 -0
  189. package/dist/esm/user-client/services/channels/models/discard-result.d.ts +8 -8
  190. package/dist/esm/user-client/services/channels/models/expo-token-collection.d.ts +14 -14
  191. package/dist/esm/user-client/services/channels/models/expo-token.d.ts +8 -8
  192. package/dist/esm/user-client/services/channels/models/fcm-token-collection.d.ts +14 -14
  193. package/dist/esm/user-client/services/channels/models/fcm-token.d.ts +8 -8
  194. package/dist/esm/user-client/services/channels/models/inbox-token-response-collection.d.ts +28 -28
  195. package/dist/esm/user-client/services/channels/models/inbox-token-response.d.ts +16 -16
  196. package/dist/esm/user-client/services/channels/models/index.d.ts +3 -0
  197. package/dist/esm/user-client/services/channels/models/index.d.ts.map +1 -1
  198. package/dist/esm/user-client/services/channels/models/index.js.map +1 -1
  199. package/dist/esm/user-client/services/channels/models/slack-token-collection.d.ts +14 -14
  200. package/dist/esm/user-client/services/channels/models/slack-token.d.ts +8 -8
  201. package/dist/esm/user-client/services/channels/models/teams-token-collection.d.ts +14 -14
  202. package/dist/esm/user-client/services/channels/models/teams-token.d.ts +8 -8
  203. package/dist/esm/user-client/services/channels/models/user-preferences.d.ts +239 -0
  204. package/dist/esm/user-client/services/channels/models/user-preferences.d.ts.map +1 -0
  205. package/dist/esm/user-client/services/channels/models/user-preferences.js +37 -0
  206. package/dist/esm/user-client/services/channels/models/user-preferences.js.map +1 -0
  207. package/dist/esm/user-client/services/channels/models/web-push-token-collection.d.ts +14 -14
  208. package/dist/esm/user-client/services/channels/models/web-push-token.d.ts +8 -8
  209. package/dist/esm/user-client/services/integrations/models/authed-user.d.ts +8 -8
  210. package/dist/esm/user-client/services/integrations/models/inbox-config-payload.d.ts +98 -98
  211. package/dist/esm/user-client/services/integrations/models/slack-installation.d.ts +57 -57
  212. package/dist/esm/user-client/services/integrations/models/slack-start-install.d.ts +8 -8
  213. package/dist/esm/user-client/services/integrations/models/theme.d.ts +56 -56
  214. package/dist/esm/user-client/services/notifications/models/notification-collection.d.ts +56 -56
  215. package/dist/esm/user-client/services/notifications/models/notification.d.ts +32 -32
  216. package/package.json +9 -9
  217. package/realtime/package.json +4 -0
  218. package/src/project-client/services/integrations/integrations-service.ts +196 -0
  219. package/src/project-client/services/integrations/models/github-config-collection.ts +54 -0
  220. package/src/project-client/services/integrations/models/github-config-payload.ts +45 -0
  221. package/src/project-client/services/integrations/models/github-config.ts +64 -0
  222. package/src/project-client/services/integrations/models/index.ts +6 -0
  223. package/src/project-client/services/integrations/models/stripe-config-collection.ts +54 -0
  224. package/src/project-client/services/integrations/models/stripe-config-payload.ts +45 -0
  225. package/src/project-client/services/integrations/models/stripe-config.ts +64 -0
  226. package/src/project-client/services/integrations/request-params.ts +8 -0
  227. package/src/{socket.ts → realtime.ts} +1 -1
  228. package/src/user-client/services/channels/channels-service.ts +55 -0
  229. package/src/user-client/services/channels/models/categories.ts +71 -0
  230. package/src/user-client/services/channels/models/channels.ts +51 -0
  231. package/src/user-client/services/channels/models/index.ts +3 -0
  232. package/src/user-client/services/channels/models/user-preferences.ts +47 -0
  233. package/dist/commonjs/socket.d.ts.map +0 -1
  234. package/dist/commonjs/socket.js +0 -200
  235. package/dist/commonjs/socket.js.map +0 -1
  236. package/dist/esm/socket.d.ts.map +0 -1
  237. package/dist/esm/socket.js +0 -196
  238. package/dist/esm/socket.js.map +0 -1
  239. package/socket/package.json +0 -4
@@ -0,0 +1,71 @@
1
+ import { z } from 'zod';
2
+
3
+ import { Channels, channels, channelsRequest, channelsResponse } from './channels.js';
4
+
5
+ /**
6
+ * The shape of the model inside the application code - what the users use
7
+ */
8
+ export const categories = z.lazy(() => {
9
+ return z.object({
10
+ channels: z.array(channels).optional(),
11
+ key: z
12
+ .string()
13
+ .max(255)
14
+ .regex(/^[A-Za-z0-9_\.\-\/:]+$/)
15
+ .optional(),
16
+ label: z.string().max(255).optional().nullable(),
17
+ });
18
+ });
19
+
20
+ /**
21
+ *
22
+ * @typedef {Categories} categories
23
+ * @property {Channels[]}
24
+ * @property {string}
25
+ * @property {string}
26
+ */
27
+ export type Categories = z.infer<typeof categories>;
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 categoriesResponse = z.lazy(() => {
34
+ return z
35
+ .object({
36
+ channels: z.array(channelsResponse).optional(),
37
+ key: z
38
+ .string()
39
+ .max(255)
40
+ .regex(/^[A-Za-z0-9_\.\-\/:]+$/)
41
+ .optional(),
42
+ label: z.string().max(255).optional().nullable(),
43
+ })
44
+ .transform((data) => ({
45
+ channels: data['channels'],
46
+ key: data['key'],
47
+ label: data['label'],
48
+ }));
49
+ });
50
+
51
+ /**
52
+ * The shape of the model mapping from the application shape into the api schema.
53
+ * Is equal to application shape if all property names match the api schema
54
+ */
55
+ export const categoriesRequest = z.lazy(() => {
56
+ return z
57
+ .object({
58
+ channels: z.array(channelsRequest).optional(),
59
+ key: z
60
+ .string()
61
+ .max(255)
62
+ .regex(/^[A-Za-z0-9_\.\-\/:]+$/)
63
+ .optional(),
64
+ label: z.string().max(255).optional().nullable(),
65
+ })
66
+ .transform((data) => ({
67
+ channels: data['channels'],
68
+ key: data['key'],
69
+ label: data['label'],
70
+ }));
71
+ });
@@ -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 channels = z.lazy(() => {
7
+ return z.object({
8
+ enabled: z.boolean().optional(),
9
+ name: z.string().optional(),
10
+ });
11
+ });
12
+
13
+ /**
14
+ *
15
+ * @typedef {Channels} channels
16
+ * @property {boolean}
17
+ * @property {string}
18
+ */
19
+ export type Channels = z.infer<typeof channels>;
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 channelsResponse = z.lazy(() => {
26
+ return z
27
+ .object({
28
+ enabled: z.boolean().optional(),
29
+ name: z.string().optional(),
30
+ })
31
+ .transform((data) => ({
32
+ enabled: data['enabled'],
33
+ name: data['name'],
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 channelsRequest = z.lazy(() => {
42
+ return z
43
+ .object({
44
+ enabled: z.boolean().optional(),
45
+ name: z.string().optional(),
46
+ })
47
+ .transform((data) => ({
48
+ enabled: data['enabled'],
49
+ name: data['name'],
50
+ }));
51
+ });
@@ -3,6 +3,8 @@ export type { ApnsTokenCollection } from './apns-token-collection.js';
3
3
  export { ApnsTokenInstallationId } from './apns-token-installation-id.js';
4
4
  export type { ApnsTokenPayload } from './apns-token-payload.js';
5
5
  export { ApnsTokenPayloadInstallationId } from './apns-token-payload-installation-id.js';
6
+ export type { Categories } from './categories.js';
7
+ export type { Channels } from './channels.js';
6
8
  export type { DiscardResult } from './discard-result.js';
7
9
  export type { ExpoToken } from './expo-token.js';
8
10
  export type { ExpoTokenCollection } from './expo-token-collection.js';
@@ -27,6 +29,7 @@ export type { TeamsTokenCollection } from './teams-token-collection.js';
27
29
  export type { TeamsTokenPayload } from './teams-token-payload.js';
28
30
  export type { TeamsTokenPayloadWebhook } from './teams-token-payload-webhook.js';
29
31
  export type { TeamsTokenWebhook } from './teams-token-webhook.js';
32
+ export type { UserPreferences } from './user-preferences.js';
30
33
  export type { WebPushToken } from './web-push-token.js';
31
34
  export type { WebPushTokenCollection } from './web-push-token-collection.js';
32
35
  export type { WebPushTokenKeys } from './web-push-token-keys.js';
@@ -0,0 +1,47 @@
1
+ import { z } from 'zod';
2
+
3
+ import { Categories, categories, categoriesRequest, categoriesResponse } from './categories.js';
4
+
5
+ /**
6
+ * The shape of the model inside the application code - what the users use
7
+ */
8
+ export const userPreferences = z.lazy(() => {
9
+ return z.object({
10
+ categories: z.array(categories).optional(),
11
+ });
12
+ });
13
+
14
+ /**
15
+ *
16
+ * @typedef {UserPreferences} userPreferences
17
+ * @property {Categories[]}
18
+ */
19
+ export type UserPreferences = z.infer<typeof userPreferences>;
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 userPreferencesResponse = z.lazy(() => {
26
+ return z
27
+ .object({
28
+ categories: z.array(categoriesResponse).optional(),
29
+ })
30
+ .transform((data) => ({
31
+ categories: data['categories'],
32
+ }));
33
+ });
34
+
35
+ /**
36
+ * The shape of the model mapping from the application shape into the api schema.
37
+ * Is equal to application shape if all property names match the api schema
38
+ */
39
+ export const userPreferencesRequest = z.lazy(() => {
40
+ return z
41
+ .object({
42
+ categories: z.array(categoriesRequest).optional(),
43
+ })
44
+ .transform((data) => ({
45
+ categories: data['categories'],
46
+ }));
47
+ });
@@ -1 +0,0 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE7D,qBAAa,MAAM;;gBAYL,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAQzC,MAAM,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI;IA6CjE,UAAU;IASV,WAAW;CA2FZ"}
@@ -1,200 +0,0 @@
1
- "use strict";
2
- var _Socket_instances, _Socket_client, _Socket_socketUrl, _Socket_inboxToken, _Socket_origin, _Socket_websocket, _Socket_isConnected, _Socket_reconnectAttempts, _Socket_maxReconnectAttempts, _Socket_reconnectInterval, _Socket_notificationHandler, _Socket_handleMessage, _Socket_isNewNotificationMessage, _Socket_handleNewNotification, _Socket_handleReconnect, _Socket_getUrl, _Socket_getToken;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Socket = void 0;
5
- const tslib_1 = require("tslib");
6
- const user_client_js_1 = require("./user-client.js");
7
- class Socket {
8
- constructor(options) {
9
- _Socket_instances.add(this);
10
- _Socket_client.set(this, void 0);
11
- _Socket_socketUrl.set(this, 'wss://ws.magicbell.com');
12
- _Socket_inboxToken.set(this, void 0);
13
- _Socket_origin.set(this, void 0);
14
- _Socket_websocket.set(this, void 0);
15
- _Socket_isConnected.set(this, false);
16
- _Socket_reconnectAttempts.set(this, 0);
17
- _Socket_maxReconnectAttempts.set(this, 5);
18
- _Socket_reconnectInterval.set(this, 1000);
19
- _Socket_notificationHandler.set(this, void 0);
20
- if (options instanceof user_client_js_1.Client) {
21
- tslib_1.__classPrivateFieldSet(this, _Socket_client, options, "f");
22
- }
23
- else {
24
- tslib_1.__classPrivateFieldSet(this, _Socket_client, new user_client_js_1.Client({ token: options.token }), "f");
25
- }
26
- }
27
- async listen(onNotification) {
28
- tslib_1.__classPrivateFieldSet(this, _Socket_notificationHandler, onNotification, "f");
29
- if (tslib_1.__classPrivateFieldGet(this, _Socket_websocket, "f") && tslib_1.__classPrivateFieldGet(this, _Socket_isConnected, "f")) {
30
- console.warn('Already connected to WebSocket');
31
- return;
32
- }
33
- try {
34
- const url = await tslib_1.__classPrivateFieldGet(this, _Socket_instances, "m", _Socket_getUrl).call(this);
35
- tslib_1.__classPrivateFieldSet(this, _Socket_websocket, new WebSocket(url), "f");
36
- tslib_1.__classPrivateFieldGet(this, _Socket_websocket, "f").onopen = () => {
37
- tslib_1.__classPrivateFieldSet(this, _Socket_isConnected, true, "f");
38
- tslib_1.__classPrivateFieldSet(this, _Socket_reconnectAttempts, 0, "f");
39
- tslib_1.__classPrivateFieldSet(this, _Socket_reconnectInterval, 1000, "f");
40
- };
41
- tslib_1.__classPrivateFieldGet(this, _Socket_websocket, "f").onmessage = (event) => {
42
- if (event.origin !== tslib_1.__classPrivateFieldGet(this, _Socket_origin, "f"))
43
- return;
44
- try {
45
- const data = JSON.parse(event.data);
46
- tslib_1.__classPrivateFieldGet(this, _Socket_instances, "m", _Socket_handleMessage).call(this, data);
47
- }
48
- catch (error) {
49
- console.error('Failed to parse WebSocket message:', error);
50
- }
51
- };
52
- tslib_1.__classPrivateFieldGet(this, _Socket_websocket, "f").onclose = (event) => {
53
- console.warn('WebSocket disconnected:', event.code, event.reason);
54
- tslib_1.__classPrivateFieldSet(this, _Socket_isConnected, false, "f");
55
- tslib_1.__classPrivateFieldGet(this, _Socket_instances, "m", _Socket_handleReconnect).call(this);
56
- };
57
- tslib_1.__classPrivateFieldGet(this, _Socket_websocket, "f").onerror = (error) => {
58
- console.error('WebSocket error:', error);
59
- tslib_1.__classPrivateFieldSet(this, _Socket_isConnected, false, "f");
60
- };
61
- }
62
- catch (error) {
63
- console.error('Failed to connect to WebSocket:', error);
64
- tslib_1.__classPrivateFieldGet(this, _Socket_instances, "m", _Socket_handleReconnect).call(this);
65
- }
66
- }
67
- disconnect() {
68
- if (tslib_1.__classPrivateFieldGet(this, _Socket_websocket, "f")) {
69
- tslib_1.__classPrivateFieldGet(this, _Socket_websocket, "f").close();
70
- tslib_1.__classPrivateFieldSet(this, _Socket_websocket, undefined, "f");
71
- }
72
- tslib_1.__classPrivateFieldSet(this, _Socket_isConnected, false, "f");
73
- tslib_1.__classPrivateFieldSet(this, _Socket_reconnectAttempts, 0, "f");
74
- }
75
- isListening() {
76
- return tslib_1.__classPrivateFieldGet(this, _Socket_isConnected, "f");
77
- }
78
- }
79
- exports.Socket = Socket;
80
- _Socket_client = new WeakMap(), _Socket_socketUrl = new WeakMap(), _Socket_inboxToken = new WeakMap(), _Socket_origin = new WeakMap(), _Socket_websocket = new WeakMap(), _Socket_isConnected = new WeakMap(), _Socket_reconnectAttempts = new WeakMap(), _Socket_maxReconnectAttempts = new WeakMap(), _Socket_reconnectInterval = new WeakMap(), _Socket_notificationHandler = new WeakMap(), _Socket_instances = new WeakSet(), _Socket_handleMessage = function _Socket_handleMessage(data) {
81
- if (!tslib_1.__classPrivateFieldGet(this, _Socket_instances, "m", _Socket_isNewNotificationMessage).call(this, data)) {
82
- return;
83
- }
84
- tslib_1.__classPrivateFieldGet(this, _Socket_instances, "m", _Socket_handleNewNotification).call(this, data.data.id);
85
- }, _Socket_isNewNotificationMessage = function _Socket_isNewNotificationMessage(data) {
86
- return (typeof data === 'object' &&
87
- data !== null &&
88
- data.name === 'notifications/new' &&
89
- typeof data.data === 'object' &&
90
- data.data !== null &&
91
- typeof data.data.id === 'string');
92
- }, _Socket_handleNewNotification = async function _Socket_handleNewNotification(notificationId) {
93
- if (!tslib_1.__classPrivateFieldGet(this, _Socket_notificationHandler, "f")) {
94
- console.warn('No notification handler provided');
95
- return;
96
- }
97
- try {
98
- const { data: notification, metadata: res } = await tslib_1.__classPrivateFieldGet(this, _Socket_client, "f").notifications.fetchNotification(notificationId);
99
- if (!isOK(res)) {
100
- console.error(`Failed to fetch notification ${notificationId}: ${res.status} ${res.statusText}`);
101
- return;
102
- }
103
- if (notification) {
104
- tslib_1.__classPrivateFieldGet(this, _Socket_notificationHandler, "f").call(this, notification);
105
- }
106
- }
107
- catch (error) {
108
- console.error(`Error fetching notification ${notificationId}:`, error);
109
- }
110
- }, _Socket_handleReconnect = function _Socket_handleReconnect() {
111
- if (tslib_1.__classPrivateFieldGet(this, _Socket_reconnectAttempts, "f") >= tslib_1.__classPrivateFieldGet(this, _Socket_maxReconnectAttempts, "f")) {
112
- console.error('Max reconnection attempts reached');
113
- return;
114
- }
115
- if (!tslib_1.__classPrivateFieldGet(this, _Socket_notificationHandler, "f")) {
116
- console.warn('No notification handler, skipping reconnect');
117
- return;
118
- }
119
- setTimeout(() => {
120
- var _a;
121
- tslib_1.__classPrivateFieldSet(this, _Socket_reconnectAttempts, (_a = tslib_1.__classPrivateFieldGet(this, _Socket_reconnectAttempts, "f"), _a++, _a), "f");
122
- tslib_1.__classPrivateFieldSet(this, _Socket_reconnectInterval, Math.min(tslib_1.__classPrivateFieldGet(this, _Socket_reconnectInterval, "f") * 2, 30000), "f"); // Max 30 seconds
123
- this.listen(tslib_1.__classPrivateFieldGet(this, _Socket_notificationHandler, "f"));
124
- }, tslib_1.__classPrivateFieldGet(this, _Socket_reconnectInterval, "f"));
125
- }, _Socket_getUrl = async function _Socket_getUrl() {
126
- const jwtToken = tslib_1.__classPrivateFieldGet(this, _Socket_client, "f").config.token;
127
- invariant(jwtToken, 'Failed to get token from client');
128
- const apiKey = getApiKeyFromToken(jwtToken);
129
- invariant(apiKey, 'Failed to get API key from token');
130
- const token = await tslib_1.__classPrivateFieldGet(this, _Socket_instances, "m", _Socket_getToken).call(this);
131
- const url = new URL(tslib_1.__classPrivateFieldGet(this, _Socket_socketUrl, "f"));
132
- url.searchParams.set('api_key', apiKey);
133
- url.searchParams.set('token', token);
134
- tslib_1.__classPrivateFieldSet(this, _Socket_origin, url.origin, "f");
135
- return url.toString();
136
- }, _Socket_getToken = async function _Socket_getToken() {
137
- if (tslib_1.__classPrivateFieldGet(this, _Socket_inboxToken, "f"))
138
- return tslib_1.__classPrivateFieldGet(this, _Socket_inboxToken, "f");
139
- const { data, metadata: res } = await tslib_1.__classPrivateFieldGet(this, _Socket_client, "f").channels.saveInboxToken({
140
- token: getSessionId(),
141
- });
142
- invariant(isOK(res), `Failed to save Inbox token: ${res.status} ${res.statusText}`);
143
- invariant(data === null || data === void 0 ? void 0 : data.token, 'Unexpected server response, missing token');
144
- tslib_1.__classPrivateFieldSet(this, _Socket_inboxToken, data.token, "f");
145
- return data.token;
146
- };
147
- function isOK(response) {
148
- return response.status >= 200 && response.status < 300;
149
- }
150
- function invariant(condition, message) {
151
- if (!condition) {
152
- throw new Error(message);
153
- }
154
- }
155
- function getSessionId() {
156
- if (typeof sessionStorage === 'undefined') {
157
- return generateID(64);
158
- }
159
- // sessionStorage gets cleared when the page session ends. A page
160
- // session lasts for as long as the browser is open and survives
161
- // over page reloads and restores. Opening a page in a new tab or
162
- // window will cause a new session to be initiated. This gives us
163
- // a stable ID per tab, and different ID's across tabs.
164
- const stored = sessionStorage.getItem('magicbell--realtime-token');
165
- if (stored)
166
- return stored;
167
- const id = generateID(64);
168
- sessionStorage.setItem('magicbell--realtime-token', id);
169
- return id;
170
- }
171
- function generateID(length = 17) {
172
- let id = '';
173
- while (id.length < length) {
174
- id += getRandomValues();
175
- }
176
- return id.substring(0, length);
177
- }
178
- function getApiKeyFromToken(token) {
179
- const data = getTokenPayload(token);
180
- if (!data)
181
- return null;
182
- if (data.api_key) {
183
- return data.api_key;
184
- }
185
- return null;
186
- }
187
- function getTokenPayload(token) {
188
- try {
189
- const [_, payload] = token.split('.');
190
- const data = JSON.parse(atob(payload));
191
- return data || null;
192
- }
193
- catch (_a) {
194
- return null;
195
- }
196
- }
197
- const getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues
198
- ? () => crypto.getRandomValues(new Uint32Array(1))[0].toString(36)
199
- : () => Math.random().toString(36).substring(2, 15);
200
- //# sourceMappingURL=socket.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/socket.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../src/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE7D,qBAAa,MAAM;;gBAYL,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAQzC,MAAM,CAAC,cAAc,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI;IA6CjE,UAAU;IASV,WAAW;CA2FZ"}
@@ -1,196 +0,0 @@
1
- var _Socket_instances, _Socket_client, _Socket_socketUrl, _Socket_inboxToken, _Socket_origin, _Socket_websocket, _Socket_isConnected, _Socket_reconnectAttempts, _Socket_maxReconnectAttempts, _Socket_reconnectInterval, _Socket_notificationHandler, _Socket_handleMessage, _Socket_isNewNotificationMessage, _Socket_handleNewNotification, _Socket_handleReconnect, _Socket_getUrl, _Socket_getToken;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Client } from './user-client.js';
4
- export class Socket {
5
- constructor(options) {
6
- _Socket_instances.add(this);
7
- _Socket_client.set(this, void 0);
8
- _Socket_socketUrl.set(this, 'wss://ws.magicbell.com');
9
- _Socket_inboxToken.set(this, void 0);
10
- _Socket_origin.set(this, void 0);
11
- _Socket_websocket.set(this, void 0);
12
- _Socket_isConnected.set(this, false);
13
- _Socket_reconnectAttempts.set(this, 0);
14
- _Socket_maxReconnectAttempts.set(this, 5);
15
- _Socket_reconnectInterval.set(this, 1000);
16
- _Socket_notificationHandler.set(this, void 0);
17
- if (options instanceof Client) {
18
- __classPrivateFieldSet(this, _Socket_client, options, "f");
19
- }
20
- else {
21
- __classPrivateFieldSet(this, _Socket_client, new Client({ token: options.token }), "f");
22
- }
23
- }
24
- async listen(onNotification) {
25
- __classPrivateFieldSet(this, _Socket_notificationHandler, onNotification, "f");
26
- if (__classPrivateFieldGet(this, _Socket_websocket, "f") && __classPrivateFieldGet(this, _Socket_isConnected, "f")) {
27
- console.warn('Already connected to WebSocket');
28
- return;
29
- }
30
- try {
31
- const url = await __classPrivateFieldGet(this, _Socket_instances, "m", _Socket_getUrl).call(this);
32
- __classPrivateFieldSet(this, _Socket_websocket, new WebSocket(url), "f");
33
- __classPrivateFieldGet(this, _Socket_websocket, "f").onopen = () => {
34
- __classPrivateFieldSet(this, _Socket_isConnected, true, "f");
35
- __classPrivateFieldSet(this, _Socket_reconnectAttempts, 0, "f");
36
- __classPrivateFieldSet(this, _Socket_reconnectInterval, 1000, "f");
37
- };
38
- __classPrivateFieldGet(this, _Socket_websocket, "f").onmessage = (event) => {
39
- if (event.origin !== __classPrivateFieldGet(this, _Socket_origin, "f"))
40
- return;
41
- try {
42
- const data = JSON.parse(event.data);
43
- __classPrivateFieldGet(this, _Socket_instances, "m", _Socket_handleMessage).call(this, data);
44
- }
45
- catch (error) {
46
- console.error('Failed to parse WebSocket message:', error);
47
- }
48
- };
49
- __classPrivateFieldGet(this, _Socket_websocket, "f").onclose = (event) => {
50
- console.warn('WebSocket disconnected:', event.code, event.reason);
51
- __classPrivateFieldSet(this, _Socket_isConnected, false, "f");
52
- __classPrivateFieldGet(this, _Socket_instances, "m", _Socket_handleReconnect).call(this);
53
- };
54
- __classPrivateFieldGet(this, _Socket_websocket, "f").onerror = (error) => {
55
- console.error('WebSocket error:', error);
56
- __classPrivateFieldSet(this, _Socket_isConnected, false, "f");
57
- };
58
- }
59
- catch (error) {
60
- console.error('Failed to connect to WebSocket:', error);
61
- __classPrivateFieldGet(this, _Socket_instances, "m", _Socket_handleReconnect).call(this);
62
- }
63
- }
64
- disconnect() {
65
- if (__classPrivateFieldGet(this, _Socket_websocket, "f")) {
66
- __classPrivateFieldGet(this, _Socket_websocket, "f").close();
67
- __classPrivateFieldSet(this, _Socket_websocket, undefined, "f");
68
- }
69
- __classPrivateFieldSet(this, _Socket_isConnected, false, "f");
70
- __classPrivateFieldSet(this, _Socket_reconnectAttempts, 0, "f");
71
- }
72
- isListening() {
73
- return __classPrivateFieldGet(this, _Socket_isConnected, "f");
74
- }
75
- }
76
- _Socket_client = new WeakMap(), _Socket_socketUrl = new WeakMap(), _Socket_inboxToken = new WeakMap(), _Socket_origin = new WeakMap(), _Socket_websocket = new WeakMap(), _Socket_isConnected = new WeakMap(), _Socket_reconnectAttempts = new WeakMap(), _Socket_maxReconnectAttempts = new WeakMap(), _Socket_reconnectInterval = new WeakMap(), _Socket_notificationHandler = new WeakMap(), _Socket_instances = new WeakSet(), _Socket_handleMessage = function _Socket_handleMessage(data) {
77
- if (!__classPrivateFieldGet(this, _Socket_instances, "m", _Socket_isNewNotificationMessage).call(this, data)) {
78
- return;
79
- }
80
- __classPrivateFieldGet(this, _Socket_instances, "m", _Socket_handleNewNotification).call(this, data.data.id);
81
- }, _Socket_isNewNotificationMessage = function _Socket_isNewNotificationMessage(data) {
82
- return (typeof data === 'object' &&
83
- data !== null &&
84
- data.name === 'notifications/new' &&
85
- typeof data.data === 'object' &&
86
- data.data !== null &&
87
- typeof data.data.id === 'string');
88
- }, _Socket_handleNewNotification = async function _Socket_handleNewNotification(notificationId) {
89
- if (!__classPrivateFieldGet(this, _Socket_notificationHandler, "f")) {
90
- console.warn('No notification handler provided');
91
- return;
92
- }
93
- try {
94
- const { data: notification, metadata: res } = await __classPrivateFieldGet(this, _Socket_client, "f").notifications.fetchNotification(notificationId);
95
- if (!isOK(res)) {
96
- console.error(`Failed to fetch notification ${notificationId}: ${res.status} ${res.statusText}`);
97
- return;
98
- }
99
- if (notification) {
100
- __classPrivateFieldGet(this, _Socket_notificationHandler, "f").call(this, notification);
101
- }
102
- }
103
- catch (error) {
104
- console.error(`Error fetching notification ${notificationId}:`, error);
105
- }
106
- }, _Socket_handleReconnect = function _Socket_handleReconnect() {
107
- if (__classPrivateFieldGet(this, _Socket_reconnectAttempts, "f") >= __classPrivateFieldGet(this, _Socket_maxReconnectAttempts, "f")) {
108
- console.error('Max reconnection attempts reached');
109
- return;
110
- }
111
- if (!__classPrivateFieldGet(this, _Socket_notificationHandler, "f")) {
112
- console.warn('No notification handler, skipping reconnect');
113
- return;
114
- }
115
- setTimeout(() => {
116
- var _a;
117
- __classPrivateFieldSet(this, _Socket_reconnectAttempts, (_a = __classPrivateFieldGet(this, _Socket_reconnectAttempts, "f"), _a++, _a), "f");
118
- __classPrivateFieldSet(this, _Socket_reconnectInterval, Math.min(__classPrivateFieldGet(this, _Socket_reconnectInterval, "f") * 2, 30000), "f"); // Max 30 seconds
119
- this.listen(__classPrivateFieldGet(this, _Socket_notificationHandler, "f"));
120
- }, __classPrivateFieldGet(this, _Socket_reconnectInterval, "f"));
121
- }, _Socket_getUrl = async function _Socket_getUrl() {
122
- const jwtToken = __classPrivateFieldGet(this, _Socket_client, "f").config.token;
123
- invariant(jwtToken, 'Failed to get token from client');
124
- const apiKey = getApiKeyFromToken(jwtToken);
125
- invariant(apiKey, 'Failed to get API key from token');
126
- const token = await __classPrivateFieldGet(this, _Socket_instances, "m", _Socket_getToken).call(this);
127
- const url = new URL(__classPrivateFieldGet(this, _Socket_socketUrl, "f"));
128
- url.searchParams.set('api_key', apiKey);
129
- url.searchParams.set('token', token);
130
- __classPrivateFieldSet(this, _Socket_origin, url.origin, "f");
131
- return url.toString();
132
- }, _Socket_getToken = async function _Socket_getToken() {
133
- if (__classPrivateFieldGet(this, _Socket_inboxToken, "f"))
134
- return __classPrivateFieldGet(this, _Socket_inboxToken, "f");
135
- const { data, metadata: res } = await __classPrivateFieldGet(this, _Socket_client, "f").channels.saveInboxToken({
136
- token: getSessionId(),
137
- });
138
- invariant(isOK(res), `Failed to save Inbox token: ${res.status} ${res.statusText}`);
139
- invariant(data === null || data === void 0 ? void 0 : data.token, 'Unexpected server response, missing token');
140
- __classPrivateFieldSet(this, _Socket_inboxToken, data.token, "f");
141
- return data.token;
142
- };
143
- function isOK(response) {
144
- return response.status >= 200 && response.status < 300;
145
- }
146
- function invariant(condition, message) {
147
- if (!condition) {
148
- throw new Error(message);
149
- }
150
- }
151
- function getSessionId() {
152
- if (typeof sessionStorage === 'undefined') {
153
- return generateID(64);
154
- }
155
- // sessionStorage gets cleared when the page session ends. A page
156
- // session lasts for as long as the browser is open and survives
157
- // over page reloads and restores. Opening a page in a new tab or
158
- // window will cause a new session to be initiated. This gives us
159
- // a stable ID per tab, and different ID's across tabs.
160
- const stored = sessionStorage.getItem('magicbell--realtime-token');
161
- if (stored)
162
- return stored;
163
- const id = generateID(64);
164
- sessionStorage.setItem('magicbell--realtime-token', id);
165
- return id;
166
- }
167
- function generateID(length = 17) {
168
- let id = '';
169
- while (id.length < length) {
170
- id += getRandomValues();
171
- }
172
- return id.substring(0, length);
173
- }
174
- function getApiKeyFromToken(token) {
175
- const data = getTokenPayload(token);
176
- if (!data)
177
- return null;
178
- if (data.api_key) {
179
- return data.api_key;
180
- }
181
- return null;
182
- }
183
- function getTokenPayload(token) {
184
- try {
185
- const [_, payload] = token.split('.');
186
- const data = JSON.parse(atob(payload));
187
- return data || null;
188
- }
189
- catch (_a) {
190
- return null;
191
- }
192
- }
193
- const getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues
194
- ? () => crypto.getRandomValues(new Uint32Array(1))[0].toString(36)
195
- : () => Math.random().toString(36).substring(2, 15);
196
- //# sourceMappingURL=socket.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/socket.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- {
2
- "main": "../dist/commonjs/socket.js",
3
- "types": "../dist/commonjs/socket.d.ts"
4
- }