@veruna/api-contracts 15.1.0 → 17.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 (336) hide show
  1. package/build/controllers/index.d.ts +3 -1
  2. package/build/controllers/index.js +8 -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-unreg.controllers.d.ts +1 -0
  8. package/build/controllers/offers-unreg.controllers.js +5 -0
  9. package/build/controllers/offers-unreg.controllers.js.map +1 -0
  10. package/build/controllers/offers.controllers.d.ts +1 -0
  11. package/build/controllers/offers.controllers.js +5 -0
  12. package/build/controllers/offers.controllers.js.map +1 -0
  13. package/build/locales/validation.d.ts +482 -0
  14. package/build/locales/validation.js +340 -0
  15. package/build/locales/validation.js.map +1 -1
  16. package/build/rest-api.d.ts +24 -0
  17. package/build/rest-api.js +24 -0
  18. package/build/rest-api.js.map +1 -1
  19. package/build/routes/index.d.ts +3 -1
  20. package/build/routes/index.js +7 -2
  21. package/build/routes/index.js.map +1 -1
  22. package/build/routes/notifications.routes.d.ts +3 -0
  23. package/build/routes/notifications.routes.js +4 -1
  24. package/build/routes/notifications.routes.js.map +1 -1
  25. package/build/routes/offers.routes.d.ts +16 -0
  26. package/build/routes/offers.routes.js +20 -0
  27. package/build/routes/offers.routes.js.map +1 -0
  28. package/build/routes/web-notifications.routes.d.ts +3 -0
  29. package/build/routes/web-notifications.routes.js +3 -0
  30. package/build/routes/web-notifications.routes.js.map +1 -1
  31. package/build/shared/frontend-routes.d.ts +2 -0
  32. package/build/shared/frontend-routes.js +9 -1
  33. package/build/shared/frontend-routes.js.map +1 -1
  34. package/build/shared/regex.d.ts +1 -0
  35. package/build/shared/regex.js +2 -1
  36. package/build/shared/regex.js.map +1 -1
  37. package/build/tsconfig.tsbuildinfo +1 -1
  38. package/build/v1/ai/ai.errors.d.ts +1 -0
  39. package/build/v1/ai/ai.errors.js +5 -0
  40. package/build/v1/ai/ai.errors.js.map +1 -1
  41. package/build/v1/attribution/schemas/conversion-type.enum.d.ts +6 -1
  42. package/build/v1/attribution/schemas/conversion-type.enum.js +5 -0
  43. package/build/v1/attribution/schemas/conversion-type.enum.js.map +1 -1
  44. package/build/v1/engagement/schemas/lifecycle-campaign.enum.d.ts +0 -6
  45. package/build/v1/engagement/schemas/lifecycle-campaign.enum.js +0 -6
  46. package/build/v1/engagement/schemas/lifecycle-campaign.enum.js.map +1 -1
  47. package/build/v1/engagement/schemas/lifecycle-stage.enum.d.ts +3 -0
  48. package/build/v1/engagement/schemas/lifecycle-stage.enum.js +3 -0
  49. package/build/v1/engagement/schemas/lifecycle-stage.enum.js.map +1 -1
  50. package/build/v1/engagement/schemas/suppression-channel.enum.d.ts +3 -1
  51. package/build/v1/engagement/schemas/suppression-channel.enum.js +2 -0
  52. package/build/v1/engagement/schemas/suppression-channel.enum.js.map +1 -1
  53. package/build/v1/index.d.ts +1 -0
  54. package/build/v1/index.js +1 -0
  55. package/build/v1/index.js.map +1 -1
  56. package/build/v1/notifications/schemas/email-template.enum.d.ts +2 -8
  57. package/build/v1/notifications/schemas/email-template.enum.js +1 -7
  58. package/build/v1/notifications/schemas/email-template.enum.js.map +1 -1
  59. package/build/v1/notifications/schemas/index.d.ts +1 -0
  60. package/build/v1/notifications/schemas/index.js +1 -0
  61. package/build/v1/notifications/schemas/index.js.map +1 -1
  62. package/build/v1/notifications/schemas/notification-channel.enum.d.ts +3 -1
  63. package/build/v1/notifications/schemas/notification-channel.enum.js +2 -0
  64. package/build/v1/notifications/schemas/notification-channel.enum.js.map +1 -1
  65. package/build/v1/notifications/schemas/notification-job-status.enum.d.ts +2 -1
  66. package/build/v1/notifications/schemas/notification-job-status.enum.js +1 -0
  67. package/build/v1/notifications/schemas/notification-job-status.enum.js.map +1 -1
  68. package/build/v1/notifications/schemas/unsubscribe-params.schema.d.ts +6 -0
  69. package/build/v1/notifications/schemas/unsubscribe-params.schema.js +16 -0
  70. package/build/v1/notifications/schemas/unsubscribe-params.schema.js.map +1 -0
  71. package/build/v1/offers/commands/admin-create-offer-campaign.command.d.ts +125 -0
  72. package/build/v1/offers/commands/admin-create-offer-campaign.command.js +14 -0
  73. package/build/v1/offers/commands/admin-create-offer-campaign.command.js.map +1 -0
  74. package/build/v1/offers/commands/admin-delete-offer-campaign.command.d.ts +12 -0
  75. package/build/v1/offers/commands/admin-delete-offer-campaign.command.js +15 -0
  76. package/build/v1/offers/commands/admin-delete-offer-campaign.command.js.map +1 -0
  77. package/build/v1/offers/commands/admin-issue-offer-campaign.command.d.ts +15 -0
  78. package/build/v1/offers/commands/admin-issue-offer-campaign.command.js +14 -0
  79. package/build/v1/offers/commands/admin-issue-offer-campaign.command.js.map +1 -0
  80. package/build/v1/offers/commands/admin-revoke-offer-campaign.command.d.ts +16 -0
  81. package/build/v1/offers/commands/admin-revoke-offer-campaign.command.js +15 -0
  82. package/build/v1/offers/commands/admin-revoke-offer-campaign.command.js.map +1 -0
  83. package/build/v1/offers/commands/admin-update-offer-campaign.command.d.ts +124 -0
  84. package/build/v1/offers/commands/admin-update-offer-campaign.command.js +14 -0
  85. package/build/v1/offers/commands/admin-update-offer-campaign.command.js.map +1 -0
  86. package/build/v1/offers/commands/index.d.ts +6 -0
  87. package/build/v1/offers/commands/index.js +25 -0
  88. package/build/v1/offers/commands/index.js.map +1 -0
  89. package/build/v1/offers/commands/unreg-track-header-offer.command.d.ts +11 -0
  90. package/build/v1/offers/commands/unreg-track-header-offer.command.js +15 -0
  91. package/build/v1/offers/commands/unreg-track-header-offer.command.js.map +1 -0
  92. package/build/v1/offers/index.d.ts +6 -0
  93. package/build/v1/offers/index.js +26 -0
  94. package/build/v1/offers/index.js.map +1 -0
  95. package/build/v1/offers/offers.errors.d.ts +13 -0
  96. package/build/v1/offers/offers.errors.js +54 -0
  97. package/build/v1/offers/offers.errors.js.map +1 -0
  98. package/build/v1/offers/queries/admin-get-offer-campaign-by-id.query.d.ts +70 -0
  99. package/build/v1/offers/queries/admin-get-offer-campaign-by-id.query.js +15 -0
  100. package/build/v1/offers/queries/admin-get-offer-campaign-by-id.query.js.map +1 -0
  101. package/build/v1/offers/queries/admin-get-offer-campaign-stats.query.d.ts +21 -0
  102. package/build/v1/offers/queries/admin-get-offer-campaign-stats.query.js +15 -0
  103. package/build/v1/offers/queries/admin-get-offer-campaign-stats.query.js.map +1 -0
  104. package/build/v1/offers/queries/admin-list-offer-campaigns.query.d.ts +83 -0
  105. package/build/v1/offers/queries/admin-list-offer-campaigns.query.js +14 -0
  106. package/build/v1/offers/queries/admin-list-offer-campaigns.query.js.map +1 -0
  107. package/build/v1/offers/queries/admin-list-user-offers.query.d.ts +34 -0
  108. package/build/v1/offers/queries/admin-list-user-offers.query.js +14 -0
  109. package/build/v1/offers/queries/admin-list-user-offers.query.js.map +1 -0
  110. package/build/v1/offers/queries/index.d.ts +5 -0
  111. package/build/v1/offers/queries/index.js +24 -0
  112. package/build/v1/offers/queries/index.js.map +1 -0
  113. package/build/v1/offers/queries/unreg-get-header-offer.query.d.ts +23 -0
  114. package/build/v1/offers/queries/unreg-get-header-offer.query.js +15 -0
  115. package/build/v1/offers/queries/unreg-get-header-offer.query.js.map +1 -0
  116. package/build/v1/offers/schemas/admin-list-offer-campaigns-filters.schema.d.ts +18 -0
  117. package/build/v1/offers/schemas/admin-list-offer-campaigns-filters.schema.js +45 -0
  118. package/build/v1/offers/schemas/admin-list-offer-campaigns-filters.schema.js.map +1 -0
  119. package/build/v1/offers/schemas/admin-list-user-offers-filters.schema.d.ts +9 -0
  120. package/build/v1/offers/schemas/admin-list-user-offers-filters.schema.js +25 -0
  121. package/build/v1/offers/schemas/admin-list-user-offers-filters.schema.js.map +1 -0
  122. package/build/v1/offers/schemas/admin-offer-campaign-sort.enum.d.ts +6 -0
  123. package/build/v1/offers/schemas/admin-offer-campaign-sort.enum.js +11 -0
  124. package/build/v1/offers/schemas/admin-offer-campaign-sort.enum.js.map +1 -0
  125. package/build/v1/offers/schemas/guest-offer-banner.schema.d.ts +30 -0
  126. package/build/v1/offers/schemas/guest-offer-banner.schema.js +21 -0
  127. package/build/v1/offers/schemas/guest-offer-banner.schema.js.map +1 -0
  128. package/build/v1/offers/schemas/index.d.ts +18 -0
  129. package/build/v1/offers/schemas/index.js +39 -0
  130. package/build/v1/offers/schemas/index.js.map +1 -0
  131. package/build/v1/offers/schemas/offer-audience.schema.d.ts +7 -0
  132. package/build/v1/offers/schemas/offer-audience.schema.js +18 -0
  133. package/build/v1/offers/schemas/offer-audience.schema.js.map +1 -0
  134. package/build/v1/offers/schemas/offer-campaign-stats.schema.d.ts +14 -0
  135. package/build/v1/offers/schemas/offer-campaign-stats.schema.js +17 -0
  136. package/build/v1/offers/schemas/offer-campaign-stats.schema.js.map +1 -0
  137. package/build/v1/offers/schemas/offer-campaign-status.enum.d.ts +5 -0
  138. package/build/v1/offers/schemas/offer-campaign-status.enum.js +10 -0
  139. package/build/v1/offers/schemas/offer-campaign-status.enum.js.map +1 -0
  140. package/build/v1/offers/schemas/offer-campaign.schema.d.ts +268 -0
  141. package/build/v1/offers/schemas/offer-campaign.schema.js +248 -0
  142. package/build/v1/offers/schemas/offer-campaign.schema.js.map +1 -0
  143. package/build/v1/offers/schemas/offer-countdown-mode.enum.d.ts +5 -0
  144. package/build/v1/offers/schemas/offer-countdown-mode.enum.js +10 -0
  145. package/build/v1/offers/schemas/offer-countdown-mode.enum.js.map +1 -0
  146. package/build/v1/offers/schemas/offer-cta-action.enum.d.ts +4 -0
  147. package/build/v1/offers/schemas/offer-cta-action.enum.js +9 -0
  148. package/build/v1/offers/schemas/offer-cta-action.enum.js.map +1 -0
  149. package/build/v1/offers/schemas/offer-presentation.schema.d.ts +47 -0
  150. package/build/v1/offers/schemas/offer-presentation.schema.js +97 -0
  151. package/build/v1/offers/schemas/offer-presentation.schema.js.map +1 -0
  152. package/build/v1/offers/schemas/offer-promo-template.schema.d.ts +28 -0
  153. package/build/v1/offers/schemas/offer-promo-template.schema.js +44 -0
  154. package/build/v1/offers/schemas/offer-promo-template.schema.js.map +1 -0
  155. package/build/v1/offers/schemas/offer-trigger-type.enum.d.ts +5 -0
  156. package/build/v1/offers/schemas/offer-trigger-type.enum.js +10 -0
  157. package/build/v1/offers/schemas/offer-trigger-type.enum.js.map +1 -0
  158. package/build/v1/offers/schemas/unreg-track-header-offer-request.schema.d.ts +5 -0
  159. package/build/v1/offers/schemas/unreg-track-header-offer-request.schema.js +11 -0
  160. package/build/v1/offers/schemas/unreg-track-header-offer-request.schema.js.map +1 -0
  161. package/build/v1/offers/schemas/user-offer-event-type.enum.d.ts +6 -0
  162. package/build/v1/offers/schemas/user-offer-event-type.enum.js +11 -0
  163. package/build/v1/offers/schemas/user-offer-event-type.enum.js.map +1 -0
  164. package/build/v1/offers/schemas/user-offer-status.enum.d.ts +9 -0
  165. package/build/v1/offers/schemas/user-offer-status.enum.js +14 -0
  166. package/build/v1/offers/schemas/user-offer-status.enum.js.map +1 -0
  167. package/build/v1/offers/schemas/user-offer.schema.d.ts +41 -0
  168. package/build/v1/offers/schemas/user-offer.schema.js +28 -0
  169. package/build/v1/offers/schemas/user-offer.schema.js.map +1 -0
  170. package/build/v1/web-notifications/commands/dismiss-web-notification.command.d.ts +12 -0
  171. package/build/v1/web-notifications/commands/dismiss-web-notification.command.js +15 -0
  172. package/build/v1/web-notifications/commands/dismiss-web-notification.command.js.map +1 -0
  173. package/build/v1/web-notifications/commands/index.d.ts +3 -0
  174. package/build/v1/web-notifications/commands/index.js +3 -0
  175. package/build/v1/web-notifications/commands/index.js.map +1 -1
  176. package/build/v1/web-notifications/commands/track-web-notification-click.command.d.ts +12 -0
  177. package/build/v1/web-notifications/commands/track-web-notification-click.command.js +15 -0
  178. package/build/v1/web-notifications/commands/track-web-notification-click.command.js.map +1 -0
  179. package/build/v1/web-notifications/commands/track-web-notification-impression.command.d.ts +12 -0
  180. package/build/v1/web-notifications/commands/track-web-notification-impression.command.js +15 -0
  181. package/build/v1/web-notifications/commands/track-web-notification-impression.command.js.map +1 -0
  182. package/build/v1/web-notifications/queries/get-web-notifications.query.d.ts +6 -0
  183. package/build/v1/web-notifications/queries/get-web-unread-count.query.d.ts +2 -0
  184. package/build/v1/web-notifications/schemas/dismiss-web-notification-response.schema.d.ts +5 -0
  185. package/build/v1/web-notifications/schemas/dismiss-web-notification-response.schema.js +8 -0
  186. package/build/v1/web-notifications/schemas/dismiss-web-notification-response.schema.js.map +1 -0
  187. package/build/v1/web-notifications/schemas/get-web-notifications-query.schema.d.ts +4 -0
  188. package/build/v1/web-notifications/schemas/get-web-notifications-query.schema.js +20 -0
  189. package/build/v1/web-notifications/schemas/get-web-notifications-query.schema.js.map +1 -1
  190. package/build/v1/web-notifications/schemas/index.d.ts +2 -0
  191. package/build/v1/web-notifications/schemas/index.js +2 -0
  192. package/build/v1/web-notifications/schemas/index.js.map +1 -1
  193. package/build/v1/web-notifications/schemas/track-web-notification-engagement-response.schema.d.ts +5 -0
  194. package/build/v1/web-notifications/schemas/track-web-notification-engagement-response.schema.js +8 -0
  195. package/build/v1/web-notifications/schemas/track-web-notification-engagement-response.schema.js.map +1 -0
  196. package/build/v1/web-notifications/schemas/web-notification.schema.d.ts +4 -0
  197. package/build/v1/web-notifications/schemas/web-notification.schema.js +4 -0
  198. package/build/v1/web-notifications/schemas/web-notification.schema.js.map +1 -1
  199. package/build/v1/web-notifications/schemas/web-notifications-response.schema.d.ts +4 -0
  200. package/build/v1/web-notifications/schemas/web-unread-count-response.schema.d.ts +3 -0
  201. package/build/v1/web-notifications/schemas/web-unread-count-response.schema.js +3 -0
  202. package/build/v1/web-notifications/schemas/web-unread-count-response.schema.js.map +1 -1
  203. package/build-esm/.tsbuildinfo +1 -1
  204. package/build-esm/controllers/index.js +3 -1
  205. package/build-esm/controllers/index.js.map +1 -1
  206. package/build-esm/controllers/notifications.controllers.js +1 -0
  207. package/build-esm/controllers/notifications.controllers.js.map +1 -1
  208. package/build-esm/controllers/offers-unreg.controllers.js +2 -0
  209. package/build-esm/controllers/offers-unreg.controllers.js.map +1 -0
  210. package/build-esm/controllers/offers.controllers.js +2 -0
  211. package/build-esm/controllers/offers.controllers.js.map +1 -0
  212. package/build-esm/locales/validation.js +340 -0
  213. package/build-esm/locales/validation.js.map +1 -1
  214. package/build-esm/rest-api.js +26 -2
  215. package/build-esm/rest-api.js.map +1 -1
  216. package/build-esm/routes/index.js +3 -1
  217. package/build-esm/routes/index.js.map +1 -1
  218. package/build-esm/routes/notifications.routes.js +3 -0
  219. package/build-esm/routes/notifications.routes.js.map +1 -1
  220. package/build-esm/routes/offers.routes.js +17 -0
  221. package/build-esm/routes/offers.routes.js.map +1 -0
  222. package/build-esm/routes/web-notifications.routes.js +3 -0
  223. package/build-esm/routes/web-notifications.routes.js.map +1 -1
  224. package/build-esm/shared/frontend-routes.js +7 -0
  225. package/build-esm/shared/frontend-routes.js.map +1 -1
  226. package/build-esm/shared/regex.js +1 -0
  227. package/build-esm/shared/regex.js.map +1 -1
  228. package/build-esm/v1/ai/ai.errors.js +5 -0
  229. package/build-esm/v1/ai/ai.errors.js.map +1 -1
  230. package/build-esm/v1/attribution/schemas/conversion-type.enum.js +5 -0
  231. package/build-esm/v1/attribution/schemas/conversion-type.enum.js.map +1 -1
  232. package/build-esm/v1/engagement/schemas/lifecycle-campaign.enum.js +0 -6
  233. package/build-esm/v1/engagement/schemas/lifecycle-campaign.enum.js.map +1 -1
  234. package/build-esm/v1/engagement/schemas/lifecycle-stage.enum.js +3 -0
  235. package/build-esm/v1/engagement/schemas/lifecycle-stage.enum.js.map +1 -1
  236. package/build-esm/v1/engagement/schemas/suppression-channel.enum.js +2 -0
  237. package/build-esm/v1/engagement/schemas/suppression-channel.enum.js.map +1 -1
  238. package/build-esm/v1/index.js +1 -0
  239. package/build-esm/v1/index.js.map +1 -1
  240. package/build-esm/v1/notifications/schemas/email-template.enum.js +1 -7
  241. package/build-esm/v1/notifications/schemas/email-template.enum.js.map +1 -1
  242. package/build-esm/v1/notifications/schemas/index.js +1 -0
  243. package/build-esm/v1/notifications/schemas/index.js.map +1 -1
  244. package/build-esm/v1/notifications/schemas/notification-channel.enum.js +2 -0
  245. package/build-esm/v1/notifications/schemas/notification-channel.enum.js.map +1 -1
  246. package/build-esm/v1/notifications/schemas/notification-job-status.enum.js +1 -0
  247. package/build-esm/v1/notifications/schemas/notification-job-status.enum.js.map +1 -1
  248. package/build-esm/v1/notifications/schemas/unsubscribe-params.schema.js +13 -0
  249. package/build-esm/v1/notifications/schemas/unsubscribe-params.schema.js.map +1 -0
  250. package/build-esm/v1/offers/commands/admin-create-offer-campaign.command.js +11 -0
  251. package/build-esm/v1/offers/commands/admin-create-offer-campaign.command.js.map +1 -0
  252. package/build-esm/v1/offers/commands/admin-delete-offer-campaign.command.js +12 -0
  253. package/build-esm/v1/offers/commands/admin-delete-offer-campaign.command.js.map +1 -0
  254. package/build-esm/v1/offers/commands/admin-issue-offer-campaign.command.js +11 -0
  255. package/build-esm/v1/offers/commands/admin-issue-offer-campaign.command.js.map +1 -0
  256. package/build-esm/v1/offers/commands/admin-revoke-offer-campaign.command.js +12 -0
  257. package/build-esm/v1/offers/commands/admin-revoke-offer-campaign.command.js.map +1 -0
  258. package/build-esm/v1/offers/commands/admin-update-offer-campaign.command.js +11 -0
  259. package/build-esm/v1/offers/commands/admin-update-offer-campaign.command.js.map +1 -0
  260. package/build-esm/v1/offers/commands/index.js +7 -0
  261. package/build-esm/v1/offers/commands/index.js.map +1 -0
  262. package/build-esm/v1/offers/commands/unreg-track-header-offer.command.js +12 -0
  263. package/build-esm/v1/offers/commands/unreg-track-header-offer.command.js.map +1 -0
  264. package/build-esm/v1/offers/index.js +7 -0
  265. package/build-esm/v1/offers/index.js.map +1 -0
  266. package/build-esm/v1/offers/offers.errors.js +51 -0
  267. package/build-esm/v1/offers/offers.errors.js.map +1 -0
  268. package/build-esm/v1/offers/queries/admin-get-offer-campaign-by-id.query.js +12 -0
  269. package/build-esm/v1/offers/queries/admin-get-offer-campaign-by-id.query.js.map +1 -0
  270. package/build-esm/v1/offers/queries/admin-get-offer-campaign-stats.query.js +12 -0
  271. package/build-esm/v1/offers/queries/admin-get-offer-campaign-stats.query.js.map +1 -0
  272. package/build-esm/v1/offers/queries/admin-list-offer-campaigns.query.js +11 -0
  273. package/build-esm/v1/offers/queries/admin-list-offer-campaigns.query.js.map +1 -0
  274. package/build-esm/v1/offers/queries/admin-list-user-offers.query.js +11 -0
  275. package/build-esm/v1/offers/queries/admin-list-user-offers.query.js.map +1 -0
  276. package/build-esm/v1/offers/queries/index.js +6 -0
  277. package/build-esm/v1/offers/queries/index.js.map +1 -0
  278. package/build-esm/v1/offers/queries/unreg-get-header-offer.query.js +12 -0
  279. package/build-esm/v1/offers/queries/unreg-get-header-offer.query.js.map +1 -0
  280. package/build-esm/v1/offers/schemas/admin-list-offer-campaigns-filters.schema.js +42 -0
  281. package/build-esm/v1/offers/schemas/admin-list-offer-campaigns-filters.schema.js.map +1 -0
  282. package/build-esm/v1/offers/schemas/admin-list-user-offers-filters.schema.js +22 -0
  283. package/build-esm/v1/offers/schemas/admin-list-user-offers-filters.schema.js.map +1 -0
  284. package/build-esm/v1/offers/schemas/admin-offer-campaign-sort.enum.js +8 -0
  285. package/build-esm/v1/offers/schemas/admin-offer-campaign-sort.enum.js.map +1 -0
  286. package/build-esm/v1/offers/schemas/guest-offer-banner.schema.js +18 -0
  287. package/build-esm/v1/offers/schemas/guest-offer-banner.schema.js.map +1 -0
  288. package/build-esm/v1/offers/schemas/index.js +18 -0
  289. package/build-esm/v1/offers/schemas/index.js.map +1 -0
  290. package/build-esm/v1/offers/schemas/offer-audience.schema.js +15 -0
  291. package/build-esm/v1/offers/schemas/offer-audience.schema.js.map +1 -0
  292. package/build-esm/v1/offers/schemas/offer-campaign-stats.schema.js +14 -0
  293. package/build-esm/v1/offers/schemas/offer-campaign-stats.schema.js.map +1 -0
  294. package/build-esm/v1/offers/schemas/offer-campaign-status.enum.js +7 -0
  295. package/build-esm/v1/offers/schemas/offer-campaign-status.enum.js.map +1 -0
  296. package/build-esm/v1/offers/schemas/offer-campaign.schema.js +245 -0
  297. package/build-esm/v1/offers/schemas/offer-campaign.schema.js.map +1 -0
  298. package/build-esm/v1/offers/schemas/offer-countdown-mode.enum.js +7 -0
  299. package/build-esm/v1/offers/schemas/offer-countdown-mode.enum.js.map +1 -0
  300. package/build-esm/v1/offers/schemas/offer-cta-action.enum.js +6 -0
  301. package/build-esm/v1/offers/schemas/offer-cta-action.enum.js.map +1 -0
  302. package/build-esm/v1/offers/schemas/offer-presentation.schema.js +94 -0
  303. package/build-esm/v1/offers/schemas/offer-presentation.schema.js.map +1 -0
  304. package/build-esm/v1/offers/schemas/offer-promo-template.schema.js +41 -0
  305. package/build-esm/v1/offers/schemas/offer-promo-template.schema.js.map +1 -0
  306. package/build-esm/v1/offers/schemas/offer-trigger-type.enum.js +7 -0
  307. package/build-esm/v1/offers/schemas/offer-trigger-type.enum.js.map +1 -0
  308. package/build-esm/v1/offers/schemas/unreg-track-header-offer-request.schema.js +8 -0
  309. package/build-esm/v1/offers/schemas/unreg-track-header-offer-request.schema.js.map +1 -0
  310. package/build-esm/v1/offers/schemas/user-offer-event-type.enum.js +8 -0
  311. package/build-esm/v1/offers/schemas/user-offer-event-type.enum.js.map +1 -0
  312. package/build-esm/v1/offers/schemas/user-offer-status.enum.js +11 -0
  313. package/build-esm/v1/offers/schemas/user-offer-status.enum.js.map +1 -0
  314. package/build-esm/v1/offers/schemas/user-offer.schema.js +25 -0
  315. package/build-esm/v1/offers/schemas/user-offer.schema.js.map +1 -0
  316. package/build-esm/v1/web-notifications/commands/dismiss-web-notification.command.js +12 -0
  317. package/build-esm/v1/web-notifications/commands/dismiss-web-notification.command.js.map +1 -0
  318. package/build-esm/v1/web-notifications/commands/index.js +3 -0
  319. package/build-esm/v1/web-notifications/commands/index.js.map +1 -1
  320. package/build-esm/v1/web-notifications/commands/track-web-notification-click.command.js +12 -0
  321. package/build-esm/v1/web-notifications/commands/track-web-notification-click.command.js.map +1 -0
  322. package/build-esm/v1/web-notifications/commands/track-web-notification-impression.command.js +12 -0
  323. package/build-esm/v1/web-notifications/commands/track-web-notification-impression.command.js.map +1 -0
  324. package/build-esm/v1/web-notifications/schemas/dismiss-web-notification-response.schema.js +5 -0
  325. package/build-esm/v1/web-notifications/schemas/dismiss-web-notification-response.schema.js.map +1 -0
  326. package/build-esm/v1/web-notifications/schemas/get-web-notifications-query.schema.js +20 -0
  327. package/build-esm/v1/web-notifications/schemas/get-web-notifications-query.schema.js.map +1 -1
  328. package/build-esm/v1/web-notifications/schemas/index.js +2 -0
  329. package/build-esm/v1/web-notifications/schemas/index.js.map +1 -1
  330. package/build-esm/v1/web-notifications/schemas/track-web-notification-engagement-response.schema.js +5 -0
  331. package/build-esm/v1/web-notifications/schemas/track-web-notification-engagement-response.schema.js.map +1 -0
  332. package/build-esm/v1/web-notifications/schemas/web-notification.schema.js +4 -0
  333. package/build-esm/v1/web-notifications/schemas/web-notification.schema.js.map +1 -1
  334. package/build-esm/v1/web-notifications/schemas/web-unread-count-response.schema.js +3 -0
  335. package/build-esm/v1/web-notifications/schemas/web-unread-count-response.schema.js.map +1 -1
  336. package/package.json +1 -1
