@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
@@ -0,0 +1,41 @@
1
+ import { DocumentType, mongoose } from '@typegoose/typegoose';
2
+ import { Marketing } from '@lyxa.ai/core/dist/libraries/mongo/models';
3
+ import { MarketingType, SpendToGetRewardType } from '@lyxa.ai/core/dist/utilities/enum';
4
+ import { Duration } from '@lyxa.ai/core/dist/libraries/mongo/models/shared/duration.model';
5
+ export declare enum RewardTypeGroup {
6
+ DISCOUNT = "discount",
7
+ FREE_DELIVERY = "free_delivery"
8
+ }
9
+ export declare const CONFLICT_CHECK_MARKETING_TYPES: MarketingType[];
10
+ export interface ConflictCheckParams {
11
+ shop: mongoose.Types.ObjectId;
12
+ duration: Pick<Duration, 'start' | 'end'>;
13
+ rewardTypeGroups: RewardTypeGroup[];
14
+ excludeMarketingId?: mongoose.Types.ObjectId;
15
+ }
16
+ export declare class MarketingConflictService {
17
+ private repository;
18
+ constructor();
19
+ /**
20
+ * A Spend-to-Get promotion's reward-type-group membership is the union of all its tiers'
21
+ * reward types (a promotion with both a discount and a free-delivery tier belongs to both groups).
22
+ */
23
+ getRewardTypeGroups(marketingType: MarketingType, tiers?: {
24
+ rewardType: SpendToGetRewardType;
25
+ }[]): RewardTypeGroup[];
26
+ /**
27
+ * Finds other active promotions on the same shop whose date range overlaps `duration` and whose
28
+ * reward-type-group membership intersects `rewardTypeGroups`. Strict `<`/`>` comparisons mean
29
+ * back-to-back dates (one ends 23:59, the next starts 00:00) are not treated as overlapping.
30
+ */
31
+ findConflicting(params: ConflictCheckParams): Promise<DocumentType<Marketing>[]>;
32
+ /**
33
+ * Throws a CONFLICT error describing the existing blocking promotion. The message identifies
34
+ * whether the blocker is a Spend-to-Get promotion or a standalone one and which reward type
35
+ * (Free Delivery vs discount) actually overlaps.
36
+ */
37
+ assertNoConflict(params: ConflictCheckParams): Promise<void>;
38
+ private describeConflict;
39
+ }
40
+ export declare const marketingConflictService: MarketingConflictService;
41
+ //# sourceMappingURL=marketing-conflict.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketing-conflict.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/marketing-conflict.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAmB,aAAa,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzG,OAAO,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAI3F,oBAAY,eAAe;IAC1B,QAAQ,aAAa;IACrB,aAAa,kBAAkB;CAC/B;AAED,eAAO,MAAM,8BAA8B,iBAK1C,CAAC;AAKF,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC;IAC1C,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;CAC7C;AAED,qBACa,wBAAwB;IACpC,OAAO,CAAC,UAAU,CAA8B;;IAMhD;;;OAGG;IACI,mBAAmB,CACzB,aAAa,EAAE,aAAa,EAC5B,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,oBAAoB,CAAA;KAAE,EAAE,GAC5C,eAAe,EAAE;IAwBpB;;;;OAIG;IAIU,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;IAqB7F;;;;OAIG;IACU,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzE,OAAO,CAAC,gBAAgB;CAaxB;AAED,eAAO,MAAM,wBAAwB,0BAA0C,CAAC"}
@@ -14,7 +14,9 @@ export declare class MarketingService {
14
14
  * Create a new record
15
15
  * @param data Data for the new record
16
16
  */
17
- create(data: AllMarketingsValidationDTO, admin?: mongoose.Types.ObjectId): Promise<DocumentType<Model>>;
17
+ create(data: AllMarketingsValidationDTO, admin?: mongoose.Types.ObjectId, options?: {
18
+ skipLimitedTimeOfferGuard?: boolean;
19
+ }): Promise<DocumentType<Model>>;
18
20
  /**
19
21
  * Get record by ID
20
22
  * @param id ID of the record
@@ -37,7 +39,9 @@ export declare class MarketingService {
37
39
  * Delete record
38
40
  * @param data Data for delete
39
41
  */
40
- deleteById(data: DeleteDTO, admin?: mongoose.Types.ObjectId): Promise<string>;
42
+ deleteById(data: DeleteDTO, admin?: mongoose.Types.ObjectId, options?: {
43
+ skipLimitedTimeOfferGuard?: boolean;
44
+ }): Promise<string>;
41
45
  deleteManyByIds(marketingIds: mongoose.Types.ObjectId[], softDelete?: boolean): Promise<void>;
42
46
  handleNewProductForEntireMenuMarketing(data: ProductEntireMenuMarketingHandlerDTO): Promise<string>;
43
47
  incrementMarketingSpentFromOrder(orderId: mongoose.Types.ObjectId): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/marketing.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EAMjB,SAAS,IAAI,KAAK,EAOlB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEN,0BAA0B,EAE1B,oCAAoC,EACpC,kBAAkB,IAAI,SAAS,EAC/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AA4C3D,qBACa,gBAAgB;IAC5B,OAAO,CAAC,KAAK,CAAiD;IAC9D,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,UAAU,CAA2D;IAC7E,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,gCAAgC,CACM;;IAY9C;;;OAGG;IACU,MAAM,CAClB,IAAI,EAAE,0BAA0B,EAChC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAC7B,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAwI/B;;;OAGG;IACU,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAkB1E;;;OAGG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAqBxG;;;;OAIG;IACU,MAAM,CAClB,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC5B,IAAI,EAAE,SAAS,EACf,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAC7B,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAmIjB,uBAAuB;YAkBvB,uBAAuB;IAerC;;;OAGG;IACU,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAsC7E,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC1F,sCAAsC,CAAC,IAAI,EAAE,oCAAoC;IA8BjF,gCAAgC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAiChF,gCAAgC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;YAiC/E,oCAAoC;YAgBpC,kCAAkC;IAgBnC,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC;YAqCjD,2BAA2B;IA2B5B,yBAAyB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9E,yBAAyB,CAAC,SAAS,EAAE,YAAY,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;CAqCrG;AAED,eAAO,MAAM,gBAAgB,kBAAkC,CAAC"}
1
+ {"version":3,"file":"marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/marketing.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EAMjB,SAAS,IAAI,KAAK,EAOlB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEN,0BAA0B,EAE1B,oCAAoC,EACpC,kBAAkB,IAAI,SAAS,EAC/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AA+C3D,qBACa,gBAAgB;IAC5B,OAAO,CAAC,KAAK,CAAiD;IAC9D,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,UAAU,CAA2D;IAC7E,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,gCAAgC,CACM;;IAY9C;;;OAGG;IACU,MAAM,CAClB,IAAI,EAAE,0BAA0B,EAChC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC/B,OAAO,CAAC,EAAE;QAAE,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/C,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAyJ/B;;;OAGG;IACU,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAkB1E;;;OAGG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAqBxG;;;;OAIG;IACU,MAAM,CAClB,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC5B,IAAI,EAAE,SAAS,EACf,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAC7B,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAqIjB,uBAAuB;YA8BvB,uBAAuB;IAerC;;;OAGG;IACU,UAAU,CACtB,IAAI,EAAE,SAAS,EACf,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC/B,OAAO,CAAC,EAAE;QAAE,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/C,OAAO,CAAC,MAAM,CAAC;IAkDL,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC1F,sCAAsC,CAAC,IAAI,EAAE,oCAAoC;IA8BjF,gCAAgC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAiChF,gCAAgC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;YAiC/E,oCAAoC;YAgBpC,kCAAkC;IAgBnC,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC;YAqCjD,2BAA2B;IA2B5B,yBAAyB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9E,yBAAyB,CAAC,SAAS,EAAE,YAAY,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;CAqCrG;AAED,eAAO,MAAM,gBAAgB,kBAAkC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { DocumentType, mongoose } from '@typegoose/typegoose';
2
+ import { SpendToGetMarketing as Model, Shop } from '@lyxa.ai/core/dist/libraries/mongo/models/';
3
+ import { CreateSpendToGetMarketingDTO as CreateDTO, UpdateSpendToGetMarketingDTO as UpdateDTO } from '@modules/marketing/validations';
4
+ export declare class SpendToGetMarketingRepository {
5
+ private model;
6
+ private shopModel;
7
+ constructor();
8
+ findShopById(shopId: mongoose.Types.ObjectId | string): Promise<DocumentType<Shop> | null>;
9
+ create(data: CreateDTO): Promise<DocumentType<Model>>;
10
+ findById(id: mongoose.Types.ObjectId): Promise<DocumentType<Model> | null>;
11
+ updateById(id: mongoose.Types.ObjectId, data: UpdateDTO): Promise<DocumentType<Model> | null>;
12
+ }
13
+ export declare const spendToGetMarketingRepository: SpendToGetMarketingRepository;
14
+ //# sourceMappingURL=spend-to-get-marketing.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spend-to-get-marketing.repository.d.ts","sourceRoot":"/","sources":["modules/marketing/services/spend-to-get-marketing.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAEN,mBAAmB,IAAI,KAAK,EAE5B,IAAI,EACJ,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACN,4BAA4B,IAAI,SAAS,EACzC,4BAA4B,IAAI,SAAS,EACzC,MAAM,gCAAgC,CAAC;AAExC,qBACa,6BAA6B;IACzC,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,SAAS,CAAmB;;IAO9B,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAI1F,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAIrD,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAI1E,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;CAWnG;AAED,eAAO,MAAM,6BAA6B,+BAA+C,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { DocumentType, mongoose } from '@typegoose/typegoose';
2
+ import { SpendToGetMarketing as Model } from '@lyxa.ai/core/dist/libraries/mongo/models/';
3
+ import { CreateSpendToGetMarketingDTO as CreateDTO, UpdateSpendToGetMarketingDTO as UpdateDTO } from '@modules/marketing/validations';
4
+ export declare class SpendToGetMarketingService {
5
+ private repository;
6
+ constructor();
7
+ /**
8
+ * Create a new record
9
+ * @param data Data for the new record
10
+ */
11
+ create(data: CreateDTO): Promise<DocumentType<Model>>;
12
+ /**
13
+ * Update record
14
+ * @param id ID of the record
15
+ * @param data Data to update
16
+ */
17
+ update(_id: mongoose.Types.ObjectId, data: UpdateDTO): Promise<DocumentType<Model>>;
18
+ }
19
+ export declare const spendToGetMarketingService: SpendToGetMarketingService;
20
+ //# sourceMappingURL=spend-to-get-marketing.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spend-to-get-marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/spend-to-get-marketing.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,IAAI,KAAK,EAAE,MAAM,4CAA4C,CAAC;AAE1F,OAAO,EACN,4BAA4B,IAAI,SAAS,EACzC,4BAA4B,IAAI,SAAS,EACzC,MAAM,gCAAgC,CAAC;AAIxC,qBACa,0BAA0B;IACtC,OAAO,CAAC,UAAU,CAAgC;;IAMlD;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAWlE;;;;OAIG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CA+BhG;AAED,eAAO,MAAM,0BAA0B,4BAA4C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { DocumentType, mongoose } from '@typegoose/typegoose';
2
+ import { SpendToGetMarketing } from '@lyxa.ai/core/dist/libraries/mongo/models';
3
+ export declare class SpendToGetProgressRepository {
4
+ private model;
5
+ constructor();
6
+ findActiveByShop(shop: mongoose.Types.ObjectId, now: Date): Promise<DocumentType<SpendToGetMarketing> | null>;
7
+ }
8
+ export declare const spendToGetProgressRepository: SpendToGetProgressRepository;
9
+ //# sourceMappingURL=spend-to-get-progress.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spend-to-get-progress.repository.d.ts","sourceRoot":"/","sources":["modules/marketing/services/spend-to-get-progress.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAA4B,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAI1G,qBACa,4BAA4B;IACxC,OAAO,CAAC,KAAK,CAAyE;;IAOhF,gBAAgB,CACrB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC7B,GAAG,EAAE,IAAI,GACP,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;CAQpD;AAED,eAAO,MAAM,4BAA4B,8BAA8C,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { mongoose } from '@typegoose/typegoose';
2
+ import { SpendToGetRewardType } from '@lyxa.ai/core/dist/utilities/enum';
3
+ export interface SpendToGetTierProgress {
4
+ minSpend: number;
5
+ rewardType: SpendToGetRewardType;
6
+ rewardValue?: number;
7
+ maxDiscountCap?: number;
8
+ isMaxDiscountCapEnabled?: boolean;
9
+ isUnlocked: boolean;
10
+ }
11
+ export interface SpendToGetProgressResult {
12
+ marketing?: mongoose.Types.ObjectId;
13
+ tiers: SpendToGetTierProgress[];
14
+ appliedTier?: SpendToGetTierProgress;
15
+ discountAmount: number;
16
+ nextTier?: SpendToGetTierProgress;
17
+ amountToNextTier?: number;
18
+ isRedeemable: boolean;
19
+ }
20
+ export declare class SpendToGetProgressService {
21
+ private repository;
22
+ constructor();
23
+ /**
24
+ * Live progress + eligibility for a shop's active Spend-to-Get promotion, given a basket total.
25
+ * Only the highest qualifying tier's reward ever applies (no stacking). Global spend-limit
26
+ * exhaustion is read off the existing amountSpent/spendLimit status-flip fields (Marketing base
27
+ * model), same source of truth the checkout path uses — no separate live aggregation here.
28
+ */
29
+ getProgress(params: {
30
+ shop: mongoose.Types.ObjectId;
31
+ basketTotal: number;
32
+ userId?: mongoose.Types.ObjectId;
33
+ }): Promise<SpendToGetProgressResult>;
34
+ private calculateDiscountAmount;
35
+ }
36
+ export declare const spendToGetProgressService: SpendToGetProgressService;
37
+ //# sourceMappingURL=spend-to-get-progress.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spend-to-get-progress.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/spend-to-get-progress.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAKzE,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,oBAAoB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACxC,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;IACpC,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;CACtB;AAQD,qBACa,yBAAyB;IACrC,OAAO,CAAC,UAAU,CAA+B;;IAMjD;;;;;OAKG;IACU,WAAW,CAAC,MAAM,EAAE;QAChC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;KACjC,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA2DrC,OAAO,CAAC,uBAAuB;CAgB/B;AAED,eAAO,MAAM,yBAAyB,2BAA2C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"all-marketings.validation.d.ts","sourceRoot":"/","sources":["modules/marketing/validations/all-marketings.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAoBjC,eAAO,MAAM,6BAA6B,EAAE,OAM1C,CAAC;AAEH,eAAO,MAAM,mBAAmB,EAAE,OAMhC,CAAC;AAEH,eAAO,MAAM,yBAAyB,EAAE,OAMtC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4C,CAAC;AAEjF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACvF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"all-marketings.validation.d.ts","sourceRoot":"/","sources":["modules/marketing/validations/all-marketings.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAuBjC,eAAO,MAAM,6BAA6B,EAAE,OAO1C,CAAC;AAEH,eAAO,MAAM,mBAAmB,EAAE,OAOhC,CAAC;AAEH,eAAO,MAAM,yBAAyB,EAAE,OAOtC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4C,CAAC;AAEjF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACvF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -62,6 +62,7 @@ declare const Buy1Get1MarketingValidationSchema: z.ZodObject<{
62
62
  isAppliedByCompany: boolean;
63
63
  isEntireMenu: boolean;
64
64
  pausedAt: Date | null;
65
+ marketingType: MarketingType.BUY1GET1;
65
66
  products: {
66
67
  product: import("mongoose").Types.ObjectId;
67
68
  value?: number | undefined;
@@ -70,7 +71,6 @@ declare const Buy1Get1MarketingValidationSchema: z.ZodObject<{
70
71
  marketing?: import("mongoose").Types.ObjectId | undefined;
71
72
  isBuy1Get1?: boolean | undefined;
72
73
  }[];
73
- marketingType: MarketingType.BUY1GET1;
74
74
  excludeProducts: import("mongoose").Types.ObjectId[];
75
75
  isOnlyForSubscriber: boolean;
76
76
  admin?: import("mongoose").Types.ObjectId | null | undefined;
@@ -440,6 +440,7 @@ declare const Buy1Get1MarketingValidationSchemaRefined: z.ZodEffects<z.ZodObject
440
440
  isAppliedByCompany: boolean;
441
441
  isEntireMenu: boolean;
442
442
  pausedAt: Date | null;
443
+ marketingType: MarketingType.BUY1GET1;
443
444
  products: {
444
445
  product: import("mongoose").Types.ObjectId;
445
446
  value?: number | undefined;
@@ -448,7 +449,6 @@ declare const Buy1Get1MarketingValidationSchemaRefined: z.ZodEffects<z.ZodObject
448
449
  marketing?: import("mongoose").Types.ObjectId | undefined;
449
450
  isBuy1Get1?: boolean | undefined;
450
451
  }[];
451
- marketingType: MarketingType.BUY1GET1;
452
452
  excludeProducts: import("mongoose").Types.ObjectId[];
453
453
  isOnlyForSubscriber: boolean;
454
454
  admin?: import("mongoose").Types.ObjectId | null | undefined;
@@ -490,6 +490,7 @@ declare const Buy1Get1MarketingValidationSchemaRefined: z.ZodEffects<z.ZodObject
490
490
  isAppliedByCompany: boolean;
491
491
  isEntireMenu: boolean;
492
492
  pausedAt: Date | null;
493
+ marketingType: MarketingType.BUY1GET1;
493
494
  products: {
494
495
  product: import("mongoose").Types.ObjectId;
495
496
  value?: number | undefined;
@@ -498,7 +499,6 @@ declare const Buy1Get1MarketingValidationSchemaRefined: z.ZodEffects<z.ZodObject
498
499
  marketing?: import("mongoose").Types.ObjectId | undefined;
499
500
  isBuy1Get1?: boolean | undefined;
500
501
  }[];
501
- marketingType: MarketingType.BUY1GET1;
502
502
  excludeProducts: import("mongoose").Types.ObjectId[];
503
503
  isOnlyForSubscriber: boolean;
504
504
  admin?: import("mongoose").Types.ObjectId | null | undefined;
@@ -70,6 +70,7 @@ declare const DiscountMarketingValidationSchema: z.ZodObject<{
70
70
  isMaxDiscountPerOrderEnabled: boolean;
71
71
  maxDiscountPerOrder: number;
72
72
  pausedAt: Date | null;
73
+ marketingType: MarketingType.DISCOUNT;
73
74
  products: {
74
75
  product: import("mongoose").Types.ObjectId;
75
76
  value?: number | undefined;
@@ -78,7 +79,6 @@ declare const DiscountMarketingValidationSchema: z.ZodObject<{
78
79
  marketing?: import("mongoose").Types.ObjectId | undefined;
79
80
  isBuy1Get1?: boolean | undefined;
80
81
  }[];
81
- marketingType: MarketingType.DISCOUNT;
82
82
  excludeProducts: import("mongoose").Types.ObjectId[];
83
83
  isOnlyForSubscriber: boolean;
84
84
  value?: number | undefined;
@@ -340,6 +340,7 @@ declare const DiscountMarketingValidationSchemaRefined: z.ZodEffects<z.ZodObject
340
340
  isMaxDiscountPerOrderEnabled: boolean;
341
341
  maxDiscountPerOrder: number;
342
342
  pausedAt: Date | null;
343
+ marketingType: MarketingType.DISCOUNT;
343
344
  products: {
344
345
  product: import("mongoose").Types.ObjectId;
345
346
  value?: number | undefined;
@@ -348,7 +349,6 @@ declare const DiscountMarketingValidationSchemaRefined: z.ZodEffects<z.ZodObject
348
349
  marketing?: import("mongoose").Types.ObjectId | undefined;
349
350
  isBuy1Get1?: boolean | undefined;
350
351
  }[];
351
- marketingType: MarketingType.DISCOUNT;
352
352
  excludeProducts: import("mongoose").Types.ObjectId[];
353
353
  isOnlyForSubscriber: boolean;
354
354
  value?: number | undefined;
@@ -402,6 +402,7 @@ declare const DiscountMarketingValidationSchemaRefined: z.ZodEffects<z.ZodObject
402
402
  isMaxDiscountPerOrderEnabled: boolean;
403
403
  maxDiscountPerOrder: number;
404
404
  pausedAt: Date | null;
405
+ marketingType: MarketingType.DISCOUNT;
405
406
  products: {
406
407
  product: import("mongoose").Types.ObjectId;
407
408
  value?: number | undefined;
@@ -410,7 +411,6 @@ declare const DiscountMarketingValidationSchemaRefined: z.ZodEffects<z.ZodObject
410
411
  marketing?: import("mongoose").Types.ObjectId | undefined;
411
412
  isBuy1Get1?: boolean | undefined;
412
413
  }[];
413
- marketingType: MarketingType.DISCOUNT;
414
414
  excludeProducts: import("mongoose").Types.ObjectId[];
415
415
  isOnlyForSubscriber: boolean;
416
416
  value?: number | undefined;
@@ -3,6 +3,7 @@ export * from './discount-marketing.validation';
3
3
  export * from './featured-marketing.validation';
4
4
  export * from './free-delivery-marketing.validation';
5
5
  export * from './punch-marketing.validation';
6
+ export * from './spend-to-get-marketing.validation';
6
7
  export * from './product-marketing.validation';
7
8
  export * from './marketing.validation';
8
9
  export * from './all-marketings.validation';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["modules/marketing/validations/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["modules/marketing/validations/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC"}
@@ -193,6 +193,19 @@ export declare const ProductEntireMenuMarketingHandlerSchema: z.ZodObject<{
193
193
  shop: string | import("mongoose").Types.ObjectId;
194
194
  product: string | import("mongoose").Types.ObjectId;
195
195
  }>;
196
+ export declare const SpendToGetProgressInputSchema: z.ZodObject<{
197
+ shop: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
198
+ basketTotal: z.ZodNumber;
199
+ userId: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
200
+ }, "strip", z.ZodTypeAny, {
201
+ shop: import("mongoose").Types.ObjectId;
202
+ basketTotal: number;
203
+ userId?: import("mongoose").Types.ObjectId | undefined;
204
+ }, {
205
+ shop: string | import("mongoose").Types.ObjectId;
206
+ basketTotal: number;
207
+ userId?: string | import("mongoose").Types.ObjectId | undefined;
208
+ }>;
196
209
  export declare const MarketingSpendLimitsEvaluationSchema: z.ZodObject<{
197
210
  marketings: z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">;
198
211
  }, "strip", z.ZodTypeAny, {
@@ -239,6 +252,7 @@ export declare const MarketingMetricsSchema: z.ZodObject<{
239
252
  count?: number | undefined;
240
253
  percentageIncrease?: number | undefined;
241
254
  }>>;
255
+ totalRedemptions: z.ZodOptional<z.ZodNumber>;
242
256
  }, "strip", z.ZodTypeAny, {
243
257
  numberOfItems?: number | undefined;
244
258
  orderIncreaseWithDiscount?: {
@@ -249,6 +263,7 @@ export declare const MarketingMetricsSchema: z.ZodObject<{
249
263
  count: number;
250
264
  percentageIncrease: number;
251
265
  } | undefined;
266
+ totalRedemptions?: number | undefined;
252
267
  }, {
253
268
  numberOfItems?: number | undefined;
254
269
  orderIncreaseWithDiscount?: {
@@ -259,6 +274,7 @@ export declare const MarketingMetricsSchema: z.ZodObject<{
259
274
  count?: number | undefined;
260
275
  percentageIncrease?: number | undefined;
261
276
  } | undefined;
277
+ totalRedemptions?: number | undefined;
262
278
  }>;
263
279
  export declare const MarketingGraphInputSchema: z.ZodObject<{
264
280
  marketingId: z.ZodType<string | import("mongoose").Types.ObjectId, z.ZodTypeDef, string | import("mongoose").Types.ObjectId>;
@@ -313,6 +329,7 @@ export type CreateMarketingDTO = DTO<typeof MarketingValidationSchema>;
313
329
  export type MarketingDTO = DTO<typeof MarketingSchema>;
314
330
  export type UpdateMarketingDTO = DTO<typeof UpdateMarketingSchema>;
315
331
  export type ProductEntireMenuMarketingHandlerDTO = DTO<typeof ProductEntireMenuMarketingHandlerSchema>;
332
+ export type SpendToGetProgressInputDTO = DTO<typeof SpendToGetProgressInputSchema>;
316
333
  export type IncreaseDuringDiscountDTO = DTO<typeof IncreaseDuringDiscountSchema>;
317
334
  export type MarketingMetricsDTO = DTO<typeof MarketingMetricsSchema>;
318
335
  export type MarketingGraphInputDTO = DTO<typeof MarketingGraphInputSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"marketing.validation.d.ts","sourceRoot":"/","sources":["modules/marketing/validations/marketing.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGN,GAAG,EACH,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAI9F;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAQ/B,CAAC;AASF;;GAEG;AACH,QAAA,MACa,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACvB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCACnB,iBAAiB,mNACb,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCACgB,CAAC;AAErD;;GAEG;AACH,OAAO,EACN,yBAAyB,EACzB,eAAe,EACf,iBAAiB,IAAI,2BAA2B,EAChD,qBAAqB,GACrB,CAAC;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;EAGlD,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;EAE/C,CAAC;AAEH,eAAO,MAAM,6CAA6C;;;;;;EAExD,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;EAKvC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAKpC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;WAK5C,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;WAK/C,CAAC;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;WAKjD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACvE,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC;AACvD,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACnE,MAAM,MAAM,oCAAoC,GAAG,GAAG,CAAC,OAAO,uCAAuC,CAAC,CAAC;AACvG,MAAM,MAAM,yBAAyB,GAAG,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACjF,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACrE,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC3E,MAAM,MAAM,6BAA6B,GAAG,GAAG,CAAC,OAAO,gCAAgC,CAAC,CAAC;AACzF,MAAM,MAAM,gCAAgC,GAAG,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAC/F,MAAM,MAAM,kCAAkC,GAAG,GAAG,CAAC,OAAO,qCAAqC,CAAC,CAAC"}
1
+ {"version":3,"file":"marketing.validation.d.ts","sourceRoot":"/","sources":["modules/marketing/validations/marketing.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGN,GAAG,EACH,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAI9F;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAQ/B,CAAC;AASF;;GAEG;AACH,QAAA,MACa,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACvB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCACnB,iBAAiB,mNACb,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCACgB,CAAC;AAErD;;GAEG;AACH,OAAO,EACN,yBAAyB,EACzB,eAAe,EACf,iBAAiB,IAAI,2BAA2B,EAChD,qBAAqB,GACrB,CAAC;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;EAGlD,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;EAIxC,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;EAE/C,CAAC;AAEH,eAAO,MAAM,6CAA6C;;;;;;EAExD,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;EAKvC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAKpC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;WAK5C,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;WAK/C,CAAC;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;WAKjD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACvE,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC;AACvD,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACnE,MAAM,MAAM,oCAAoC,GAAG,GAAG,CAAC,OAAO,uCAAuC,CAAC,CAAC;AACvG,MAAM,MAAM,0BAA0B,GAAG,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACnF,MAAM,MAAM,yBAAyB,GAAG,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACjF,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACrE,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC3E,MAAM,MAAM,6BAA6B,GAAG,GAAG,CAAC,OAAO,gCAAgC,CAAC,CAAC;AACzF,MAAM,MAAM,gCAAgC,GAAG,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAC/F,MAAM,MAAM,kCAAkC,GAAG,GAAG,CAAC,OAAO,qCAAqC,CAAC,CAAC"}
@@ -193,13 +193,13 @@ export declare const BatchCreateProductMarketingsInputSchema: z.ZodObject<{
193
193
  shop: import("mongoose").Types.ObjectId;
194
194
  categories: import("mongoose").Types.ObjectId[];
195
195
  isEntireMenu: boolean;
196
+ isBuy1Get1: boolean;
196
197
  products: {
197
198
  product: import("mongoose").Types.ObjectId;
198
199
  value?: number | undefined;
199
200
  valueType?: ValueType | null | undefined;
200
201
  }[];
201
202
  marketingId: import("mongoose").Types.ObjectId;
202
- isBuy1Get1: boolean;
203
203
  value?: number | undefined;
204
204
  valueType?: ValueType | undefined;
205
205
  isAppliedByCompany?: boolean | undefined;
@@ -208,8 +208,8 @@ export declare const BatchCreateProductMarketingsInputSchema: z.ZodObject<{
208
208
  }, {
209
209
  shop: string | import("mongoose").Types.ObjectId;
210
210
  isEntireMenu: boolean;
211
- marketingId: string | import("mongoose").Types.ObjectId;
212
211
  isBuy1Get1: boolean;
212
+ marketingId: string | import("mongoose").Types.ObjectId;
213
213
  value?: number | undefined;
214
214
  valueType?: ValueType | undefined;
215
215
  categories?: (string | import("mongoose").Types.ObjectId)[] | undefined;