@lyxa.ai/marketing 1.0.59 → 1.0.61

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 (233) hide show
  1. package/dist/lib/event/event-initializations.d.ts.map +1 -1
  2. package/dist/lib/event/event-initializations.js +1 -0
  3. package/dist/lib/event/event-initializations.js.map +1 -1
  4. package/dist/lib/event/event-listeners/event-listeners.d.ts +1 -0
  5. package/dist/lib/event/event-listeners/event-listeners.d.ts.map +1 -1
  6. package/dist/lib/event/event-listeners/event-listeners.js +7 -0
  7. package/dist/lib/event/event-listeners/event-listeners.js.map +1 -1
  8. package/dist/lib/index.d.ts +303 -19
  9. package/dist/lib/index.d.ts.map +1 -1
  10. package/dist/lib/index.js +2 -0
  11. package/dist/lib/index.js.map +1 -1
  12. package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +12 -12
  13. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts +2 -0
  14. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts.map +1 -1
  15. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.js +22 -3
  16. package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.js.map +1 -1
  17. package/dist/lib/modules/limited-time-offer/limited-time-offer.router.d.ts +18 -18
  18. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +14 -1
  19. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts.map +1 -1
  20. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.js +15 -0
  21. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.js.map +1 -1
  22. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts +18 -18
  23. package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +57 -57
  24. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts.map +1 -1
  25. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.js +15 -5
  26. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.js.map +1 -1
  27. package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts +1 -1
  28. package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts +1 -0
  29. package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts.map +1 -1
  30. package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js +29 -0
  31. package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js.map +1 -1
  32. package/dist/lib/modules/marketing/routers/marketing.router.d.ts +14 -0
  33. package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  34. package/dist/lib/modules/marketing/routers/marketing.router.js +5 -0
  35. package/dist/lib/modules/marketing/routers/marketing.router.js.map +1 -1
  36. package/dist/lib/modules/marketing/services/index.d.ts +3 -0
  37. package/dist/lib/modules/marketing/services/index.d.ts.map +1 -1
  38. package/dist/lib/modules/marketing/services/index.js +3 -0
  39. package/dist/lib/modules/marketing/services/index.js.map +1 -1
  40. package/dist/lib/modules/marketing/services/marketing-conflict.repository.d.ts +9 -0
  41. package/dist/lib/modules/marketing/services/marketing-conflict.repository.d.ts.map +1 -0
  42. package/dist/lib/modules/marketing/services/marketing-conflict.repository.js +63 -0
  43. package/dist/lib/modules/marketing/services/marketing-conflict.repository.js.map +1 -0
  44. package/dist/lib/modules/marketing/services/marketing-conflict.service.d.ts +27 -0
  45. package/dist/lib/modules/marketing/services/marketing-conflict.service.d.ts.map +1 -0
  46. package/dist/lib/modules/marketing/services/marketing-conflict.service.js +135 -0
  47. package/dist/lib/modules/marketing/services/marketing-conflict.service.js.map +1 -0
  48. package/dist/lib/modules/marketing/services/marketing.service.d.ts +6 -2
  49. package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
  50. package/dist/lib/modules/marketing/services/marketing.service.js +39 -7
  51. package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
  52. package/dist/lib/modules/marketing/services/spend-to-get-marketing.repository.d.ts +14 -0
  53. package/dist/lib/modules/marketing/services/spend-to-get-marketing.repository.d.ts.map +1 -0
  54. package/dist/lib/modules/marketing/services/spend-to-get-marketing.repository.js +82 -0
  55. package/dist/lib/modules/marketing/services/spend-to-get-marketing.repository.js.map +1 -0
  56. package/dist/lib/modules/marketing/services/spend-to-get-marketing.service.d.ts +11 -0
  57. package/dist/lib/modules/marketing/services/spend-to-get-marketing.service.d.ts.map +1 -0
  58. package/dist/lib/modules/marketing/services/spend-to-get-marketing.service.js +99 -0
  59. package/dist/lib/modules/marketing/services/spend-to-get-marketing.service.js.map +1 -0
  60. package/dist/lib/modules/marketing/services/spend-to-get-progress.repository.d.ts +9 -0
  61. package/dist/lib/modules/marketing/services/spend-to-get-progress.repository.d.ts.map +1 -0
  62. package/dist/lib/modules/marketing/services/spend-to-get-progress.repository.js +69 -0
  63. package/dist/lib/modules/marketing/services/spend-to-get-progress.repository.js.map +1 -0
  64. package/dist/lib/modules/marketing/services/spend-to-get-progress.service.d.ts +31 -0
  65. package/dist/lib/modules/marketing/services/spend-to-get-progress.service.d.ts.map +1 -0
  66. package/dist/lib/modules/marketing/services/spend-to-get-progress.service.js +123 -0
  67. package/dist/lib/modules/marketing/services/spend-to-get-progress.service.js.map +1 -0
  68. package/dist/lib/modules/marketing/validations/all-marketings.validation.d.ts.map +1 -1
  69. package/dist/lib/modules/marketing/validations/all-marketings.validation.js +3 -0
  70. package/dist/lib/modules/marketing/validations/all-marketings.validation.js.map +1 -1
  71. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +3 -3
  72. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +3 -3
  73. package/dist/lib/modules/marketing/validations/index.d.ts +1 -0
  74. package/dist/lib/modules/marketing/validations/index.d.ts.map +1 -1
  75. package/dist/lib/modules/marketing/validations/index.js +1 -0
  76. package/dist/lib/modules/marketing/validations/index.js.map +1 -1
  77. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts +17 -0
  78. package/dist/lib/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
  79. package/dist/lib/modules/marketing/validations/marketing.validation.js +7 -1
  80. package/dist/lib/modules/marketing/validations/marketing.validation.js.map +1 -1
  81. package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts +2 -2
  82. package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.d.ts +617 -0
  83. package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.d.ts.map +1 -0
  84. package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.js +119 -0
  85. package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.js.map +1 -0
  86. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +1 -1
  87. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +2 -2
  88. package/dist/lib/modules/spend-to-get-history/routers/index.d.ts +2 -0
  89. package/dist/lib/modules/spend-to-get-history/routers/index.d.ts.map +1 -0
  90. package/dist/lib/modules/spend-to-get-history/routers/index.js +18 -0
  91. package/dist/lib/modules/spend-to-get-history/routers/index.js.map +1 -0
  92. package/dist/lib/modules/spend-to-get-history/routers/spend-to-get-history.router.js +62 -0
  93. package/dist/lib/modules/spend-to-get-history/routers/spend-to-get-history.router.js.map +1 -0
  94. package/dist/lib/modules/spend-to-get-history/services/index.d.ts +2 -0
  95. package/dist/lib/modules/spend-to-get-history/services/index.d.ts.map +1 -0
  96. package/dist/lib/modules/spend-to-get-history/services/index.js +18 -0
  97. package/dist/lib/modules/spend-to-get-history/services/index.js.map +1 -0
  98. package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts +24 -0
  99. package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts.map +1 -0
  100. package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.js +136 -0
  101. package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.js.map +1 -0
  102. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.d.ts +24 -0
  103. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.d.ts.map +1 -0
  104. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.js +97 -0
  105. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.js.map +1 -0
  106. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.d.ts +271 -0
  107. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.d.ts.map +1 -0
  108. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.js +62 -0
  109. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.js.map +1 -0
  110. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.d.ts +24 -0
  111. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.d.ts.map +1 -0
  112. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.js +116 -0
  113. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.js.map +1 -0
  114. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.d.ts +232 -0
  115. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.d.ts.map +1 -0
  116. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.js +30 -0
  117. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.js.map +1 -0
  118. package/dist/lib/modules/spend-to-get-history/validations/index.d.ts +2 -0
  119. package/dist/lib/modules/spend-to-get-history/validations/index.d.ts.map +1 -0
  120. package/dist/lib/modules/spend-to-get-history/validations/index.js +18 -0
  121. package/dist/lib/modules/spend-to-get-history/validations/index.js.map +1 -0
  122. package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts +232 -0
  123. package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts.map +1 -0
  124. package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.js +30 -0
  125. package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.js.map +1 -0
  126. package/dist/lib/modules/tournament/match/events/match-ended.consumer.d.ts +2 -0
  127. package/dist/lib/modules/tournament/match/events/match-ended.consumer.d.ts.map +1 -0
  128. package/dist/lib/modules/tournament/match/events/match-ended.consumer.js +15 -0
  129. package/dist/lib/modules/tournament/match/events/match-ended.consumer.js.map +1 -0
  130. package/dist/lib/modules/tournament/match/events/match-ended.event.d.ts +14 -0
  131. package/dist/lib/modules/tournament/match/events/match-ended.event.d.ts.map +1 -0
  132. package/dist/lib/modules/tournament/match/events/match-ended.event.js +12 -0
  133. package/dist/lib/modules/tournament/match/events/match-ended.event.js.map +1 -0
  134. package/dist/lib/modules/tournament/notification/jobs/notification.producer.d.ts +10 -0
  135. package/dist/lib/modules/tournament/notification/jobs/notification.producer.d.ts.map +1 -0
  136. package/dist/lib/modules/tournament/notification/jobs/notification.producer.js +23 -0
  137. package/dist/lib/modules/tournament/notification/jobs/notification.producer.js.map +1 -0
  138. package/dist/lib/modules/tournament/notification/jobs/notification.worker.d.ts +9 -0
  139. package/dist/lib/modules/tournament/notification/jobs/notification.worker.d.ts.map +1 -0
  140. package/dist/lib/modules/tournament/notification/jobs/notification.worker.js +82 -0
  141. package/dist/lib/modules/tournament/notification/jobs/notification.worker.js.map +1 -0
  142. package/dist/lib/modules/tournament/notification/notification.schedule.config.d.ts +10 -0
  143. package/dist/lib/modules/tournament/notification/notification.schedule.config.d.ts.map +1 -0
  144. package/dist/lib/modules/tournament/notification/notification.schedule.config.js +15 -0
  145. package/dist/lib/modules/tournament/notification/notification.schedule.config.js.map +1 -0
  146. package/dist/lib/modules/tournament/notification/notification.scheduler.service.d.ts +10 -0
  147. package/dist/lib/modules/tournament/notification/notification.scheduler.service.d.ts.map +1 -0
  148. package/dist/lib/modules/tournament/notification/notification.scheduler.service.js +73 -0
  149. package/dist/lib/modules/tournament/notification/notification.scheduler.service.js.map +1 -0
  150. package/dist/types/event/event-initializations.d.ts.map +1 -1
  151. package/dist/types/event/event-listeners/event-listeners.d.ts +1 -0
  152. package/dist/types/event/event-listeners/event-listeners.d.ts.map +1 -1
  153. package/dist/types/events/event-initializations.d.ts +2 -0
  154. package/dist/types/events/event-initializations.d.ts.map +1 -0
  155. package/dist/types/index.d.ts +303 -19
  156. package/dist/types/index.d.ts.map +1 -1
  157. package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +12 -12
  158. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts +2 -0
  159. package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts.map +1 -1
  160. package/dist/types/modules/limited-time-offer/limited-time-offer.router.d.ts +18 -18
  161. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +14 -1
  162. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts.map +1 -1
  163. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts +18 -18
  164. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts +1 -0
  165. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts.map +1 -0
  166. package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +57 -57
  167. package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts.map +1 -1
  168. package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts +1 -1
  169. package/dist/types/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts +1 -0
  170. package/dist/types/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts.map +1 -1
  171. package/dist/types/modules/marketing/routers/marketing.router.d.ts +14 -0
  172. package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  173. package/dist/types/modules/marketing/services/index.d.ts +3 -0
  174. package/dist/types/modules/marketing/services/index.d.ts.map +1 -1
  175. package/dist/types/modules/marketing/services/marketing-conflict.repository.d.ts +9 -0
  176. package/dist/types/modules/marketing/services/marketing-conflict.repository.d.ts.map +1 -0
  177. package/dist/types/modules/marketing/services/marketing-conflict.service.d.ts +41 -0
  178. package/dist/types/modules/marketing/services/marketing-conflict.service.d.ts.map +1 -0
  179. package/dist/types/modules/marketing/services/marketing.service.d.ts +6 -2
  180. package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
  181. package/dist/types/modules/marketing/services/spend-to-get-marketing.repository.d.ts +14 -0
  182. package/dist/types/modules/marketing/services/spend-to-get-marketing.repository.d.ts.map +1 -0
  183. package/dist/types/modules/marketing/services/spend-to-get-marketing.service.d.ts +20 -0
  184. package/dist/types/modules/marketing/services/spend-to-get-marketing.service.d.ts.map +1 -0
  185. package/dist/types/modules/marketing/services/spend-to-get-progress.repository.d.ts +9 -0
  186. package/dist/types/modules/marketing/services/spend-to-get-progress.repository.d.ts.map +1 -0
  187. package/dist/types/modules/marketing/services/spend-to-get-progress.service.d.ts +37 -0
  188. package/dist/types/modules/marketing/services/spend-to-get-progress.service.d.ts.map +1 -0
  189. package/dist/types/modules/marketing/validations/all-marketings.validation.d.ts.map +1 -1
  190. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +3 -3
  191. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +3 -3
  192. package/dist/types/modules/marketing/validations/index.d.ts +1 -0
  193. package/dist/types/modules/marketing/validations/index.d.ts.map +1 -1
  194. package/dist/types/modules/marketing/validations/marketing.validation.d.ts +17 -0
  195. package/dist/types/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
  196. package/dist/types/modules/marketing/validations/product-marketing.validation.d.ts +2 -2
  197. package/dist/types/modules/marketing/validations/spend-to-get-marketing.validation.d.ts +630 -0
  198. package/dist/types/modules/marketing/validations/spend-to-get-marketing.validation.d.ts.map +1 -0
  199. package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +1 -1
  200. package/dist/types/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +2 -2
  201. package/dist/types/modules/spend-to-get-history/routers/index.d.ts +2 -0
  202. package/dist/types/modules/spend-to-get-history/routers/index.d.ts.map +1 -0
  203. package/dist/types/modules/spend-to-get-history/services/index.d.ts +2 -0
  204. package/dist/types/modules/spend-to-get-history/services/index.d.ts.map +1 -0
  205. package/dist/types/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts +56 -0
  206. package/dist/types/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts.map +1 -0
  207. package/dist/types/modules/spend-to-get-history/spend-to-get-history.repository.d.ts +24 -0
  208. package/dist/types/modules/spend-to-get-history/spend-to-get-history.repository.d.ts.map +1 -0
  209. package/dist/types/modules/spend-to-get-history/spend-to-get-history.router.d.ts +271 -0
  210. package/dist/types/modules/spend-to-get-history/spend-to-get-history.router.d.ts.map +1 -0
  211. package/dist/types/modules/spend-to-get-history/spend-to-get-history.service.d.ts +56 -0
  212. package/dist/types/modules/spend-to-get-history/spend-to-get-history.service.d.ts.map +1 -0
  213. package/dist/types/modules/spend-to-get-history/spend-to-get-history.validation.d.ts +241 -0
  214. package/dist/types/modules/spend-to-get-history/spend-to-get-history.validation.d.ts.map +1 -0
  215. package/dist/types/modules/spend-to-get-history/validations/index.d.ts +2 -0
  216. package/dist/types/modules/spend-to-get-history/validations/index.d.ts.map +1 -0
  217. package/dist/types/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts +241 -0
  218. package/dist/types/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts.map +1 -0
  219. package/dist/types/modules/tournament/config/tournament-config.validation.d.ts +201 -0
  220. package/dist/types/modules/tournament/config/tournament-config.validation.d.ts.map +1 -0
  221. package/dist/types/modules/tournament/match/events/match-ended.consumer.d.ts +2 -0
  222. package/dist/types/modules/tournament/match/events/match-ended.consumer.d.ts.map +1 -0
  223. package/dist/types/modules/tournament/match/events/match-ended.event.d.ts +14 -0
  224. package/dist/types/modules/tournament/match/events/match-ended.event.d.ts.map +1 -0
  225. package/dist/types/modules/tournament/notification/jobs/notification.producer.d.ts +10 -0
  226. package/dist/types/modules/tournament/notification/jobs/notification.producer.d.ts.map +1 -0
  227. package/dist/types/modules/tournament/notification/jobs/notification.worker.d.ts +9 -0
  228. package/dist/types/modules/tournament/notification/jobs/notification.worker.d.ts.map +1 -0
  229. package/dist/types/modules/tournament/notification/notification.schedule.config.d.ts +10 -0
  230. package/dist/types/modules/tournament/notification/notification.schedule.config.d.ts.map +1 -0
  231. package/dist/types/modules/tournament/notification/notification.scheduler.service.d.ts +10 -0
  232. package/dist/types/modules/tournament/notification/notification.scheduler.service.d.ts.map +1 -0
  233. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"event-initializations.d.ts","sourceRoot":"/","sources":["event/event-initializations.ts"],"names":[],"mappings":"AASA,wBAAsB,kBAAkB,kBAOvC"}