@@ -0,0 +1,268 @@
1
+ import { z } from 'zod';
2
+ import { NotificationChannel } from '../../notifications/schemas/notification-channel.enum';
3
+ import { OfferCampaignStatus } from './offer-campaign-status.enum';
4
+ import { OfferTriggerType } from './offer-trigger-type.enum';
5
+ export declare const OFFER_CAMPAIGN_DEFAULT_CHANNELS: readonly NotificationChannel[];
6
+ export declare const OFFER_CAMPAIGN_KEY_MAX_LENGTH: 64;
7
+ export declare const OFFER_CAMPAIGN_NAME_MAX_LENGTH: 120;
8
+ export declare const OfferCampaignSchema: z.ZodObject<{
9
+ id: z.ZodString;
10
+ key: z.ZodString;
11
+ name: z.ZodString;
12
+ status: z.ZodEnum<typeof OfferCampaignStatus>;
13
+ priority: z.ZodNumber;
14
+ triggerType: z.ZodEnum<typeof OfferTriggerType>;
15
+ triggerDelayMs: z.ZodString;
16
+ audience: z.ZodObject<{
17
+ hasEverPaid: z.ZodOptional<z.ZodBoolean>;
18
+ accountAgeMaxMs: z.ZodOptional<z.ZodString>;
19
+ requireEmailVerified: z.ZodOptional<z.ZodBoolean>;
20
+ }, z.core.$strip>;
21
+ offerTtlMs: z.ZodString;
22
+ promoTemplate: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
23
+ kind: z.ZodLiteral<import("./offer-promo-template.schema").OfferPromoTemplateKind>;
24
+ bonusPercent: z.ZodNumber;
25
+ maxBonusAmount: z.ZodString;
26
+ codePrefix: z.ZodString;
27
+ applicablePlanTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof import("../..").PlanType>>>;
28
+ applicablePlanIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
+ firstPurchaseOnly: z.ZodOptional<z.ZodBoolean>;
30
+ minPurchaseAmount: z.ZodOptional<z.ZodString>;
31
+ }, z.core.$strip>], "kind">>;
32
+ promoTtlMs: z.ZodNullable<z.ZodString>;
33
+ presentation: z.ZodObject<{
34
+ variant: z.ZodString;
35
+ badge: z.ZodOptional<z.ZodString>;
36
+ title: z.ZodString;
37
+ highlight: z.ZodOptional<z.ZodString>;
38
+ cta: z.ZodObject<{
39
+ label: z.ZodString;
40
+ action: z.ZodEnum<typeof import("./offer-cta-action.enum").OfferCtaAction>;
41
+ url: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strip>;
43
+ dismissible: z.ZodBoolean;
44
+ imageUrl: z.ZodOptional<z.ZodString>;
45
+ emailAsset: z.ZodOptional<z.ZodString>;
46
+ countdown: z.ZodDefault<z.ZodEnum<typeof import("./offer-countdown-mode.enum").OfferCountdownMode>>;
47
+ followUps: z.ZodDefault<z.ZodArray<z.ZodObject<{
48
+ delayMs: z.ZodNumber;
49
+ title: z.ZodString;
50
+ highlight: z.ZodOptional<z.ZodString>;
51
+ cta: z.ZodObject<{
52
+ label: z.ZodString;
53
+ action: z.ZodEnum<typeof import("./offer-cta-action.enum").OfferCtaAction>;
54
+ url: z.ZodOptional<z.ZodString>;
55
+ }, z.core.$strip>;
56
+ }, z.core.$strip>>>;
57
+ }, z.core.$strip>;
58
+ channels: z.ZodArray<z.ZodEnum<typeof NotificationChannel>>;
59
+ maxPerUser: z.ZodNumber;
60
+ cooldownMs: z.ZodNullable<z.ZodString>;
61
+ globalCap: z.ZodNullable<z.ZodNumber>;
62
+ issuedCount: z.ZodNumber;
63
+ campaignStartsAt: z.ZodNullable<z.ZodString>;
64
+ campaignEndsAt: z.ZodNullable<z.ZodString>;
65
+ createdBy: z.ZodNullable<z.ZodString>;
66
+ createdAt: z.ZodString;
67
+ updatedAt: z.ZodString;
68
+ }, z.core.$strip>;
69
+ export type OfferCampaignDto = z.infer<typeof OfferCampaignSchema>;
70
+ export declare const OfferCampaignListResponseSchema: z.ZodObject<{
71
+ items: z.ZodArray<z.ZodObject<{
72
+ id: z.ZodString;
73
+ key: z.ZodString;
74
+ name: z.ZodString;
75
+ status: z.ZodEnum<typeof OfferCampaignStatus>;
76
+ priority: z.ZodNumber;
77
+ triggerType: z.ZodEnum<typeof OfferTriggerType>;
78
+ triggerDelayMs: z.ZodString;
79
+ audience: z.ZodObject<{
80
+ hasEverPaid: z.ZodOptional<z.ZodBoolean>;
81
+ accountAgeMaxMs: z.ZodOptional<z.ZodString>;
82
+ requireEmailVerified: z.ZodOptional<z.ZodBoolean>;
83
+ }, z.core.$strip>;
84
+ offerTtlMs: z.ZodString;
85
+ promoTemplate: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
86
+ kind: z.ZodLiteral<import("./offer-promo-template.schema").OfferPromoTemplateKind>;
87
+ bonusPercent: z.ZodNumber;
88
+ maxBonusAmount: z.ZodString;
89
+ codePrefix: z.ZodString;
90
+ applicablePlanTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof import("../..").PlanType>>>;
91
+ applicablePlanIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
92
+ firstPurchaseOnly: z.ZodOptional<z.ZodBoolean>;
93
+ minPurchaseAmount: z.ZodOptional<z.ZodString>;
94
+ }, z.core.$strip>], "kind">>;
95
+ promoTtlMs: z.ZodNullable<z.ZodString>;
96
+ presentation: z.ZodObject<{
97
+ variant: z.ZodString;
98
+ badge: z.ZodOptional<z.ZodString>;
99
+ title: z.ZodString;
100
+ highlight: z.ZodOptional<z.ZodString>;
101
+ cta: z.ZodObject<{
102
+ label: z.ZodString;
103
+ action: z.ZodEnum<typeof import("./offer-cta-action.enum").OfferCtaAction>;
104
+ url: z.ZodOptional<z.ZodString>;
105
+ }, z.core.$strip>;
106
+ dismissible: z.ZodBoolean;
107
+ imageUrl: z.ZodOptional<z.ZodString>;
108
+ emailAsset: z.ZodOptional<z.ZodString>;
109
+ countdown: z.ZodDefault<z.ZodEnum<typeof import("./offer-countdown-mode.enum").OfferCountdownMode>>;
110
+ followUps: z.ZodDefault<z.ZodArray<z.ZodObject<{
111
+ delayMs: z.ZodNumber;
112
+ title: z.ZodString;
113
+ highlight: z.ZodOptional<z.ZodString>;
114
+ cta: z.ZodObject<{
115
+ label: z.ZodString;
116
+ action: z.ZodEnum<typeof import("./offer-cta-action.enum").OfferCtaAction>;
117
+ url: z.ZodOptional<z.ZodString>;
118
+ }, z.core.$strip>;
119
+ }, z.core.$strip>>>;
120
+ }, z.core.$strip>;
121
+ channels: z.ZodArray<z.ZodEnum<typeof NotificationChannel>>;
122
+ maxPerUser: z.ZodNumber;
123
+ cooldownMs: z.ZodNullable<z.ZodString>;
124
+ globalCap: z.ZodNullable<z.ZodNumber>;
125
+ issuedCount: z.ZodNumber;
126
+ campaignStartsAt: z.ZodNullable<z.ZodString>;
127
+ campaignEndsAt: z.ZodNullable<z.ZodString>;
128
+ createdBy: z.ZodNullable<z.ZodString>;
129
+ createdAt: z.ZodString;
130
+ updatedAt: z.ZodString;
131
+ }, z.core.$strip>>;
132
+ total: z.ZodNumber;
133
+ }, z.core.$strip>;
134
+ export type OfferCampaignListResponseDto = z.infer<typeof OfferCampaignListResponseSchema>;
135
+ export declare const AdminCreateOfferCampaignRequestSchema: z.ZodObject<{
136
+ key: z.ZodString;
137
+ name: z.ZodString;
138
+ status: z.ZodDefault<z.ZodEnum<typeof OfferCampaignStatus>>;
139
+ priority: z.ZodDefault<z.ZodNumber>;
140
+ triggerType: z.ZodEnum<typeof OfferTriggerType>;
141
+ triggerDelayMs: z.ZodDefault<z.ZodString>;
142
+ audience: z.ZodDefault<z.ZodObject<{
143
+ hasEverPaid: z.ZodOptional<z.ZodBoolean>;
144
+ accountAgeMaxMs: z.ZodOptional<z.ZodString>;
145
+ requireEmailVerified: z.ZodOptional<z.ZodBoolean>;
146
+ }, z.core.$strip>>;
147
+ offerTtlMs: z.ZodString;
148
+ promoTemplate: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
149
+ kind: z.ZodLiteral<import("./offer-promo-template.schema").OfferPromoTemplateKind>;
150
+ bonusPercent: z.ZodNumber;
151
+ maxBonusAmount: z.ZodString;
152
+ codePrefix: z.ZodString;
153
+ applicablePlanTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof import("../..").PlanType>>>;
154
+ applicablePlanIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
155
+ firstPurchaseOnly: z.ZodOptional<z.ZodBoolean>;
156
+ minPurchaseAmount: z.ZodOptional<z.ZodString>;
157
+ }, z.core.$strip>], "kind">>>>;
158
+ promoTtlMs: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
159
+ presentation: z.ZodObject<{
160
+ variant: z.ZodString;
161
+ badge: z.ZodOptional<z.ZodString>;
162
+ title: z.ZodString;
163
+ highlight: z.ZodOptional<z.ZodString>;
164
+ cta: z.ZodObject<{
165
+ label: z.ZodString;
166
+ action: z.ZodEnum<typeof import("./offer-cta-action.enum").OfferCtaAction>;
167
+ url: z.ZodOptional<z.ZodString>;
168
+ }, z.core.$strip>;
169
+ dismissible: z.ZodBoolean;
170
+ imageUrl: z.ZodOptional<z.ZodString>;
171
+ emailAsset: z.ZodOptional<z.ZodString>;
172
+ countdown: z.ZodDefault<z.ZodEnum<typeof import("./offer-countdown-mode.enum").OfferCountdownMode>>;
173
+ followUps: z.ZodDefault<z.ZodArray<z.ZodObject<{
174
+ delayMs: z.ZodNumber;
175
+ title: z.ZodString;
176
+ highlight: z.ZodOptional<z.ZodString>;
177
+ cta: z.ZodObject<{
178
+ label: z.ZodString;
179
+ action: z.ZodEnum<typeof import("./offer-cta-action.enum").OfferCtaAction>;
180
+ url: z.ZodOptional<z.ZodString>;
181
+ }, z.core.$strip>;
182
+ }, z.core.$strip>>>;
183
+ }, z.core.$strip>;
184
+ channels: z.ZodDefault<z.ZodArray<z.ZodEnum<typeof NotificationChannel>>>;
185
+ maxPerUser: z.ZodDefault<z.ZodNumber>;
186
+ cooldownMs: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
187
+ globalCap: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
188
+ campaignStartsAt: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
189
+ campaignEndsAt: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
190
+ }, z.core.$strip>;
191
+ export type AdminCreateOfferCampaignRequest = z.infer<typeof AdminCreateOfferCampaignRequestSchema>;
192
+ export declare const AdminUpdateOfferCampaignRequestSchema: z.ZodObject<{
193
+ name: z.ZodOptional<z.ZodString>;
194
+ status: z.ZodOptional<z.ZodEnum<typeof OfferCampaignStatus>>;
195
+ priority: z.ZodOptional<z.ZodNumber>;
196
+ triggerType: z.ZodOptional<z.ZodEnum<typeof OfferTriggerType>>;
197
+ triggerDelayMs: z.ZodOptional<z.ZodString>;
198
+ audience: z.ZodOptional<z.ZodObject<{
199
+ hasEverPaid: z.ZodOptional<z.ZodBoolean>;
200
+ accountAgeMaxMs: z.ZodOptional<z.ZodString>;
201
+ requireEmailVerified: z.ZodOptional<z.ZodBoolean>;
202
+ }, z.core.$strip>>;
203
+ offerTtlMs: z.ZodOptional<z.ZodString>;
204
+ promoTemplate: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
205
+ kind: z.ZodLiteral<import("./offer-promo-template.schema").OfferPromoTemplateKind>;
206
+ bonusPercent: z.ZodNumber;
207
+ maxBonusAmount: z.ZodString;
208
+ codePrefix: z.ZodString;
209
+ applicablePlanTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof import("../..").PlanType>>>;
210
+ applicablePlanIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
211
+ firstPurchaseOnly: z.ZodOptional<z.ZodBoolean>;
212
+ minPurchaseAmount: z.ZodOptional<z.ZodString>;
213
+ }, z.core.$strip>], "kind">>>;
214
+ promoTtlMs: z.ZodOptional<z.ZodNullable<z.ZodString>>;
215
+ presentation: z.ZodOptional<z.ZodObject<{
216
+ variant: z.ZodString;
217
+ badge: z.ZodOptional<z.ZodString>;
218
+ title: z.ZodString;
219
+ highlight: z.ZodOptional<z.ZodString>;
220
+ cta: z.ZodObject<{
221
+ label: z.ZodString;
222
+ action: z.ZodEnum<typeof import("./offer-cta-action.enum").OfferCtaAction>;
223
+ url: z.ZodOptional<z.ZodString>;
224
+ }, z.core.$strip>;
225
+ dismissible: z.ZodBoolean;
226
+ imageUrl: z.ZodOptional<z.ZodString>;
227
+ emailAsset: z.ZodOptional<z.ZodString>;
228
+ countdown: z.ZodDefault<z.ZodEnum<typeof import("./offer-countdown-mode.enum").OfferCountdownMode>>;
229
+ followUps: z.ZodDefault<z.ZodArray<z.ZodObject<{
230
+ delayMs: z.ZodNumber;
231
+ title: z.ZodString;
232
+ highlight: z.ZodOptional<z.ZodString>;
233
+ cta: z.ZodObject<{
234
+ label: z.ZodString;
235
+ action: z.ZodEnum<typeof import("./offer-cta-action.enum").OfferCtaAction>;
236
+ url: z.ZodOptional<z.ZodString>;
237
+ }, z.core.$strip>;
238
+ }, z.core.$strip>>>;
239
+ }, z.core.$strip>>;
240
+ channels: z.ZodOptional<z.ZodArray<z.ZodEnum<typeof NotificationChannel>>>;
241
+ maxPerUser: z.ZodOptional<z.ZodNumber>;
242
+ cooldownMs: z.ZodOptional<z.ZodNullable<z.ZodString>>;
243
+ globalCap: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
244
+ campaignStartsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
245
+ campaignEndsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
246
+ }, z.core.$strip>;
247
+ export type AdminUpdateOfferCampaignRequest = z.infer<typeof AdminUpdateOfferCampaignRequestSchema>;
248
+ export declare const AdminDeleteOfferCampaignResponseSchema: z.ZodObject<{
249
+ id: z.ZodString;
250
+ }, z.core.$strip>;
251
+ export type AdminDeleteOfferCampaignResponse = z.infer<typeof AdminDeleteOfferCampaignResponseSchema>;
252
+ export declare const AdminIssueOfferCampaignRequestSchema: z.ZodObject<{
253
+ userIds: z.ZodArray<z.ZodString>;
254
+ }, z.core.$strip>;
255
+ export type AdminIssueOfferCampaignRequest = z.infer<typeof AdminIssueOfferCampaignRequestSchema>;
256
+ export declare const AdminIssueOfferCampaignResponseSchema: z.ZodObject<{
257
+ issued: z.ZodNumber;
258
+ skipped: z.ZodNumber;
259
+ }, z.core.$strip>;
260
+ export type AdminIssueOfferCampaignResponse = z.infer<typeof AdminIssueOfferCampaignResponseSchema>;
261
+ export declare const AdminRevokeOfferCampaignResponseSchema: z.ZodObject<{
262
+ id: z.ZodString;
263
+ cancelledOffers: z.ZodNumber;
264
+ disabledPromoCodes: z.ZodNumber;
265
+ cancelledJobs: z.ZodNumber;
266
+ hiddenCards: z.ZodNumber;
267
+ }, z.core.$strip>;
268
+ export type AdminRevokeOfferCampaignResponse = z.infer<typeof AdminRevokeOfferCampaignResponseSchema>;
@@ -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,5 @@
1
+ export declare enum OfferCountdownMode {
2
+ NONE = "NONE",
3
+ OFFER_EXPIRES_AT = "OFFER_EXPIRES_AT",
4
+ WEEKLY_SUNDAY = "WEEKLY_SUNDAY"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OfferCountdownMode = void 0;
4
+ var OfferCountdownMode;
5
+ (function (OfferCountdownMode) {
6
+ OfferCountdownMode["NONE"] = "NONE";
7
+ OfferCountdownMode["OFFER_EXPIRES_AT"] = "OFFER_EXPIRES_AT";
8
+ OfferCountdownMode["WEEKLY_SUNDAY"] = "WEEKLY_SUNDAY";
9
+ })(OfferCountdownMode || (exports.OfferCountdownMode = OfferCountdownMode = {}));
10
+ //# sourceMappingURL=offer-countdown-mode.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offer-countdown-mode.enum.js","sourceRoot":"","sources":["../../../../v1/offers/schemas/offer-countdown-mode.enum.ts"],"names":[],"mappings":";;;AAOA,IAAY,kBAUX;AAVD,WAAY,kBAAkB;IAE1B,mCAAa,CAAA;IAEb,2DAAqC,CAAA;IAKrC,qDAA+B,CAAA;AACnC,CAAC,EAVW,kBAAkB,kCAAlB,kBAAkB,QAU7B"}
@@ -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,47 @@
1
+ import { z } from 'zod';
2
+ import { OfferCtaAction } from './offer-cta-action.enum';
3
+ import { OfferCountdownMode } from './offer-countdown-mode.enum';
4
+ export declare const OfferPresentationCtaSchema: z.ZodObject<{
5
+ label: z.ZodString;
6
+ action: z.ZodEnum<typeof OfferCtaAction>;
7
+ url: z.ZodOptional<z.ZodString>;
8
+ }, z.core.$strip>;
9
+ export type OfferPresentationCta = z.infer<typeof OfferPresentationCtaSchema>;
10
+ export declare const OFFER_MAX_FOLLOW_UPS = 4;
11
+ export declare const OfferFollowUpSchema: z.ZodObject<{
12
+ delayMs: z.ZodNumber;
13
+ title: z.ZodString;
14
+ highlight: z.ZodOptional<z.ZodString>;
15
+ cta: z.ZodObject<{
16
+ label: z.ZodString;
17
+ action: z.ZodEnum<typeof OfferCtaAction>;
18
+ url: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strip>;
20
+ }, z.core.$strip>;
21
+ export type OfferFollowUp = z.infer<typeof OfferFollowUpSchema>;
22
+ export declare const OfferPresentationSchema: z.ZodObject<{
23
+ variant: z.ZodString;
24
+ badge: z.ZodOptional<z.ZodString>;
25
+ title: z.ZodString;
26
+ highlight: z.ZodOptional<z.ZodString>;
27
+ cta: z.ZodObject<{
28
+ label: z.ZodString;
29
+ action: z.ZodEnum<typeof OfferCtaAction>;
30
+ url: z.ZodOptional<z.ZodString>;
31
+ }, z.core.$strip>;
32
+ dismissible: z.ZodBoolean;
33
+ imageUrl: z.ZodOptional<z.ZodString>;
34
+ emailAsset: z.ZodOptional<z.ZodString>;
35
+ countdown: z.ZodDefault<z.ZodEnum<typeof OfferCountdownMode>>;
36
+ followUps: z.ZodDefault<z.ZodArray<z.ZodObject<{
37
+ delayMs: z.ZodNumber;
38
+ title: z.ZodString;
39
+ highlight: z.ZodOptional<z.ZodString>;
40
+ cta: z.ZodObject<{
41
+ label: z.ZodString;
42
+ action: z.ZodEnum<typeof OfferCtaAction>;
43
+ url: z.ZodOptional<z.ZodString>;
44
+ }, z.core.$strip>;
45
+ }, z.core.$strip>>>;
46
+ }, z.core.$strip>;
47
+ export type OfferPresentation = z.infer<typeof OfferPresentationSchema>;