@lyxa.ai/marketing 1.0.64 → 1.0.67

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 (334) hide show
  1. package/dist/lib/event/event-initializations.d.ts.map +1 -1
  2. package/dist/lib/event/event-initializations.js +0 -1
  3. package/dist/lib/event/event-initializations.js.map +1 -1
  4. package/dist/lib/event/event-listeners/event-listeners.d.ts +0 -1
  5. package/dist/lib/event/event-listeners/event-listeners.d.ts.map +1 -1
  6. package/dist/lib/event/event-listeners/event-listeners.js +12 -62
  7. package/dist/lib/event/event-listeners/event-listeners.js.map +1 -1
  8. package/dist/lib/event/events/marketing-product-seed.event.d.ts +2 -1
  9. package/dist/lib/event/events/marketing-product-seed.event.d.ts.map +1 -1
  10. package/dist/lib/event/events/marketing-product-seed.event.js.map +1 -1
  11. package/dist/lib/index.d.ts +127 -347
  12. package/dist/lib/index.d.ts.map +1 -1
  13. package/dist/lib/index.js +0 -2
  14. package/dist/lib/index.js.map +1 -1
  15. package/dist/lib/modules/coupon/routers/coupon.router.d.ts +27 -27
  16. package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  17. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
  18. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js +18 -3
  19. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js.map +1 -1
  20. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts +6 -6
  21. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +30 -30
  22. package/dist/lib/modules/coupon/validations/create-coupon.validation.d.ts.map +1 -1
  23. package/dist/lib/modules/coupon/validations/create-coupon.validation.js +1 -4
  24. package/dist/lib/modules/coupon/validations/create-coupon.validation.js.map +1 -1
  25. package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts +9 -9
  26. package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts.map +1 -1
  27. package/dist/lib/modules/deal-setting/services/deal-setting.service.d.ts.map +1 -1
  28. package/dist/lib/modules/deal-setting/services/deal-setting.service.js +1 -4
  29. package/dist/lib/modules/deal-setting/services/deal-setting.service.js.map +1 -1
  30. package/dist/lib/modules/deal-setting/validations/deal-setting.validation.d.ts +6 -6
  31. package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts +8 -8
  32. package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts.map +1 -1
  33. package/dist/lib/modules/featured-setting/services/featured-setting.service.d.ts.map +1 -1
  34. package/dist/lib/modules/featured-setting/services/featured-setting.service.js +0 -3
  35. package/dist/lib/modules/featured-setting/services/featured-setting.service.js.map +1 -1
  36. package/dist/lib/modules/featured-setting/validations/featured-setting.validation.d.ts +6 -6
  37. package/dist/lib/modules/limited-time-offer/campaign/campaign.router.d.ts +14 -60
  38. package/dist/lib/modules/limited-time-offer/campaign/campaign.router.d.ts.map +1 -1
  39. package/dist/lib/modules/limited-time-offer/campaign/campaign.router.js +0 -11
  40. package/dist/lib/modules/limited-time-offer/campaign/campaign.router.js.map +1 -1
  41. package/dist/lib/modules/limited-time-offer/campaign/jobs/index.d.ts.map +1 -1
  42. package/dist/lib/modules/limited-time-offer/campaign/jobs/index.js +0 -6
  43. package/dist/lib/modules/limited-time-offer/campaign/jobs/index.js.map +1 -1
  44. package/dist/lib/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.d.ts +1 -0
  45. package/dist/lib/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.d.ts.map +1 -1
  46. package/dist/lib/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.js +6 -2
  47. package/dist/lib/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.js.map +1 -1
  48. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts +3 -16
  49. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts.map +1 -1
  50. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.js +3 -22
  51. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.js.map +1 -1
  52. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts +0 -2
  53. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts.map +1 -1
  54. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.js +0 -12
  55. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.js.map +1 -1
  56. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +64 -271
  57. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts.map +1 -1
  58. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.js +1 -19
  59. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.js.map +1 -1
  60. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts +1 -10
  61. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts.map +1 -1
  62. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.js +1 -78
  63. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.js.map +1 -1
  64. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-scheduler.service.d.ts +0 -3
  65. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-scheduler.service.d.ts.map +1 -1
  66. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-scheduler.service.js +8 -66
  67. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-scheduler.service.js.map +1 -1
  68. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.d.ts +1 -1
  69. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.d.ts.map +1 -1
  70. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.js +19 -41
  71. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.js.map +1 -1
  72. package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.validation.d.ts +6 -6
  73. package/dist/lib/modules/limited-time-offer/config/limited-time-offer.router.d.ts +3 -3
  74. package/dist/lib/modules/limited-time-offer/limited-time-offer.router.d.ts +22 -253
  75. package/dist/lib/modules/limited-time-offer/limited-time-offer.router.d.ts.map +1 -1
  76. package/dist/lib/modules/limited-time-offer/limited-time-offer.service.d.ts +0 -2
  77. package/dist/lib/modules/limited-time-offer/limited-time-offer.service.d.ts.map +1 -1
  78. package/dist/lib/modules/limited-time-offer/limited-time-offer.service.js +4 -10
  79. package/dist/lib/modules/limited-time-offer/limited-time-offer.service.js.map +1 -1
  80. package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.constants.d.ts +1 -1
  81. package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.constants.js +1 -1
  82. package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.constants.js.map +1 -1
  83. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +3 -30
  84. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts.map +1 -1
  85. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.js +1 -23
  86. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.js.map +1 -1
  87. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts +0 -18
  88. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts.map +1 -1
  89. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.js +0 -103
  90. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.js.map +1 -1
  91. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts +4 -189
  92. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts.map +1 -1
  93. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.js +0 -29
  94. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.js.map +1 -1
  95. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +127 -526
  96. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts.map +1 -1
  97. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.js +6 -16
  98. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.js.map +1 -1
  99. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts +4 -11
  100. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts.map +1 -1
  101. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.js +7 -48
  102. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.js.map +1 -1
  103. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts +5 -18
  104. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts.map +1 -1
  105. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.js +17 -98
  106. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.js.map +1 -1
  107. package/dist/lib/modules/marketing/routers/marketing.router.d.ts +14 -3
  108. package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  109. package/dist/lib/modules/marketing/routers/marketing.router.js +4 -0
  110. package/dist/lib/modules/marketing/routers/marketing.router.js.map +1 -1
  111. package/dist/lib/modules/marketing/services/marketing.service.d.ts +2 -7
  112. package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
  113. package/dist/lib/modules/marketing/services/marketing.service.js +49 -85
  114. package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
  115. package/dist/lib/modules/marketing/services/product-marketing.service.d.ts +3 -2
  116. package/dist/lib/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
  117. package/dist/lib/modules/marketing/services/product-marketing.service.js +13 -42
  118. package/dist/lib/modules/marketing/services/product-marketing.service.js.map +1 -1
  119. package/dist/lib/modules/marketing/services/spend-to-get-progress.service.d.ts +13 -0
  120. package/dist/lib/modules/marketing/services/spend-to-get-progress.service.d.ts.map +1 -1
  121. package/dist/lib/modules/marketing/services/spend-to-get-progress.service.js +24 -0
  122. package/dist/lib/modules/marketing/services/spend-to-get-progress.service.js.map +1 -1
  123. package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.d.ts.map +1 -1
  124. package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.js +27 -95
  125. package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.js.map +1 -1
  126. package/dist/lib/modules/marketing/validations/all-marketings.validation.d.ts +4 -4
  127. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +3 -3
  128. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +3 -3
  129. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts +8 -0
  130. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
  131. package/dist/lib/modules/marketing/validations/marketing.validation.js +4 -1
  132. package/dist/lib/modules/marketing/validations/marketing.validation.js.map +1 -1
  133. package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts +2 -2
  134. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +12 -12
  135. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts.map +1 -1
  136. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +8 -8
  137. package/dist/lib/modules/referral-setting/routers/referral-setting.router.d.ts +4 -4
  138. package/dist/lib/modules/referral-setting/validations/referral-setting.validation.d.ts +6 -6
  139. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.d.ts +10 -10
  140. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.d.ts.map +1 -1
  141. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.d.ts +6 -6
  142. package/dist/lib/modules/tournament/config/config.router.d.ts +4 -4
  143. package/dist/lib/modules/tournament/config/config.validation.d.ts +12 -12
  144. package/dist/lib/modules/tournament/match/match.router.d.ts +5 -5
  145. package/dist/lib/modules/tournament/match/match.validation.d.ts +12 -12
  146. package/dist/lib/modules/tournament/participant/participant.router.d.ts +3 -3
  147. package/dist/lib/modules/tournament/participant/participant.validation.d.ts +24 -24
  148. package/dist/lib/modules/tournament/prediction/prediction.router.d.ts +3 -3
  149. package/dist/lib/modules/tournament/prediction/prediction.validation.d.ts +18 -18
  150. package/dist/lib/modules/tournament/score/score.router.d.ts +1 -1
  151. package/dist/lib/modules/tournament/score/score.validation.d.ts +6 -6
  152. package/dist/lib/modules/tournament/statistics/statistics.router.d.ts +1 -1
  153. package/dist/lib/modules/tournament/statistics/statistics.validation.d.ts +6 -6
  154. package/dist/lib/modules/tournament/team/team.router.d.ts +3 -3
  155. package/dist/lib/modules/tournament/team/team.validation.d.ts +18 -18
  156. package/dist/lib/modules/tournament/tournament.router.d.ts +21 -21
  157. package/dist/lib/modules/tournament/tournament.validation.d.ts +6 -6
  158. package/dist/lib/utility/feature-flags.d.ts +3 -0
  159. package/dist/lib/utility/feature-flags.d.ts.map +1 -0
  160. package/dist/lib/utility/feature-flags.js +16 -0
  161. package/dist/lib/utility/feature-flags.js.map +1 -0
  162. package/dist/types/event/event-initializations.d.ts.map +1 -1
  163. package/dist/types/event/event-listeners/event-listeners.d.ts +0 -1
  164. package/dist/types/event/event-listeners/event-listeners.d.ts.map +1 -1
  165. package/dist/types/event/events/marketing-product-seed.event.d.ts +2 -1
  166. package/dist/types/event/events/marketing-product-seed.event.d.ts.map +1 -1
  167. package/dist/types/index.d.ts +127 -347
  168. package/dist/types/index.d.ts.map +1 -1
  169. package/dist/types/modules/coupon/routers/coupon.router.d.ts +27 -27
  170. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  171. package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
  172. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +6 -6
  173. package/dist/types/modules/coupon/validations/coupon.validation.d.ts +30 -30
  174. package/dist/types/modules/coupon/validations/create-coupon.validation.d.ts.map +1 -1
  175. package/dist/types/modules/deal-setting/routers/deal-setting.router.d.ts +9 -9
  176. package/dist/types/modules/deal-setting/routers/deal-setting.router.d.ts.map +1 -1
  177. package/dist/types/modules/deal-setting/services/deal-setting.service.d.ts.map +1 -1
  178. package/dist/types/modules/deal-setting/validations/deal-setting.validation.d.ts +6 -6
  179. package/dist/types/modules/featured-setting/routers/featured-setting.router.d.ts +8 -8
  180. package/dist/types/modules/featured-setting/routers/featured-setting.router.d.ts.map +1 -1
  181. package/dist/types/modules/featured-setting/services/featured-setting.service.d.ts.map +1 -1
  182. package/dist/types/modules/featured-setting/validations/featured-setting.validation.d.ts +6 -6
  183. package/dist/types/modules/limited-time-offer/campaign/campaign.router.d.ts +14 -60
  184. package/dist/types/modules/limited-time-offer/campaign/campaign.router.d.ts.map +1 -1
  185. package/dist/types/modules/limited-time-offer/campaign/jobs/index.d.ts.map +1 -1
  186. package/dist/types/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.d.ts +1 -0
  187. package/dist/types/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.d.ts.map +1 -1
  188. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts +3 -16
  189. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts.map +1 -1
  190. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts +0 -2
  191. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts.map +1 -1
  192. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +64 -271
  193. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts.map +1 -1
  194. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts +1 -10
  195. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts.map +1 -1
  196. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-scheduler.service.d.ts +0 -3
  197. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-scheduler.service.d.ts.map +1 -1
  198. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.d.ts +1 -1
  199. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.d.ts.map +1 -1
  200. package/dist/types/modules/limited-time-offer/config/limited-time-offer-config.validation.d.ts +6 -6
  201. package/dist/types/modules/limited-time-offer/config/limited-time-offer.router.d.ts +3 -3
  202. package/dist/types/modules/limited-time-offer/limited-time-offer.router.d.ts +22 -253
  203. package/dist/types/modules/limited-time-offer/limited-time-offer.router.d.ts.map +1 -1
  204. package/dist/types/modules/limited-time-offer/limited-time-offer.service.d.ts +0 -2
  205. package/dist/types/modules/limited-time-offer/limited-time-offer.service.d.ts.map +1 -1
  206. package/dist/types/modules/limited-time-offer/notification/limited-time-offer-notification.constants.d.ts +1 -1
  207. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +3 -30
  208. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts.map +1 -1
  209. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts +0 -18
  210. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts.map +1 -1
  211. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts +4 -189
  212. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts.map +1 -1
  213. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +127 -526
  214. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts.map +1 -1
  215. package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts +4 -11
  216. package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts.map +1 -1
  217. package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts +5 -18
  218. package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts.map +1 -1
  219. package/dist/types/modules/marketing/routers/marketing.router.d.ts +14 -3
  220. package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  221. package/dist/types/modules/marketing/services/marketing.service.d.ts +2 -7
  222. package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
  223. package/dist/types/modules/marketing/services/product-marketing.service.d.ts +3 -7
  224. package/dist/types/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
  225. package/dist/types/modules/marketing/services/spend-to-get-progress.service.d.ts +18 -0
  226. package/dist/types/modules/marketing/services/spend-to-get-progress.service.d.ts.map +1 -1
  227. package/dist/types/modules/marketing/services/synchronize-product-marketing.service.d.ts.map +1 -1
  228. package/dist/types/modules/marketing/validations/all-marketings.validation.d.ts +4 -4
  229. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +3 -3
  230. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +3 -3
  231. package/dist/types/modules/marketing/validations/marketing.validation.d.ts +8 -0
  232. package/dist/types/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
  233. package/dist/types/modules/marketing/validations/product-marketing.validation.d.ts +2 -2
  234. package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +12 -12
  235. package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts.map +1 -1
  236. package/dist/types/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +8 -8
  237. package/dist/types/modules/referral-setting/routers/referral-setting.router.d.ts +4 -4
  238. package/dist/types/modules/referral-setting/validations/referral-setting.validation.d.ts +6 -6
  239. package/dist/types/modules/spend-to-get-history/spend-to-get-history.router.d.ts +10 -10
  240. package/dist/types/modules/spend-to-get-history/spend-to-get-history.router.d.ts.map +1 -1
  241. package/dist/types/modules/spend-to-get-history/spend-to-get-history.validation.d.ts +6 -6
  242. package/dist/types/modules/tournament/config/config.router.d.ts +4 -4
  243. package/dist/types/modules/tournament/config/config.validation.d.ts +12 -12
  244. package/dist/types/modules/tournament/match/match.router.d.ts +5 -5
  245. package/dist/types/modules/tournament/match/match.validation.d.ts +12 -12
  246. package/dist/types/modules/tournament/participant/participant.router.d.ts +3 -3
  247. package/dist/types/modules/tournament/participant/participant.validation.d.ts +24 -24
  248. package/dist/types/modules/tournament/prediction/prediction.router.d.ts +3 -3
  249. package/dist/types/modules/tournament/prediction/prediction.validation.d.ts +18 -18
  250. package/dist/types/modules/tournament/score/score.router.d.ts +1 -1
  251. package/dist/types/modules/tournament/score/score.validation.d.ts +6 -6
  252. package/dist/types/modules/tournament/statistics/statistics.router.d.ts +1 -1
  253. package/dist/types/modules/tournament/statistics/statistics.validation.d.ts +6 -6
  254. package/dist/types/modules/tournament/team/team.router.d.ts +3 -3
  255. package/dist/types/modules/tournament/team/team.validation.d.ts +18 -18
  256. package/dist/types/modules/tournament/tournament.router.d.ts +21 -21
  257. package/dist/types/modules/tournament/tournament.validation.d.ts +6 -6
  258. package/dist/types/utility/feature-flags.d.ts +12 -0
  259. package/dist/types/utility/feature-flags.d.ts.map +1 -0
  260. package/package.json +2 -2
  261. package/dist/lib/modules/spend-to-get-history/routers/index.d.ts +0 -2
  262. package/dist/lib/modules/spend-to-get-history/routers/index.d.ts.map +0 -1
  263. package/dist/lib/modules/spend-to-get-history/routers/index.js +0 -18
  264. package/dist/lib/modules/spend-to-get-history/routers/index.js.map +0 -1
  265. package/dist/lib/modules/spend-to-get-history/routers/spend-to-get-history.router.js +0 -62
  266. package/dist/lib/modules/spend-to-get-history/routers/spend-to-get-history.router.js.map +0 -1
  267. package/dist/lib/modules/spend-to-get-history/services/index.d.ts +0 -2
  268. package/dist/lib/modules/spend-to-get-history/services/index.d.ts.map +0 -1
  269. package/dist/lib/modules/spend-to-get-history/services/index.js +0 -18
  270. package/dist/lib/modules/spend-to-get-history/services/index.js.map +0 -1
  271. package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts +0 -24
  272. package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts.map +0 -1
  273. package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.js +0 -136
  274. package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.js.map +0 -1
  275. package/dist/lib/modules/spend-to-get-history/validations/index.d.ts +0 -2
  276. package/dist/lib/modules/spend-to-get-history/validations/index.d.ts.map +0 -1
  277. package/dist/lib/modules/spend-to-get-history/validations/index.js +0 -18
  278. package/dist/lib/modules/spend-to-get-history/validations/index.js.map +0 -1
  279. package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts +0 -232
  280. package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts.map +0 -1
  281. package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.js +0 -30
  282. package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.js.map +0 -1
  283. package/dist/lib/modules/tournament/match/events/match-ended.consumer.d.ts +0 -2
  284. package/dist/lib/modules/tournament/match/events/match-ended.consumer.d.ts.map +0 -1
  285. package/dist/lib/modules/tournament/match/events/match-ended.consumer.js +0 -15
  286. package/dist/lib/modules/tournament/match/events/match-ended.consumer.js.map +0 -1
  287. package/dist/lib/modules/tournament/match/events/match-ended.event.d.ts +0 -14
  288. package/dist/lib/modules/tournament/match/events/match-ended.event.d.ts.map +0 -1
  289. package/dist/lib/modules/tournament/match/events/match-ended.event.js +0 -12
  290. package/dist/lib/modules/tournament/match/events/match-ended.event.js.map +0 -1
  291. package/dist/lib/modules/tournament/notification/jobs/notification.producer.d.ts +0 -10
  292. package/dist/lib/modules/tournament/notification/jobs/notification.producer.d.ts.map +0 -1
  293. package/dist/lib/modules/tournament/notification/jobs/notification.producer.js +0 -23
  294. package/dist/lib/modules/tournament/notification/jobs/notification.producer.js.map +0 -1
  295. package/dist/lib/modules/tournament/notification/jobs/notification.worker.d.ts +0 -9
  296. package/dist/lib/modules/tournament/notification/jobs/notification.worker.d.ts.map +0 -1
  297. package/dist/lib/modules/tournament/notification/jobs/notification.worker.js +0 -82
  298. package/dist/lib/modules/tournament/notification/jobs/notification.worker.js.map +0 -1
  299. package/dist/lib/modules/tournament/notification/notification.schedule.config.d.ts +0 -10
  300. package/dist/lib/modules/tournament/notification/notification.schedule.config.d.ts.map +0 -1
  301. package/dist/lib/modules/tournament/notification/notification.schedule.config.js +0 -15
  302. package/dist/lib/modules/tournament/notification/notification.schedule.config.js.map +0 -1
  303. package/dist/lib/modules/tournament/notification/notification.scheduler.service.d.ts +0 -10
  304. package/dist/lib/modules/tournament/notification/notification.scheduler.service.d.ts.map +0 -1
  305. package/dist/lib/modules/tournament/notification/notification.scheduler.service.js +0 -73
  306. package/dist/lib/modules/tournament/notification/notification.scheduler.service.js.map +0 -1
  307. package/dist/types/events/event-initializations.d.ts +0 -2
  308. package/dist/types/events/event-initializations.d.ts.map +0 -1
  309. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts +0 -1
  310. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts.map +0 -1
  311. package/dist/types/modules/spend-to-get-history/routers/index.d.ts +0 -2
  312. package/dist/types/modules/spend-to-get-history/routers/index.d.ts.map +0 -1
  313. package/dist/types/modules/spend-to-get-history/services/index.d.ts +0 -2
  314. package/dist/types/modules/spend-to-get-history/services/index.d.ts.map +0 -1
  315. package/dist/types/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts +0 -56
  316. package/dist/types/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts.map +0 -1
  317. package/dist/types/modules/spend-to-get-history/validations/index.d.ts +0 -2
  318. package/dist/types/modules/spend-to-get-history/validations/index.d.ts.map +0 -1
  319. package/dist/types/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts +0 -241
  320. package/dist/types/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts.map +0 -1
  321. package/dist/types/modules/tournament/config/tournament-config.validation.d.ts +0 -201
  322. package/dist/types/modules/tournament/config/tournament-config.validation.d.ts.map +0 -1
  323. package/dist/types/modules/tournament/match/events/match-ended.consumer.d.ts +0 -2
  324. package/dist/types/modules/tournament/match/events/match-ended.consumer.d.ts.map +0 -1
  325. package/dist/types/modules/tournament/match/events/match-ended.event.d.ts +0 -14
  326. package/dist/types/modules/tournament/match/events/match-ended.event.d.ts.map +0 -1
  327. package/dist/types/modules/tournament/notification/jobs/notification.producer.d.ts +0 -10
  328. package/dist/types/modules/tournament/notification/jobs/notification.producer.d.ts.map +0 -1
  329. package/dist/types/modules/tournament/notification/jobs/notification.worker.d.ts +0 -9
  330. package/dist/types/modules/tournament/notification/jobs/notification.worker.d.ts.map +0 -1
  331. package/dist/types/modules/tournament/notification/notification.schedule.config.d.ts +0 -10
  332. package/dist/types/modules/tournament/notification/notification.schedule.config.d.ts.map +0 -1
  333. package/dist/types/modules/tournament/notification/notification.scheduler.service.d.ts +0 -10
  334. package/dist/types/modules/tournament/notification/notification.scheduler.service.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"event-initializations.d.ts","sourceRoot":"/","sources":["event/event-initializations.ts"],"names":[],"mappings":"AAUA,wBAAsB,kBAAkB,kBAQvC"}
