magicbell-js 0.0.3 → 0.0.4

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 (292) hide show
  1. package/package.json +2 -1
  2. package/src/project-client/http/client.ts +71 -0
  3. package/src/project-client/http/environment.ts +3 -0
  4. package/src/project-client/http/error.ts +14 -0
  5. package/src/project-client/http/errors/validation-error.ts +25 -0
  6. package/src/project-client/http/handlers/handler-chain.ts +30 -0
  7. package/src/project-client/http/handlers/hook-handler.ts +78 -0
  8. package/src/project-client/http/handlers/request-validation-handler.ts +111 -0
  9. package/src/project-client/http/handlers/response-validation-handler.ts +203 -0
  10. package/src/project-client/http/handlers/retry-handler.ts +60 -0
  11. package/src/project-client/http/handlers/terminating-handler.ts +14 -0
  12. package/src/project-client/http/hooks/custom-hook.ts +25 -0
  13. package/src/project-client/http/hooks/hook.ts +41 -0
  14. package/src/project-client/http/index.ts +11 -0
  15. package/src/project-client/http/serialization/base-serializer.ts +139 -0
  16. package/src/project-client/http/serialization/header-serializer.ts +19 -0
  17. package/src/project-client/http/serialization/path-serializer.ts +12 -0
  18. package/src/project-client/http/serialization/query-serializer.ts +18 -0
  19. package/src/project-client/http/transport/request-builder.ts +242 -0
  20. package/src/project-client/http/transport/request-fetch-adapter.ts +131 -0
  21. package/src/project-client/http/transport/request.ts +222 -0
  22. package/src/project-client/http/transport/transport-hook-adapter.ts +91 -0
  23. package/src/project-client/http/transport/types.ts +50 -0
  24. package/src/project-client/http/types.ts +74 -0
  25. package/src/project-client/http/utils/content-type.ts +33 -0
  26. package/src/project-client/http/utils/line-decoder.ts +35 -0
  27. package/src/project-client/http/utils/response-matcher.ts +25 -0
  28. package/src/project-client/index.ts +94 -0
  29. package/src/project-client/services/base-service.ts +27 -0
  30. package/src/project-client/services/broadcasts/broadcasts-service.ts +115 -0
  31. package/src/project-client/services/broadcasts/index.ts +2 -0
  32. package/src/project-client/services/broadcasts/models/broadcast-collection.ts +54 -0
  33. package/src/project-client/services/broadcasts/models/broadcast-status.ts +60 -0
  34. package/src/project-client/services/broadcasts/models/broadcast.ts +143 -0
  35. package/src/project-client/services/broadcasts/models/email.ts +57 -0
  36. package/src/project-client/services/broadcasts/models/errors.ts +45 -0
  37. package/src/project-client/services/broadcasts/models/in-app.ts +57 -0
  38. package/src/project-client/services/broadcasts/models/index.ts +15 -0
  39. package/src/project-client/services/broadcasts/models/mobile-push.ts +57 -0
  40. package/src/project-client/services/broadcasts/models/overrides-channels.ts +82 -0
  41. package/src/project-client/services/broadcasts/models/overrides.ts +59 -0
  42. package/src/project-client/services/broadcasts/models/providers.ts +81 -0
  43. package/src/project-client/services/broadcasts/models/slack.ts +57 -0
  44. package/src/project-client/services/broadcasts/models/sms.ts +57 -0
  45. package/src/project-client/services/broadcasts/models/status-status.ts +7 -0
  46. package/src/project-client/services/broadcasts/models/summary.ts +51 -0
  47. package/src/project-client/services/broadcasts/models/web-push.ts +57 -0
  48. package/src/project-client/services/broadcasts/request-params.ts +5 -0
  49. package/src/project-client/services/channels/channels-service.ts +1017 -0
  50. package/src/project-client/services/channels/index.ts +2 -0
  51. package/src/project-client/services/channels/models/apns-token-collection.ts +54 -0
  52. package/src/project-client/services/channels/models/apns-token-installation-id.ts +6 -0
  53. package/src/project-client/services/channels/models/apns-token.ts +90 -0
  54. package/src/project-client/services/channels/models/category-delivery-config-channels.ts +57 -0
  55. package/src/project-client/services/channels/models/category-delivery-config.ts +73 -0
  56. package/src/project-client/services/channels/models/channel.ts +11 -0
  57. package/src/project-client/services/channels/models/discard-result.ts +51 -0
  58. package/src/project-client/services/channels/models/expo-token-collection.ts +54 -0
  59. package/src/project-client/services/channels/models/expo-token.ts +69 -0
  60. package/src/project-client/services/channels/models/fcm-token-collection.ts +54 -0
  61. package/src/project-client/services/channels/models/fcm-token-installation-id.ts +6 -0
  62. package/src/project-client/services/channels/models/fcm-token.ts +75 -0
  63. package/src/project-client/services/channels/models/inbox-token-response-collection.ts +59 -0
  64. package/src/project-client/services/channels/models/inbox-token-response.ts +75 -0
  65. package/src/project-client/services/channels/models/index.ts +24 -0
  66. package/src/project-client/services/channels/models/keys.ts +51 -0
  67. package/src/project-client/services/channels/models/oauth.ts +57 -0
  68. package/src/project-client/services/channels/models/slack-token-collection.ts +54 -0
  69. package/src/project-client/services/channels/models/slack-token-webhook.ts +45 -0
  70. package/src/project-client/services/channels/models/slack-token.ts +83 -0
  71. package/src/project-client/services/channels/models/teams-token-collection.ts +54 -0
  72. package/src/project-client/services/channels/models/teams-token-webhook.ts +45 -0
  73. package/src/project-client/services/channels/models/teams-token.ts +76 -0
  74. package/src/project-client/services/channels/models/web-push-token-collection.ts +54 -0
  75. package/src/project-client/services/channels/models/web-push-token.ts +77 -0
  76. package/src/project-client/services/channels/request-params.ts +45 -0
  77. package/src/project-client/services/common/index.ts +1 -0
  78. package/src/project-client/services/common/links.ts +57 -0
  79. package/src/project-client/services/events/events-service.ts +84 -0
  80. package/src/project-client/services/events/index.ts +2 -0
  81. package/src/project-client/services/events/models/event-collection.ts +54 -0
  82. package/src/project-client/services/events/models/event.ts +81 -0
  83. package/src/project-client/services/events/models/index.ts +2 -0
  84. package/src/project-client/services/events/request-params.ts +5 -0
  85. package/src/project-client/services/integrations/index.ts +2 -0
  86. package/src/project-client/services/integrations/integrations-service.ts +1965 -0
  87. package/src/project-client/services/integrations/models/apns-config-collection.ts +54 -0
  88. package/src/project-client/services/integrations/models/apns-config-payload.ts +81 -0
  89. package/src/project-client/services/integrations/models/apns-config.ts +64 -0
  90. package/src/project-client/services/integrations/models/awssns-config-collection.ts +54 -0
  91. package/src/project-client/services/integrations/models/awssns-config-payload.ts +45 -0
  92. package/src/project-client/services/integrations/models/awssns-config.ts +64 -0
  93. package/src/project-client/services/integrations/models/badge.ts +6 -0
  94. package/src/project-client/services/integrations/models/banner.ts +63 -0
  95. package/src/project-client/services/integrations/models/default-hover.ts +45 -0
  96. package/src/project-client/services/integrations/models/default-state.ts +45 -0
  97. package/src/project-client/services/integrations/models/default_.ts +90 -0
  98. package/src/project-client/services/integrations/models/dialog.ts +57 -0
  99. package/src/project-client/services/integrations/models/event-source-config-collection.ts +59 -0
  100. package/src/project-client/services/integrations/models/event-source-config-payload.ts +45 -0
  101. package/src/project-client/services/integrations/models/event-source-config.ts +64 -0
  102. package/src/project-client/services/integrations/models/expo-config-collection.ts +54 -0
  103. package/src/project-client/services/integrations/models/expo-config-payload.ts +45 -0
  104. package/src/project-client/services/integrations/models/expo-config.ts +64 -0
  105. package/src/project-client/services/integrations/models/fcm-config-collection.ts +54 -0
  106. package/src/project-client/services/integrations/models/fcm-config-payload.ts +105 -0
  107. package/src/project-client/services/integrations/models/fcm-config.ts +64 -0
  108. package/src/project-client/services/integrations/models/footer.ts +63 -0
  109. package/src/project-client/services/integrations/models/github-config-collection.ts +54 -0
  110. package/src/project-client/services/integrations/models/github-config-payload.ts +45 -0
  111. package/src/project-client/services/integrations/models/github-config.ts +64 -0
  112. package/src/project-client/services/integrations/models/header.ts +69 -0
  113. package/src/project-client/services/integrations/models/icon.ts +51 -0
  114. package/src/project-client/services/integrations/models/images.ts +45 -0
  115. package/src/project-client/services/integrations/models/inbox-config-collection.ts +54 -0
  116. package/src/project-client/services/integrations/models/inbox-config-payload.ts +60 -0
  117. package/src/project-client/services/integrations/models/inbox-config.ts +64 -0
  118. package/src/project-client/services/integrations/models/index.ts +75 -0
  119. package/src/project-client/services/integrations/models/integration-config-collection.ts +59 -0
  120. package/src/project-client/services/integrations/models/integration-config.ts +57 -0
  121. package/src/project-client/services/integrations/models/mailgun-config-collection.ts +54 -0
  122. package/src/project-client/services/integrations/models/mailgun-config-payload-from.ts +51 -0
  123. package/src/project-client/services/integrations/models/mailgun-config-payload.ts +70 -0
  124. package/src/project-client/services/integrations/models/mailgun-config.ts +64 -0
  125. package/src/project-client/services/integrations/models/notification.ts +61 -0
  126. package/src/project-client/services/integrations/models/payload-version.ts +6 -0
  127. package/src/project-client/services/integrations/models/ping-config-collection.ts +54 -0
  128. package/src/project-client/services/integrations/models/ping-config-payload.ts +45 -0
  129. package/src/project-client/services/integrations/models/ping-config.ts +64 -0
  130. package/src/project-client/services/integrations/models/region.ts +6 -0
  131. package/src/project-client/services/integrations/models/reply-to.ts +51 -0
  132. package/src/project-client/services/integrations/models/sendgrid-config-collection.ts +54 -0
  133. package/src/project-client/services/integrations/models/sendgrid-config-payload-from.ts +51 -0
  134. package/src/project-client/services/integrations/models/sendgrid-config-payload.ts +65 -0
  135. package/src/project-client/services/integrations/models/sendgrid-config.ts +64 -0
  136. package/src/project-client/services/integrations/models/ses-config-collection.ts +54 -0
  137. package/src/project-client/services/integrations/models/ses-config-payload-from.ts +51 -0
  138. package/src/project-client/services/integrations/models/ses-config-payload.ts +70 -0
  139. package/src/project-client/services/integrations/models/ses-config.ts +64 -0
  140. package/src/project-client/services/integrations/models/slack-config-collection.ts +54 -0
  141. package/src/project-client/services/integrations/models/slack-config-payload.ts +63 -0
  142. package/src/project-client/services/integrations/models/slack-config.ts +64 -0
  143. package/src/project-client/services/integrations/models/stripe-config-collection.ts +54 -0
  144. package/src/project-client/services/integrations/models/stripe-config-payload.ts +45 -0
  145. package/src/project-client/services/integrations/models/stripe-config.ts +64 -0
  146. package/src/project-client/services/integrations/models/templates-config-collection.ts +59 -0
  147. package/src/project-client/services/integrations/models/templates-config.ts +57 -0
  148. package/src/project-client/services/integrations/models/theme.ts +89 -0
  149. package/src/project-client/services/integrations/models/twilio-config-collection.ts +54 -0
  150. package/src/project-client/services/integrations/models/twilio-config-payload.ts +75 -0
  151. package/src/project-client/services/integrations/models/twilio-config.ts +64 -0
  152. package/src/project-client/services/integrations/models/type_.ts +5 -0
  153. package/src/project-client/services/integrations/models/unread-hover.ts +45 -0
  154. package/src/project-client/services/integrations/models/unread-state.ts +45 -0
  155. package/src/project-client/services/integrations/models/unread.ts +66 -0
  156. package/src/project-client/services/integrations/models/unseen-badge.ts +45 -0
  157. package/src/project-client/services/integrations/models/unseen-hover.ts +45 -0
  158. package/src/project-client/services/integrations/models/unseen-state.ts +45 -0
  159. package/src/project-client/services/integrations/models/unseen.ts +66 -0
  160. package/src/project-client/services/integrations/models/webpush-config-collection.ts +54 -0
  161. package/src/project-client/services/integrations/models/webpush-config-payload.ts +51 -0
  162. package/src/project-client/services/integrations/models/webpush-config.ts +64 -0
  163. package/src/project-client/services/integrations/request-params.ts +5 -0
  164. package/src/project-client/services/jwt/index.ts +2 -0
  165. package/src/project-client/services/jwt/jwt-service.ts +233 -0
  166. package/src/project-client/services/jwt/models/access-token-collection.ts +54 -0
  167. package/src/project-client/services/jwt/models/access-token.ts +69 -0
  168. package/src/project-client/services/jwt/models/create-project-token-request.ts +51 -0
  169. package/src/project-client/services/jwt/models/create-token-response.ts +63 -0
  170. package/src/project-client/services/jwt/models/create-user-token-request.ts +63 -0
  171. package/src/project-client/services/jwt/models/discard-token-response.ts +51 -0
  172. package/src/project-client/services/jwt/models/index.ts +6 -0
  173. package/src/project-client/services/jwt/request-params.ts +11 -0
  174. package/src/project-client/services/notifications/index.ts +2 -0
  175. package/src/project-client/services/notifications/models/delivery-plan-collection.ts +54 -0
  176. package/src/project-client/services/notifications/models/delivery-plan.ts +93 -0
  177. package/src/project-client/services/notifications/models/index.ts +2 -0
  178. package/src/project-client/services/notifications/notifications-service.ts +44 -0
  179. package/src/project-client/services/users/index.ts +2 -0
  180. package/src/project-client/services/users/models/index.ts +2 -0
  181. package/src/project-client/services/users/models/user-collection.ts +54 -0
  182. package/src/project-client/services/users/models/user.ts +99 -0
  183. package/src/project-client/services/users/request-params.ts +6 -0
  184. package/src/project-client/services/users/users-service.ts +117 -0
  185. package/src/project-client.ts +1 -0
  186. package/src/user-client/http/client.ts +71 -0
  187. package/src/user-client/http/environment.ts +3 -0
  188. package/src/user-client/http/error.ts +14 -0
  189. package/src/user-client/http/errors/validation-error.ts +25 -0
  190. package/src/user-client/http/handlers/handler-chain.ts +30 -0
  191. package/src/user-client/http/handlers/hook-handler.ts +78 -0
  192. package/src/user-client/http/handlers/request-validation-handler.ts +111 -0
  193. package/src/user-client/http/handlers/response-validation-handler.ts +203 -0
  194. package/src/user-client/http/handlers/retry-handler.ts +60 -0
  195. package/src/user-client/http/handlers/terminating-handler.ts +14 -0
  196. package/src/user-client/http/hooks/custom-hook.ts +25 -0
  197. package/src/user-client/http/hooks/hook.ts +41 -0
  198. package/src/user-client/http/index.ts +11 -0
  199. package/src/user-client/http/serialization/base-serializer.ts +139 -0
  200. package/src/user-client/http/serialization/header-serializer.ts +19 -0
  201. package/src/user-client/http/serialization/path-serializer.ts +12 -0
  202. package/src/user-client/http/serialization/query-serializer.ts +18 -0
  203. package/src/user-client/http/transport/request-builder.ts +242 -0
  204. package/src/user-client/http/transport/request-fetch-adapter.ts +131 -0
  205. package/src/user-client/http/transport/request.ts +222 -0
  206. package/src/user-client/http/transport/transport-hook-adapter.ts +91 -0
  207. package/src/user-client/http/transport/types.ts +50 -0
  208. package/src/user-client/http/types.ts +74 -0
  209. package/src/user-client/http/utils/content-type.ts +33 -0
  210. package/src/user-client/http/utils/line-decoder.ts +35 -0
  211. package/src/user-client/http/utils/response-matcher.ts +25 -0
  212. package/src/user-client/index.ts +54 -0
  213. package/src/user-client/services/base-service.ts +27 -0
  214. package/src/user-client/services/channels/channels-service.ts +1020 -0
  215. package/src/user-client/services/channels/index.ts +2 -0
  216. package/src/user-client/services/channels/models/apns-token-collection.ts +54 -0
  217. package/src/user-client/services/channels/models/apns-token-installation-id.ts +6 -0
  218. package/src/user-client/services/channels/models/apns-token-payload-installation-id.ts +6 -0
  219. package/src/user-client/services/channels/models/apns-token-payload.ts +66 -0
  220. package/src/user-client/services/channels/models/apns-token.ts +90 -0
  221. package/src/user-client/services/channels/models/discard-result.ts +51 -0
  222. package/src/user-client/services/channels/models/expo-token-collection.ts +54 -0
  223. package/src/user-client/services/channels/models/expo-token-payload.ts +45 -0
  224. package/src/user-client/services/channels/models/expo-token.ts +69 -0
  225. package/src/user-client/services/channels/models/fcm-token-collection.ts +54 -0
  226. package/src/user-client/services/channels/models/fcm-token-installation-id.ts +6 -0
  227. package/src/user-client/services/channels/models/fcm-token-payload-installation-id.ts +6 -0
  228. package/src/user-client/services/channels/models/fcm-token-payload.ts +51 -0
  229. package/src/user-client/services/channels/models/fcm-token.ts +75 -0
  230. package/src/user-client/services/channels/models/inbox-token-response-collection.ts +59 -0
  231. package/src/user-client/services/channels/models/inbox-token-response.ts +75 -0
  232. package/src/user-client/services/channels/models/inbox-token.ts +51 -0
  233. package/src/user-client/services/channels/models/index.ts +33 -0
  234. package/src/user-client/services/channels/models/slack-token-collection.ts +54 -0
  235. package/src/user-client/services/channels/models/slack-token-oauth.ts +57 -0
  236. package/src/user-client/services/channels/models/slack-token-payload-oauth.ts +57 -0
  237. package/src/user-client/services/channels/models/slack-token-payload-webhook.ts +45 -0
  238. package/src/user-client/services/channels/models/slack-token-payload.ts +64 -0
  239. package/src/user-client/services/channels/models/slack-token-webhook.ts +45 -0
  240. package/src/user-client/services/channels/models/slack-token.ts +88 -0
  241. package/src/user-client/services/channels/models/teams-token-collection.ts +54 -0
  242. package/src/user-client/services/channels/models/teams-token-payload-webhook.ts +45 -0
  243. package/src/user-client/services/channels/models/teams-token-payload.ts +52 -0
  244. package/src/user-client/services/channels/models/teams-token-webhook.ts +45 -0
  245. package/src/user-client/services/channels/models/teams-token.ts +76 -0
  246. package/src/user-client/services/channels/models/web-push-token-collection.ts +54 -0
  247. package/src/user-client/services/channels/models/web-push-token-keys.ts +51 -0
  248. package/src/user-client/services/channels/models/web-push-token-payload-keys.ts +51 -0
  249. package/src/user-client/services/channels/models/web-push-token.ts +82 -0
  250. package/src/user-client/services/channels/request-params.ts +41 -0
  251. package/src/user-client/services/common/index.ts +2 -0
  252. package/src/user-client/services/common/links.ts +57 -0
  253. package/src/user-client/services/common/web-push-token-payload.ts +58 -0
  254. package/src/user-client/services/integrations/index.ts +2 -0
  255. package/src/user-client/services/integrations/integrations-service.ts +278 -0
  256. package/src/user-client/services/integrations/models/authed-user.ts +75 -0
  257. package/src/user-client/services/integrations/models/banner.ts +63 -0
  258. package/src/user-client/services/integrations/models/default-hover.ts +45 -0
  259. package/src/user-client/services/integrations/models/default-state.ts +45 -0
  260. package/src/user-client/services/integrations/models/default_.ts +90 -0
  261. package/src/user-client/services/integrations/models/dialog.ts +57 -0
  262. package/src/user-client/services/integrations/models/enterprise.ts +51 -0
  263. package/src/user-client/services/integrations/models/footer.ts +63 -0
  264. package/src/user-client/services/integrations/models/header.ts +69 -0
  265. package/src/user-client/services/integrations/models/icon.ts +51 -0
  266. package/src/user-client/services/integrations/models/images.ts +45 -0
  267. package/src/user-client/services/integrations/models/inbox-config-payload.ts +60 -0
  268. package/src/user-client/services/integrations/models/incoming-webhook.ts +57 -0
  269. package/src/user-client/services/integrations/models/index.ts +29 -0
  270. package/src/user-client/services/integrations/models/slack-finish-install-response.ts +57 -0
  271. package/src/user-client/services/integrations/models/slack-installation.ts +136 -0
  272. package/src/user-client/services/integrations/models/slack-start-install-response-content.ts +57 -0
  273. package/src/user-client/services/integrations/models/slack-start-install.ts +63 -0
  274. package/src/user-client/services/integrations/models/team.ts +51 -0
  275. package/src/user-client/services/integrations/models/templates-installation.ts +57 -0
  276. package/src/user-client/services/integrations/models/theme-notification.ts +61 -0
  277. package/src/user-client/services/integrations/models/theme.ts +94 -0
  278. package/src/user-client/services/integrations/models/unread-hover.ts +45 -0
  279. package/src/user-client/services/integrations/models/unread-state.ts +45 -0
  280. package/src/user-client/services/integrations/models/unread.ts +66 -0
  281. package/src/user-client/services/integrations/models/unseen-badge.ts +45 -0
  282. package/src/user-client/services/integrations/models/unseen-hover.ts +45 -0
  283. package/src/user-client/services/integrations/models/unseen-state.ts +45 -0
  284. package/src/user-client/services/integrations/models/unseen.ts +66 -0
  285. package/src/user-client/services/integrations/models/web-push-start-installation-response.ts +51 -0
  286. package/src/user-client/services/notifications/index.ts +2 -0
  287. package/src/user-client/services/notifications/models/index.ts +2 -0
  288. package/src/user-client/services/notifications/models/notification-collection.ts +54 -0
  289. package/src/user-client/services/notifications/models/notification.ts +129 -0
  290. package/src/user-client/services/notifications/notifications-service.ts +189 -0
  291. package/src/user-client/services/notifications/request-params.ts +7 -0
  292. package/src/user-client.ts +1 -0
