@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.
- package/dist/lib/event/event-initializations.d.ts.map +1 -1
- package/dist/lib/event/event-initializations.js +1 -0
- package/dist/lib/event/event-initializations.js.map +1 -1
- package/dist/lib/event/event-listeners/event-listeners.d.ts +1 -0
- package/dist/lib/event/event-listeners/event-listeners.d.ts.map +1 -1
- package/dist/lib/event/event-listeners/event-listeners.js +7 -0
- package/dist/lib/event/event-listeners/event-listeners.js.map +1 -1
- package/dist/lib/index.d.ts +303 -19
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +12 -12
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts +2 -0
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.js +22 -3
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/limited-time-offer.router.d.ts +18 -18
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +14 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.js +15 -0
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts +18 -18
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +57 -57
- package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.js +15 -5
- package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts +1 -1
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts +1 -0
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts.map +1 -1
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js +29 -0
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js.map +1 -1
- package/dist/lib/modules/marketing/routers/marketing.router.d.ts +14 -0
- package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
- package/dist/lib/modules/marketing/routers/marketing.router.js +5 -0
- package/dist/lib/modules/marketing/routers/marketing.router.js.map +1 -1
- package/dist/lib/modules/marketing/services/index.d.ts +3 -0
- package/dist/lib/modules/marketing/services/index.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/index.js +3 -0
- package/dist/lib/modules/marketing/services/index.js.map +1 -1
- package/dist/lib/modules/marketing/services/marketing-conflict.repository.d.ts +9 -0
- package/dist/lib/modules/marketing/services/marketing-conflict.repository.d.ts.map +1 -0
- package/dist/lib/modules/marketing/services/marketing-conflict.repository.js +63 -0
- package/dist/lib/modules/marketing/services/marketing-conflict.repository.js.map +1 -0
- package/dist/lib/modules/marketing/services/marketing-conflict.service.d.ts +27 -0
- package/dist/lib/modules/marketing/services/marketing-conflict.service.d.ts.map +1 -0
- package/dist/lib/modules/marketing/services/marketing-conflict.service.js +135 -0
- package/dist/lib/modules/marketing/services/marketing-conflict.service.js.map +1 -0
- package/dist/lib/modules/marketing/services/marketing.service.d.ts +6 -2
- package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.js +39 -7
- package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/spend-to-get-marketing.repository.d.ts +14 -0
- package/dist/lib/modules/marketing/services/spend-to-get-marketing.repository.d.ts.map +1 -0
- package/dist/lib/modules/marketing/services/spend-to-get-marketing.repository.js +82 -0
- package/dist/lib/modules/marketing/services/spend-to-get-marketing.repository.js.map +1 -0
- package/dist/lib/modules/marketing/services/spend-to-get-marketing.service.d.ts +11 -0
- package/dist/lib/modules/marketing/services/spend-to-get-marketing.service.d.ts.map +1 -0
- package/dist/lib/modules/marketing/services/spend-to-get-marketing.service.js +99 -0
- package/dist/lib/modules/marketing/services/spend-to-get-marketing.service.js.map +1 -0
- package/dist/lib/modules/marketing/services/spend-to-get-progress.repository.d.ts +9 -0
- package/dist/lib/modules/marketing/services/spend-to-get-progress.repository.d.ts.map +1 -0
- package/dist/lib/modules/marketing/services/spend-to-get-progress.repository.js +69 -0
- package/dist/lib/modules/marketing/services/spend-to-get-progress.repository.js.map +1 -0
- package/dist/lib/modules/marketing/services/spend-to-get-progress.service.d.ts +31 -0
- package/dist/lib/modules/marketing/services/spend-to-get-progress.service.d.ts.map +1 -0
- package/dist/lib/modules/marketing/services/spend-to-get-progress.service.js +123 -0
- package/dist/lib/modules/marketing/services/spend-to-get-progress.service.js.map +1 -0
- package/dist/lib/modules/marketing/validations/all-marketings.validation.d.ts.map +1 -1
- package/dist/lib/modules/marketing/validations/all-marketings.validation.js +3 -0
- package/dist/lib/modules/marketing/validations/all-marketings.validation.js.map +1 -1
- package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +3 -3
- package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +3 -3
- package/dist/lib/modules/marketing/validations/index.d.ts +1 -0
- package/dist/lib/modules/marketing/validations/index.d.ts.map +1 -1
- package/dist/lib/modules/marketing/validations/index.js +1 -0
- package/dist/lib/modules/marketing/validations/index.js.map +1 -1
- package/dist/lib/modules/marketing/validations/marketing.validation.d.ts +17 -0
- package/dist/lib/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
- package/dist/lib/modules/marketing/validations/marketing.validation.js +7 -1
- package/dist/lib/modules/marketing/validations/marketing.validation.js.map +1 -1
- package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts +2 -2
- package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.d.ts +617 -0
- package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.d.ts.map +1 -0
- package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.js +119 -0
- package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.js.map +1 -0
- package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +1 -1
- package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +2 -2
- package/dist/lib/modules/spend-to-get-history/routers/index.d.ts +2 -0
- package/dist/lib/modules/spend-to-get-history/routers/index.d.ts.map +1 -0
- package/dist/lib/modules/spend-to-get-history/routers/index.js +18 -0
- package/dist/lib/modules/spend-to-get-history/routers/index.js.map +1 -0
- package/dist/lib/modules/spend-to-get-history/routers/spend-to-get-history.router.js +62 -0
- package/dist/lib/modules/spend-to-get-history/routers/spend-to-get-history.router.js.map +1 -0
- package/dist/lib/modules/spend-to-get-history/services/index.d.ts +2 -0
- package/dist/lib/modules/spend-to-get-history/services/index.d.ts.map +1 -0
- package/dist/lib/modules/spend-to-get-history/services/index.js +18 -0
- package/dist/lib/modules/spend-to-get-history/services/index.js.map +1 -0
- package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts +24 -0
- package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts.map +1 -0
- package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.js +136 -0
- package/dist/lib/modules/spend-to-get-history/services/spend-to-get-history.service.js.map +1 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.d.ts +24 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.d.ts.map +1 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.js +97 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.js.map +1 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.d.ts +271 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.d.ts.map +1 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.js +62 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.js.map +1 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.d.ts +24 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.d.ts.map +1 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.js +116 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.js.map +1 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.d.ts +232 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.d.ts.map +1 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.js +30 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.js.map +1 -0
- package/dist/lib/modules/spend-to-get-history/validations/index.d.ts +2 -0
- package/dist/lib/modules/spend-to-get-history/validations/index.d.ts.map +1 -0
- package/dist/lib/modules/spend-to-get-history/validations/index.js +18 -0
- package/dist/lib/modules/spend-to-get-history/validations/index.js.map +1 -0
- package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts +232 -0
- package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts.map +1 -0
- package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.js +30 -0
- package/dist/lib/modules/spend-to-get-history/validations/spend-to-get-history.validation.js.map +1 -0
- package/dist/lib/modules/tournament/match/events/match-ended.consumer.d.ts +2 -0
- package/dist/lib/modules/tournament/match/events/match-ended.consumer.d.ts.map +1 -0
- package/dist/lib/modules/tournament/match/events/match-ended.consumer.js +15 -0
- package/dist/lib/modules/tournament/match/events/match-ended.consumer.js.map +1 -0
- package/dist/lib/modules/tournament/match/events/match-ended.event.d.ts +14 -0
- package/dist/lib/modules/tournament/match/events/match-ended.event.d.ts.map +1 -0
- package/dist/lib/modules/tournament/match/events/match-ended.event.js +12 -0
- package/dist/lib/modules/tournament/match/events/match-ended.event.js.map +1 -0
- package/dist/lib/modules/tournament/notification/jobs/notification.producer.d.ts +10 -0
- package/dist/lib/modules/tournament/notification/jobs/notification.producer.d.ts.map +1 -0
- package/dist/lib/modules/tournament/notification/jobs/notification.producer.js +23 -0
- package/dist/lib/modules/tournament/notification/jobs/notification.producer.js.map +1 -0
- package/dist/lib/modules/tournament/notification/jobs/notification.worker.d.ts +9 -0
- package/dist/lib/modules/tournament/notification/jobs/notification.worker.d.ts.map +1 -0
- package/dist/lib/modules/tournament/notification/jobs/notification.worker.js +82 -0
- package/dist/lib/modules/tournament/notification/jobs/notification.worker.js.map +1 -0
- package/dist/lib/modules/tournament/notification/notification.schedule.config.d.ts +10 -0
- package/dist/lib/modules/tournament/notification/notification.schedule.config.d.ts.map +1 -0
- package/dist/lib/modules/tournament/notification/notification.schedule.config.js +15 -0
- package/dist/lib/modules/tournament/notification/notification.schedule.config.js.map +1 -0
- package/dist/lib/modules/tournament/notification/notification.scheduler.service.d.ts +10 -0
- package/dist/lib/modules/tournament/notification/notification.scheduler.service.d.ts.map +1 -0
- package/dist/lib/modules/tournament/notification/notification.scheduler.service.js +73 -0
- package/dist/lib/modules/tournament/notification/notification.scheduler.service.js.map +1 -0
- package/dist/types/event/event-initializations.d.ts.map +1 -1
- package/dist/types/event/event-listeners/event-listeners.d.ts +1 -0
- package/dist/types/event/event-listeners/event-listeners.d.ts.map +1 -1
- package/dist/types/events/event-initializations.d.ts +2 -0
- package/dist/types/events/event-initializations.d.ts.map +1 -0
- package/dist/types/index.d.ts +303 -19
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +12 -12
- package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts +2 -0
- package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/limited-time-offer.router.d.ts +18 -18
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +14 -1
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts +18 -18
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts +1 -0
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts.map +1 -0
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +57 -57
- package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts +1 -1
- package/dist/types/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts +1 -0
- package/dist/types/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts.map +1 -1
- package/dist/types/modules/marketing/routers/marketing.router.d.ts +14 -0
- package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/index.d.ts +3 -0
- package/dist/types/modules/marketing/services/index.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/marketing-conflict.repository.d.ts +9 -0
- package/dist/types/modules/marketing/services/marketing-conflict.repository.d.ts.map +1 -0
- package/dist/types/modules/marketing/services/marketing-conflict.service.d.ts +41 -0
- package/dist/types/modules/marketing/services/marketing-conflict.service.d.ts.map +1 -0
- package/dist/types/modules/marketing/services/marketing.service.d.ts +6 -2
- package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/spend-to-get-marketing.repository.d.ts +14 -0
- package/dist/types/modules/marketing/services/spend-to-get-marketing.repository.d.ts.map +1 -0
- package/dist/types/modules/marketing/services/spend-to-get-marketing.service.d.ts +20 -0
- package/dist/types/modules/marketing/services/spend-to-get-marketing.service.d.ts.map +1 -0
- package/dist/types/modules/marketing/services/spend-to-get-progress.repository.d.ts +9 -0
- package/dist/types/modules/marketing/services/spend-to-get-progress.repository.d.ts.map +1 -0
- package/dist/types/modules/marketing/services/spend-to-get-progress.service.d.ts +37 -0
- package/dist/types/modules/marketing/services/spend-to-get-progress.service.d.ts.map +1 -0
- package/dist/types/modules/marketing/validations/all-marketings.validation.d.ts.map +1 -1
- package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +3 -3
- package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +3 -3
- package/dist/types/modules/marketing/validations/index.d.ts +1 -0
- package/dist/types/modules/marketing/validations/index.d.ts.map +1 -1
- package/dist/types/modules/marketing/validations/marketing.validation.d.ts +17 -0
- package/dist/types/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
- package/dist/types/modules/marketing/validations/product-marketing.validation.d.ts +2 -2
- package/dist/types/modules/marketing/validations/spend-to-get-marketing.validation.d.ts +630 -0
- package/dist/types/modules/marketing/validations/spend-to-get-marketing.validation.d.ts.map +1 -0
- package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +1 -1
- package/dist/types/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +2 -2
- package/dist/types/modules/spend-to-get-history/routers/index.d.ts +2 -0
- package/dist/types/modules/spend-to-get-history/routers/index.d.ts.map +1 -0
- package/dist/types/modules/spend-to-get-history/services/index.d.ts +2 -0
- package/dist/types/modules/spend-to-get-history/services/index.d.ts.map +1 -0
- package/dist/types/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts +56 -0
- package/dist/types/modules/spend-to-get-history/services/spend-to-get-history.service.d.ts.map +1 -0
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.repository.d.ts +24 -0
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.repository.d.ts.map +1 -0
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.router.d.ts +271 -0
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.router.d.ts.map +1 -0
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.service.d.ts +56 -0
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.service.d.ts.map +1 -0
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.validation.d.ts +241 -0
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.validation.d.ts.map +1 -0
- package/dist/types/modules/spend-to-get-history/validations/index.d.ts +2 -0
- package/dist/types/modules/spend-to-get-history/validations/index.d.ts.map +1 -0
- package/dist/types/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts +241 -0
- package/dist/types/modules/spend-to-get-history/validations/spend-to-get-history.validation.d.ts.map +1 -0
- package/dist/types/modules/tournament/config/tournament-config.validation.d.ts +201 -0
- package/dist/types/modules/tournament/config/tournament-config.validation.d.ts.map +1 -0
- package/dist/types/modules/tournament/match/events/match-ended.consumer.d.ts +2 -0
- package/dist/types/modules/tournament/match/events/match-ended.consumer.d.ts.map +1 -0
- package/dist/types/modules/tournament/match/events/match-ended.event.d.ts +14 -0
- package/dist/types/modules/tournament/match/events/match-ended.event.d.ts.map +1 -0
- package/dist/types/modules/tournament/notification/jobs/notification.producer.d.ts +10 -0
- package/dist/types/modules/tournament/notification/jobs/notification.producer.d.ts.map +1 -0
- package/dist/types/modules/tournament/notification/jobs/notification.worker.d.ts +9 -0
- package/dist/types/modules/tournament/notification/jobs/notification.worker.d.ts.map +1 -0
- package/dist/types/modules/tournament/notification/notification.schedule.config.d.ts +10 -0
- package/dist/types/modules/tournament/notification/notification.schedule.config.d.ts.map +1 -0
- package/dist/types/modules/tournament/notification/notification.scheduler.service.d.ts +10 -0
- package/dist/types/modules/tournament/notification/notification.scheduler.service.d.ts.map +1 -0
- package/package.json +2 -2
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":";;AAEA,+BAAoC;AACpC,qDAAuD;AACvD,2DAAkE;AAClE,yEAAmE;AACnE,+DAA0E;AAC1E,+DAA0E;AAC1E,6EAAyE;AACzE,wCAA4E;AAC5E,uEAA8E;AAC9E,kFAA8E;AAC9E,oFAAgF;AAChF,6EAAoF;AACpF,sEAAuF;AACvF,qGAA+F;AAC/F,4DAAwF;AACxF,kGAAwF;AACxF,2GAA4G;AAC5G,oEAAwG;AAIxG,MAAM,2BAA2B,GAAG,IAAA,uBAAgB,EAAC;IACpD,iBAAiB,EAAjB,2BAAiB;IACjB,qBAAqB,EAArB,+BAAqB;IACrB,eAAe,EAAf,kCAAe;IACf,YAAY,EAAZ,sBAAY;IACZ,2BAA2B,EAA3B,qCAA2B;IAC3B,qBAAqB,EAArB,+BAAqB;IACrB,sBAAsB,EAAtB,kDAAsB;IACtB,gBAAgB,EAAhB,oCAAgB;CAChB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IAC9B,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAA8C,CAAC;IACrG,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAEtD,MAAM,IAAA,oBAAa,EAAC;QACnB,WAAW,EAAE,mCAA4B,CAAC,WAAW,CAAC,IAAI,mCAA4B,CAAC,OAAO;QAC9F,YAAY,EAAE,WAAW;QACzB,KAAK;QACL,aAAa,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,wBAAiB,EAAC;QACjC,MAAM,EAAE,2BAA2B;QACnC,aAAa,EAAE,2BAAiB;QAChC,OAAO,EAAE,kCAAe;QACxB,UAAU,EAAE,IAAA,qBAAc,GAAE;KAC5B,CAAC,CAAC;IAEH,MAAM,IAAA,0CAAkB,GAAE,CAAC;IAC3B,MAAM,gDAAmB,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,iEAAiC,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,IAAA,yBAAqB,GAAE,CAAC;IAE9B,IAAA,mBAAY,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACzB,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/E,OAAO;QACR,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACpB,MAAM,GAAG,GAAG,UAAU,CAAC;QACvB,MAAM,KAAK,GAAG,UAAU,CAAC;QACzB,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,0BAA0B,GAAG,GAAG,IAAI,GAAG,KAAK,8BAA8B,KAAK,EAAE,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAIF,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACzB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC","sourcesContent":["// index entry point for migration tracking\nimport dotenv from 'dotenv';\nimport { createServer } from 'http';\nimport { couponRouter } from '@modules/coupon/routers';\nimport { dealSettingRouter } from '@modules/deal-setting/routers';\nimport { initEventListeners } from './event/event-initializations';\nimport { referralSettingRouter } from '@modules/referral-setting/routers';\nimport { featuredSettingRouter } from '@modules/featured-setting/routers';\nimport { tournamentRouter } from '@modules/tournament/tournament.router';\nimport { bootstrapCore, EnvironmentConfigurationType } from '@lyxa.ai/core';\nimport { createLyxaContext } from '@lyxa.ai/core/dist/libraries/trpc/context';\nimport { marketingRouter } from '@modules/marketing/routers/marketing.router';\nimport { handleTRPCError } from '@lyxa.ai/core/dist/utilities/error-middleware';\nimport { corsMiddleware } from '@lyxa.ai/core/dist/libraries/trpc/middlewares/cors';\nimport { punchMarketingHistoryRouter } from '@modules/punch-marketing-history/routers';\nimport { limitedTimeOfferRouter } from '@modules/limited-time-offer/limited-time-offer.router';\nimport { createTRPCRouter, createHTTPHandler } from '@lyxa.ai/core/dist/libraries/trpc';\nimport { couponWorkerService } from '@modules/coupon/queues/coupon-notification.worker';\nimport { marketingProductSyncWorkerService } from '@modules/marketing/queues/marketing-product-sync.worker';\nimport { startBullMQWorkers as startLtoBullMQWorkers } from '@modules/limited-time-offer/campaign/jobs';\n\n// dotenv.config();\n\nconst marketingMicroServiceRouter = createTRPCRouter({\n\tdealSettingRouter,\n\tfeaturedSettingRouter,\n\tmarketingRouter,\n\tcouponRouter,\n\tpunchMarketingHistoryRouter,\n\treferralSettingRouter,\n\tlimitedTimeOfferRouter,\n\ttournamentRouter,\n});\n\nconst startServer = async () => {\n\tconst environment = (process.env.NODE_ENV || 'PREPROD') as keyof typeof EnvironmentConfigurationType;\n\tconst tenet = process.env.TENET || 'lb';\n\tconst port = parseInt(process.env.PORT || '3006', 10);\n\n\tawait bootstrapCore({\n\t\tenvironment: EnvironmentConfigurationType[environment] || EnvironmentConfigurationType.PREPROD,\n\t\tinstanceType: 'marketing',\n\t\ttenet,\n\t\tmongooseDebug: false,\n\t});\n\n\tconst handler = createHTTPHandler({\n\t\trouter: marketingMicroServiceRouter,\n\t\tcreateContext: createLyxaContext,\n\t\tonError: handleTRPCError,\n\t\tmiddleware: corsMiddleware(),\n\t});\n\n\tawait initEventListeners();\n\tawait couponWorkerService.startWorker();\n\tawait marketingProductSyncWorkerService.startWorker();\n\tawait startLtoBullMQWorkers();\n\n\tcreateServer((req, res) => {\n\t\tif (req.url === '/health') {\n\t\t\tres.writeHead(200, { 'Content-Type': 'application/json' });\n\t\t\tres.end(JSON.stringify({ status: 'ok', timestamp: new Date().toISOString() }));\n\t\t\treturn;\n\t\t}\n\n\t\thandler(req, res);\n\t}).listen(port, () => {\n\t\tconst RED = '\\x1b[31m';\n\t\tconst GREEN = '\\x1b[32m';\n\t\tconst RESET = '\\x1b[0m';\n\t\tconsole.log(`${GREEN}Server started on port ${RED}${port}${GREEN} with health check endpoint${RESET}`);\n\t});\n};\n\nexport type MarketingMicroServiceRouter = typeof marketingMicroServiceRouter;\n\nstartServer().catch(err => {\n\tconsole.error('Failed to start server:', err);\n\tprocess.exit(1);\n});\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["// index entry point for migration tracking\nimport dotenv from 'dotenv';\nimport { createServer } from 'http';\nimport { couponRouter } from '@modules/coupon/routers';\nimport { dealSettingRouter } from '@modules/deal-setting/routers';\nimport { initEventListeners } from './event/event-initializations';\nimport { referralSettingRouter } from '@modules/referral-setting/routers';\nimport { featuredSettingRouter } from '@modules/featured-setting/routers';\nimport { tournamentRouter } from '@modules/tournament/tournament.router';\nimport { bootstrapCore, EnvironmentConfigurationType } from '@lyxa.ai/core';\nimport { createLyxaContext } from '@lyxa.ai/core/dist/libraries/trpc/context';\nimport { marketingRouter } from '@modules/marketing/routers/marketing.router';\nimport { handleTRPCError } from '@lyxa.ai/core/dist/utilities/error-middleware';\nimport { corsMiddleware } from '@lyxa.ai/core/dist/libraries/trpc/middlewares/cors';\nimport { punchMarketingHistoryRouter } from '@modules/punch-marketing-history/routers';\nimport { spendToGetHistoryRouter } from '@modules/spend-to-get-history/spend-to-get-history.router';\nimport { limitedTimeOfferRouter } from '@modules/limited-time-offer/limited-time-offer.router';\nimport { createTRPCRouter, createHTTPHandler } from '@lyxa.ai/core/dist/libraries/trpc';\nimport { couponWorkerService } from '@modules/coupon/queues/coupon-notification.worker';\nimport { marketingProductSyncWorkerService } from '@modules/marketing/queues/marketing-product-sync.worker';\nimport { startBullMQWorkers as startLtoBullMQWorkers } from '@modules/limited-time-offer/campaign/jobs';\n\n// dotenv.config();\n\nconst marketingMicroServiceRouter = createTRPCRouter({\n\tdealSettingRouter,\n\tfeaturedSettingRouter,\n\tmarketingRouter,\n\tcouponRouter,\n\tpunchMarketingHistoryRouter,\n\tspendToGetHistoryRouter,\n\treferralSettingRouter,\n\tlimitedTimeOfferRouter,\n\ttournamentRouter,\n});\n\nconst startServer = async () => {\n\tconst environment = (process.env.NODE_ENV || 'PREPROD') as keyof typeof EnvironmentConfigurationType;\n\tconst tenet = process.env.TENET || 'lb';\n\tconst port = parseInt(process.env.PORT || '3006', 10);\n\n\tawait bootstrapCore({\n\t\tenvironment: EnvironmentConfigurationType[environment] || EnvironmentConfigurationType.PREPROD,\n\t\tinstanceType: 'marketing',\n\t\ttenet,\n\t\tmongooseDebug: false,\n\t});\n\n\tconst handler = createHTTPHandler({\n\t\trouter: marketingMicroServiceRouter,\n\t\tcreateContext: createLyxaContext,\n\t\tonError: handleTRPCError,\n\t\tmiddleware: corsMiddleware(),\n\t});\n\n\tawait initEventListeners();\n\tawait couponWorkerService.startWorker();\n\tawait marketingProductSyncWorkerService.startWorker();\n\tawait startLtoBullMQWorkers();\n\n\tcreateServer((req, res) => {\n\t\tif (req.url === '/health') {\n\t\t\tres.writeHead(200, { 'Content-Type': 'application/json' });\n\t\t\tres.end(JSON.stringify({ status: 'ok', timestamp: new Date().toISOString() }));\n\t\t\treturn;\n\t\t}\n\n\t\thandler(req, res);\n\t}).listen(port, () => {\n\t\tconst RED = '\\x1b[31m';\n\t\tconst GREEN = '\\x1b[32m';\n\t\tconst RESET = '\\x1b[0m';\n\t\tconsole.log(`${GREEN}Server started on port ${RED}${port}${GREEN} with health check endpoint${RESET}`);\n\t});\n};\n\nexport type MarketingMicroServiceRouter = typeof marketingMicroServiceRouter;\n\nstartServer().catch(err => {\n\tconsole.error('Failed to start server:', err);\n\tprocess.exit(1);\n});\n"]}
|
package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts
CHANGED
|
@@ -209,16 +209,16 @@ export declare const LtoCampaignParticipantItemSchema: z.ZodObject<{
|
|
|
209
209
|
shopId: import("mongoose").Types.ObjectId;
|
|
210
210
|
joinedAt: Date;
|
|
211
211
|
shopName: string | null;
|
|
212
|
+
maxDiscountCap?: number | undefined;
|
|
212
213
|
shopPhoto?: string | null | undefined;
|
|
213
214
|
discountPercentage?: number | undefined;
|
|
214
|
-
maxDiscountCap?: number | undefined;
|
|
215
215
|
}, {
|
|
216
216
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
217
217
|
joinedAt: Date;
|
|
218
218
|
shopName: string | null;
|
|
219
|
+
maxDiscountCap?: number | undefined;
|
|
219
220
|
shopPhoto?: string | null | undefined;
|
|
220
221
|
discountPercentage?: number | undefined;
|
|
221
|
-
maxDiscountCap?: number | undefined;
|
|
222
222
|
}>;
|
|
223
223
|
export declare const LtoActiveCampaignSchema: z.ZodObject<{
|
|
224
224
|
_id: 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>]>;
|
|
@@ -960,25 +960,25 @@ export declare const LtoCampaignParticipantsResponseSchema: z.ZodObject<{
|
|
|
960
960
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
961
961
|
joinedAt: Date;
|
|
962
962
|
shopName: string | null;
|
|
963
|
+
maxDiscountCap?: number | undefined;
|
|
963
964
|
shopPhoto?: string | null | undefined;
|
|
964
965
|
discountPercentage?: number | undefined;
|
|
965
|
-
maxDiscountCap?: number | undefined;
|
|
966
966
|
}, z.ZodTypeDef, {
|
|
967
967
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
968
968
|
joinedAt: Date;
|
|
969
969
|
shopName: string | null;
|
|
970
|
+
maxDiscountCap?: number | undefined;
|
|
970
971
|
shopPhoto?: string | null | undefined;
|
|
971
972
|
discountPercentage?: number | undefined;
|
|
972
|
-
maxDiscountCap?: number | undefined;
|
|
973
973
|
}>, "many">;
|
|
974
974
|
}, "strip", z.ZodTypeAny, {
|
|
975
975
|
documents: {
|
|
976
976
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
977
977
|
joinedAt: Date;
|
|
978
978
|
shopName: string | null;
|
|
979
|
+
maxDiscountCap?: number | undefined;
|
|
979
980
|
shopPhoto?: string | null | undefined;
|
|
980
981
|
discountPercentage?: number | undefined;
|
|
981
|
-
maxDiscountCap?: number | undefined;
|
|
982
982
|
}[];
|
|
983
983
|
metadata?: {
|
|
984
984
|
page: number;
|
|
@@ -991,9 +991,9 @@ export declare const LtoCampaignParticipantsResponseSchema: z.ZodObject<{
|
|
|
991
991
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
992
992
|
joinedAt: Date;
|
|
993
993
|
shopName: string | null;
|
|
994
|
+
maxDiscountCap?: number | undefined;
|
|
994
995
|
shopPhoto?: string | null | undefined;
|
|
995
996
|
discountPercentage?: number | undefined;
|
|
996
|
-
maxDiscountCap?: number | undefined;
|
|
997
997
|
}[];
|
|
998
998
|
metadata?: {
|
|
999
999
|
page: number;
|
|
@@ -1005,16 +1005,16 @@ export declare const LtoCampaignParticipantsResponseSchema: z.ZodObject<{
|
|
|
1005
1005
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
1006
1006
|
joinedAt: Date;
|
|
1007
1007
|
shopName: string | null;
|
|
1008
|
+
maxDiscountCap?: number | undefined;
|
|
1008
1009
|
shopPhoto?: string | null | undefined;
|
|
1009
1010
|
discountPercentage?: number | undefined;
|
|
1010
|
-
maxDiscountCap?: number | undefined;
|
|
1011
1011
|
}, z.ZodTypeDef, {
|
|
1012
1012
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
1013
1013
|
joinedAt: Date;
|
|
1014
1014
|
shopName: string | null;
|
|
1015
|
+
maxDiscountCap?: number | undefined;
|
|
1015
1016
|
shopPhoto?: string | null | undefined;
|
|
1016
1017
|
discountPercentage?: number | undefined;
|
|
1017
|
-
maxDiscountCap?: number | undefined;
|
|
1018
1018
|
}>]>>;
|
|
1019
1019
|
}, "strip", z.ZodTypeAny, {
|
|
1020
1020
|
message: string;
|
|
@@ -1023,17 +1023,17 @@ export declare const LtoCampaignParticipantsResponseSchema: z.ZodObject<{
|
|
|
1023
1023
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
1024
1024
|
joinedAt: Date;
|
|
1025
1025
|
shopName: string | null;
|
|
1026
|
+
maxDiscountCap?: number | undefined;
|
|
1026
1027
|
shopPhoto?: string | null | undefined;
|
|
1027
1028
|
discountPercentage?: number | undefined;
|
|
1028
|
-
maxDiscountCap?: number | undefined;
|
|
1029
1029
|
} | {
|
|
1030
1030
|
documents: {
|
|
1031
1031
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
1032
1032
|
joinedAt: Date;
|
|
1033
1033
|
shopName: string | null;
|
|
1034
|
+
maxDiscountCap?: number | undefined;
|
|
1034
1035
|
shopPhoto?: string | null | undefined;
|
|
1035
1036
|
discountPercentage?: number | undefined;
|
|
1036
|
-
maxDiscountCap?: number | undefined;
|
|
1037
1037
|
}[];
|
|
1038
1038
|
metadata?: {
|
|
1039
1039
|
page: number;
|
|
@@ -1049,17 +1049,17 @@ export declare const LtoCampaignParticipantsResponseSchema: z.ZodObject<{
|
|
|
1049
1049
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
1050
1050
|
joinedAt: Date;
|
|
1051
1051
|
shopName: string | null;
|
|
1052
|
+
maxDiscountCap?: number | undefined;
|
|
1052
1053
|
shopPhoto?: string | null | undefined;
|
|
1053
1054
|
discountPercentage?: number | undefined;
|
|
1054
|
-
maxDiscountCap?: number | undefined;
|
|
1055
1055
|
} | {
|
|
1056
1056
|
documents: {
|
|
1057
1057
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
1058
1058
|
joinedAt: Date;
|
|
1059
1059
|
shopName: string | null;
|
|
1060
|
+
maxDiscountCap?: number | undefined;
|
|
1060
1061
|
shopPhoto?: string | null | undefined;
|
|
1061
1062
|
discountPercentage?: number | undefined;
|
|
1062
|
-
maxDiscountCap?: number | undefined;
|
|
1063
1063
|
}[];
|
|
1064
1064
|
metadata?: {
|
|
1065
1065
|
page: number;
|
|
@@ -10,6 +10,8 @@ export declare class LtoCampaignLifecycleService {
|
|
|
10
10
|
expireCampaign(campaignId: mongoose.Types.ObjectId): Promise<boolean>;
|
|
11
11
|
cancelCampaign(campaignId: mongoose.Types.ObjectId): Promise<void>;
|
|
12
12
|
private expireRecurring;
|
|
13
|
+
private createNextOccurrence;
|
|
14
|
+
private cloneParticipants;
|
|
13
15
|
}
|
|
14
16
|
export declare const ltoCampaignLifecycleService: LtoCampaignLifecycleService;
|
|
15
17
|
//# sourceMappingURL=limited-time-offer-campaign-lifecycle.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limited-time-offer-campaign-lifecycle.service.d.ts","sourceRoot":"/","sources":["modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,QAAQ,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"limited-time-offer-campaign-lifecycle.service.d.ts","sourceRoot":"/","sources":["modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAY5D,qBACa,2BAA2B;IACpC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,qBAAqB,CAA2B;IACxD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAA4B;;IAUrC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAarE,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAajE,eAAe;YAef,oBAAoB;YAmBpB,iBAAiB;CAWlC;AAED,eAAO,MAAM,2BAA2B,6BAA6C,CAAC"}
|
|
@@ -50,6 +50,7 @@ const limited_time_offer_campaign_repository_1 = require("../../../limited-time-
|
|
|
50
50
|
const limited_time_offer_campaign_scheduler_service_1 = require("./limited-time-offer-campaign-scheduler.service");
|
|
51
51
|
const limited_time_offer_participant_marketing_service_1 = require("../../../limited-time-offer/participant/services/limited-time-offer-participant-marketing.service");
|
|
52
52
|
const limited_time_offer_participant_repository_1 = require("../../../limited-time-offer/participant/limited-time-offer-participant.repository");
|
|
53
|
+
const limited_time_offer_participant_builder_1 = require("../../../limited-time-offer/participant/limited-time-offer-participant.builder");
|
|
53
54
|
const limited_time_offer_campaign_session_service_1 = require("../../../limited-time-offer/session/limited-time-offer-campaign-session.service");
|
|
54
55
|
const limited_time_offer_campaign_builder_1 = require("../limited-time-offer-campaign.builder");
|
|
55
56
|
let LtoCampaignLifecycleService = class LtoCampaignLifecycleService {
|
|
@@ -95,14 +96,32 @@ let LtoCampaignLifecycleService = class LtoCampaignLifecycleService {
|
|
|
95
96
|
const shopCount = await this.participantRepository.countNonWithdrawnByCampaign(campaign._id);
|
|
96
97
|
await this.marketingService.removeAllCampaignMarketings(campaign._id);
|
|
97
98
|
await this.sessionService.logSession(campaign, shopCount);
|
|
99
|
+
await this.repository.setStatus(campaign._id, enum_1.LimitedTimeOfferCampaignStatus.EXPIRED, true);
|
|
98
100
|
const { startDate, endDate } = (0, limited_time_offer_campaign_builder_1.nextOccurrenceDate)(campaign.repeatDays, campaign.startDate, campaign.endDate);
|
|
99
|
-
await this.
|
|
101
|
+
const nextCampaign = await this.createNextOccurrence(campaign, startDate, endDate);
|
|
102
|
+
await this.cloneParticipants(campaign._id, nextCampaign._id);
|
|
103
|
+
await this.scheduler.scheduleActivation(nextCampaign._id, startDate);
|
|
104
|
+
await this.scheduler.scheduleExpiry(nextCampaign._id, endDate);
|
|
105
|
+
}
|
|
106
|
+
async createNextOccurrence(campaign, startDate, endDate) {
|
|
107
|
+
return this.repository.create({
|
|
108
|
+
campaignNumber: await this.repository.nextCampaignNumber(),
|
|
109
|
+
title: campaign.title,
|
|
110
|
+
subTitle: campaign.subTitle,
|
|
100
111
|
startDate,
|
|
101
112
|
endDate,
|
|
102
113
|
status: enum_1.LimitedTimeOfferCampaignStatus.SCHEDULED,
|
|
114
|
+
campaignType: campaign.campaignType,
|
|
115
|
+
discountOptions: campaign.discountOptions,
|
|
116
|
+
maxDiscountCaps: campaign.maxDiscountCaps,
|
|
117
|
+
repeatDays: campaign.repeatDays,
|
|
103
118
|
});
|
|
104
|
-
|
|
105
|
-
|
|
119
|
+
}
|
|
120
|
+
async cloneParticipants(fromCampaignId, toCampaignId) {
|
|
121
|
+
const participants = await this.participantRepository.findAllActiveByCampaign(fromCampaignId);
|
|
122
|
+
for (const participant of participants) {
|
|
123
|
+
await this.participantRepository.create(limited_time_offer_participant_builder_1.LtoParticipantQueryBuilder.buildCloneInput(toCampaignId, participant));
|
|
124
|
+
}
|
|
106
125
|
}
|
|
107
126
|
};
|
|
108
127
|
exports.LtoCampaignLifecycleService = LtoCampaignLifecycleService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limited-time-offer-campaign-lifecycle.service.js","sourceRoot":"/","sources":["modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"limited-time-offer-campaign-lifecycle.service.js","sourceRoot":"/","sources":["modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.ts"],"names":[],"mappings":"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","sourcesContent":["import Container, {Service} from 'typedi';\nimport {DocumentType, mongoose} from '@typegoose/typegoose';\nimport {LimitedTimeOfferCampaign as Model, LimitedTimeOfferCampaign} from '@lyxa.ai/core/dist/libraries/mongo/models';\nimport {LimitedTimeOfferCampaignStatus} from '@lyxa.ai/core/dist/utilities/enum';\nimport {notFoundError} from '@lyxa.ai/core/dist/utilities/error-common';\nimport {LtoCampaignRepository} from '@modules/limited-time-offer/campaign/limited-time-offer-campaign.repository';\nimport {LtoCampaignSchedulerService} from './limited-time-offer-campaign-scheduler.service';\nimport {LtoParticipantMarketingService} from '@modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service';\nimport {LtoParticipantRepository} from '@modules/limited-time-offer/participant/limited-time-offer-participant.repository';\nimport {LtoParticipantQueryBuilder} from '@modules/limited-time-offer/participant/limited-time-offer-participant.builder';\nimport {LtoCampaignSessionService} from '@modules/limited-time-offer/session/limited-time-offer-campaign-session.service';\nimport {nextOccurrenceDate} from '../limited-time-offer-campaign.builder';\n\n@Service()\nexport class LtoCampaignLifecycleService {\n private repository: LtoCampaignRepository;\n private scheduler: LtoCampaignSchedulerService;\n private participantRepository: LtoParticipantRepository;\n private marketingService: LtoParticipantMarketingService;\n private sessionService: LtoCampaignSessionService;\n\n constructor() {\n this.repository = Container.get(LtoCampaignRepository);\n this.scheduler = Container.get(LtoCampaignSchedulerService);\n this.participantRepository = Container.get(LtoParticipantRepository);\n this.marketingService = Container.get(LtoParticipantMarketingService);\n this.sessionService = Container.get(LtoCampaignSessionService);\n }\n\n public async activateCampaign(campaignId: mongoose.Types.ObjectId): Promise<void> {\n await this.repository.setStatus(campaignId, LimitedTimeOfferCampaignStatus.ACTIVE);\n }\n\n public async expireCampaign(campaignId: mongoose.Types.ObjectId): Promise<boolean> {\n const campaign = await this.repository.findById(campaignId);\n if (!campaign) throw notFoundError('Campaign not found');\n\n if ((campaign.repeatDays ?? []).length > 0) {\n await this.expireRecurring(campaign);\n return true;\n } else {\n await this.repository.setStatus(campaignId, LimitedTimeOfferCampaignStatus.EXPIRED, true);\n return false;\n }\n }\n\n public async cancelCampaign(campaignId: mongoose.Types.ObjectId): Promise<void> {\n const campaign = await this.repository.findById(campaignId);\n if (!campaign) throw notFoundError('Campaign not found');\n\n // Deleting a live recurring session logs that day's session before archiving the campaign.\n if ((campaign.repeatDays ?? []).length > 0 && campaign.status === LimitedTimeOfferCampaignStatus.ACTIVE) {\n const shopCount = await this.participantRepository.countNonWithdrawnByCampaign(campaign._id);\n await this.sessionService.logSession(campaign, shopCount);\n }\n\n await this.repository.setStatus(campaignId, LimitedTimeOfferCampaignStatus.CANCELLED, true);\n }\n\n private async expireRecurring(campaign: DocumentType<LimitedTimeOfferCampaign>): Promise<void> {\n const shopCount = await this.participantRepository.countNonWithdrawnByCampaign(campaign._id);\n await this.marketingService.removeAllCampaignMarketings(campaign._id);\n await this.sessionService.logSession(campaign, shopCount);\n\n await this.repository.setStatus(campaign._id, LimitedTimeOfferCampaignStatus.EXPIRED, true);\n\n const {startDate, endDate} = nextOccurrenceDate(campaign.repeatDays, campaign.startDate, campaign.endDate);\n const nextCampaign = await this.createNextOccurrence(campaign, startDate, endDate);\n await this.cloneParticipants(campaign._id, nextCampaign._id);\n\n await this.scheduler.scheduleActivation(nextCampaign._id, startDate);\n await this.scheduler.scheduleExpiry(nextCampaign._id, endDate);\n }\n\n private async createNextOccurrence(\n campaign: DocumentType<LimitedTimeOfferCampaign>,\n startDate: Date,\n endDate: Date,\n ): Promise<DocumentType<LimitedTimeOfferCampaign>> {\n return this.repository.create({\n campaignNumber: await this.repository.nextCampaignNumber(),\n title: campaign.title,\n subTitle: campaign.subTitle,\n startDate,\n endDate,\n status: LimitedTimeOfferCampaignStatus.SCHEDULED,\n campaignType: campaign.campaignType,\n discountOptions: campaign.discountOptions,\n maxDiscountCaps: campaign.maxDiscountCaps,\n repeatDays: campaign.repeatDays,\n });\n }\n\n private async cloneParticipants(\n fromCampaignId: mongoose.Types.ObjectId,\n toCampaignId: mongoose.Types.ObjectId,\n ): Promise<void> {\n const participants = await this.participantRepository.findAllActiveByCampaign(fromCampaignId);\n for (const participant of participants) {\n await this.participantRepository.create(\n LtoParticipantQueryBuilder.buildCloneInput(toCampaignId, participant),\n );\n }\n }\n}\n\nexport const ltoCampaignLifecycleService = Container.get(LtoCampaignLifecycleService);\n"]}
|
|
@@ -525,8 +525,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
525
525
|
join: import("@trpc/server").TRPCMutationProcedure<{
|
|
526
526
|
input: {
|
|
527
527
|
isEntireMenu: boolean;
|
|
528
|
-
discountPercentage: number;
|
|
529
528
|
maxDiscountCap: number;
|
|
529
|
+
discountPercentage: number;
|
|
530
530
|
isOrderCapacityEnabled: boolean;
|
|
531
531
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
532
532
|
maxOrderCapacity?: number | undefined;
|
|
@@ -546,8 +546,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
546
546
|
createdAt?: Date | null | undefined;
|
|
547
547
|
updatedAt?: Date | null | undefined;
|
|
548
548
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
549
|
-
discountPercentage?: number | undefined;
|
|
550
549
|
maxDiscountCap?: number | undefined;
|
|
550
|
+
discountPercentage?: number | undefined;
|
|
551
551
|
maxOrderCapacity?: number | undefined;
|
|
552
552
|
withdrawnAt?: Date | null | undefined;
|
|
553
553
|
} | {
|
|
@@ -562,8 +562,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
562
562
|
createdAt?: Date | null | undefined;
|
|
563
563
|
updatedAt?: Date | null | undefined;
|
|
564
564
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
565
|
-
discountPercentage?: number | undefined;
|
|
566
565
|
maxDiscountCap?: number | undefined;
|
|
566
|
+
discountPercentage?: number | undefined;
|
|
567
567
|
maxOrderCapacity?: number | undefined;
|
|
568
568
|
withdrawnAt?: Date | null | undefined;
|
|
569
569
|
}[];
|
|
@@ -580,8 +580,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
580
580
|
update: import("@trpc/server").TRPCMutationProcedure<{
|
|
581
581
|
input: {
|
|
582
582
|
isEntireMenu: boolean;
|
|
583
|
-
discountPercentage: number;
|
|
584
583
|
maxDiscountCap: number;
|
|
584
|
+
discountPercentage: number;
|
|
585
585
|
isOrderCapacityEnabled: boolean;
|
|
586
586
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
587
587
|
maxOrderCapacity?: number | undefined;
|
|
@@ -601,8 +601,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
601
601
|
createdAt?: Date | null | undefined;
|
|
602
602
|
updatedAt?: Date | null | undefined;
|
|
603
603
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
604
|
-
discountPercentage?: number | undefined;
|
|
605
604
|
maxDiscountCap?: number | undefined;
|
|
605
|
+
discountPercentage?: number | undefined;
|
|
606
606
|
maxOrderCapacity?: number | undefined;
|
|
607
607
|
withdrawnAt?: Date | null | undefined;
|
|
608
608
|
} | {
|
|
@@ -617,8 +617,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
617
617
|
createdAt?: Date | null | undefined;
|
|
618
618
|
updatedAt?: Date | null | undefined;
|
|
619
619
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
620
|
-
discountPercentage?: number | undefined;
|
|
621
620
|
maxDiscountCap?: number | undefined;
|
|
621
|
+
discountPercentage?: number | undefined;
|
|
622
622
|
maxOrderCapacity?: number | undefined;
|
|
623
623
|
withdrawnAt?: Date | null | undefined;
|
|
624
624
|
}[];
|
|
@@ -662,8 +662,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
662
662
|
isOrderCapacityEnabled: boolean;
|
|
663
663
|
productIds?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
664
664
|
marketingId?: string | import("mongoose").Types.ObjectId | undefined;
|
|
665
|
-
discountPercentage?: number | undefined;
|
|
666
665
|
maxDiscountCap?: number | undefined;
|
|
666
|
+
discountPercentage?: number | undefined;
|
|
667
667
|
maxOrderCapacity?: number | undefined;
|
|
668
668
|
} | undefined;
|
|
669
669
|
} | {
|
|
@@ -684,8 +684,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
684
684
|
isOrderCapacityEnabled: boolean;
|
|
685
685
|
productIds?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
686
686
|
marketingId?: string | import("mongoose").Types.ObjectId | undefined;
|
|
687
|
-
discountPercentage?: number | undefined;
|
|
688
687
|
maxDiscountCap?: number | undefined;
|
|
688
|
+
discountPercentage?: number | undefined;
|
|
689
689
|
maxOrderCapacity?: number | undefined;
|
|
690
690
|
} | undefined;
|
|
691
691
|
}[];
|
|
@@ -704,8 +704,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
704
704
|
shops: {
|
|
705
705
|
isEntireMenu: boolean;
|
|
706
706
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
707
|
-
discountPercentage: number;
|
|
708
707
|
maxDiscountCap: number;
|
|
708
|
+
discountPercentage: number;
|
|
709
709
|
isOrderCapacityEnabled: boolean;
|
|
710
710
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
711
711
|
maxOrderCapacity?: number | undefined;
|
|
@@ -726,8 +726,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
726
726
|
createdAt?: Date | null | undefined;
|
|
727
727
|
updatedAt?: Date | null | undefined;
|
|
728
728
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
729
|
-
discountPercentage?: number | undefined;
|
|
730
729
|
maxDiscountCap?: number | undefined;
|
|
730
|
+
discountPercentage?: number | undefined;
|
|
731
731
|
maxOrderCapacity?: number | undefined;
|
|
732
732
|
withdrawnAt?: Date | null | undefined;
|
|
733
733
|
}[] | {
|
|
@@ -742,8 +742,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
742
742
|
createdAt?: Date | null | undefined;
|
|
743
743
|
updatedAt?: Date | null | undefined;
|
|
744
744
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
745
|
-
discountPercentage?: number | undefined;
|
|
746
745
|
maxDiscountCap?: number | undefined;
|
|
746
|
+
discountPercentage?: number | undefined;
|
|
747
747
|
maxOrderCapacity?: number | undefined;
|
|
748
748
|
withdrawnAt?: Date | null | undefined;
|
|
749
749
|
}[][];
|
|
@@ -761,8 +761,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
761
761
|
input: {
|
|
762
762
|
isEntireMenu: boolean;
|
|
763
763
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
764
|
-
discountPercentage: number;
|
|
765
764
|
maxDiscountCap: number;
|
|
765
|
+
discountPercentage: number;
|
|
766
766
|
isOrderCapacityEnabled: boolean;
|
|
767
767
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
768
768
|
maxOrderCapacity?: number | undefined;
|
|
@@ -782,8 +782,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
782
782
|
createdAt?: Date | null | undefined;
|
|
783
783
|
updatedAt?: Date | null | undefined;
|
|
784
784
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
785
|
-
discountPercentage?: number | undefined;
|
|
786
785
|
maxDiscountCap?: number | undefined;
|
|
786
|
+
discountPercentage?: number | undefined;
|
|
787
787
|
maxOrderCapacity?: number | undefined;
|
|
788
788
|
withdrawnAt?: Date | null | undefined;
|
|
789
789
|
} | {
|
|
@@ -798,8 +798,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
798
798
|
createdAt?: Date | null | undefined;
|
|
799
799
|
updatedAt?: Date | null | undefined;
|
|
800
800
|
products?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
801
|
-
discountPercentage?: number | undefined;
|
|
802
801
|
maxDiscountCap?: number | undefined;
|
|
802
|
+
discountPercentage?: number | undefined;
|
|
803
803
|
maxOrderCapacity?: number | undefined;
|
|
804
804
|
withdrawnAt?: Date | null | undefined;
|
|
805
805
|
}[];
|
|
@@ -837,17 +837,17 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
837
837
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
838
838
|
joinedAt: Date;
|
|
839
839
|
shopName: string | null;
|
|
840
|
+
maxDiscountCap?: number | undefined;
|
|
840
841
|
shopPhoto?: string | null | undefined;
|
|
841
842
|
discountPercentage?: number | undefined;
|
|
842
|
-
maxDiscountCap?: number | undefined;
|
|
843
843
|
} | {
|
|
844
844
|
documents: {
|
|
845
845
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
846
846
|
joinedAt: Date;
|
|
847
847
|
shopName: string | null;
|
|
848
|
+
maxDiscountCap?: number | undefined;
|
|
848
849
|
shopPhoto?: string | null | undefined;
|
|
849
850
|
discountPercentage?: number | undefined;
|
|
850
|
-
maxDiscountCap?: number | undefined;
|
|
851
851
|
}[];
|
|
852
852
|
metadata?: {
|
|
853
853
|
page: number;
|
|
@@ -883,8 +883,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
883
883
|
isOrderCapacityEnabled: boolean;
|
|
884
884
|
productIds?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
885
885
|
marketingId?: string | import("mongoose").Types.ObjectId | undefined;
|
|
886
|
-
discountPercentage?: number | undefined;
|
|
887
886
|
maxDiscountCap?: number | undefined;
|
|
887
|
+
discountPercentage?: number | undefined;
|
|
888
888
|
maxOrderCapacity?: number | undefined;
|
|
889
889
|
} | undefined;
|
|
890
890
|
} | {
|
|
@@ -905,8 +905,8 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
905
905
|
isOrderCapacityEnabled: boolean;
|
|
906
906
|
productIds?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
|
907
907
|
marketingId?: string | import("mongoose").Types.ObjectId | undefined;
|
|
908
|
-
discountPercentage?: number | undefined;
|
|
909
908
|
maxDiscountCap?: number | undefined;
|
|
909
|
+
discountPercentage?: number | undefined;
|
|
910
910
|
maxOrderCapacity?: number | undefined;
|
|
911
911
|
} | undefined;
|
|
912
912
|
}[];
|
package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mongoose } from '@typegoose/typegoose';
|
|
2
|
-
import { LimitedTimeOfferCampaign } from '@lyxa.ai/core/dist/libraries/mongo/models';
|
|
2
|
+
import { LimitedTimeOfferCampaign, LimitedTimeOfferParticipant } from '@lyxa.ai/core/dist/libraries/mongo/models';
|
|
3
3
|
import { MarketingCampaignType, MarketingStatus, MarketingType, ValueType } from '@lyxa.ai/core/dist/utilities/enum';
|
|
4
4
|
import { GetLtoCampaignParticipantsDTO } from '../campaign/limited-time-offer-campaign.validation';
|
|
5
5
|
import { JoinLtoCampaignDTO } from './limited-time-offer-participant.validation';
|
|
@@ -29,6 +29,19 @@ export declare class LtoParticipantQueryBuilder {
|
|
|
29
29
|
isWithdrawn: boolean;
|
|
30
30
|
pausedMarketings: mongoose.Types.ObjectId[];
|
|
31
31
|
};
|
|
32
|
+
static buildCloneInput(campaignId: mongoose.Types.ObjectId, source: Pick<LimitedTimeOfferParticipant, 'shop' | 'products' | 'isEntireMenu' | 'discountPercentage' | 'maxDiscountCap' | 'isOrderCapacityEnabled' | 'maxOrderCapacity'>): {
|
|
33
|
+
campaign: mongoose.Types.ObjectId;
|
|
34
|
+
shop: import("@typegoose/typegoose").Ref<import("@lyxa.ai/core/dist/libraries/mongo/models").Shop>;
|
|
35
|
+
joinedAt: Date;
|
|
36
|
+
products: import("@typegoose/typegoose").Ref<import("@lyxa.ai/core/dist/libraries/mongo/models").Product>[];
|
|
37
|
+
isEntireMenu: boolean;
|
|
38
|
+
discountPercentage: number | undefined;
|
|
39
|
+
maxDiscountCap: number | undefined;
|
|
40
|
+
isOrderCapacityEnabled: boolean;
|
|
41
|
+
maxOrderCapacity: number | undefined;
|
|
42
|
+
isWithdrawn: boolean;
|
|
43
|
+
pausedMarketings: never[];
|
|
44
|
+
};
|
|
32
45
|
static buildMarketingInput(shopId: mongoose.Types.ObjectId, campaign: LimitedTimeOfferCampaign & {
|
|
33
46
|
_id: mongoose.Types.ObjectId;
|
|
34
47
|
}, dto: JoinLtoCampaignDTO): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limited-time-offer-participant.builder.d.ts","sourceRoot":"/","sources":["modules/limited-time-offer/participant/limited-time-offer-participant.builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAC,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"limited-time-offer-participant.builder.d.ts","sourceRoot":"/","sources":["modules/limited-time-offer/participant/limited-time-offer-participant.builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAE,2BAA2B,EAAC,MAAM,2CAA2C,CAAC;AAChH,OAAO,EAAC,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAC,MAAM,mCAAmC,CAAC;AACnH,OAAO,EAAC,6BAA6B,EAAC,MAAM,oDAAoD,CAAC;AACjG,OAAO,EAAC,kBAAkB,EAAC,MAAM,6CAA6C,CAAC;AAE/E,qBAAa,0BAA0B;IACnC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,6BAA6B;;;;IAI7D,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,6BAA6B,GAAG,MAAM,GAAG,SAAS;IAI9E,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE;QAC3B,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACpC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrC,GAAG,EAAE,kBAAkB,CAAC;QACxB,gBAAgB,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;KAChD;;;;;;;;;;;;;;IAkBD,MAAM,CAAC,eAAe,CAClB,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EACnC,MAAM,EAAE,IAAI,CACR,2BAA2B,EACzB,MAAM,GACN,UAAU,GACV,cAAc,GACd,oBAAoB,GACpB,gBAAgB,GAChB,wBAAwB,GACxB,kBAAkB,CACvB;;;;;;;;;;;;;IAiBL,MAAM,CAAC,mBAAmB,CACtB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC/B,QAAQ,EAAE,wBAAwB,GAAG;QAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAA;KAAC,EACnE,GAAG,EAAE,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B9B"}
|
package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.js
CHANGED
|
@@ -26,6 +26,21 @@ class LtoParticipantQueryBuilder {
|
|
|
26
26
|
pausedMarketings,
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
+
static buildCloneInput(campaignId, source) {
|
|
30
|
+
return {
|
|
31
|
+
campaign: campaignId,
|
|
32
|
+
shop: source.shop,
|
|
33
|
+
joinedAt: new Date(),
|
|
34
|
+
products: source.products ?? [],
|
|
35
|
+
isEntireMenu: source.isEntireMenu,
|
|
36
|
+
discountPercentage: source.discountPercentage,
|
|
37
|
+
maxDiscountCap: source.maxDiscountCap,
|
|
38
|
+
isOrderCapacityEnabled: source.isOrderCapacityEnabled,
|
|
39
|
+
maxOrderCapacity: source.maxOrderCapacity,
|
|
40
|
+
isWithdrawn: false,
|
|
41
|
+
pausedMarketings: [],
|
|
42
|
+
};
|
|
43
|
+
}
|
|
29
44
|
static buildMarketingInput(shopId, campaign, dto) {
|
|
30
45
|
return {
|
|
31
46
|
shop: shopId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limited-time-offer-participant.builder.js","sourceRoot":"/","sources":["modules/limited-time-offer/participant/limited-time-offer-participant.builder.ts"],"names":[],"mappings":";;;AAEA,4DAAmH;AAInH,MAAa,0BAA0B;IACnC,MAAM,CAAC,mBAAmB,CAAC,GAAkC;QACzD,OAAO,EAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,GAAkC;QACrD,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAMvB;QACG,MAAM,EAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,gBAAgB,GAAG,EAAE,EAAC,GAAG,KAAK,CAAC;QAC5E,OAAO;YACH,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,WAAW;YACtB,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;YAC1C,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,sBAAsB,EAAE,GAAG,CAAC,sBAAsB;YAClD,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,WAAW,EAAE,KAAK;YAClB,gBAAgB;SACnB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,mBAAmB,CACtB,MAA+B,EAC/B,QAAmE,EACnE,GAAuB;QAEvB,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,oBAAa,CAAC,QAAQ;YACrC,YAAY,EAAE,4BAAqB,CAAC,kBAAkB;YACtD,kBAAkB,EAAE,KAAK;YACzB,QAAQ,EAAE,EAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAC;YAC5D,MAAM,EAAE,sBAAe,CAAC,MAAM;YAC9B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;YAC5D,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC9D,QAAQ,EAAE,GAAG,CAAC,YAAY;gBACtB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBAC7B,OAAO,EAAE,SAAS;oBAClB,KAAK,EAAE,GAAG,CAAC,kBAAkB;oBAC7B,SAAS,EAAE,gBAAS,CAAC,UAAU;iBAClC,CAAC,CAAC;YACP,mBAAmB,EAAE,GAAG,CAAC,cAAc;YACvC,4BAA4B,EAAE,GAAG,CAAC,cAAc,GAAG,CAAC;YACpD,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,CAAC;YACb,mBAAmB,EAAE,KAAK;YAC1B,mBAAmB,EAAE,KAAK;SAC7B,CAAC;IACN,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"limited-time-offer-participant.builder.js","sourceRoot":"/","sources":["modules/limited-time-offer/participant/limited-time-offer-participant.builder.ts"],"names":[],"mappings":"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","sourcesContent":["import {mongoose} from '@typegoose/typegoose';\nimport {LimitedTimeOfferCampaign, LimitedTimeOfferParticipant} from '@lyxa.ai/core/dist/libraries/mongo/models';\nimport {MarketingCampaignType, MarketingStatus, MarketingType, ValueType} from '@lyxa.ai/core/dist/utilities/enum';\nimport {GetLtoCampaignParticipantsDTO} from '../campaign/limited-time-offer-campaign.validation';\nimport {JoinLtoCampaignDTO} from './limited-time-offer-participant.validation';\n\nexport class LtoParticipantQueryBuilder {\n static buildCampaignFilter(dto: GetLtoCampaignParticipantsDTO) {\n return {campaign: dto.campaignId, isWithdrawn: false};\n }\n\n static buildSearchTerm(dto: GetLtoCampaignParticipantsDTO): string | undefined {\n return dto.search?.trim() || undefined;\n }\n\n static buildCreateInput(input: {\n campaignId: mongoose.Types.ObjectId;\n shopId: mongoose.Types.ObjectId;\n marketingId: mongoose.Types.ObjectId;\n dto: JoinLtoCampaignDTO;\n pausedMarketings?: mongoose.Types.ObjectId[];\n }) {\n const {campaignId, shopId, marketingId, dto, pausedMarketings = []} = input;\n return {\n campaign: campaignId,\n shop: shopId,\n marketing: marketingId,\n joinedAt: new Date(),\n products: dto.products ?? [],\n isEntireMenu: dto.isEntireMenu,\n discountPercentage: dto.discountPercentage,\n maxDiscountCap: dto.maxDiscountCap,\n isOrderCapacityEnabled: dto.isOrderCapacityEnabled,\n maxOrderCapacity: dto.maxOrderCapacity,\n isWithdrawn: false,\n pausedMarketings,\n };\n }\n\n static buildCloneInput(\n campaignId: mongoose.Types.ObjectId,\n source: Pick<\n LimitedTimeOfferParticipant,\n | 'shop'\n | 'products'\n | 'isEntireMenu'\n | 'discountPercentage'\n | 'maxDiscountCap'\n | 'isOrderCapacityEnabled'\n | 'maxOrderCapacity'\n >,\n ) {\n return {\n campaign: campaignId,\n shop: source.shop,\n joinedAt: new Date(),\n products: source.products ?? [],\n isEntireMenu: source.isEntireMenu,\n discountPercentage: source.discountPercentage,\n maxDiscountCap: source.maxDiscountCap,\n isOrderCapacityEnabled: source.isOrderCapacityEnabled,\n maxOrderCapacity: source.maxOrderCapacity,\n isWithdrawn: false,\n pausedMarketings: [],\n };\n }\n\n static buildMarketingInput(\n shopId: mongoose.Types.ObjectId,\n campaign: LimitedTimeOfferCampaign & {_id: mongoose.Types.ObjectId},\n dto: JoinLtoCampaignDTO,\n ) {\n return {\n shop: shopId,\n marketingType: MarketingType.DISCOUNT,\n campaignType: MarketingCampaignType.LIMITED_TIME_OFFER,\n isAppliedByCompany: false,\n duration: {start: campaign.startDate, end: campaign.endDate},\n status: MarketingStatus.ACTIVE,\n isEntireMenu: dto.isEntireMenu,\n value: dto.isEntireMenu ? dto.discountPercentage : undefined,\n valueType: dto.isEntireMenu ? ValueType.PERCENTAGE : undefined,\n products: dto.isEntireMenu\n ? []\n : dto.products.map(productId => ({\n product: productId,\n value: dto.discountPercentage,\n valueType: ValueType.PERCENTAGE,\n })),\n maxDiscountPerOrder: dto.maxDiscountCap,\n isMaxDiscountPerOrderEnabled: dto.maxDiscountCap > 0,\n categories: [],\n excludeProducts: [],\n spendLimit: 0,\n isSpendLimitEnabled: false,\n isOnlyForSubscriber: false,\n };\n }\n}\n"]}
|