magicbell-js 1.2.0 → 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 (222) hide show
  1. package/README.md +12 -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/user-client/services/channels/channels-service.d.ts +13 -0
  65. package/dist/commonjs/user-client/services/channels/channels-service.d.ts.map +1 -1
  66. package/dist/commonjs/user-client/services/channels/channels-service.js +53 -0
  67. package/dist/commonjs/user-client/services/channels/channels-service.js.map +1 -1
  68. package/dist/commonjs/user-client/services/channels/models/apns-token-collection.d.ts +14 -14
  69. package/dist/commonjs/user-client/services/channels/models/apns-token.d.ts +8 -8
  70. package/dist/commonjs/user-client/services/channels/models/categories.d.ts +145 -0
  71. package/dist/commonjs/user-client/services/channels/models/categories.d.ts.map +1 -0
  72. package/dist/commonjs/user-client/services/channels/models/categories.js +62 -0
  73. package/dist/commonjs/user-client/services/channels/models/categories.js.map +1 -0
  74. package/dist/commonjs/user-client/services/channels/models/channels.d.ts +62 -0
  75. package/dist/commonjs/user-client/services/channels/models/channels.d.ts.map +1 -0
  76. package/dist/commonjs/user-client/services/channels/models/channels.js +44 -0
  77. package/dist/commonjs/user-client/services/channels/models/channels.js.map +1 -0
  78. package/dist/commonjs/user-client/services/channels/models/discard-result.d.ts +8 -8
  79. package/dist/commonjs/user-client/services/channels/models/expo-token-collection.d.ts +14 -14
  80. package/dist/commonjs/user-client/services/channels/models/expo-token.d.ts +8 -8
  81. package/dist/commonjs/user-client/services/channels/models/fcm-token-collection.d.ts +14 -14
  82. package/dist/commonjs/user-client/services/channels/models/fcm-token.d.ts +8 -8
  83. package/dist/commonjs/user-client/services/channels/models/inbox-token-response-collection.d.ts +28 -28
  84. package/dist/commonjs/user-client/services/channels/models/inbox-token-response.d.ts +16 -16
  85. package/dist/commonjs/user-client/services/channels/models/index.d.ts +3 -0
  86. package/dist/commonjs/user-client/services/channels/models/index.d.ts.map +1 -1
  87. package/dist/commonjs/user-client/services/channels/models/index.js.map +1 -1
  88. package/dist/commonjs/user-client/services/channels/models/slack-token-collection.d.ts +14 -14
  89. package/dist/commonjs/user-client/services/channels/models/slack-token.d.ts +8 -8
  90. package/dist/commonjs/user-client/services/channels/models/teams-token-collection.d.ts +14 -14
  91. package/dist/commonjs/user-client/services/channels/models/teams-token.d.ts +8 -8
  92. package/dist/commonjs/user-client/services/channels/models/user-preferences.d.ts +239 -0
  93. package/dist/commonjs/user-client/services/channels/models/user-preferences.d.ts.map +1 -0
  94. package/dist/commonjs/user-client/services/channels/models/user-preferences.js +40 -0
  95. package/dist/commonjs/user-client/services/channels/models/user-preferences.js.map +1 -0
  96. package/dist/commonjs/user-client/services/channels/models/web-push-token-collection.d.ts +14 -14
  97. package/dist/commonjs/user-client/services/channels/models/web-push-token.d.ts +8 -8
  98. package/dist/commonjs/user-client/services/integrations/models/authed-user.d.ts +8 -8
  99. package/dist/commonjs/user-client/services/integrations/models/inbox-config-payload.d.ts +98 -98
  100. package/dist/commonjs/user-client/services/integrations/models/slack-installation.d.ts +57 -57
  101. package/dist/commonjs/user-client/services/integrations/models/slack-start-install.d.ts +8 -8
  102. package/dist/commonjs/user-client/services/integrations/models/theme.d.ts +56 -56
  103. package/dist/commonjs/user-client/services/notifications/models/notification-collection.d.ts +56 -56
  104. package/dist/commonjs/user-client/services/notifications/models/notification.d.ts +32 -32
  105. package/dist/esm/project-client/services/broadcasts/models/broadcast-collection.d.ts +274 -274
  106. package/dist/esm/project-client/services/broadcasts/models/broadcast.d.ts +168 -168
  107. package/dist/esm/project-client/services/broadcasts/models/email.d.ts +3 -3
  108. package/dist/esm/project-client/services/broadcasts/models/in-app.d.ts +3 -3
  109. package/dist/esm/project-client/services/broadcasts/models/mobile-push.d.ts +3 -3
  110. package/dist/esm/project-client/services/broadcasts/models/overrides-channels.d.ts +27 -27
  111. package/dist/esm/project-client/services/broadcasts/models/overrides.d.ts +39 -39
  112. package/dist/esm/project-client/services/broadcasts/models/sms.d.ts +3 -3
  113. package/dist/esm/project-client/services/channels/models/apns-token-collection.d.ts +14 -14
  114. package/dist/esm/project-client/services/channels/models/apns-token.d.ts +8 -8
  115. package/dist/esm/project-client/services/channels/models/discard-result.d.ts +8 -8
  116. package/dist/esm/project-client/services/channels/models/expo-token-collection.d.ts +14 -14
  117. package/dist/esm/project-client/services/channels/models/expo-token.d.ts +8 -8
  118. package/dist/esm/project-client/services/channels/models/fcm-token-collection.d.ts +14 -14
  119. package/dist/esm/project-client/services/channels/models/fcm-token.d.ts +8 -8
  120. package/dist/esm/project-client/services/channels/models/inbox-token-response-collection.d.ts +28 -28
  121. package/dist/esm/project-client/services/channels/models/inbox-token-response.d.ts +16 -16
  122. package/dist/esm/project-client/services/channels/models/slack-token-collection.d.ts +14 -14
  123. package/dist/esm/project-client/services/channels/models/slack-token.d.ts +8 -8
  124. package/dist/esm/project-client/services/channels/models/teams-token-collection.d.ts +14 -14
  125. package/dist/esm/project-client/services/channels/models/teams-token.d.ts +8 -8
  126. package/dist/esm/project-client/services/channels/models/web-push-token-collection.d.ts +14 -14
  127. package/dist/esm/project-client/services/channels/models/web-push-token.d.ts +8 -8
  128. package/dist/esm/project-client/services/common/user.d.ts +6 -6
  129. package/dist/esm/project-client/services/integrations/integrations-service.d.ts +43 -1
  130. package/dist/esm/project-client/services/integrations/integrations-service.d.ts.map +1 -1
  131. package/dist/esm/project-client/services/integrations/integrations-service.js +168 -0
  132. package/dist/esm/project-client/services/integrations/integrations-service.js.map +1 -1
  133. package/dist/esm/project-client/services/integrations/models/github-config-collection.d.ts +312 -0
  134. package/dist/esm/project-client/services/integrations/models/github-config-collection.d.ts.map +1 -0
  135. package/dist/esm/project-client/services/integrations/models/github-config-collection.js +43 -0
  136. package/dist/esm/project-client/services/integrations/models/github-config-collection.js.map +1 -0
  137. package/dist/esm/project-client/services/integrations/models/github-config-payload.d.ts +48 -0
  138. package/dist/esm/project-client/services/integrations/models/github-config-payload.d.ts.map +1 -0
  139. package/dist/esm/project-client/services/integrations/models/github-config-payload.js +36 -0
  140. package/dist/esm/project-client/services/integrations/models/github-config-payload.js.map +1 -0
  141. package/dist/esm/project-client/services/integrations/models/github-config.d.ts +122 -0
  142. package/dist/esm/project-client/services/integrations/models/github-config.d.ts.map +1 -0
  143. package/dist/esm/project-client/services/integrations/models/github-config.js +47 -0
  144. package/dist/esm/project-client/services/integrations/models/github-config.js.map +1 -0
  145. package/dist/esm/project-client/services/integrations/models/inbox-config-collection.d.ts +182 -182
  146. package/dist/esm/project-client/services/integrations/models/inbox-config-payload.d.ts +98 -98
  147. package/dist/esm/project-client/services/integrations/models/inbox-config.d.ts +140 -140
  148. package/dist/esm/project-client/services/integrations/models/index.d.ts +6 -0
  149. package/dist/esm/project-client/services/integrations/models/index.d.ts.map +1 -1
  150. package/dist/esm/project-client/services/integrations/models/index.js.map +1 -1
  151. package/dist/esm/project-client/services/integrations/models/stripe-config-collection.d.ts +312 -0
  152. package/dist/esm/project-client/services/integrations/models/stripe-config-collection.d.ts.map +1 -0
  153. package/dist/esm/project-client/services/integrations/models/stripe-config-collection.js +43 -0
  154. package/dist/esm/project-client/services/integrations/models/stripe-config-collection.js.map +1 -0
  155. package/dist/esm/project-client/services/integrations/models/stripe-config-payload.d.ts +48 -0
  156. package/dist/esm/project-client/services/integrations/models/stripe-config-payload.d.ts.map +1 -0
  157. package/dist/esm/project-client/services/integrations/models/stripe-config-payload.js +36 -0
  158. package/dist/esm/project-client/services/integrations/models/stripe-config-payload.js.map +1 -0
  159. package/dist/esm/project-client/services/integrations/models/stripe-config.d.ts +122 -0
  160. package/dist/esm/project-client/services/integrations/models/stripe-config.d.ts.map +1 -0
  161. package/dist/esm/project-client/services/integrations/models/stripe-config.js +47 -0
  162. package/dist/esm/project-client/services/integrations/models/stripe-config.js.map +1 -0
  163. package/dist/esm/project-client/services/integrations/models/theme.d.ts +56 -56
  164. package/dist/esm/project-client/services/integrations/request-params.d.ts +6 -0
  165. package/dist/esm/project-client/services/integrations/request-params.d.ts.map +1 -1
  166. package/dist/esm/project-client/services/users/models/user-collection.d.ts +10 -10
  167. package/dist/esm/user-client/services/channels/channels-service.d.ts +13 -0
  168. package/dist/esm/user-client/services/channels/channels-service.d.ts.map +1 -1
  169. package/dist/esm/user-client/services/channels/channels-service.js +53 -0
  170. package/dist/esm/user-client/services/channels/channels-service.js.map +1 -1
  171. package/dist/esm/user-client/services/channels/models/apns-token-collection.d.ts +14 -14
  172. package/dist/esm/user-client/services/channels/models/apns-token.d.ts +8 -8
  173. package/dist/esm/user-client/services/channels/models/categories.d.ts +145 -0
  174. package/dist/esm/user-client/services/channels/models/categories.d.ts.map +1 -0
  175. package/dist/esm/user-client/services/channels/models/categories.js +59 -0
  176. package/dist/esm/user-client/services/channels/models/categories.js.map +1 -0
  177. package/dist/esm/user-client/services/channels/models/channels.d.ts +62 -0
  178. package/dist/esm/user-client/services/channels/models/channels.d.ts.map +1 -0
  179. package/dist/esm/user-client/services/channels/models/channels.js +41 -0
  180. package/dist/esm/user-client/services/channels/models/channels.js.map +1 -0
  181. package/dist/esm/user-client/services/channels/models/discard-result.d.ts +8 -8
  182. package/dist/esm/user-client/services/channels/models/expo-token-collection.d.ts +14 -14
  183. package/dist/esm/user-client/services/channels/models/expo-token.d.ts +8 -8
  184. package/dist/esm/user-client/services/channels/models/fcm-token-collection.d.ts +14 -14
  185. package/dist/esm/user-client/services/channels/models/fcm-token.d.ts +8 -8
  186. package/dist/esm/user-client/services/channels/models/inbox-token-response-collection.d.ts +28 -28
  187. package/dist/esm/user-client/services/channels/models/inbox-token-response.d.ts +16 -16
  188. package/dist/esm/user-client/services/channels/models/index.d.ts +3 -0
  189. package/dist/esm/user-client/services/channels/models/index.d.ts.map +1 -1
  190. package/dist/esm/user-client/services/channels/models/index.js.map +1 -1
  191. package/dist/esm/user-client/services/channels/models/slack-token-collection.d.ts +14 -14
  192. package/dist/esm/user-client/services/channels/models/slack-token.d.ts +8 -8
  193. package/dist/esm/user-client/services/channels/models/teams-token-collection.d.ts +14 -14
  194. package/dist/esm/user-client/services/channels/models/teams-token.d.ts +8 -8
  195. package/dist/esm/user-client/services/channels/models/user-preferences.d.ts +239 -0
  196. package/dist/esm/user-client/services/channels/models/user-preferences.d.ts.map +1 -0
  197. package/dist/esm/user-client/services/channels/models/user-preferences.js +37 -0
  198. package/dist/esm/user-client/services/channels/models/user-preferences.js.map +1 -0
  199. package/dist/esm/user-client/services/channels/models/web-push-token-collection.d.ts +14 -14
  200. package/dist/esm/user-client/services/channels/models/web-push-token.d.ts +8 -8
  201. package/dist/esm/user-client/services/integrations/models/authed-user.d.ts +8 -8
  202. package/dist/esm/user-client/services/integrations/models/inbox-config-payload.d.ts +98 -98
  203. package/dist/esm/user-client/services/integrations/models/slack-installation.d.ts +57 -57
  204. package/dist/esm/user-client/services/integrations/models/slack-start-install.d.ts +8 -8
  205. package/dist/esm/user-client/services/integrations/models/theme.d.ts +56 -56
  206. package/dist/esm/user-client/services/notifications/models/notification-collection.d.ts +56 -56
  207. package/dist/esm/user-client/services/notifications/models/notification.d.ts +32 -32
  208. package/package.json +3 -3
  209. package/src/project-client/services/integrations/integrations-service.ts +196 -0
  210. package/src/project-client/services/integrations/models/github-config-collection.ts +54 -0
  211. package/src/project-client/services/integrations/models/github-config-payload.ts +45 -0
  212. package/src/project-client/services/integrations/models/github-config.ts +64 -0
  213. package/src/project-client/services/integrations/models/index.ts +6 -0
  214. package/src/project-client/services/integrations/models/stripe-config-collection.ts +54 -0
  215. package/src/project-client/services/integrations/models/stripe-config-payload.ts +45 -0
  216. package/src/project-client/services/integrations/models/stripe-config.ts +64 -0
  217. package/src/project-client/services/integrations/request-params.ts +8 -0
  218. package/src/user-client/services/channels/channels-service.ts +55 -0
  219. package/src/user-client/services/channels/models/categories.ts +71 -0
  220. package/src/user-client/services/channels/models/channels.ts +51 -0
  221. package/src/user-client/services/channels/models/index.ts +3 -0
  222. package/src/user-client/services/channels/models/user-preferences.ts +47 -0
@@ -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
+ });