@@ -0,0 +1,45 @@
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 githubConfigPayload = z.lazy(() => {
7
+ return z.object({
8
+ webhookSigningSecret: z.string().min(1).max(100),
9
+ });
10
+ });
11
+
12
+ /**
13
+ *
14
+ * @typedef {GithubConfigPayload} githubConfigPayload
15
+ * @property {string} - The signing secret to verify incoming requests from Github
16
+ */
17
+ export type GithubConfigPayload = z.infer<typeof githubConfigPayload>;
18
+
19
+ /**
20
+ * The shape of the model mapping from the api schema into the application shape.
21
+ * Is equal to application shape if all property names match the api schema
22
+ */
23
+ export const githubConfigPayloadResponse = z.lazy(() => {
24
+ return z
25
+ .object({
26
+ webhook_signing_secret: z.string().min(1).max(100),
27
+ })
28
+ .transform((data) => ({
29
+ webhookSigningSecret: data['webhook_signing_secret'],
30
+ }));
31
+ });
32
+
33
+ /**
34
+ * The shape of the model mapping from the application shape into the api schema.
35
+ * Is equal to application shape if all property names match the api schema
36
+ */
37
+ export const githubConfigPayloadRequest = z.lazy(() => {
38
+ return z
39
+ .object({
40
+ webhookSigningSecret: z.string().min(1).max(100),
41
+ })
42
+ .transform((data) => ({
43
+ webhook_signing_secret: data['webhookSigningSecret'],
44
+ }));
45
+ });
@@ -0,0 +1,64 @@
1
+ import { z } from 'zod';
2
+
3
+ import {
4
+ GithubConfigPayload,
5
+ githubConfigPayload,
6
+ githubConfigPayloadRequest,
7
+ githubConfigPayloadResponse,
8
+ } from './github-config-payload.js';
9
+
10
+ /**
11
+ * The shape of the model inside the application code - what the users use
12
+ */
13
+ export const githubConfig = z.lazy(() => {
14
+ return z.object({
15
+ config: githubConfigPayload,
16
+ id: z.string(),
17
+ name: z.string(),
18
+ });
19
+ });
20
+
21
+ /**
22
+ *
23
+ * @typedef {GithubConfig} githubConfig
24
+ * @property {GithubConfigPayload}
25
+ * @property {string}
26
+ * @property {string}
27
+ */
28
+ export type GithubConfig = z.infer<typeof githubConfig>;
29
+
30
+ /**
31
+ * The shape of the model mapping from the api schema into the application shape.
32
+ * Is equal to application shape if all property names match the api schema
33
+ */
34
+ export const githubConfigResponse = z.lazy(() => {
35
+ return z
36
+ .object({
37
+ config: githubConfigPayloadResponse,
38
+ id: z.string(),
39
+ name: z.string(),
40
+ })
41
+ .transform((data) => ({
42
+ config: data['config'],
43
+ id: data['id'],
44
+ name: data['name'],
45
+ }));
46
+ });
47
+
48
+ /**
49
+ * The shape of the model mapping from the application shape into the api schema.
50
+ * Is equal to application shape if all property names match the api schema
51
+ */
52
+ export const githubConfigRequest = z.lazy(() => {
53
+ return z
54
+ .object({
55
+ config: githubConfigPayloadRequest,
56
+ id: z.string(),
57
+ name: z.string(),
58
+ })
59
+ .transform((data) => ({
60
+ config: data['config'],
61
+ id: data['id'],
62
+ name: data['name'],
63
+ }));
64
+ });
@@ -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 header = z.lazy(() => {
7
+ return z.object({
8
+ backgroundColor: z.string(),
9
+ borderRadius: z.string(),
10
+ fontFamily: z.string(),
11
+ fontSize: z.string(),
12
+ textColor: z.string(),
13
+ });
14
+ });
15
+
16
+ /**
17
+ *
18
+ * @typedef {Header} header
19
+ * @property {string}
20
+ * @property {string}
21
+ * @property {string}
22
+ * @property {string}
23
+ * @property {string}
24
+ */
25
+ export type Header = z.infer<typeof header>;
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 headerResponse = z.lazy(() => {
32
+ return z
33
+ .object({
34
+ backgroundColor: z.string(),
35
+ borderRadius: z.string(),
36
+ fontFamily: z.string(),
37
+ fontSize: z.string(),
38
+ textColor: z.string(),
39
+ })
40
+ .transform((data) => ({
41
+ backgroundColor: data['backgroundColor'],
42
+ borderRadius: data['borderRadius'],
43
+ fontFamily: data['fontFamily'],
44
+ fontSize: data['fontSize'],
45
+ textColor: data['textColor'],
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 headerRequest = z.lazy(() => {
54
+ return z
55
+ .object({
56
+ backgroundColor: z.string(),
57
+ borderRadius: z.string(),
58
+ fontFamily: z.string(),
59
+ fontSize: z.string(),
60
+ textColor: z.string(),
61
+ })
62
+ .transform((data) => ({
63
+ backgroundColor: data['backgroundColor'],
64
+ borderRadius: data['borderRadius'],
65
+ fontFamily: data['fontFamily'],
66
+ fontSize: data['fontSize'],
67
+ textColor: data['textColor'],
68
+ }));
69
+ });
@@ -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 icon = z.lazy(() => {
7
+ return z.object({
8
+ borderColor: z.string(),
9
+ width: z.string(),
10
+ });
11
+ });
12
+
13
+ /**
14
+ *
15
+ * @typedef {Icon} icon
16
+ * @property {string}
17
+ * @property {string}
18
+ */
19
+ export type Icon = z.infer<typeof icon>;
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 iconResponse = z.lazy(() => {
26
+ return z
27
+ .object({
28
+ borderColor: z.string(),
29
+ width: z.string(),
30
+ })
31
+ .transform((data) => ({
32
+ borderColor: data['borderColor'],
33
+ width: data['width'],
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 iconRequest = z.lazy(() => {
42
+ return z
43
+ .object({
44
+ borderColor: z.string(),
45
+ width: z.string(),
46
+ })
47
+ .transform((data) => ({
48
+ borderColor: data['borderColor'],
49
+ width: data['width'],
50
+ }));
51
+ });
@@ -0,0 +1,45 @@
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 images = z.lazy(() => {
7
+ return z.object({
8
+ emptyInboxUrl: z.string(),
9
+ });
10
+ });
11
+
12
+ /**
13
+ *
14
+ * @typedef {Images} images
15
+ * @property {string}
16
+ */
17
+ export type Images = z.infer<typeof images>;
18
+
19
+ /**
20
+ * The shape of the model mapping from the api schema into the application shape.
21
+ * Is equal to application shape if all property names match the api schema
22
+ */
23
+ export const imagesResponse = z.lazy(() => {
24
+ return z
25
+ .object({
26
+ emptyInboxUrl: z.string(),
27
+ })
28
+ .transform((data) => ({
29
+ emptyInboxUrl: data['emptyInboxUrl'],
30
+ }));
31
+ });
32
+
33
+ /**
34
+ * The shape of the model mapping from the application shape into the api schema.
35
+ * Is equal to application shape if all property names match the api schema
36
+ */
37
+ export const imagesRequest = z.lazy(() => {
38
+ return z
39
+ .object({
40
+ emptyInboxUrl: z.string(),
41
+ })
42
+ .transform((data) => ({
43
+ emptyInboxUrl: data['emptyInboxUrl'],
44
+ }));
45
+ });
@@ -0,0 +1,54 @@
1
+ import { z } from 'zod';
2
+
3
+ import { Links, links, linksRequest, linksResponse } from '../../common/links.js';
4
+ import { InboxConfig, inboxConfig, inboxConfigRequest, inboxConfigResponse } from './inbox-config.js';
5
+
6
+ /**
7
+ * The shape of the model inside the application code - what the users use
8
+ */
9
+ export const inboxConfigCollection = z.lazy(() => {
10
+ return z.object({
11
+ data: z.array(inboxConfig).optional(),
12
+ links: links.optional(),
13
+ });
14
+ });
15
+
16
+ /**
17
+ *
18
+ * @typedef {InboxConfigCollection} inboxConfigCollection
19
+ * @property {InboxConfig[]}
20
+ * @property {Links}
21
+ */
22
+ export type InboxConfigCollection = z.infer<typeof inboxConfigCollection>;
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 inboxConfigCollectionResponse = z.lazy(() => {
29
+ return z
30
+ .object({
31
+ data: z.array(inboxConfigResponse).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 inboxConfigCollectionRequest = z.lazy(() => {
45
+ return z
46
+ .object({
47
+ data: z.array(inboxConfigRequest).optional(),
48
+ links: linksRequest.optional(),
49
+ })
50
+ .transform((data) => ({
51
+ data: data['data'],
52
+ links: data['links'],
53
+ }));
54
+ });
@@ -0,0 +1,60 @@
1
+ import { z } from 'zod';
2
+
3
+ import { Images, images, imagesRequest, imagesResponse } from './images.js';
4
+ import { Theme, theme, themeRequest, themeResponse } from './theme.js';
5
+
6
+ /**
7
+ * The shape of the model inside the application code - what the users use
8
+ */
9
+ export const inboxConfigPayload = z.lazy(() => {
10
+ return z.object({
11
+ images: images.nullable(),
12
+ locale: z.string().min(2).nullable(),
13
+ theme: theme.nullable(),
14
+ });
15
+ });
16
+
17
+ /**
18
+ *
19
+ * @typedef {InboxConfigPayload} inboxConfigPayload
20
+ * @property {Images}
21
+ * @property {string}
22
+ * @property {Theme}
23
+ */
24
+ export type InboxConfigPayload = z.infer<typeof inboxConfigPayload>;
25
+
26
+ /**
27
+ * The shape of the model mapping from the api schema into the application shape.
28
+ * Is equal to application shape if all property names match the api schema
29
+ */
30
+ export const inboxConfigPayloadResponse = z.lazy(() => {
31
+ return z
32
+ .object({
33
+ images: imagesResponse.nullable(),
34
+ locale: z.string().min(2).nullable(),
35
+ theme: themeResponse.nullable(),
36
+ })
37
+ .transform((data) => ({
38
+ images: data['images'],
39
+ locale: data['locale'],
40
+ theme: data['theme'],
41
+ }));
42
+ });
43
+
44
+ /**
45
+ * The shape of the model mapping from the application shape into the api schema.
46
+ * Is equal to application shape if all property names match the api schema
47
+ */
48
+ export const inboxConfigPayloadRequest = z.lazy(() => {
49
+ return z
50
+ .object({
51
+ images: imagesRequest.nullable(),
52
+ locale: z.string().min(2).nullable(),
53
+ theme: themeRequest.nullable(),
54
+ })
55
+ .transform((data) => ({
56
+ images: data['images'],
57
+ locale: data['locale'],
58
+ theme: data['theme'],
59
+ }));
60
+ });
@@ -0,0 +1,64 @@
1
+ import { z } from 'zod';
2
+
3
+ import {
4
+ InboxConfigPayload,
5
+ inboxConfigPayload,
6
+ inboxConfigPayloadRequest,
7
+ inboxConfigPayloadResponse,
8
+ } from './inbox-config-payload.js';
9
+
10
+ /**
11
+ * The shape of the model inside the application code - what the users use
12
+ */
13
+ export const inboxConfig = z.lazy(() => {
14
+ return z.object({
15
+ config: inboxConfigPayload,
16
+ id: z.string(),
17
+ name: z.string(),
18
+ });
19
+ });
20
+
21
+ /**
22
+ *
23
+ * @typedef {InboxConfig} inboxConfig
24
+ * @property {InboxConfigPayload}
25
+ * @property {string}
26
+ * @property {string}
27
+ */
28
+ export type InboxConfig = z.infer<typeof inboxConfig>;
29
+
30
+ /**
31
+ * The shape of the model mapping from the api schema into the application shape.
32
+ * Is equal to application shape if all property names match the api schema
33
+ */
34
+ export const inboxConfigResponse = z.lazy(() => {
35
+ return z
36
+ .object({
37
+ config: inboxConfigPayloadResponse,
38
+ id: z.string(),
39
+ name: z.string(),
40
+ })
41
+ .transform((data) => ({
42
+ config: data['config'],
43
+ id: data['id'],
44
+ name: data['name'],
45
+ }));
46
+ });
47
+
48
+ /**
49
+ * The shape of the model mapping from the application shape into the api schema.
50
+ * Is equal to application shape if all property names match the api schema
51
+ */
52
+ export const inboxConfigRequest = z.lazy(() => {
53
+ return z
54
+ .object({
55
+ config: inboxConfigPayloadRequest,
56
+ id: z.string(),
57
+ name: z.string(),
58
+ })
59
+ .transform((data) => ({
60
+ config: data['config'],
61
+ id: data['id'],
62
+ name: data['name'],
63
+ }));
64
+ });
@@ -0,0 +1,75 @@
1
+ export type { ApnsConfig } from './apns-config.js';
2
+ export type { ApnsConfigCollection } from './apns-config-collection.js';
3
+ export type { ApnsConfigPayload } from './apns-config-payload.js';
4
+ export type { AwssnsConfig } from './awssns-config.js';
5
+ export type { AwssnsConfigCollection } from './awssns-config-collection.js';
6
+ export type { AwssnsConfigPayload } from './awssns-config-payload.js';
7
+ export { Badge } from './badge.js';
8
+ export type { Banner } from './banner.js';
9
+ export type { Default_ } from './default_.js';
10
+ export type { DefaultHover } from './default-hover.js';
11
+ export type { DefaultState } from './default-state.js';
12
+ export type { Dialog } from './dialog.js';
13
+ export type { EventSourceConfig } from './event-source-config.js';
14
+ export type { EventSourceConfigCollection } from './event-source-config-collection.js';
15
+ export type { EventSourceConfigPayload } from './event-source-config-payload.js';
16
+ export type { ExpoConfig } from './expo-config.js';
17
+ export type { ExpoConfigCollection } from './expo-config-collection.js';
18
+ export type { ExpoConfigPayload } from './expo-config-payload.js';
19
+ export type { FcmConfig } from './fcm-config.js';
20
+ export type { FcmConfigCollection } from './fcm-config-collection.js';
21
+ export type { FcmConfigPayload } from './fcm-config-payload.js';
22
+ export type { Footer } from './footer.js';
23
+ export type { GithubConfig } from './github-config.js';
24
+ export type { GithubConfigCollection } from './github-config-collection.js';
25
+ export type { GithubConfigPayload } from './github-config-payload.js';
26
+ export type { Header } from './header.js';
27
+ export type { Icon } from './icon.js';
28
+ export type { Images } from './images.js';
29
+ export type { InboxConfig } from './inbox-config.js';
30
+ export type { InboxConfigCollection } from './inbox-config-collection.js';
31
+ export type { InboxConfigPayload } from './inbox-config-payload.js';
32
+ export type { IntegrationConfig } from './integration-config.js';
33
+ export type { IntegrationConfigCollection } from './integration-config-collection.js';
34
+ export type { MailgunConfig } from './mailgun-config.js';
35
+ export type { MailgunConfigCollection } from './mailgun-config-collection.js';
36
+ export type { MailgunConfigPayload } from './mailgun-config-payload.js';
37
+ export type { MailgunConfigPayloadFrom } from './mailgun-config-payload-from.js';
38
+ export type { Notification } from './notification.js';
39
+ export { PayloadVersion } from './payload-version.js';
40
+ export type { PingConfig } from './ping-config.js';
41
+ export type { PingConfigCollection } from './ping-config-collection.js';
42
+ export type { PingConfigPayload } from './ping-config-payload.js';
43
+ export { Region } from './region.js';
44
+ export type { ReplyTo } from './reply-to.js';
45
+ export type { SendgridConfig } from './sendgrid-config.js';
46
+ export type { SendgridConfigCollection } from './sendgrid-config-collection.js';
47
+ export type { SendgridConfigPayload } from './sendgrid-config-payload.js';
48
+ export type { SendgridConfigPayloadFrom } from './sendgrid-config-payload-from.js';
49
+ export type { SesConfig } from './ses-config.js';
50
+ export type { SesConfigCollection } from './ses-config-collection.js';
51
+ export type { SesConfigPayload } from './ses-config-payload.js';
52
+ export type { SesConfigPayloadFrom } from './ses-config-payload-from.js';
53
+ export type { SlackConfig } from './slack-config.js';
54
+ export type { SlackConfigCollection } from './slack-config-collection.js';
55
+ export type { SlackConfigPayload } from './slack-config-payload.js';
56
+ export type { StripeConfig } from './stripe-config.js';
57
+ export type { StripeConfigCollection } from './stripe-config-collection.js';
58
+ export type { StripeConfigPayload } from './stripe-config-payload.js';
59
+ export type { TemplatesConfig } from './templates-config.js';
60
+ export type { TemplatesConfigCollection } from './templates-config-collection.js';
61
+ export type { Theme } from './theme.js';
62
+ export type { TwilioConfig } from './twilio-config.js';
63
+ export type { TwilioConfigCollection } from './twilio-config-collection.js';
64
+ export type { TwilioConfigPayload } from './twilio-config-payload.js';
65
+ export { Type_ } from './type_.js';
66
+ export type { Unread } from './unread.js';
67
+ export type { UnreadHover } from './unread-hover.js';
68
+ export type { UnreadState } from './unread-state.js';
69
+ export type { Unseen } from './unseen.js';
70
+ export type { UnseenBadge } from './unseen-badge.js';
71
+ export type { UnseenHover } from './unseen-hover.js';
72
+ export type { UnseenState } from './unseen-state.js';
73
+ export type { WebpushConfig } from './webpush-config.js';
74
+ export type { WebpushConfigCollection } from './webpush-config-collection.js';
75
+ export type { WebpushConfigPayload } from './webpush-config-payload.js';
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+
3
+ import { Links, links, linksRequest, linksResponse } from '../../common/links.js';
4
+ import {
5
+ IntegrationConfig,
6
+ integrationConfig,
7
+ integrationConfigRequest,
8
+ integrationConfigResponse,
9
+ } from './integration-config.js';
10
+
11
+ /**
12
+ * The shape of the model inside the application code - what the users use
13
+ */
14
+ export const integrationConfigCollection = z.lazy(() => {
15
+ return z.object({
16
+ data: z.array(integrationConfig).optional(),
17
+ links: links.optional(),
18
+ });
19
+ });
20
+
21
+ /**
22
+ *
23
+ * @typedef {IntegrationConfigCollection} integrationConfigCollection
24
+ * @property {IntegrationConfig[]}
25
+ * @property {Links}
26
+ */
27
+ export type IntegrationConfigCollection = z.infer<typeof integrationConfigCollection>;
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 integrationConfigCollectionResponse = z.lazy(() => {
34
+ return z
35
+ .object({
36
+ data: z.array(integrationConfigResponse).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 integrationConfigCollectionRequest = z.lazy(() => {
50
+ return z
51
+ .object({
52
+ data: z.array(integrationConfigRequest).optional(),
53
+ links: linksRequest.optional(),
54
+ })
55
+ .transform((data) => ({
56
+ data: data['data'],
57
+ links: data['links'],
58
+ }));
59
+ });
@@ -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 integrationConfig = z.lazy(() => {
7
+ return z.object({
8
+ config: z.any(),
9
+ id: z.string(),
10
+ name: z.string(),
11
+ });
12
+ });
13
+
14
+ /**
15
+ *
16
+ * @typedef {IntegrationConfig} integrationConfig
17
+ * @property {any}
18
+ * @property {string}
19
+ * @property {string}
20
+ */
21
+ export type IntegrationConfig = z.infer<typeof integrationConfig>;
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 integrationConfigResponse = z.lazy(() => {
28
+ return z
29
+ .object({
30
+ config: z.any(),
31
+ id: z.string(),
32
+ name: z.string(),
33
+ })
34
+ .transform((data) => ({
35
+ config: data['config'],
36
+ id: data['id'],
37
+ name: data['name'],
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 integrationConfigRequest = z.lazy(() => {
46
+ return z
47
+ .object({
48
+ config: z.any(),
49
+ id: z.string(),
50
+ name: z.string(),
51
+ })
52
+ .transform((data) => ({
53
+ config: data['config'],
54
+ id: data['id'],
55
+ name: data['name'],
56
+ }));
57
+ });