1
+ {"version":3,"file":"event-initializations.d.ts","sourceRoot":"/","sources":["event/event-initializations.ts"],"names":[],"mappings":"AAUA,wBAAsB,kBAAkB,kBAQvC"}
@@ -9,6 +9,7 @@ async function initEventListeners() {
9
9
  await (0, event_listeners_1.subscribeToMarketingEntireMenuSeedEvent)();
10
10
  await (0, event_listeners_1.subscribeToMarketingProductSyncEvent)();
11
11
  await (0, event_listeners_1.subscribeToMarketingReturnPunchCouponEvent)();
12
+ await (0, event_listeners_1.subscribeToMarketingReturnSpendToGetRedemptionEvent)();
12
13
  await (0, evaluate_predictions_consumer_1.EvaluatePredictionsConsumer)();
13
14
  await (0, jobs_1.startBullMQWorkers)();
14
15
  }
@@ -1 +1 @@
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,sDAAoC,GAAE,CAAC;IAC7C,MAAM,IAAA,4DAA0C,GAAE,CAAC;IACnD,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} 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 EvaluatePredictionsConsumer();\n await startBullMQWorkers();\n}\n"]}
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"]}
@@ -2,4 +2,5 @@ export declare function subscribeToSyncAllProductsProductMarketingInfoProcessEve
2
2
  export declare function subscribeToMarketingEntireMenuSeedEvent(): Promise<void>;
