@veruna/api-contracts 15.0.0 → 16.0.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 (300) hide show
  1. package/build/controllers/index.d.ts +2 -1
  2. package/build/controllers/index.js +6 -2
  3. package/build/controllers/index.js.map +1 -1
  4. package/build/controllers/notifications.controllers.d.ts +1 -0
  5. package/build/controllers/notifications.controllers.js +2 -1
  6. package/build/controllers/notifications.controllers.js.map +1 -1
  7. package/build/controllers/offers.controllers.d.ts +1 -0
  8. package/build/controllers/offers.controllers.js +5 -0
  9. package/build/controllers/offers.controllers.js.map +1 -0
  10. package/build/locales/validation.d.ts +482 -0
  11. package/build/locales/validation.js +340 -0
  12. package/build/locales/validation.js.map +1 -1
  13. package/build/rest-api.d.ts +19 -0
  14. package/build/rest-api.js +19 -0
  15. package/build/rest-api.js.map +1 -1
  16. package/build/routes/index.d.ts +2 -1
  17. package/build/routes/index.js +5 -2
  18. package/build/routes/index.js.map +1 -1
  19. package/build/routes/notifications.routes.d.ts +3 -0
  20. package/build/routes/notifications.routes.js +4 -1
  21. package/build/routes/notifications.routes.js.map +1 -1
  22. package/build/routes/offers.routes.d.ts +11 -0
  23. package/build/routes/offers.routes.js +15 -0
  24. package/build/routes/offers.routes.js.map +1 -0
  25. package/build/routes/web-notifications.routes.d.ts +3 -0
  26. package/build/routes/web-notifications.routes.js +3 -0
  27. package/build/routes/web-notifications.routes.js.map +1 -1
  28. package/build/shared/frontend-routes.d.ts +2 -0
  29. package/build/shared/frontend-routes.js +9 -1
  30. package/build/shared/frontend-routes.js.map +1 -1
  31. package/build/shared/regex.d.ts +1 -0
  32. package/build/shared/regex.js +2 -1
  33. package/build/shared/regex.js.map +1 -1
  34. package/build/tsconfig.tsbuildinfo +1 -1
  35. package/build/v1/attribution/schemas/conversion-type.enum.d.ts +6 -1
  36. package/build/v1/attribution/schemas/conversion-type.enum.js +5 -0
  37. package/build/v1/attribution/schemas/conversion-type.enum.js.map +1 -1
  38. package/build/v1/engagement/schemas/lifecycle-campaign.enum.d.ts +0 -2
  39. package/build/v1/engagement/schemas/lifecycle-campaign.enum.js +0 -2
  40. package/build/v1/engagement/schemas/lifecycle-campaign.enum.js.map +1 -1
  41. package/build/v1/engagement/schemas/lifecycle-stage.enum.d.ts +3 -0
  42. package/build/v1/engagement/schemas/lifecycle-stage.enum.js +3 -0
  43. package/build/v1/engagement/schemas/lifecycle-stage.enum.js.map +1 -1
  44. package/build/v1/engagement/schemas/suppression-channel.enum.d.ts +2 -1
  45. package/build/v1/engagement/schemas/suppression-channel.enum.js +1 -0
  46. package/build/v1/engagement/schemas/suppression-channel.enum.js.map +1 -1
  47. package/build/v1/index.d.ts +1 -0
  48. package/build/v1/index.js +1 -0
  49. package/build/v1/index.js.map +1 -1
  50. package/build/v1/notifications/schemas/email-template.enum.d.ts +2 -4
  51. package/build/v1/notifications/schemas/email-template.enum.js +1 -3
  52. package/build/v1/notifications/schemas/email-template.enum.js.map +1 -1
  53. package/build/v1/notifications/schemas/index.d.ts +1 -0
  54. package/build/v1/notifications/schemas/index.js +1 -0
  55. package/build/v1/notifications/schemas/index.js.map +1 -1
  56. package/build/v1/notifications/schemas/notification-channel.enum.d.ts +2 -1
  57. package/build/v1/notifications/schemas/notification-channel.enum.js +1 -0
  58. package/build/v1/notifications/schemas/notification-channel.enum.js.map +1 -1
  59. package/build/v1/notifications/schemas/notification-job-status.enum.d.ts +2 -1
  60. package/build/v1/notifications/schemas/notification-job-status.enum.js +1 -0
  61. package/build/v1/notifications/schemas/notification-job-status.enum.js.map +1 -1
  62. package/build/v1/notifications/schemas/unsubscribe-params.schema.d.ts +6 -0
  63. package/build/v1/notifications/schemas/unsubscribe-params.schema.js +16 -0
  64. package/build/v1/notifications/schemas/unsubscribe-params.schema.js.map +1 -0
  65. package/build/v1/offers/commands/admin-create-offer-campaign.command.d.ts +119 -0
  66. package/build/v1/offers/commands/admin-create-offer-campaign.command.js +14 -0
  67. package/build/v1/offers/commands/admin-create-offer-campaign.command.js.map +1 -0
  68. package/build/v1/offers/commands/admin-delete-offer-campaign.command.d.ts +12 -0
  69. package/build/v1/offers/commands/admin-delete-offer-campaign.command.js +15 -0
  70. package/build/v1/offers/commands/admin-delete-offer-campaign.command.js.map +1 -0
  71. package/build/v1/offers/commands/admin-issue-offer-campaign.command.d.ts +15 -0
  72. package/build/v1/offers/commands/admin-issue-offer-campaign.command.js +14 -0
  73. package/build/v1/offers/commands/admin-issue-offer-campaign.command.js.map +1 -0
  74. package/build/v1/offers/commands/admin-revoke-offer-campaign.command.d.ts +16 -0
  75. package/build/v1/offers/commands/admin-revoke-offer-campaign.command.js +15 -0
  76. package/build/v1/offers/commands/admin-revoke-offer-campaign.command.js.map +1 -0
  77. package/build/v1/offers/commands/admin-update-offer-campaign.command.d.ts +118 -0
  78. package/build/v1/offers/commands/admin-update-offer-campaign.command.js +14 -0
  79. package/build/v1/offers/commands/admin-update-offer-campaign.command.js.map +1 -0
  80. package/build/v1/offers/commands/index.d.ts +5 -0
  81. package/build/v1/offers/commands/index.js +22 -0
  82. package/build/v1/offers/commands/index.js.map +1 -0
  83. package/build/v1/offers/index.d.ts +6 -0
  84. package/build/v1/offers/index.js +26 -0
  85. package/build/v1/offers/index.js.map +1 -0
  86. package/build/v1/offers/offers.errors.d.ts +13 -0
  87. package/build/v1/offers/offers.errors.js +54 -0
  88. package/build/v1/offers/offers.errors.js.map +1 -0
  89. package/build/v1/offers/queries/admin-get-offer-campaign-by-id.query.d.ts +67 -0
  90. package/build/v1/offers/queries/admin-get-offer-campaign-by-id.query.js +15 -0
  91. package/build/v1/offers/queries/admin-get-offer-campaign-by-id.query.js.map +1 -0
  92. package/build/v1/offers/queries/admin-get-offer-campaign-stats.query.d.ts +21 -0
  93. package/build/v1/offers/queries/admin-get-offer-campaign-stats.query.js +15 -0
  94. package/build/v1/offers/queries/admin-get-offer-campaign-stats.query.js.map +1 -0
  95. package/build/v1/offers/queries/admin-list-offer-campaigns.query.d.ts +80 -0
  96. package/build/v1/offers/queries/admin-list-offer-campaigns.query.js +14 -0
  97. package/build/v1/offers/queries/admin-list-offer-campaigns.query.js.map +1 -0
  98. package/build/v1/offers/queries/admin-list-user-offers.query.d.ts +34 -0
  99. package/build/v1/offers/queries/admin-list-user-offers.query.js +14 -0
  100. package/build/v1/offers/queries/admin-list-user-offers.query.js.map +1 -0
  101. package/build/v1/offers/queries/index.d.ts +4 -0
  102. package/build/v1/offers/queries/index.js +21 -0
  103. package/build/v1/offers/queries/index.js.map +1 -0
  104. package/build/v1/offers/schemas/admin-list-offer-campaigns-filters.schema.d.ts +18 -0
  105. package/build/v1/offers/schemas/admin-list-offer-campaigns-filters.schema.js +45 -0
  106. package/build/v1/offers/schemas/admin-list-offer-campaigns-filters.schema.js.map +1 -0
  107. package/build/v1/offers/schemas/admin-list-user-offers-filters.schema.d.ts +9 -0
  108. package/build/v1/offers/schemas/admin-list-user-offers-filters.schema.js +25 -0
  109. package/build/v1/offers/schemas/admin-list-user-offers-filters.schema.js.map +1 -0
  110. package/build/v1/offers/schemas/admin-offer-campaign-sort.enum.d.ts +6 -0
  111. package/build/v1/offers/schemas/admin-offer-campaign-sort.enum.js +11 -0
  112. package/build/v1/offers/schemas/admin-offer-campaign-sort.enum.js.map +1 -0
  113. package/build/v1/offers/schemas/index.d.ts +14 -0
  114. package/build/v1/offers/schemas/index.js +31 -0
  115. package/build/v1/offers/schemas/index.js.map +1 -0
  116. package/build/v1/offers/schemas/offer-audience.schema.d.ts +7 -0
  117. package/build/v1/offers/schemas/offer-audience.schema.js +18 -0
  118. package/build/v1/offers/schemas/offer-audience.schema.js.map +1 -0
  119. package/build/v1/offers/schemas/offer-campaign-stats.schema.d.ts +14 -0
  120. package/build/v1/offers/schemas/offer-campaign-stats.schema.js +17 -0
  121. package/build/v1/offers/schemas/offer-campaign-stats.schema.js.map +1 -0
  122. package/build/v1/offers/schemas/offer-campaign-status.enum.d.ts +5 -0
  123. package/build/v1/offers/schemas/offer-campaign-status.enum.js +10 -0
  124. package/build/v1/offers/schemas/offer-campaign-status.enum.js.map +1 -0
  125. package/build/v1/offers/schemas/offer-campaign.schema.d.ts +256 -0
  126. package/build/v1/offers/schemas/offer-campaign.schema.js +248 -0
  127. package/build/v1/offers/schemas/offer-campaign.schema.js.map +1 -0
  128. package/build/v1/offers/schemas/offer-cta-action.enum.d.ts +4 -0
  129. package/build/v1/offers/schemas/offer-cta-action.enum.js +9 -0
  130. package/build/v1/offers/schemas/offer-cta-action.enum.js.map +1 -0
  131. package/build/v1/offers/schemas/offer-presentation.schema.d.ts +43 -0
  132. package/build/v1/offers/schemas/offer-presentation.schema.js +80 -0
  133. package/build/v1/offers/schemas/offer-presentation.schema.js.map +1 -0
  134. package/build/v1/offers/schemas/offer-promo-template.schema.d.ts +28 -0
  135. package/build/v1/offers/schemas/offer-promo-template.schema.js +44 -0
  136. package/build/v1/offers/schemas/offer-promo-template.schema.js.map +1 -0
  137. package/build/v1/offers/schemas/offer-trigger-type.enum.d.ts +4 -0
  138. package/build/v1/offers/schemas/offer-trigger-type.enum.js +9 -0
  139. package/build/v1/offers/schemas/offer-trigger-type.enum.js.map +1 -0
  140. package/build/v1/offers/schemas/user-offer-event-type.enum.d.ts +6 -0
  141. package/build/v1/offers/schemas/user-offer-event-type.enum.js +11 -0
  142. package/build/v1/offers/schemas/user-offer-event-type.enum.js.map +1 -0
  143. package/build/v1/offers/schemas/user-offer-status.enum.d.ts +9 -0
  144. package/build/v1/offers/schemas/user-offer-status.enum.js +14 -0
  145. package/build/v1/offers/schemas/user-offer-status.enum.js.map +1 -0
  146. package/build/v1/offers/schemas/user-offer.schema.d.ts +41 -0
  147. package/build/v1/offers/schemas/user-offer.schema.js +28 -0
  148. package/build/v1/offers/schemas/user-offer.schema.js.map +1 -0
  149. package/build/v1/plans/schemas/plan-feature.enum.d.ts +2 -1
  150. package/build/v1/plans/schemas/plan-feature.enum.js +1 -0
  151. package/build/v1/plans/schemas/plan-feature.enum.js.map +1 -1
  152. package/build/v1/web-notifications/commands/dismiss-web-notification.command.d.ts +12 -0
  153. package/build/v1/web-notifications/commands/dismiss-web-notification.command.js +15 -0
  154. package/build/v1/web-notifications/commands/dismiss-web-notification.command.js.map +1 -0
  155. package/build/v1/web-notifications/commands/index.d.ts +3 -0
  156. package/build/v1/web-notifications/commands/index.js +3 -0
  157. package/build/v1/web-notifications/commands/index.js.map +1 -1
  158. package/build/v1/web-notifications/commands/track-web-notification-click.command.d.ts +12 -0
  159. package/build/v1/web-notifications/commands/track-web-notification-click.command.js +15 -0
  160. package/build/v1/web-notifications/commands/track-web-notification-click.command.js.map +1 -0
  161. package/build/v1/web-notifications/commands/track-web-notification-impression.command.d.ts +12 -0
  162. package/build/v1/web-notifications/commands/track-web-notification-impression.command.js +15 -0
  163. package/build/v1/web-notifications/commands/track-web-notification-impression.command.js.map +1 -0
  164. package/build/v1/web-notifications/queries/get-web-notifications.query.d.ts +2 -0
  165. package/build/v1/web-notifications/queries/get-web-unread-count.query.d.ts +2 -0
  166. package/build/v1/web-notifications/schemas/dismiss-web-notification-response.schema.d.ts +5 -0
  167. package/build/v1/web-notifications/schemas/dismiss-web-notification-response.schema.js +8 -0
  168. package/build/v1/web-notifications/schemas/dismiss-web-notification-response.schema.js.map +1 -0
  169. package/build/v1/web-notifications/schemas/get-web-notifications-query.schema.d.ts +4 -0
  170. package/build/v1/web-notifications/schemas/get-web-notifications-query.schema.js +19 -0
  171. package/build/v1/web-notifications/schemas/get-web-notifications-query.schema.js.map +1 -1
  172. package/build/v1/web-notifications/schemas/index.d.ts +2 -0
  173. package/build/v1/web-notifications/schemas/index.js +2 -0
  174. package/build/v1/web-notifications/schemas/index.js.map +1 -1
  175. package/build/v1/web-notifications/schemas/track-web-notification-engagement-response.schema.d.ts +5 -0
  176. package/build/v1/web-notifications/schemas/track-web-notification-engagement-response.schema.js +8 -0
  177. package/build/v1/web-notifications/schemas/track-web-notification-engagement-response.schema.js.map +1 -0
  178. package/build/v1/web-notifications/schemas/web-unread-count-response.schema.d.ts +3 -0
  179. package/build/v1/web-notifications/schemas/web-unread-count-response.schema.js +3 -0
  180. package/build/v1/web-notifications/schemas/web-unread-count-response.schema.js.map +1 -1
  181. package/build-esm/.tsbuildinfo +1 -1
  182. package/build-esm/controllers/index.js +2 -1
  183. package/build-esm/controllers/index.js.map +1 -1
  184. package/build-esm/controllers/notifications.controllers.js +1 -0
  185. package/build-esm/controllers/notifications.controllers.js.map +1 -1
  186. package/build-esm/controllers/offers.controllers.js +2 -0
  187. package/build-esm/controllers/offers.controllers.js.map +1 -0
  188. package/build-esm/locales/validation.js +340 -0
  189. package/build-esm/locales/validation.js.map +1 -1
  190. package/build-esm/rest-api.js +21 -2
  191. package/build-esm/rest-api.js.map +1 -1
  192. package/build-esm/routes/index.js +2 -1
  193. package/build-esm/routes/index.js.map +1 -1
  194. package/build-esm/routes/notifications.routes.js +3 -0
  195. package/build-esm/routes/notifications.routes.js.map +1 -1
  196. package/build-esm/routes/offers.routes.js +12 -0
  197. package/build-esm/routes/offers.routes.js.map +1 -0
  198. package/build-esm/routes/web-notifications.routes.js +3 -0
  199. package/build-esm/routes/web-notifications.routes.js.map +1 -1
  200. package/build-esm/shared/frontend-routes.js +7 -0
  201. package/build-esm/shared/frontend-routes.js.map +1 -1
  202. package/build-esm/shared/regex.js +1 -0
  203. package/build-esm/shared/regex.js.map +1 -1
  204. package/build-esm/v1/attribution/schemas/conversion-type.enum.js +5 -0
  205. package/build-esm/v1/attribution/schemas/conversion-type.enum.js.map +1 -1
  206. package/build-esm/v1/engagement/schemas/lifecycle-campaign.enum.js +0 -2
  207. package/build-esm/v1/engagement/schemas/lifecycle-campaign.enum.js.map +1 -1
  208. package/build-esm/v1/engagement/schemas/lifecycle-stage.enum.js +3 -0
  209. package/build-esm/v1/engagement/schemas/lifecycle-stage.enum.js.map +1 -1
  210. package/build-esm/v1/engagement/schemas/suppression-channel.enum.js +1 -0
  211. package/build-esm/v1/engagement/schemas/suppression-channel.enum.js.map +1 -1
  212. package/build-esm/v1/index.js +1 -0
  213. package/build-esm/v1/index.js.map +1 -1
  214. package/build-esm/v1/notifications/schemas/email-template.enum.js +1 -3
  215. package/build-esm/v1/notifications/schemas/email-template.enum.js.map +1 -1
  216. package/build-esm/v1/notifications/schemas/index.js +1 -0
  217. package/build-esm/v1/notifications/schemas/index.js.map +1 -1
  218. package/build-esm/v1/notifications/schemas/notification-channel.enum.js +1 -0
  219. package/build-esm/v1/notifications/schemas/notification-channel.enum.js.map +1 -1
  220. package/build-esm/v1/notifications/schemas/notification-job-status.enum.js +1 -0
  221. package/build-esm/v1/notifications/schemas/notification-job-status.enum.js.map +1 -1
  222. package/build-esm/v1/notifications/schemas/unsubscribe-params.schema.js +13 -0
  223. package/build-esm/v1/notifications/schemas/unsubscribe-params.schema.js.map +1 -0
  224. package/build-esm/v1/offers/commands/admin-create-offer-campaign.command.js +11 -0
  225. package/build-esm/v1/offers/commands/admin-create-offer-campaign.command.js.map +1 -0
  226. package/build-esm/v1/offers/commands/admin-delete-offer-campaign.command.js +12 -0
  227. package/build-esm/v1/offers/commands/admin-delete-offer-campaign.command.js.map +1 -0
  228. package/build-esm/v1/offers/commands/admin-issue-offer-campaign.command.js +11 -0
  229. package/build-esm/v1/offers/commands/admin-issue-offer-campaign.command.js.map +1 -0
  230. package/build-esm/v1/offers/commands/admin-revoke-offer-campaign.command.js +12 -0
  231. package/build-esm/v1/offers/commands/admin-revoke-offer-campaign.command.js.map +1 -0
  232. package/build-esm/v1/offers/commands/admin-update-offer-campaign.command.js +11 -0
  233. package/build-esm/v1/offers/commands/admin-update-offer-campaign.command.js.map +1 -0
  234. package/build-esm/v1/offers/commands/index.js +6 -0
  235. package/build-esm/v1/offers/commands/index.js.map +1 -0
  236. package/build-esm/v1/offers/index.js +7 -0
  237. package/build-esm/v1/offers/index.js.map +1 -0
  238. package/build-esm/v1/offers/offers.errors.js +51 -0
  239. package/build-esm/v1/offers/offers.errors.js.map +1 -0
  240. package/build-esm/v1/offers/queries/admin-get-offer-campaign-by-id.query.js +12 -0
  241. package/build-esm/v1/offers/queries/admin-get-offer-campaign-by-id.query.js.map +1 -0
  242. package/build-esm/v1/offers/queries/admin-get-offer-campaign-stats.query.js +12 -0
  243. package/build-esm/v1/offers/queries/admin-get-offer-campaign-stats.query.js.map +1 -0
  244. package/build-esm/v1/offers/queries/admin-list-offer-campaigns.query.js +11 -0
  245. package/build-esm/v1/offers/queries/admin-list-offer-campaigns.query.js.map +1 -0
  246. package/build-esm/v1/offers/queries/admin-list-user-offers.query.js +11 -0
  247. package/build-esm/v1/offers/queries/admin-list-user-offers.query.js.map +1 -0
  248. package/build-esm/v1/offers/queries/index.js +5 -0
  249. package/build-esm/v1/offers/queries/index.js.map +1 -0
  250. package/build-esm/v1/offers/schemas/admin-list-offer-campaigns-filters.schema.js +42 -0
  251. package/build-esm/v1/offers/schemas/admin-list-offer-campaigns-filters.schema.js.map +1 -0
  252. package/build-esm/v1/offers/schemas/admin-list-user-offers-filters.schema.js +22 -0
  253. package/build-esm/v1/offers/schemas/admin-list-user-offers-filters.schema.js.map +1 -0
  254. package/build-esm/v1/offers/schemas/admin-offer-campaign-sort.enum.js +8 -0
  255. package/build-esm/v1/offers/schemas/admin-offer-campaign-sort.enum.js.map +1 -0
  256. package/build-esm/v1/offers/schemas/index.js +15 -0
  257. package/build-esm/v1/offers/schemas/index.js.map +1 -0
  258. package/build-esm/v1/offers/schemas/offer-audience.schema.js +15 -0
  259. package/build-esm/v1/offers/schemas/offer-audience.schema.js.map +1 -0
  260. package/build-esm/v1/offers/schemas/offer-campaign-stats.schema.js +14 -0
  261. package/build-esm/v1/offers/schemas/offer-campaign-stats.schema.js.map +1 -0
  262. package/build-esm/v1/offers/schemas/offer-campaign-status.enum.js +7 -0
  263. package/build-esm/v1/offers/schemas/offer-campaign-status.enum.js.map +1 -0
  264. package/build-esm/v1/offers/schemas/offer-campaign.schema.js +245 -0
  265. package/build-esm/v1/offers/schemas/offer-campaign.schema.js.map +1 -0
  266. package/build-esm/v1/offers/schemas/offer-cta-action.enum.js +6 -0
  267. package/build-esm/v1/offers/schemas/offer-cta-action.enum.js.map +1 -0
  268. package/build-esm/v1/offers/schemas/offer-presentation.schema.js +77 -0
  269. package/build-esm/v1/offers/schemas/offer-presentation.schema.js.map +1 -0
  270. package/build-esm/v1/offers/schemas/offer-promo-template.schema.js +41 -0
  271. package/build-esm/v1/offers/schemas/offer-promo-template.schema.js.map +1 -0
  272. package/build-esm/v1/offers/schemas/offer-trigger-type.enum.js +6 -0
  273. package/build-esm/v1/offers/schemas/offer-trigger-type.enum.js.map +1 -0
  274. package/build-esm/v1/offers/schemas/user-offer-event-type.enum.js +8 -0
  275. package/build-esm/v1/offers/schemas/user-offer-event-type.enum.js.map +1 -0
  276. package/build-esm/v1/offers/schemas/user-offer-status.enum.js +11 -0
  277. package/build-esm/v1/offers/schemas/user-offer-status.enum.js.map +1 -0
  278. package/build-esm/v1/offers/schemas/user-offer.schema.js +25 -0
  279. package/build-esm/v1/offers/schemas/user-offer.schema.js.map +1 -0
  280. package/build-esm/v1/plans/schemas/plan-feature.enum.js +1 -0
  281. package/build-esm/v1/plans/schemas/plan-feature.enum.js.map +1 -1
  282. package/build-esm/v1/web-notifications/commands/dismiss-web-notification.command.js +12 -0
  283. package/build-esm/v1/web-notifications/commands/dismiss-web-notification.command.js.map +1 -0
  284. package/build-esm/v1/web-notifications/commands/index.js +3 -0
  285. package/build-esm/v1/web-notifications/commands/index.js.map +1 -1
  286. package/build-esm/v1/web-notifications/commands/track-web-notification-click.command.js +12 -0
  287. package/build-esm/v1/web-notifications/commands/track-web-notification-click.command.js.map +1 -0
  288. package/build-esm/v1/web-notifications/commands/track-web-notification-impression.command.js +12 -0
  289. package/build-esm/v1/web-notifications/commands/track-web-notification-impression.command.js.map +1 -0
  290. package/build-esm/v1/web-notifications/schemas/dismiss-web-notification-response.schema.js +5 -0
  291. package/build-esm/v1/web-notifications/schemas/dismiss-web-notification-response.schema.js.map +1 -0
  292. package/build-esm/v1/web-notifications/schemas/get-web-notifications-query.schema.js +19 -0
  293. package/build-esm/v1/web-notifications/schemas/get-web-notifications-query.schema.js.map +1 -1
  294. package/build-esm/v1/web-notifications/schemas/index.js +2 -0
  295. package/build-esm/v1/web-notifications/schemas/index.js.map +1 -1
  296. package/build-esm/v1/web-notifications/schemas/track-web-notification-engagement-response.schema.js +5 -0
  297. package/build-esm/v1/web-notifications/schemas/track-web-notification-engagement-response.schema.js.map +1 -0
  298. package/build-esm/v1/web-notifications/schemas/web-unread-count-response.schema.js +3 -0
  299. package/build-esm/v1/web-notifications/schemas/web-unread-count-response.schema.js.map +1 -1
  300. package/package.json +1 -1
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdminRevokeOfferCampaignResponseSchema = exports.AdminIssueOfferCampaignResponseSchema = exports.AdminIssueOfferCampaignRequestSchema = exports.AdminDeleteOfferCampaignResponseSchema = exports.AdminUpdateOfferCampaignRequestSchema = exports.AdminCreateOfferCampaignRequestSchema = exports.OfferCampaignListResponseSchema = exports.OfferCampaignSchema = exports.OFFER_CAMPAIGN_NAME_MAX_LENGTH = exports.OFFER_CAMPAIGN_KEY_MAX_LENGTH = exports.OFFER_CAMPAIGN_DEFAULT_CHANNELS = void 0;
4
+ const zod_1 = require("zod");
5
+ const shared_1 = require("../../../shared");
6
+ const notification_channel_enum_1 = require("../../notifications/schemas/notification-channel.enum");
7
+ const offer_campaign_status_enum_1 = require("./offer-campaign-status.enum");
8
+ const offer_trigger_type_enum_1 = require("./offer-trigger-type.enum");
9
+ const offer_audience_schema_1 = require("./offer-audience.schema");
10
+ const offer_promo_template_schema_1 = require("./offer-promo-template.schema");
11
+ const offer_presentation_schema_1 = require("./offer-presentation.schema");
12
+ exports.OFFER_CAMPAIGN_DEFAULT_CHANNELS = [notification_channel_enum_1.NotificationChannel.WEB];
13
+ exports.OFFER_CAMPAIGN_KEY_MAX_LENGTH = 64;
14
+ exports.OFFER_CAMPAIGN_NAME_MAX_LENGTH = 120;
15
+ exports.OfferCampaignSchema = zod_1.z.object({
16
+ id: zod_1.z.string().regex(shared_1.UUID_REGEX),
17
+ key: zod_1.z.string(),
18
+ name: zod_1.z.string(),
19
+ status: zod_1.z.nativeEnum(offer_campaign_status_enum_1.OfferCampaignStatus),
20
+ priority: zod_1.z.number().int(),
21
+ triggerType: zod_1.z.nativeEnum(offer_trigger_type_enum_1.OfferTriggerType),
22
+ triggerDelayMs: zod_1.z.string(),
23
+ audience: offer_audience_schema_1.OfferAudienceSchema,
24
+ offerTtlMs: zod_1.z.string(),
25
+ promoTemplate: offer_promo_template_schema_1.OfferPromoTemplateSchema.nullable(),
26
+ promoTtlMs: zod_1.z.string().nullable(),
27
+ presentation: offer_presentation_schema_1.OfferPresentationSchema,
28
+ channels: zod_1.z.array(zod_1.z.nativeEnum(notification_channel_enum_1.NotificationChannel)),
29
+ maxPerUser: zod_1.z.number().int().positive(),
30
+ cooldownMs: zod_1.z.string().nullable(),
31
+ globalCap: zod_1.z.number().int().positive().nullable(),
32
+ issuedCount: zod_1.z.number().int().nonnegative(),
33
+ campaignStartsAt: zod_1.z.string().datetime({ offset: true }).nullable(),
34
+ campaignEndsAt: zod_1.z.string().datetime({ offset: true }).nullable(),
35
+ createdBy: zod_1.z.string().regex(shared_1.UUID_REGEX).nullable(),
36
+ createdAt: zod_1.z.string().datetime({ offset: true }),
37
+ updatedAt: zod_1.z.string().datetime({ offset: true }),
38
+ });
39
+ exports.OfferCampaignListResponseSchema = zod_1.z.object({
40
+ items: zod_1.z.array(exports.OfferCampaignSchema),
41
+ total: zod_1.z.number().int().nonnegative(),
42
+ });
43
+ exports.AdminCreateOfferCampaignRequestSchema = zod_1.z
44
+ .object({
45
+ key: zod_1.z
46
+ .string({ error: 'AdminCreateOfferCampaignRequest.key.required' })
47
+ .min(1, { message: 'AdminCreateOfferCampaignRequest.key.min' })
48
+ .max(exports.OFFER_CAMPAIGN_KEY_MAX_LENGTH, { message: 'AdminCreateOfferCampaignRequest.key.max' }),
49
+ name: zod_1.z
50
+ .string({ error: 'AdminCreateOfferCampaignRequest.name.required' })
51
+ .min(1, { message: 'AdminCreateOfferCampaignRequest.name.min' })
52
+ .max(exports.OFFER_CAMPAIGN_NAME_MAX_LENGTH, { message: 'AdminCreateOfferCampaignRequest.name.max' }),
53
+ status: zod_1.z
54
+ .nativeEnum(offer_campaign_status_enum_1.OfferCampaignStatus, { error: 'AdminCreateOfferCampaignRequest.status.invalid' })
55
+ .default(offer_campaign_status_enum_1.OfferCampaignStatus.ACTIVE),
56
+ priority: zod_1.z
57
+ .number({ error: 'AdminCreateOfferCampaignRequest.priority.invalid' })
58
+ .int({ message: 'AdminCreateOfferCampaignRequest.priority.invalid' })
59
+ .default(0),
60
+ triggerType: zod_1.z.nativeEnum(offer_trigger_type_enum_1.OfferTriggerType, {
61
+ error: 'AdminCreateOfferCampaignRequest.triggerType.invalid',
62
+ }),
63
+ triggerDelayMs: zod_1.z
64
+ .string({ error: 'AdminCreateOfferCampaignRequest.triggerDelayMs.invalid' })
65
+ .regex(shared_1.BIGINT_STRING_REGEX, { message: 'AdminCreateOfferCampaignRequest.triggerDelayMs.invalid' })
66
+ .default('0'),
67
+ audience: offer_audience_schema_1.OfferAudienceSchema.default({}),
68
+ offerTtlMs: zod_1.z
69
+ .string({ error: 'AdminCreateOfferCampaignRequest.offerTtlMs.required' })
70
+ .regex(shared_1.BIGINT_STRING_REGEX, { message: 'AdminCreateOfferCampaignRequest.offerTtlMs.invalid' }),
71
+ promoTemplate: offer_promo_template_schema_1.OfferPromoTemplateSchema.nullable().optional().default(null),
72
+ promoTtlMs: zod_1.z
73
+ .string({ error: 'AdminCreateOfferCampaignRequest.promoTtlMs.invalid' })
74
+ .regex(shared_1.BIGINT_STRING_REGEX, { message: 'AdminCreateOfferCampaignRequest.promoTtlMs.invalid' })
75
+ .nullable()
76
+ .optional()
77
+ .default(null),
78
+ presentation: offer_presentation_schema_1.OfferPresentationSchema,
79
+ channels: zod_1.z
80
+ .array(zod_1.z.nativeEnum(notification_channel_enum_1.NotificationChannel, {
81
+ error: 'AdminCreateOfferCampaignRequest.channels.invalid',
82
+ }))
83
+ .min(1, { message: 'AdminCreateOfferCampaignRequest.channels.min' })
84
+ .default([...exports.OFFER_CAMPAIGN_DEFAULT_CHANNELS]),
85
+ maxPerUser: zod_1.z
86
+ .number({ error: 'AdminCreateOfferCampaignRequest.maxPerUser.invalid' })
87
+ .int({ message: 'AdminCreateOfferCampaignRequest.maxPerUser.invalid' })
88
+ .positive({ message: 'AdminCreateOfferCampaignRequest.maxPerUser.min' })
89
+ .default(1),
90
+ cooldownMs: zod_1.z
91
+ .string({ error: 'AdminCreateOfferCampaignRequest.cooldownMs.invalid' })
92
+ .regex(shared_1.BIGINT_STRING_REGEX, { message: 'AdminCreateOfferCampaignRequest.cooldownMs.invalid' })
93
+ .nullable()
94
+ .optional()
95
+ .default(null),
96
+ globalCap: zod_1.z
97
+ .number({ error: 'AdminCreateOfferCampaignRequest.globalCap.invalid' })
98
+ .int({ message: 'AdminCreateOfferCampaignRequest.globalCap.invalid' })
99
+ .positive({ message: 'AdminCreateOfferCampaignRequest.globalCap.min' })
100
+ .nullable()
101
+ .optional()
102
+ .default(null),
103
+ campaignStartsAt: zod_1.z
104
+ .string({ error: 'AdminCreateOfferCampaignRequest.campaignStartsAt.invalid' })
105
+ .datetime({ message: 'AdminCreateOfferCampaignRequest.campaignStartsAt.invalid' })
106
+ .nullable()
107
+ .optional()
108
+ .default(null),
109
+ campaignEndsAt: zod_1.z
110
+ .string({ error: 'AdminCreateOfferCampaignRequest.campaignEndsAt.invalid' })
111
+ .datetime({ message: 'AdminCreateOfferCampaignRequest.campaignEndsAt.invalid' })
112
+ .nullable()
113
+ .optional()
114
+ .default(null),
115
+ })
116
+ .refine((v) => (v.promoTemplate === null) === (v.promoTtlMs === null), {
117
+ message: 'AdminCreateOfferCampaignRequest.promoTtlMs.mustPairWithPromoTemplate',
118
+ path: ['promoTtlMs'],
119
+ })
120
+ .refine((v) => {
121
+ if (v.promoTtlMs === null)
122
+ return true;
123
+ return BigInt(v.promoTtlMs) >= BigInt(v.offerTtlMs);
124
+ }, {
125
+ message: 'AdminCreateOfferCampaignRequest.promoTtlMs.mustCoverOfferTtl',
126
+ path: ['promoTtlMs'],
127
+ })
128
+ .refine((v) => {
129
+ if (v.campaignStartsAt === null || v.campaignEndsAt === null)
130
+ return true;
131
+ return new Date(v.campaignStartsAt).getTime() <= new Date(v.campaignEndsAt).getTime();
132
+ }, {
133
+ message: 'AdminCreateOfferCampaignRequest.campaignEndsAt.mustBeAfterStart',
134
+ path: ['campaignEndsAt'],
135
+ });
136
+ exports.AdminUpdateOfferCampaignRequestSchema = zod_1.z
137
+ .object({
138
+ name: zod_1.z
139
+ .string()
140
+ .min(1, { message: 'AdminUpdateOfferCampaignRequest.name.min' })
141
+ .max(exports.OFFER_CAMPAIGN_NAME_MAX_LENGTH, { message: 'AdminUpdateOfferCampaignRequest.name.max' })
142
+ .optional(),
143
+ status: zod_1.z
144
+ .nativeEnum(offer_campaign_status_enum_1.OfferCampaignStatus, { error: 'AdminUpdateOfferCampaignRequest.status.invalid' })
145
+ .optional(),
146
+ priority: zod_1.z
147
+ .number({ error: 'AdminUpdateOfferCampaignRequest.priority.invalid' })
148
+ .int({ message: 'AdminUpdateOfferCampaignRequest.priority.invalid' })
149
+ .optional(),
150
+ triggerType: zod_1.z
151
+ .nativeEnum(offer_trigger_type_enum_1.OfferTriggerType, { error: 'AdminUpdateOfferCampaignRequest.triggerType.invalid' })
152
+ .optional(),
153
+ triggerDelayMs: zod_1.z
154
+ .string({ error: 'AdminUpdateOfferCampaignRequest.triggerDelayMs.invalid' })
155
+ .regex(shared_1.BIGINT_STRING_REGEX, { message: 'AdminUpdateOfferCampaignRequest.triggerDelayMs.invalid' })
156
+ .optional(),
157
+ audience: offer_audience_schema_1.OfferAudienceSchema.optional(),
158
+ offerTtlMs: zod_1.z
159
+ .string({ error: 'AdminUpdateOfferCampaignRequest.offerTtlMs.invalid' })
160
+ .regex(shared_1.BIGINT_STRING_REGEX, { message: 'AdminUpdateOfferCampaignRequest.offerTtlMs.invalid' })
161
+ .optional(),
162
+ promoTemplate: offer_promo_template_schema_1.OfferPromoTemplateSchema.nullable().optional(),
163
+ promoTtlMs: zod_1.z
164
+ .string({ error: 'AdminUpdateOfferCampaignRequest.promoTtlMs.invalid' })
165
+ .regex(shared_1.BIGINT_STRING_REGEX, { message: 'AdminUpdateOfferCampaignRequest.promoTtlMs.invalid' })
166
+ .nullable()
167
+ .optional(),
168
+ presentation: offer_presentation_schema_1.OfferPresentationSchema.optional(),
169
+ channels: zod_1.z
170
+ .array(zod_1.z.nativeEnum(notification_channel_enum_1.NotificationChannel, {
171
+ error: 'AdminUpdateOfferCampaignRequest.channels.invalid',
172
+ }))
173
+ .min(1, { message: 'AdminUpdateOfferCampaignRequest.channels.min' })
174
+ .optional(),
175
+ maxPerUser: zod_1.z
176
+ .number({ error: 'AdminUpdateOfferCampaignRequest.maxPerUser.invalid' })
177
+ .int({ message: 'AdminUpdateOfferCampaignRequest.maxPerUser.invalid' })
178
+ .positive({ message: 'AdminUpdateOfferCampaignRequest.maxPerUser.min' })
179
+ .optional(),
180
+ cooldownMs: zod_1.z
181
+ .string({ error: 'AdminUpdateOfferCampaignRequest.cooldownMs.invalid' })
182
+ .regex(shared_1.BIGINT_STRING_REGEX, { message: 'AdminUpdateOfferCampaignRequest.cooldownMs.invalid' })
183
+ .nullable()
184
+ .optional(),
185
+ globalCap: zod_1.z
186
+ .number({ error: 'AdminUpdateOfferCampaignRequest.globalCap.invalid' })
187
+ .int({ message: 'AdminUpdateOfferCampaignRequest.globalCap.invalid' })
188
+ .positive({ message: 'AdminUpdateOfferCampaignRequest.globalCap.min' })
189
+ .nullable()
190
+ .optional(),
191
+ campaignStartsAt: zod_1.z
192
+ .string({ error: 'AdminUpdateOfferCampaignRequest.campaignStartsAt.invalid' })
193
+ .datetime({ message: 'AdminUpdateOfferCampaignRequest.campaignStartsAt.invalid' })
194
+ .nullable()
195
+ .optional(),
196
+ campaignEndsAt: zod_1.z
197
+ .string({ error: 'AdminUpdateOfferCampaignRequest.campaignEndsAt.invalid' })
198
+ .datetime({ message: 'AdminUpdateOfferCampaignRequest.campaignEndsAt.invalid' })
199
+ .nullable()
200
+ .optional(),
201
+ })
202
+ .refine((v) => {
203
+ if (v.promoTemplate === undefined || v.promoTtlMs === undefined)
204
+ return true;
205
+ return (v.promoTemplate === null) === (v.promoTtlMs === null);
206
+ }, {
207
+ message: 'AdminUpdateOfferCampaignRequest.promoTtlMs.mustPairWithPromoTemplate',
208
+ path: ['promoTtlMs'],
209
+ })
210
+ .refine((v) => {
211
+ if (v.promoTtlMs === undefined || v.promoTtlMs === null || v.offerTtlMs === undefined)
212
+ return true;
213
+ return BigInt(v.promoTtlMs) >= BigInt(v.offerTtlMs);
214
+ }, {
215
+ message: 'AdminUpdateOfferCampaignRequest.promoTtlMs.mustCoverOfferTtl',
216
+ path: ['promoTtlMs'],
217
+ })
218
+ .refine((v) => {
219
+ if (v.campaignStartsAt === undefined || v.campaignEndsAt === undefined)
220
+ return true;
221
+ if (v.campaignStartsAt === null || v.campaignEndsAt === null)
222
+ return true;
223
+ return new Date(v.campaignStartsAt).getTime() <= new Date(v.campaignEndsAt).getTime();
224
+ }, {
225
+ message: 'AdminUpdateOfferCampaignRequest.campaignEndsAt.mustBeAfterStart',
226
+ path: ['campaignEndsAt'],
227
+ });
228
+ exports.AdminDeleteOfferCampaignResponseSchema = zod_1.z.object({
229
+ id: zod_1.z.string().regex(shared_1.UUID_REGEX),
230
+ });
231
+ exports.AdminIssueOfferCampaignRequestSchema = zod_1.z.object({
232
+ userIds: zod_1.z
233
+ .array(zod_1.z.string().regex(shared_1.UUID_REGEX, { message: 'AdminIssueOfferCampaignRequest.userIds.invalid' }))
234
+ .min(1, { message: 'AdminIssueOfferCampaignRequest.userIds.min' })
235
+ .max(1000, { message: 'AdminIssueOfferCampaignRequest.userIds.max' }),
236
+ });
237
+ exports.AdminIssueOfferCampaignResponseSchema = zod_1.z.object({
238
+ issued: zod_1.z.number().int().nonnegative(),
239
+ skipped: zod_1.z.number().int().nonnegative(),
240
+ });
241
+ exports.AdminRevokeOfferCampaignResponseSchema = zod_1.z.object({
242
+ id: zod_1.z.string().regex(shared_1.UUID_REGEX),
243
+ cancelledOffers: zod_1.z.number().int().nonnegative(),
244
+ disabledPromoCodes: zod_1.z.number().int().nonnegative(),
245
+ cancelledJobs: zod_1.z.number().int().nonnegative(),
246
+ hiddenCards: zod_1.z.number().int().nonnegative(),
247
+ });
248
+ //# sourceMappingURL=offer-campaign.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offer-campaign.schema.js","sourceRoot":"","sources":["../../../../v1/offers/schemas/offer-campaign.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare enum OfferCtaAction {
2
+ OPEN_PLANS = "OPEN_PLANS",
3
+ OPEN_URL = "OPEN_URL"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OfferCtaAction = void 0;
4
+ var OfferCtaAction;
5
+ (function (OfferCtaAction) {
6
+ OfferCtaAction["OPEN_PLANS"] = "OPEN_PLANS";
7
+ OfferCtaAction["OPEN_URL"] = "OPEN_URL";
8
+ })(OfferCtaAction || (exports.OfferCtaAction = OfferCtaAction = {}));
9
+ //# sourceMappingURL=offer-cta-action.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offer-cta-action.enum.js","sourceRoot":"","sources":["../../../../v1/offers/schemas/offer-cta-action.enum.ts"],"names":[],"mappings":";;;AAKA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,2CAAyB,CAAA;IACzB,uCAAqB,CAAA;AACzB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
@@ -0,0 +1,43 @@
1
+ import { z } from 'zod';
2
+ import { OfferCtaAction } from './offer-cta-action.enum';
3
+ export declare const OfferPresentationCtaSchema: z.ZodObject<{
4
+ label: z.ZodString;
5
+ action: z.ZodEnum<typeof OfferCtaAction>;
6
+ url: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strip>;
8
+ export type OfferPresentationCta = z.infer<typeof OfferPresentationCtaSchema>;
9
+ export declare const OFFER_MAX_FOLLOW_UPS = 4;
10
+ export declare const OfferFollowUpSchema: z.ZodObject<{
11
+ delayMs: z.ZodNumber;
12
+ title: z.ZodString;
13
+ highlight: z.ZodOptional<z.ZodString>;
14
+ cta: z.ZodObject<{
15
+ label: z.ZodString;
16
+ action: z.ZodEnum<typeof OfferCtaAction>;
17
+ url: z.ZodOptional<z.ZodString>;
18
+ }, z.core.$strip>;
19
+ }, z.core.$strip>;
20
+ export type OfferFollowUp = z.infer<typeof OfferFollowUpSchema>;
21
+ export declare const OfferPresentationSchema: z.ZodObject<{
22
+ variant: z.ZodString;
23
+ badge: z.ZodOptional<z.ZodString>;
24
+ title: z.ZodString;
25
+ highlight: z.ZodOptional<z.ZodString>;
26
+ cta: z.ZodObject<{
27
+ label: z.ZodString;
28
+ action: z.ZodEnum<typeof OfferCtaAction>;
29
+ url: z.ZodOptional<z.ZodString>;
30
+ }, z.core.$strip>;
31
+ dismissible: z.ZodBoolean;
32
+ followUps: z.ZodDefault<z.ZodArray<z.ZodObject<{
33
+ delayMs: z.ZodNumber;
34
+ title: z.ZodString;
35
+ highlight: z.ZodOptional<z.ZodString>;
36
+ cta: z.ZodObject<{
37
+ label: z.ZodString;
38
+ action: z.ZodEnum<typeof OfferCtaAction>;
39
+ url: z.ZodOptional<z.ZodString>;
40
+ }, z.core.$strip>;
41
+ }, z.core.$strip>>>;
42
+ }, z.core.$strip>;
43
+ export type OfferPresentation = z.infer<typeof OfferPresentationSchema>;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OfferPresentationSchema = exports.OfferFollowUpSchema = exports.OFFER_MAX_FOLLOW_UPS = exports.OfferPresentationCtaSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const offer_cta_action_enum_1 = require("./offer-cta-action.enum");
6
+ const OFFER_CTA_URL_ALLOWED_PROTOCOLS = new Set(['http:', 'https:']);
7
+ function isHttpOrHttpsUrl(value) {
8
+ try {
9
+ return OFFER_CTA_URL_ALLOWED_PROTOCOLS.has(new URL(value).protocol);
10
+ }
11
+ catch {
12
+ return false;
13
+ }
14
+ }
15
+ exports.OfferPresentationCtaSchema = zod_1.z
16
+ .object({
17
+ label: zod_1.z
18
+ .string({ error: 'OfferPresentation.cta.label.required' })
19
+ .min(1, { message: 'OfferPresentation.cta.label.min' })
20
+ .max(60, { message: 'OfferPresentation.cta.label.max' }),
21
+ action: zod_1.z.nativeEnum(offer_cta_action_enum_1.OfferCtaAction, { error: 'OfferPresentation.cta.action.invalid' }),
22
+ url: zod_1.z
23
+ .string({ error: 'OfferPresentation.cta.url.invalid' })
24
+ .url({ message: 'OfferPresentation.cta.url.invalid' })
25
+ .refine(isHttpOrHttpsUrl, { message: 'OfferPresentation.cta.url.protocolNotAllowed' })
26
+ .optional(),
27
+ })
28
+ .superRefine((v, ctx) => {
29
+ if (v.action === offer_cta_action_enum_1.OfferCtaAction.OPEN_URL && (v.url === undefined || v.url.length === 0)) {
30
+ ctx.addIssue({
31
+ code: zod_1.z.ZodIssueCode.custom,
32
+ message: 'OfferPresentation.cta.url.requiredForOpenUrl',
33
+ path: ['url'],
34
+ });
35
+ }
36
+ });
37
+ exports.OFFER_MAX_FOLLOW_UPS = 4;
38
+ exports.OfferFollowUpSchema = zod_1.z.object({
39
+ delayMs: zod_1.z
40
+ .number({ error: 'OfferFollowUp.delayMs.required' })
41
+ .int({ message: 'OfferFollowUp.delayMs.int' })
42
+ .positive({ message: 'OfferFollowUp.delayMs.positive' }),
43
+ title: zod_1.z
44
+ .string({ error: 'OfferFollowUp.title.required' })
45
+ .min(1, { message: 'OfferFollowUp.title.min' })
46
+ .max(200, { message: 'OfferFollowUp.title.max' }),
47
+ highlight: zod_1.z
48
+ .string({ error: 'OfferFollowUp.highlight.invalid' })
49
+ .min(1, { message: 'OfferFollowUp.highlight.min' })
50
+ .max(120, { message: 'OfferFollowUp.highlight.max' })
51
+ .optional(),
52
+ cta: exports.OfferPresentationCtaSchema,
53
+ });
54
+ exports.OfferPresentationSchema = zod_1.z.object({
55
+ variant: zod_1.z
56
+ .string({ error: 'OfferPresentation.variant.required' })
57
+ .min(1, { message: 'OfferPresentation.variant.min' })
58
+ .max(40, { message: 'OfferPresentation.variant.max' }),
59
+ badge: zod_1.z
60
+ .string({ error: 'OfferPresentation.badge.invalid' })
61
+ .min(1, { message: 'OfferPresentation.badge.min' })
62
+ .max(80, { message: 'OfferPresentation.badge.max' })
63
+ .optional(),
64
+ title: zod_1.z
65
+ .string({ error: 'OfferPresentation.title.required' })
66
+ .min(1, { message: 'OfferPresentation.title.min' })
67
+ .max(200, { message: 'OfferPresentation.title.max' }),
68
+ highlight: zod_1.z
69
+ .string({ error: 'OfferPresentation.highlight.invalid' })
70
+ .min(1, { message: 'OfferPresentation.highlight.min' })
71
+ .max(120, { message: 'OfferPresentation.highlight.max' })
72
+ .optional(),
73
+ cta: exports.OfferPresentationCtaSchema,
74
+ dismissible: zod_1.z.boolean({ error: 'OfferPresentation.dismissible.invalid' }),
75
+ followUps: zod_1.z
76
+ .array(exports.OfferFollowUpSchema)
77
+ .max(exports.OFFER_MAX_FOLLOW_UPS, { message: 'OfferPresentation.followUps.max' })
78
+ .default([]),
79
+ });
80
+ //# sourceMappingURL=offer-presentation.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offer-presentation.schema.js","sourceRoot":"","sources":["../../../../v1/offers/schemas/offer-presentation.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ import { PlanType } from '../../plans/schemas/plan-type.enum';
3
+ export declare const OFFER_PROMO_CODE_PREFIX_REGEX: RegExp;
4
+ export declare enum OfferPromoTemplateKind {
5
+ PURCHASE_MULTIPLIER = "PURCHASE_MULTIPLIER"
6
+ }
7
+ export declare const PurchaseMultiplierTemplateSchema: z.ZodObject<{
8
+ kind: z.ZodLiteral<OfferPromoTemplateKind>;
9
+ bonusPercent: z.ZodNumber;
10
+ maxBonusAmount: z.ZodString;
11
+ codePrefix: z.ZodString;
12
+ applicablePlanTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof PlanType>>>;
13
+ applicablePlanIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
+ firstPurchaseOnly: z.ZodOptional<z.ZodBoolean>;
15
+ minPurchaseAmount: z.ZodOptional<z.ZodString>;
16
+ }, z.core.$strip>;
17
+ export type PurchaseMultiplierTemplate = z.infer<typeof PurchaseMultiplierTemplateSchema>;
18
+ export declare const OfferPromoTemplateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
19
+ kind: z.ZodLiteral<OfferPromoTemplateKind>;
20
+ bonusPercent: z.ZodNumber;
21
+ maxBonusAmount: z.ZodString;
22
+ codePrefix: z.ZodString;
23
+ applicablePlanTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof PlanType>>>;
24
+ applicablePlanIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
25
+ firstPurchaseOnly: z.ZodOptional<z.ZodBoolean>;
26
+ minPurchaseAmount: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>], "kind">;
28
+ export type OfferPromoTemplate = z.infer<typeof OfferPromoTemplateSchema>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OfferPromoTemplateSchema = exports.PurchaseMultiplierTemplateSchema = exports.OfferPromoTemplateKind = exports.OFFER_PROMO_CODE_PREFIX_REGEX = void 0;
4
+ const zod_1 = require("zod");
5
+ const shared_1 = require("../../../shared");
6
+ const plan_type_enum_1 = require("../../plans/schemas/plan-type.enum");
7
+ exports.OFFER_PROMO_CODE_PREFIX_REGEX = /^[A-Z0-9]{2,12}$/;
8
+ var OfferPromoTemplateKind;
9
+ (function (OfferPromoTemplateKind) {
10
+ OfferPromoTemplateKind["PURCHASE_MULTIPLIER"] = "PURCHASE_MULTIPLIER";
11
+ })(OfferPromoTemplateKind || (exports.OfferPromoTemplateKind = OfferPromoTemplateKind = {}));
12
+ exports.PurchaseMultiplierTemplateSchema = zod_1.z.object({
13
+ kind: zod_1.z.literal(OfferPromoTemplateKind.PURCHASE_MULTIPLIER),
14
+ bonusPercent: zod_1.z
15
+ .number({ error: 'OfferPromoTemplate.bonusPercent.invalid' })
16
+ .int({ message: 'OfferPromoTemplate.bonusPercent.invalid' })
17
+ .min(1, { message: 'OfferPromoTemplate.bonusPercent.min' })
18
+ .max(100, { message: 'OfferPromoTemplate.bonusPercent.max' }),
19
+ maxBonusAmount: zod_1.z
20
+ .string({ error: 'OfferPromoTemplate.maxBonusAmount.invalid' })
21
+ .regex(shared_1.BIGINT_STRING_REGEX, { message: 'OfferPromoTemplate.maxBonusAmount.invalid' }),
22
+ codePrefix: zod_1.z
23
+ .string({ error: 'OfferPromoTemplate.codePrefix.required' })
24
+ .regex(exports.OFFER_PROMO_CODE_PREFIX_REGEX, { message: 'OfferPromoTemplate.codePrefix.invalid' }),
25
+ applicablePlanTypes: zod_1.z
26
+ .array(zod_1.z.nativeEnum(plan_type_enum_1.PlanType, { error: 'OfferPromoTemplate.applicablePlanTypes.invalid' }))
27
+ .optional(),
28
+ applicablePlanIds: zod_1.z
29
+ .array(zod_1.z
30
+ .string({ error: 'OfferPromoTemplate.applicablePlanIds.invalid' })
31
+ .regex(shared_1.UUID_REGEX, { message: 'OfferPromoTemplate.applicablePlanIds.invalid' }))
32
+ .optional(),
33
+ firstPurchaseOnly: zod_1.z
34
+ .boolean({ error: 'OfferPromoTemplate.firstPurchaseOnly.invalid' })
35
+ .optional(),
36
+ minPurchaseAmount: zod_1.z
37
+ .string({ error: 'OfferPromoTemplate.minPurchaseAmount.invalid' })
38
+ .regex(shared_1.BIGINT_STRING_REGEX, { message: 'OfferPromoTemplate.minPurchaseAmount.invalid' })
39
+ .optional(),
40
+ });
41
+ exports.OfferPromoTemplateSchema = zod_1.z.discriminatedUnion('kind', [
42
+ exports.PurchaseMultiplierTemplateSchema,
43
+ ]);
44
+ //# sourceMappingURL=offer-promo-template.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offer-promo-template.schema.js","sourceRoot":"","sources":["../../../../v1/offers/schemas/offer-promo-template.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,4CAAkE;AAClE,uEAA8D;AAEjD,QAAA,6BAA6B,GAAG,kBAAkB,CAAC;AAMhE,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAC9B,qEAA2C,CAAA;AAC/C,CAAC,EAFW,sBAAsB,sCAAtB,sBAAsB,QAEjC;AAEY,QAAA,gCAAgC,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,mBAAmB,CAAC;IAC3D,YAAY,EAAE,OAAC;SACV,MAAM,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC;SAC5D,GAAG,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;SAC3D,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;SAC1D,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;IAEjE,cAAc,EAAE,OAAC;SACZ,MAAM,CAAC,EAAE,KAAK,EAAE,2CAA2C,EAAE,CAAC;SAC9D,KAAK,CAAC,4BAAmB,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IACzF,UAAU,EAAE,OAAC;SACR,MAAM,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;SAC3D,KAAK,CAAC,qCAA6B,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;IAC/F,mBAAmB,EAAE,OAAC;SACjB,KAAK,CAAC,OAAC,CAAC,UAAU,CAAC,yBAAQ,EAAE,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC,CAAC;SAC1F,QAAQ,EAAE;IACf,iBAAiB,EAAE,OAAC;SACf,KAAK,CACF,OAAC;SACI,MAAM,CAAC,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC;SACjE,KAAK,CAAC,mBAAU,EAAE,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC,CACtF;SACA,QAAQ,EAAE;IACf,iBAAiB,EAAE,OAAC;SACf,OAAO,CAAC,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC;SAClE,QAAQ,EAAE;IAEf,iBAAiB,EAAE,OAAC;SACf,MAAM,CAAC,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC;SACjE,KAAK,CAAC,4BAAmB,EAAE,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;SACvF,QAAQ,EAAE;CAClB,CAAC,CAAC;AASU,QAAA,wBAAwB,GAAG,OAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACjE,wCAAgC;CACnC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare enum OfferTriggerType {
2
+ USER_REGISTERED = "USER_REGISTERED",
3
+ MANUAL = "MANUAL"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OfferTriggerType = void 0;
4
+ var OfferTriggerType;
5
+ (function (OfferTriggerType) {
6
+ OfferTriggerType["USER_REGISTERED"] = "USER_REGISTERED";
7
+ OfferTriggerType["MANUAL"] = "MANUAL";
8
+ })(OfferTriggerType || (exports.OfferTriggerType = OfferTriggerType = {}));
9
+ //# sourceMappingURL=offer-trigger-type.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offer-trigger-type.enum.js","sourceRoot":"","sources":["../../../../v1/offers/schemas/offer-trigger-type.enum.ts"],"names":[],"mappings":";;;AAKA,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,uDAAmC,CAAA;IACnC,qCAAiB,CAAA;AACrB,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B"}
@@ -0,0 +1,6 @@
1
+ export declare enum UserOfferEventType {
2
+ IMPRESSION = "IMPRESSION",
3
+ CLICK = "CLICK",
4
+ DISMISS = "DISMISS",
5
+ CONVERSION = "CONVERSION"
6
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserOfferEventType = void 0;
4
+ var UserOfferEventType;
5
+ (function (UserOfferEventType) {
6
+ UserOfferEventType["IMPRESSION"] = "IMPRESSION";
7
+ UserOfferEventType["CLICK"] = "CLICK";
8
+ UserOfferEventType["DISMISS"] = "DISMISS";
9
+ UserOfferEventType["CONVERSION"] = "CONVERSION";
10
+ })(UserOfferEventType || (exports.UserOfferEventType = UserOfferEventType = {}));
11
+ //# sourceMappingURL=user-offer-event-type.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-offer-event-type.enum.js","sourceRoot":"","sources":["../../../../v1/offers/schemas/user-offer-event-type.enum.ts"],"names":[],"mappings":";;;AAKA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,+CAAyB,CAAA;IACzB,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,+CAAyB,CAAA;AAC7B,CAAC,EALW,kBAAkB,kCAAlB,kBAAkB,QAK7B"}
@@ -0,0 +1,9 @@
1
+ export declare enum UserOfferStatus {
2
+ PENDING = "PENDING",
3
+ ACTIVE = "ACTIVE",
4
+ CLICKED = "CLICKED",
5
+ CONVERTED = "CONVERTED",
6
+ EXPIRED = "EXPIRED",
7
+ DISMISSED = "DISMISSED",
8
+ CANCELLED = "CANCELLED"
9
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserOfferStatus = void 0;
4
+ var UserOfferStatus;
5
+ (function (UserOfferStatus) {
6
+ UserOfferStatus["PENDING"] = "PENDING";
7
+ UserOfferStatus["ACTIVE"] = "ACTIVE";
8
+ UserOfferStatus["CLICKED"] = "CLICKED";
9
+ UserOfferStatus["CONVERTED"] = "CONVERTED";
10
+ UserOfferStatus["EXPIRED"] = "EXPIRED";
11
+ UserOfferStatus["DISMISSED"] = "DISMISSED";
12
+ UserOfferStatus["CANCELLED"] = "CANCELLED";
13
+ })(UserOfferStatus || (exports.UserOfferStatus = UserOfferStatus = {}));
14
+ //# sourceMappingURL=user-offer-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-offer-status.enum.js","sourceRoot":"","sources":["../../../../v1/offers/schemas/user-offer-status.enum.ts"],"names":[],"mappings":";;;AAIA,IAAY,eAQX;AARD,WAAY,eAAe;IACvB,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;IACjB,sCAAmB,CAAA;IACnB,0CAAuB,CAAA;IACvB,sCAAmB,CAAA;IACnB,0CAAuB,CAAA;IACvB,0CAAuB,CAAA;AAC3B,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B"}
@@ -0,0 +1,41 @@
1
+ import { z } from 'zod';
2
+ import { UserOfferStatus } from './user-offer-status.enum';
3
+ export declare const UserOfferSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ campaignId: z.ZodString;
6
+ userId: z.ZodString;
7
+ status: z.ZodEnum<typeof UserOfferStatus>;
8
+ promoCode: z.ZodNullable<z.ZodString>;
9
+ activatesAt: z.ZodString;
10
+ expiresAt: z.ZodString;
11
+ firstShownAt: z.ZodNullable<z.ZodString>;
12
+ clickedAt: z.ZodNullable<z.ZodString>;
13
+ dismissedAt: z.ZodNullable<z.ZodString>;
14
+ convertedAt: z.ZodNullable<z.ZodString>;
15
+ conversionOrderId: z.ZodNullable<z.ZodString>;
16
+ impressionCount: z.ZodNumber;
17
+ createdAt: z.ZodString;
18
+ updatedAt: z.ZodString;
19
+ }, z.core.$strip>;
20
+ export type UserOfferDto = z.infer<typeof UserOfferSchema>;
21
+ export declare const UserOfferListResponseSchema: z.ZodObject<{
22
+ items: z.ZodArray<z.ZodObject<{
23
+ id: z.ZodString;
24
+ campaignId: z.ZodString;
25
+ userId: z.ZodString;
26
+ status: z.ZodEnum<typeof UserOfferStatus>;
27
+ promoCode: z.ZodNullable<z.ZodString>;
28
+ activatesAt: z.ZodString;
29
+ expiresAt: z.ZodString;
30
+ firstShownAt: z.ZodNullable<z.ZodString>;
31
+ clickedAt: z.ZodNullable<z.ZodString>;
32
+ dismissedAt: z.ZodNullable<z.ZodString>;
33
+ convertedAt: z.ZodNullable<z.ZodString>;
34
+ conversionOrderId: z.ZodNullable<z.ZodString>;
35
+ impressionCount: z.ZodNumber;
36
+ createdAt: z.ZodString;
37
+ updatedAt: z.ZodString;
38
+ }, z.core.$strip>>;
39
+ total: z.ZodNumber;
40
+ }, z.core.$strip>;
41
+ export type UserOfferListResponseDto = z.infer<typeof UserOfferListResponseSchema>;