1
+ {"version":3,"file":"event-initializations.d.ts","sourceRoot":"/","sources":["event/event-initializations.ts"],"names":[],"mappings":"AASA,wBAAsB,kBAAkB,kBAOvC"}
@@ -7,7 +7,6 @@ const jobs_1 = require("../modules/limited-time-offer/campaign/jobs");
7
7
  async function initEventListeners() {
8
8
  (0, event_listeners_1.subscribeToSyncAllProductsProductMarketingInfoProcessEvent)();
9
9
  await (0, event_listeners_1.subscribeToMarketingEntireMenuSeedEvent)();
10
- await (0, event_listeners_1.subscribeToMarketingProductSyncEvent)();
11
10
  await (0, event_listeners_1.subscribeToMarketingReturnPunchCouponEvent)();
12
11
  await (0, event_listeners_1.subscribeToMarketingReturnSpendToGetRedemptionEvent)();
13
12
  await (0, evaluate_predictions_consumer_1.EvaluatePredictionsConsumer)();
@@ -1 +1 @@
1
- {"version":3,"file":"event-initializations.js","sourceRoot":"/","sources":["event/event-initializations.ts"],"names":[],"mappings":";;AAUA,gDAQC;AAlBD,uEAM2C;AAC3C,kHAA2G;AAC3G,oEAA+E;AAExE,KAAK,UAAU,kBAAkB;IACpC,IAAA,4EAA0D,GAAE,CAAC;IAC7D,MAAM,IAAA,yDAAuC,GAAE,CAAC;IAChD,MAAM,IAAA,sDAAoC,GAAE,CAAC;IAC7C,MAAM,IAAA,4DAA0C,GAAE,CAAC;IACnD,MAAM,IAAA,qEAAmD,GAAE,CAAC;IAC5D,MAAM,IAAA,2DAA2B,GAAE,CAAC;IACpC,MAAM,IAAA,yBAAkB,GAAE,CAAC;AAC/B,CAAC","sourcesContent":["import {\n subscribeToSyncAllProductsProductMarketingInfoProcessEvent,\n subscribeToMarketingEntireMenuSeedEvent,\n subscribeToMarketingProductSyncEvent,\n subscribeToMarketingReturnPunchCouponEvent,\n subscribeToMarketingReturnSpendToGetRedemptionEvent,\n} from './event-listeners/event-listeners';\nimport {EvaluatePredictionsConsumer} from '@modules/tournament/match/events/evaluate-predictions.consumer';\nimport { startBullMQWorkers } from '@modules/limited-time-offer/campaign/jobs';\n\nexport async function initEventListeners() {\n subscribeToSyncAllProductsProductMarketingInfoProcessEvent();\n await subscribeToMarketingEntireMenuSeedEvent();\n await subscribeToMarketingProductSyncEvent();\n await subscribeToMarketingReturnPunchCouponEvent();\n await subscribeToMarketingReturnSpendToGetRedemptionEvent();\n await EvaluatePredictionsConsumer();\n await startBullMQWorkers();\n}\n"]}
1
+ {"version":3,"file":"event-initializations.js","sourceRoot":"/","sources":["event/event-initializations.ts"],"names":[],"mappings":";;AASA,gDAOC;AAhBD,uEAK2C;AAC3C,kHAA2G;AAC3G,oEAA+E;AAExE,KAAK,UAAU,kBAAkB;IACpC,IAAA,4EAA0D,GAAE,CAAC;IAC7D,MAAM,IAAA,yDAAuC,GAAE,CAAC;IAChD,MAAM,IAAA,4DAA0C,GAAE,CAAC;IACnD,MAAM,IAAA,qEAAmD,GAAE,CAAC;IAC5D,MAAM,IAAA,2DAA2B,GAAE,CAAC;IACpC,MAAM,IAAA,yBAAkB,GAAE,CAAC;AAC/B,CAAC","sourcesContent":["import {\n subscribeToSyncAllProductsProductMarketingInfoProcessEvent,\n subscribeToMarketingEntireMenuSeedEvent,\n subscribeToMarketingReturnPunchCouponEvent,\n subscribeToMarketingReturnSpendToGetRedemptionEvent,\n} from './event-listeners/event-listeners';\nimport {EvaluatePredictionsConsumer} from '@modules/tournament/match/events/evaluate-predictions.consumer';\nimport { startBullMQWorkers } from '@modules/limited-time-offer/campaign/jobs';\n\nexport async function initEventListeners() {\n subscribeToSyncAllProductsProductMarketingInfoProcessEvent();\n await subscribeToMarketingEntireMenuSeedEvent();\n await subscribeToMarketingReturnPunchCouponEvent();\n await subscribeToMarketingReturnSpendToGetRedemptionEvent();\n await EvaluatePredictionsConsumer();\n await startBullMQWorkers();\n}\n"]}
@@ -1,6 +1,5 @@
1
1
  export declare function subscribeToSyncAllProductsProductMarketingInfoProcessEvent(): Promise<void>;
2
2
  export declare function subscribeToMarketingEntireMenuSeedEvent(): Promise<void>;
3
- export declare function subscribeToMarketingProductSyncEvent(): Promise<void>;
4
3
  export declare function subscribeToMarketingReturnPunchCouponEvent(): Promise<void>;
5
4
  export declare function subscribeToMarketingReturnSpendToGetRedemptionEvent(): Promise<void>;
6
5
  //# sourceMappingURL=event-listeners.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-listeners.d.ts","sourceRoot":"/","sources":["event/event-listeners/event-listeners.ts"],"names":[],"mappings":"AAeA,wBAAsB,0DAA0D,kBAI/E;AAgBD,wBAAsB,uCAAuC,kBA+D5D;AAED,wBAAsB,oCAAoC,kBAqDzD;AAED,wBAAsB,0CAA0C,kBAI/D;AAED,wBAAsB,mDAAmD,kBAIxE"}
1
+ {"version":3,"file":"event-listeners.d.ts","sourceRoot":"/","sources":["event/event-listeners/event-listeners.ts"],"names":[],"mappings":"AAcA,wBAAsB,0DAA0D,kBAI/E;AAgBD,wBAAsB,uCAAuC,kBA4D5D;AAED,wBAAsB,0CAA0C,kBAI/D;AAED,wBAAsB,mDAAmD,kBAIxE"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.subscribeToSyncAllProductsProductMarketingInfoProcessEvent = subscribeToSyncAllProductsProductMarketingInfoProcessEvent;
4
4
  exports.subscribeToMarketingEntireMenuSeedEvent = subscribeToMarketingEntireMenuSeedEvent;
5
- exports.subscribeToMarketingProductSyncEvent = subscribeToMarketingProductSyncEvent;
6
5
  exports.subscribeToMarketingReturnPunchCouponEvent = subscribeToMarketingReturnPunchCouponEvent;
7
6
  exports.subscribeToMarketingReturnSpendToGetRedemptionEvent = subscribeToMarketingReturnSpendToGetRedemptionEvent;
8
7
  const event_1 = require("@lyxa.ai/core/dist/libraries/event");
@@ -13,7 +12,6 @@ const typegoose_1 = require("@typegoose/typegoose");
13
12
  const mongo_stream_changes_batch_process_shops_event_1 = require("@lyxa.ai/core/dist/libraries/event/events/mongo-stream-changes-batch-process-shops-event");
14
13
  const events_common_methods_1 = require("@lyxa.ai/core/dist/utilities/events-common-methods");
15
14
  const marketing_product_seed_event_1 = require("../events/marketing-product-seed.event");
16
- const marketing_product_sync_event_1 = require("../events/marketing-product-sync.event");
17
15
  const services_2 = require("../../modules/punch-marketing-history/services");
18
16
  const spend_to_get_history_service_1 = require("../../modules/spend-to-get-history/spend-to-get-history.service");
19
17
  async function subscribeToSyncAllProductsProductMarketingInfoProcessEvent() {
@@ -34,43 +32,40 @@ const noRequeue = (label, handler) => async (payload) => {
34
32
  async function subscribeToMarketingEntireMenuSeedEvent() {
35
33
  await (0, event_1.subscribeToEvent)(marketing_product_seed_event_1.MARKETING_ENTIRE_MENU_SEED_EVENT, noRequeue('entire-menu-seed', async (payload) => {
36
34
  const logger = (0, core_1.getLibraries)().getLoggerKit();
37
- const { marketingId: mid, shopId: sid } = payload;
35
+ const { marketingId: mid, shopId: sid, page, pageSize } = payload;
38
36
  if (!typegoose_1.mongoose.isValidObjectId(mid) || !typegoose_1.mongoose.isValidObjectId(sid)) {
39
37
  logger.error('entire-menu seed: invalid ids — dropping message', null, {
40
38
  tag: 'marketing.seed.entire-menu',
41
- data: { marketingId: mid, shopId: sid },
39
+ data: { marketingId: mid, shopId: sid, page, pageSize },
42
40
  });
43
41
  return;
44
42
  }
45
43
  const marketingId = new typegoose_1.mongoose.Types.ObjectId(mid);
46
44
  const shopId = new typegoose_1.mongoose.Types.ObjectId(sid);
47
- const productIds = (payload.productIds ?? [])
48
- .filter(id => typegoose_1.mongoose.isValidObjectId(id))
49
- .map(id => new typegoose_1.mongoose.Types.ObjectId(id));
50
- if (!productIds.length)
51
- return;
52
45
  const MAX_ATTEMPTS = 3;
53
46
  let lastError;
54
47
  for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
55
48
  try {
56
- const upserted = await services_1.productMarketingService.upsertProductMarketingsForPage({
49
+ const productIds = await services_1.productMarketingService.upsertProductMarketingsForPage({
50
+ shop: shopId,
57
51
  marketingId,
58
- productIds,
52
+ page,
53
+ pageSize,
59
54
  isAppliedByCompany: payload.isAppliedByCompany,
60
55
  isBuy1Get1: payload.isBuy1Get1,
61
56
  value: payload.value,
62
57
  valueType: payload.valueType,
63
58
  });
64
- if (upserted.length) {
65
- await services_1.synchronizeProductMarketingService.syncProductMarketingInfoByProductIds(upserted);
59
+ if (productIds.length) {
60
+ await services_1.synchronizeProductMarketingService.syncProductMarketingInfoByProductIds(productIds);
66
61
  }
67
62
  (0, events_common_methods_1.publishSyncSingleShopSectionsInCacheProcessEvent)({
68
63
  shopId,
69
64
  operation: mongo_stream_changes_batch_process_shops_event_1.ChangeStreamOperationTypes.UPDATE,
70
65
  });
71
- logger.debug(`entire-menu seed done — ${upserted.length} products updated`, {
66
+ logger.debug(`page ${page} seeded — ${productIds.length} products updated`, {
72
67
  tag: 'marketing.seed.entire-menu',
73
- data: { marketingId: mid, shopId: sid, count: upserted.length },
68
+ data: { marketingId: mid, shopId: sid, page, count: productIds.length },
74
69
  });
75
70
  return;
76
71
  }
@@ -81,54 +76,9 @@ async function subscribeToMarketingEntireMenuSeedEvent() {
81
76
  }
82
77
  }
83
78
  }
84
- logger.error(`entire-menu seed failed after ${MAX_ATTEMPTS} attempts — manual reseed required`, lastError, {
79
+ logger.error(`page ${page} seed failed after ${MAX_ATTEMPTS} attempts — manual reseed required`, lastError, {
85
80
  tag: 'marketing.seed.entire-menu',
86
- data: { marketingId: mid, shopId: sid, count: productIds.length },
87
- });
88
- }));
89
- }
90
- async function subscribeToMarketingProductSyncEvent() {
91
- await (0, event_1.subscribeToEvent)(marketing_product_sync_event_1.MARKETING_PRODUCT_SYNC_EVENT, noRequeue('marketing-product-sync', async (payload) => {
92
- const logger = (0, core_1.getLibraries)().getLoggerKit();
93
- const { marketingId: mid, shopId: sid } = payload;
94
- if (!typegoose_1.mongoose.isValidObjectId(mid) || !typegoose_1.mongoose.isValidObjectId(sid)) {
95
- logger.error('marketing-product-sync: invalid ids — dropping message', null, {
96
- tag: 'marketing.product-sync',
97
- data: { marketingId: mid, shopId: sid },
98
- });
99
- return;
100
- }
101
- const shopId = new typegoose_1.mongoose.Types.ObjectId(sid);
102
- const productIds = (payload.productIds ?? [])
103
- .filter(id => typegoose_1.mongoose.isValidObjectId(id))
104
- .map(id => new typegoose_1.mongoose.Types.ObjectId(id));
105
- if (!productIds.length)
106
- return;
107
- const MAX_ATTEMPTS = 3;
108
- let lastError;
109
- for (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
110
- try {
111
- await services_1.synchronizeProductMarketingService.syncProductMarketingInfoByProductIds(productIds);
112
- (0, events_common_methods_1.publishSyncSingleShopSectionsInCacheProcessEvent)({
113
- shopId,
114
- operation: mongo_stream_changes_batch_process_shops_event_1.ChangeStreamOperationTypes.UPDATE,
115
- });
116
- logger.debug(`marketing-product-sync done — ${productIds.length} products`, {
117
- tag: 'marketing.product-sync',
118
- data: { marketingId: mid, shopId: sid, count: productIds.length },
119
- });
120
- return;
121
- }
122
- catch (error) {
123
- lastError = error;
124
- if (attempt < MAX_ATTEMPTS) {
125
- await new Promise(resolve => setTimeout(resolve, 2000 * attempt));
126
- }
127
- }
128
- }
129
- logger.error(`marketing-product-sync failed after ${MAX_ATTEMPTS} attempts`, lastError, {
130
- tag: 'marketing.product-sync',
131
- data: { marketingId: mid, shopId: sid, count: productIds.length },
81
+ data: { marketingId: mid, shopId: sid, page, pageSize },
132
82
  });
133
83
  }));
134
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"event-listeners.js","sourceRoot":"/","sources":["event/event-listeners/event-listeners.ts"],"names":[],"mappings":"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","sourcesContent":["import { subscribeToEvent } from '@lyxa.ai/core/dist/libraries/event';\nimport { getLibraries } from '@lyxa.ai/core';\nimport { productMarketingService, synchronizeProductMarketingService } from '@modules/marketing/services';\nimport { PublishEventEnums } from '@lyxa.ai/core/dist/libraries/event/EventEnums';\nimport { mongoose } from '@typegoose/typegoose';\nimport { ChangeStreamOperationTypes } from '@lyxa.ai/core/dist/libraries/event/events/mongo-stream-changes-batch-process-shops-event';\nimport { publishSyncSingleShopSectionsInCacheProcessEvent } from '@lyxa.ai/core/dist/utilities/events-common-methods';\nimport {\n\tMARKETING_ENTIRE_MENU_SEED_EVENT,\n\tMarketingProductSeedPayload,\n} from '../events/marketing-product-seed.event';\nimport { MARKETING_PRODUCT_SYNC_EVENT, MarketingProductSyncPayload } from '../events/marketing-product-sync.event';\nimport { punchMarketingHistoryService } from '@modules/punch-marketing-history/services';\nimport { spendToGetHistoryService } from '@modules/spend-to-get-history/spend-to-get-history.service';\n\nexport async function subscribeToSyncAllProductsProductMarketingInfoProcessEvent() {\n\tawait subscribeToEvent(PublishEventEnums.SYNC_ALL_PRODUCTS_PRODUCT_MARKETING_INFO_EVENT, async payload => {\n\t\tsynchronizeProductMarketingService.processAllProductsProductMarketingInfoEvent(payload);\n\t});\n}\n\n// subscribeToEvent nacks with requeue=true on a thrown handler, so a failing message\n// bounces back to the queue forever. Swallow throws here -> handler returns -> message acked.\nconst noRequeue =\n\t<T>(label: string, handler: (payload: T) => Promise<void>) =>\n\tasync (payload: T): Promise<void> => {\n\t\ttry {\n\t\t\tawait handler(payload);\n\t\t} catch (err) {\n\t\t\tgetLibraries().getLoggerKit().error(`${label}: handler failed — dropping (no requeue)`, err, {\n\t\t\t\ttag: 'event.no-requeue',\n\t\t\t});\n\t\t}\n\t};\n\nexport async function subscribeToMarketingEntireMenuSeedEvent() {\n\tawait subscribeToEvent(MARKETING_ENTIRE_MENU_SEED_EVENT, noRequeue('entire-menu-seed', async (payload: MarketingProductSeedPayload) => {\n\t\tconst logger = getLibraries().getLoggerKit();\n\t\tconst { marketingId: mid, shopId: sid } = payload;\n\n\t\tif (!mongoose.isValidObjectId(mid) || !mongoose.isValidObjectId(sid)) {\n\t\t\tlogger.error('entire-menu seed: invalid ids — dropping message', null, {\n\t\t\t\ttag: 'marketing.seed.entire-menu',\n\t\t\t\tdata: { marketingId: mid, shopId: sid },\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst marketingId = new mongoose.Types.ObjectId(mid);\n\t\tconst shopId = new mongoose.Types.ObjectId(sid);\n\t\tconst productIds = (payload.productIds ?? [])\n\t\t\t.filter(id => mongoose.isValidObjectId(id))\n\t\t\t.map(id => new mongoose.Types.ObjectId(id));\n\n\t\tif (!productIds.length) return;\n\n\t\tconst MAX_ATTEMPTS = 3;\n\t\tlet lastError: unknown;\n\n\t\tfor (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {\n\t\t\ttry {\n\t\t\t\tconst upserted = await productMarketingService.upsertProductMarketingsForPage({\n\t\t\t\t\tmarketingId,\n\t\t\t\t\tproductIds,\n\t\t\t\t\tisAppliedByCompany: payload.isAppliedByCompany,\n\t\t\t\t\tisBuy1Get1: payload.isBuy1Get1,\n\t\t\t\t\tvalue: payload.value,\n\t\t\t\t\tvalueType: payload.valueType,\n\t\t\t\t});\n\n\t\t\t\tif (upserted.length) {\n\t\t\t\t\tawait synchronizeProductMarketingService.syncProductMarketingInfoByProductIds(upserted);\n\t\t\t\t}\n\n\t\t\t\tpublishSyncSingleShopSectionsInCacheProcessEvent({\n\t\t\t\t\tshopId,\n\t\t\t\t\toperation: ChangeStreamOperationTypes.UPDATE,\n\t\t\t\t});\n\n\t\t\t\tlogger.debug(`entire-menu seed done — ${upserted.length} products updated`, {\n\t\t\t\t\ttag: 'marketing.seed.entire-menu',\n\t\t\t\t\tdata: { marketingId: mid, shopId: sid, count: upserted.length },\n\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t} catch (error) {\n\t\t\t\tlastError = error;\n\t\t\t\tif (attempt < MAX_ATTEMPTS) {\n\t\t\t\t\tawait new Promise(resolve => setTimeout(resolve, 2000 * attempt));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlogger.error(`entire-menu seed failed after ${MAX_ATTEMPTS} attempts — manual reseed required`, lastError, {\n\t\t\ttag: 'marketing.seed.entire-menu',\n\t\t\tdata: { marketingId: mid, shopId: sid, count: productIds.length },\n\t\t});\n\t}));\n}\n\nexport async function subscribeToMarketingProductSyncEvent() {\n\tawait subscribeToEvent(\n\t\tMARKETING_PRODUCT_SYNC_EVENT,\n\t\tnoRequeue('marketing-product-sync', async (payload: MarketingProductSyncPayload) => {\n\t\t\tconst logger = getLibraries().getLoggerKit();\n\t\t\tconst { marketingId: mid, shopId: sid } = payload;\n\n\t\t\tif (!mongoose.isValidObjectId(mid) || !mongoose.isValidObjectId(sid)) {\n\t\t\t\tlogger.error('marketing-product-sync: invalid ids — dropping message', null, {\n\t\t\t\t\ttag: 'marketing.product-sync',\n\t\t\t\t\tdata: { marketingId: mid, shopId: sid },\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst shopId = new mongoose.Types.ObjectId(sid);\n\t\t\tconst productIds = (payload.productIds ?? [])\n\t\t\t\t.filter(id => mongoose.isValidObjectId(id))\n\t\t\t\t.map(id => new mongoose.Types.ObjectId(id));\n\n\t\t\tif (!productIds.length) return;\n\n\t\t\tconst MAX_ATTEMPTS = 3;\n\t\t\tlet lastError: unknown;\n\n\t\t\tfor (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {\n\t\t\t\ttry {\n\t\t\t\t\tawait synchronizeProductMarketingService.syncProductMarketingInfoByProductIds(productIds);\n\n\t\t\t\t\tpublishSyncSingleShopSectionsInCacheProcessEvent({\n\t\t\t\t\t\tshopId,\n\t\t\t\t\t\toperation: ChangeStreamOperationTypes.UPDATE,\n\t\t\t\t\t});\n\n\t\t\t\t\tlogger.debug(`marketing-product-sync done — ${productIds.length} products`, {\n\t\t\t\t\t\ttag: 'marketing.product-sync',\n\t\t\t\t\t\tdata: { marketingId: mid, shopId: sid, count: productIds.length },\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tlastError = error;\n\t\t\t\t\tif (attempt < MAX_ATTEMPTS) {\n\t\t\t\t\t\tawait new Promise(resolve => setTimeout(resolve, 2000 * attempt));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlogger.error(`marketing-product-sync failed after ${MAX_ATTEMPTS} attempts`, lastError, {\n\t\t\t\ttag: 'marketing.product-sync',\n\t\t\t\tdata: { marketingId: mid, shopId: sid, count: productIds.length },\n\t\t\t});\n\t\t})\n\t);\n}\n\nexport async function subscribeToMarketingReturnPunchCouponEvent() {\n\tawait subscribeToEvent(PublishEventEnums.MARKETING_RETURN_PUNCH_COUPON_EVENT, async payload => {\n\t\tpunchMarketingHistoryService.returnPunchCoupon(payload.orderId);\n\t});\n}\n\nexport async function subscribeToMarketingReturnSpendToGetRedemptionEvent() {\n\tawait subscribeToEvent(PublishEventEnums.MARKETING_RETURN_SPEND_TO_GET_REDEMPTION_EVENT, async payload => {\n\t\tspendToGetHistoryService.returnRedemption(payload.orderId);\n\t});\n}\n"]}
1
+ {"version":3,"file":"event-listeners.js","sourceRoot":"/","sources":["event/event-listeners/event-listeners.ts"],"names":[],"mappings":"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","sourcesContent":["import { subscribeToEvent } from '@lyxa.ai/core/dist/libraries/event';\nimport { getLibraries } from '@lyxa.ai/core';\nimport { productMarketingService, synchronizeProductMarketingService } from '@modules/marketing/services';\nimport { PublishEventEnums } from '@lyxa.ai/core/dist/libraries/event/EventEnums';\nimport { mongoose } from '@typegoose/typegoose';\nimport { ChangeStreamOperationTypes } from '@lyxa.ai/core/dist/libraries/event/events/mongo-stream-changes-batch-process-shops-event';\nimport { publishSyncSingleShopSectionsInCacheProcessEvent } from '@lyxa.ai/core/dist/utilities/events-common-methods';\nimport {\n\tMARKETING_ENTIRE_MENU_SEED_EVENT,\n\tMarketingProductSeedPayload,\n} from '../events/marketing-product-seed.event';\nimport { punchMarketingHistoryService } from '@modules/punch-marketing-history/services';\nimport { spendToGetHistoryService } from '@modules/spend-to-get-history/spend-to-get-history.service';\n\nexport async function subscribeToSyncAllProductsProductMarketingInfoProcessEvent() {\n\tawait subscribeToEvent(PublishEventEnums.SYNC_ALL_PRODUCTS_PRODUCT_MARKETING_INFO_EVENT, async payload => {\n\t\tsynchronizeProductMarketingService.processAllProductsProductMarketingInfoEvent(payload);\n\t});\n}\n\n// subscribeToEvent nacks with requeue=true on a thrown handler, so a failing message\n// bounces back to the queue forever. Swallow throws here -> handler returns -> message acked.\nconst noRequeue =\n\t<T>(label: string, handler: (payload: T) => Promise<void>) =>\n\tasync (payload: T): Promise<void> => {\n\t\ttry {\n\t\t\tawait handler(payload);\n\t\t} catch (err) {\n\t\t\tgetLibraries().getLoggerKit().error(`${label}: handler failed — dropping (no requeue)`, err, {\n\t\t\t\ttag: 'event.no-requeue',\n\t\t\t});\n\t\t}\n\t};\n\nexport async function subscribeToMarketingEntireMenuSeedEvent() {\n\tawait subscribeToEvent(MARKETING_ENTIRE_MENU_SEED_EVENT, noRequeue('entire-menu-seed', async (payload: MarketingProductSeedPayload) => {\n\t\tconst logger = getLibraries().getLoggerKit();\n\t\tconst { marketingId: mid, shopId: sid, page, pageSize } = payload;\n\n\t\tif (!mongoose.isValidObjectId(mid) || !mongoose.isValidObjectId(sid)) {\n\t\t\tlogger.error('entire-menu seed: invalid ids — dropping message', null, {\n\t\t\t\ttag: 'marketing.seed.entire-menu',\n\t\t\t\tdata: { marketingId: mid, shopId: sid, page, pageSize },\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst marketingId = new mongoose.Types.ObjectId(mid);\n\t\tconst shopId = new mongoose.Types.ObjectId(sid);\n\n\t\tconst MAX_ATTEMPTS = 3;\n\t\tlet lastError: unknown;\n\n\t\tfor (let attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {\n\t\t\ttry {\n\t\t\t\tconst productIds = await productMarketingService.upsertProductMarketingsForPage({\n\t\t\t\t\tshop: shopId,\n\t\t\t\t\tmarketingId,\n\t\t\t\t\tpage,\n\t\t\t\t\tpageSize,\n\t\t\t\t\tisAppliedByCompany: payload.isAppliedByCompany,\n\t\t\t\t\tisBuy1Get1: payload.isBuy1Get1,\n\t\t\t\t\tvalue: payload.value,\n\t\t\t\t\tvalueType: payload.valueType,\n\t\t\t\t});\n\n\t\t\t\tif (productIds.length) {\n\t\t\t\t\tawait synchronizeProductMarketingService.syncProductMarketingInfoByProductIds(productIds);\n\t\t\t\t}\n\n\t\t\t\tpublishSyncSingleShopSectionsInCacheProcessEvent({\n\t\t\t\t\tshopId,\n\t\t\t\t\toperation: ChangeStreamOperationTypes.UPDATE,\n\t\t\t\t});\n\n\t\t\t\tlogger.debug(`page ${page} seeded — ${productIds.length} products updated`, {\n\t\t\t\t\ttag: 'marketing.seed.entire-menu',\n\t\t\t\t\tdata: { marketingId: mid, shopId: sid, page, count: productIds.length },\n\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t} catch (error) {\n\t\t\t\tlastError = error;\n\t\t\t\tif (attempt < MAX_ATTEMPTS) {\n\t\t\t\t\tawait new Promise(resolve => setTimeout(resolve, 2000 * attempt));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlogger.error(`page ${page} seed failed after ${MAX_ATTEMPTS} attempts — manual reseed required`, lastError, {\n\t\t\ttag: 'marketing.seed.entire-menu',\n\t\t\tdata: { marketingId: mid, shopId: sid, page, pageSize },\n\t\t});\n\t}));\n}\n\nexport async function subscribeToMarketingReturnPunchCouponEvent() {\n\tawait subscribeToEvent(PublishEventEnums.MARKETING_RETURN_PUNCH_COUPON_EVENT, async payload => {\n\t\tpunchMarketingHistoryService.returnPunchCoupon(payload.orderId);\n\t});\n}\n\nexport async function subscribeToMarketingReturnSpendToGetRedemptionEvent() {\n\tawait subscribeToEvent(PublishEventEnums.MARKETING_RETURN_SPEND_TO_GET_REDEMPTION_EVENT, async payload => {\n\t\tspendToGetHistoryService.returnRedemption(payload.orderId);\n\t});\n}\n"]}
@@ -6,7 +6,8 @@ export interface MarketingProductSeedPayload {
6
6
  shopId: string;
7
7
  isAppliedByCompany: boolean;
8
8
  isBuy1Get1: boolean;
9
- productIds: string[];
9
+ page: number;
10
+ pageSize: number;
10
11
  value?: number;
11
12
  valueType?: ValueType;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"marketing-product-seed.event.d.ts","sourceRoot":"/","sources":["event/events/marketing-product-seed.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,eAAO,MAAM,gCAAgC,qCAAqC,CAAC;AAEnF,MAAM,WAAW,2BAA2B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,qBAAa,4BAA6B,SAAQ,SAAS,CAAC,2BAA2B,CAAC;gBAC3E,OAAO,EAAE,2BAA2B;CAGhD"}
1
+ {"version":3,"file":"marketing-product-seed.event.d.ts","sourceRoot":"/","sources":["event/events/marketing-product-seed.event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,eAAO,MAAM,gCAAgC,qCAAqC,CAAC;AAEnF,MAAM,WAAW,2BAA2B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,qBAAa,4BAA6B,SAAQ,SAAS,CAAC,2BAA2B,CAAC;gBAC3E,OAAO,EAAE,2BAA2B;CAGhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"marketing-product-seed.event.js","sourceRoot":"/","sources":["event/events/marketing-product-seed.event.ts"],"names":[],"mappings":";;;AAAA,4EAAyE;AAG5D,QAAA,gCAAgC,GAAG,kCAAkC,CAAC;AAYnF,MAAa,4BAA6B,SAAQ,qBAAsC;IACvF,YAAY,OAAoC;QAC/C,KAAK,CAAC,wCAAgC,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACD;AAJD,oEAIC","sourcesContent":["import { BaseEvent } from '@lyxa.ai/core/dist/libraries/event/BaseEvent';\nimport { ValueType } from '@lyxa.ai/core/dist/utilities/enum';\n\nexport const MARKETING_ENTIRE_MENU_SEED_EVENT = 'marketing_entire_menu_seed_event';\n\nexport interface MarketingProductSeedPayload {\n\tmarketingId: string;\n\tshopId: string;\n\tisAppliedByCompany: boolean;\n\tisBuy1Get1: boolean;\n\tproductIds: string[];\n\tvalue?: number;\n\tvalueType?: ValueType;\n}\n\nexport class MarketingEntireMenuSeedEvent extends BaseEvent<MarketingProductSeedPayload> {\n\tconstructor(payload: MarketingProductSeedPayload) {\n\t\tsuper(MARKETING_ENTIRE_MENU_SEED_EVENT, payload);\n\t}\n}\n"]}
1
+ {"version":3,"file":"marketing-product-seed.event.js","sourceRoot":"/","sources":["event/events/marketing-product-seed.event.ts"],"names":[],"mappings":";;;AAAA,4EAAyE;AAG5D,QAAA,gCAAgC,GAAG,kCAAkC,CAAC;AAanF,MAAa,4BAA6B,SAAQ,qBAAsC;IACvF,YAAY,OAAoC;QAC/C,KAAK,CAAC,wCAAgC,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;CACD;AAJD,oEAIC","sourcesContent":["import { BaseEvent } from '@lyxa.ai/core/dist/libraries/event/BaseEvent';\nimport { ValueType } from '@lyxa.ai/core/dist/utilities/enum';\n\nexport const MARKETING_ENTIRE_MENU_SEED_EVENT = 'marketing_entire_menu_seed_event';\n\nexport interface MarketingProductSeedPayload {\n\tmarketingId: string;\n\tshopId: string;\n\tisAppliedByCompany: boolean;\n\tisBuy1Get1: boolean;\n\tpage: number;\n\tpageSize: number;\n\tvalue?: number;\n\tvalueType?: ValueType;\n}\n\nexport class MarketingEntireMenuSeedEvent extends BaseEvent<MarketingProductSeedPayload> {\n\tconstructor(payload: MarketingProductSeedPayload) {\n\t\tsuper(MARKETING_ENTIRE_MENU_SEED_EVENT, payload);\n\t}\n}\n"]}