3
3
  export declare function subscribeToMarketingProductSyncEvent(): Promise<void>;
4
4
  export declare function subscribeToMarketingReturnPunchCouponEvent(): Promise<void>;
5
+ export declare function subscribeToMarketingReturnSpendToGetRedemptionEvent(): Promise<void>;
5
6
  //# 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":"AAcA,wBAAsB,0DAA0D,kBAI/E;AAgBD,wBAAsB,uCAAuC,kBA+D5D;AAED,wBAAsB,oCAAoC,kBAqDzD;AAED,wBAAsB,0CAA0C,kBAI/D"}
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"}
@@ -4,6 +4,7 @@ exports.subscribeToSyncAllProductsProductMarketingInfoProcessEvent = subscribeTo
4
4
  exports.subscribeToMarketingEntireMenuSeedEvent = subscribeToMarketingEntireMenuSeedEvent;
5
5
  exports.subscribeToMarketingProductSyncEvent = subscribeToMarketingProductSyncEvent;
6
6
  exports.subscribeToMarketingReturnPunchCouponEvent = subscribeToMarketingReturnPunchCouponEvent;
7
+ exports.subscribeToMarketingReturnSpendToGetRedemptionEvent = subscribeToMarketingReturnSpendToGetRedemptionEvent;
7
8
  const event_1 = require("@lyxa.ai/core/dist/libraries/event");
8
9
  const core_1 = require("@lyxa.ai/core");
9
10
  const services_1 = require("../../modules/marketing/services");
@@ -14,6 +15,7 @@ const events_common_methods_1 = require("@lyxa.ai/core/dist/utilities/events-com
14
15
  const marketing_product_seed_event_1 = require("../events/marketing-product-seed.event");
15
16
  const marketing_product_sync_event_1 = require("../events/marketing-product-sync.event");
16
17
  const services_2 = require("../../modules/punch-marketing-history/services");
18
+ const spend_to_get_history_service_1 = require("../../modules/spend-to-get-history/spend-to-get-history.service");
17
19
  async function subscribeToSyncAllProductsProductMarketingInfoProcessEvent() {
18
20
  await (0, event_1.subscribeToEvent)(EventEnums_1.PublishEventEnums.SYNC_ALL_PRODUCTS_PRODUCT_MARKETING_INFO_EVENT, async (payload) => {
19
21
  services_1.synchronizeProductMarketingService.processAllProductsProductMarketingInfoEvent(payload);
@@ -135,4 +137,9 @@ async function subscribeToMarketingReturnPunchCouponEvent() {
135
137
  services_2.punchMarketingHistoryService.returnPunchCoupon(payload.orderId);
136
138
  });
137
139
  }
140
+ async function subscribeToMarketingReturnSpendToGetRedemptionEvent() {
141
+ await (0, event_1.subscribeToEvent)(EventEnums_1.PublishEventEnums.MARKETING_RETURN_SPEND_TO_GET_REDEMPTION_EVENT, async (payload) => {
142
+ spend_to_get_history_service_1.spendToGetHistoryService.returnRedemption(payload.orderId);
143
+ });
144
+ }
138
145
  //# sourceMappingURL=event-listeners.js.map
@@ -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';\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"]}
1
+ {"version":3,"file":"event-listeners.js","sourceRoot":"/","sources":["event/event-listeners/event-listeners.ts"],"names":[],"mappings":";;AAeA,gIAIC;AAgBD,0FA+DC;AAED,oFAqDC;AAED,gGAIC;AAED,kHAIC;AArKD,8DAAsE;AACtE,wCAA6C;AAC7C,0DAA0G;AAC1G,8EAAkF;AAClF,oDAAgD;AAChD,6JAAsI;AACtI,8FAAsH;AACtH,yFAGgD;AAChD,yFAAmH;AACnH,wEAAyF;AACzF,6GAAsG;AAE/F,KAAK,UAAU,0DAA0D;IAC/E,MAAM,IAAA,wBAAgB,EAAC,8BAAiB,CAAC,8CAA8C,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;QACxG,6CAAkC,CAAC,2CAA2C,CAAC,OAAO,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;AACJ,CAAC;AAID,MAAM,SAAS,GACd,CAAI,KAAa,EAAE,OAAsC,EAAE,EAAE,CAC7D,KAAK,EAAE,OAAU,EAAiB,EAAE;IACnC,IAAI,CAAC;QACJ,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAA,mBAAY,GAAE,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,0CAA0C,EAAE,GAAG,EAAE;YAC5F,GAAG,EAAE,kBAAkB;SACvB,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC;AAEI,KAAK,UAAU,uCAAuC;IAC5D,MAAM,IAAA,wBAAgB,EAAC,+DAAgC,EAAE,SAAS,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAoC,EAAE,EAAE;QACrI,MAAM,MAAM,GAAG,IAAA,mBAAY,GAAE,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAElD,IAAI,CAAC,oBAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,IAAI,EAAE;gBACtE,GAAG,EAAE,4BAA4B;gBACjC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;aACvC,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,oBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,oBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;aAC3C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,oBAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;aAC1C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,OAAO;QAE/B,MAAM,YAAY,GAAG,CAAC,CAAC;QACvB,IAAI,SAAkB,CAAC;QAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,kCAAuB,CAAC,8BAA8B,CAAC;oBAC7E,WAAW;oBACX,UAAU;oBACV,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;oBAC9C,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC5B,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACrB,MAAM,6CAAkC,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC;gBACzF,CAAC;gBAED,IAAA,wEAAgD,EAAC;oBAChD,MAAM;oBACN,SAAS,EAAE,2EAA0B,CAAC,MAAM;iBAC5C,CAAC,CAAC;gBAEH,MAAM,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,mBAAmB,EAAE;oBAC3E,GAAG,EAAE,4BAA4B;oBACjC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE;iBAC/D,CAAC,CAAC;gBAEH,OAAO;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;oBAC5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;gBACnE,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,iCAAiC,YAAY,oCAAoC,EAAE,SAAS,EAAE;YAC1G,GAAG,EAAE,4BAA4B;YACjC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE;SACjE,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,oCAAoC;IACzD,MAAM,IAAA,wBAAgB,EACrB,2DAA4B,EAC5B,SAAS,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAoC,EAAE,EAAE;QAClF,MAAM,MAAM,GAAG,IAAA,mBAAY,GAAE,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAElD,IAAI,CAAC,oBAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YACtE,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE,IAAI,EAAE;gBAC5E,GAAG,EAAE,wBAAwB;gBAC7B,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;aACvC,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,oBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;aAC3C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,oBAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;aAC1C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,oBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,OAAO;QAE/B,MAAM,YAAY,GAAG,CAAC,CAAC;QACvB,IAAI,SAAkB,CAAC;QAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACJ,MAAM,6CAAkC,CAAC,oCAAoC,CAAC,UAAU,CAAC,CAAC;gBAE1F,IAAA,wEAAgD,EAAC;oBAChD,MAAM;oBACN,SAAS,EAAE,2EAA0B,CAAC,MAAM;iBAC5C,CAAC,CAAC;gBAEH,MAAM,CAAC,KAAK,CAAC,iCAAiC,UAAU,CAAC,MAAM,WAAW,EAAE;oBAC3E,GAAG,EAAE,wBAAwB;oBAC7B,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE;iBACjE,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;oBAC5B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;gBACnE,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,uCAAuC,YAAY,WAAW,EAAE,SAAS,EAAE;YACvF,GAAG,EAAE,wBAAwB;YAC7B,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE;SACjE,CAAC,CAAC;IACJ,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,0CAA0C;IAC/D,MAAM,IAAA,wBAAgB,EAAC,8BAAiB,CAAC,mCAAmC,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;QAC7F,uCAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,mDAAmD;IACxE,MAAM,IAAA,wBAAgB,EAAC,8BAAiB,CAAC,8CAA8C,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;QACxG,uDAAwB,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACJ,CAAC","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"]}