@lyxa.ai/marketing 1.0.63 → 1.0.64
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/index.d.ts +19 -17
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts +15 -3
- package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/helper.service.d.ts +15 -3
- package/dist/lib/modules/coupon/services/helper.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts +15 -3
- package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts +15 -3
- package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -1
- 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 +18 -4
- 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/campaign/services/limited-time-offer-campaign.service.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.js +4 -0
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/limited-time-offer.service.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/limited-time-offer.service.js +3 -9
- package/dist/lib/modules/limited-time-offer/limited-time-offer.service.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +7 -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 +5 -1
- 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.repository.d.ts +8 -0
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.js +60 -0
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.repository.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +217 -213
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts +4 -0
- 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 +14 -8
- 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 +10 -9
- package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.js +64 -49
- package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.js.map +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 +15 -3
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js.map +1 -1
- package/dist/lib/modules/marketing/routers/marketing.router.d.ts +2 -0
- package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.js +13 -3
- package/dist/lib/modules/marketing/services/marketing.service.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/marketing.validation.d.ts +6 -0
- package/dist/lib/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
- package/dist/lib/modules/marketing/validations/marketing.validation.js +2 -0
- 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/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.map +1 -1
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.js +13 -2
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.js.map +1 -1
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.d.ts +16 -16
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.d.ts +19 -19
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.js +1 -1
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.js.map +1 -1
- 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/events/event-initializations.d.ts +2 -0
- package/dist/types/events/event-initializations.d.ts.map +1 -0
- package/dist/types/index.d.ts +19 -17
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/custom-coupon.service.d.ts +15 -3
- package/dist/types/modules/coupon/services/custom-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/helper.service.d.ts +15 -3
- package/dist/types/modules/coupon/services/helper.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts +15 -3
- package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts +15 -3
- package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -1
- 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/campaign/services/limited-time-offer-campaign.service.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/limited-time-offer.service.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +7 -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.repository.d.ts +8 -0
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +217 -213
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant-marketing.service.d.ts +4 -0
- 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 +10 -9
- package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts.map +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 +2 -0
- package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/marketing.service.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/marketing.validation.d.ts +6 -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/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.map +1 -1
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.router.d.ts +16 -16
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.validation.d.ts +19 -19
- 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/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts +0 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts.map +0 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.js +0 -2
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.js.map +0 -1
|
@@ -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;AAO9F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAQ/B,CAAC;AAYF,QAAA,MACa,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACvB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCACnB,iBAAiB,mNACb,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCACgB,CAAC;AAKrD,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
|
|
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;AAO9F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAQ/B,CAAC;AAYF,QAAA,MACa,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACvB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCACnB,iBAAiB,mNACb,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCACgB,CAAC;AAKrD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOjC,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;AAKF,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"}
|
|
@@ -47,6 +47,8 @@ exports.MarketingMetricsSchema = zod_1.z.object({
|
|
|
47
47
|
orderIncreaseWithDiscount: exports.IncreaseDuringDiscountSchema.optional(),
|
|
48
48
|
customerIncreaseWithDiscount: exports.IncreaseDuringDiscountSchema.optional(),
|
|
49
49
|
totalRedemptions: global_validation_1.ZodValidation.number('Total redemptions').optional(),
|
|
50
|
+
totalValueGiven: global_validation_1.ZodValidation.number('Total discount/free delivery value given').optional(),
|
|
51
|
+
remainingBudget: global_validation_1.ZodValidation.number('Remaining spend-limit budget').optional(),
|
|
50
52
|
});
|
|
51
53
|
exports.MarketingGraphInputSchema = zod_1.z.object({
|
|
52
54
|
marketingId: global_validation_1.ZodValidation.objectIdOrStringSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketing.validation.js","sourceRoot":"/","sources":["modules/marketing/validations/marketing.validation.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iGAImE;AACnE,4DAA8F;AAC9F,iGAA2F;AAC3F,8DAA2D;AAK9C,QAAA,mBAAmB,GAAG;IAClC,IAAI,EAAE,iCAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,aAAa,EAAE,iCAAa,CAAC,QAAQ,CAAC,oBAAa,EAAE,gBAAgB,CAAC;IACtE,kBAAkB,EAAE,iCAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAC/D,QAAQ,EAAE,kCAAc;IACxB,MAAM,EAAE,iCAAa,CAAC,QAAQ,CAAC,sBAAe,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,sBAAe,CAAC,MAAM,CAAC;IACnG,QAAQ,EAAE,iCAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7E,KAAK,EAAE,iCAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC5D,CAAC;AAOF,MAAM,aAAa,GAAG,IAAA,uCAAmB,EAAC,2BAAmB,CAAC,CAAC;AAK/D,MAAM,EACL,UAAU,EAAE,yBAAyB,EACrC,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,qBAAqB,GACnC,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAMpD,8DAAyB;AACzB,0CAAe;AACM,wDAA2B;AAChD,sDAAqB;AAGT,QAAA,uCAAuC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/D,OAAO,EAAE,iCAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC1C,IAAI,EAAE,iCAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;CACpC,CAAC,CAAC;AAEU,QAAA,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,iCAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,iCAAa,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC1E,MAAM,EAAE,iCAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAEU,QAAA,oCAAoC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5D,UAAU,EAAE,iCAAa,CAAC,KAAK,CAAC,iCAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC;CAClF,CAAC,CAAC;AAEU,QAAA,6CAA6C,GAAG,OAAC,CAAC,MAAM,CAAC;IACrE,UAAU,EAAE,iCAAa,CAAC,KAAK,CAAC,iCAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;CACpF,CAAC,CAAC;AAEU,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,iCAAa,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjG,kBAAkB,EAAE,iCAAa,CAAC,MAAM,CAAC,mDAAmD,CAAC;SAC3F,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;CACZ,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,aAAa,EAAE,iCAAa,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,QAAQ,EAAE;IAClF,yBAAyB,EAAE,oCAA4B,CAAC,QAAQ,EAAE;IAClE,4BAA4B,EAAE,oCAA4B,CAAC,QAAQ,EAAE;IACrE,gBAAgB,EAAE,iCAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"marketing.validation.js","sourceRoot":"/","sources":["modules/marketing/validations/marketing.validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport {\n\tZodValidation,\n\tcreateSchemaBuilder,\n\tDTO,\n} from '@lyxa.ai/core/dist/utilities/validation/global-validation';\nimport { GraphType, MarketingStatus, MarketingType } from '@lyxa.ai/core/dist/utilities/enum';\nimport { DurationSchema } from '@lyxa.ai/core/dist/utilities/validation/common-validation';\nimport { dayjs } from '@lyxa.ai/core/dist/utilities/dayjs';\n\n/**\n * Define the base parent schema fields\n */\nexport const baseMarketingFields = {\n\tshop: ZodValidation.objectId('Shop'),\n\tmarketingType: ZodValidation.enumType(MarketingType, 'Marketing type'),\n\tisAppliedByCompany: ZodValidation.boolean('isAppliedByCompany'),\n\tduration: DurationSchema,\n\tstatus: ZodValidation.enumType(MarketingStatus, 'Marketing status').default(MarketingStatus.ACTIVE),\n\tpausedAt: ZodValidation.date('Paused at').optional().nullable().default(null),\n\tadmin: ZodValidation.objectId('Admin').optional().nullable(),\n};\n\n/**\n * Create schema builder for Parent entity\n * - Includes timestamps\n * - Excludes 'createdAt' from update operations\n */\nconst schemaBuilder = createSchemaBuilder(baseMarketingFields);\n\n/**\n * Get all schemas for the Parent entity\n */\nconst {\n\tBaseSchema: MarketingValidationSchema,\n\tEntitySchema: MarketingSchema,\n\tIdSchema: MarketingIdSchema,\n\tUpdateSchema: UpdateMarketingSchema,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\n/**\n * Export schemas\n */\nexport {\n\tMarketingValidationSchema,\n\tMarketingSchema,\n\tMarketingIdSchema as MarketingIdValidationSchema,\n\tUpdateMarketingSchema,\n};\n\nexport const ProductEntireMenuMarketingHandlerSchema = z.object({\n\tproduct: ZodValidation.objectId('Product'),\n\tshop: ZodValidation.objectId('Shop'),\n});\n\nexport const SpendToGetProgressInputSchema = z.object({\n\tshop: ZodValidation.objectId('Shop'),\n\tbasketTotal: ZodValidation.number('Basket total', { isNonnegative: true }),\n\tuserId: ZodValidation.objectId('User').optional(),\n});\n\nexport const MarketingSpendLimitsEvaluationSchema = z.object({\n\tmarketings: ZodValidation.array(ZodValidation.objectId('marketing'), 'marketings'),\n});\n\nexport const SyncProductMarketingForMultipleProductsSchema = z.object({\n\tproductIds: ZodValidation.array(ZodValidation.objectId('product id'), 'product ids'),\n});\n\nexport const IncreaseDuringDiscountSchema = z.object({\n\tcount: ZodValidation.number('Count of orders or customers during discount').optional().default(0),\n\tpercentageIncrease: ZodValidation.number('Percentage increase compared to previous duration')\n\t\t.optional()\n\t\t.default(0),\n});\n\nexport const MarketingMetricsSchema = z.object({\n\tnumberOfItems: ZodValidation.number('Number of items in the marketing').optional(),\n\torderIncreaseWithDiscount: IncreaseDuringDiscountSchema.optional(),\n\tcustomerIncreaseWithDiscount: IncreaseDuringDiscountSchema.optional(),\n\ttotalRedemptions: ZodValidation.number('Total redemptions').optional(),\n\ttotalValueGiven: ZodValidation.number('Total discount/free delivery value given').optional(),\n\tremainingBudget: ZodValidation.number('Remaining spend-limit budget').optional(),\n});\n\nexport const MarketingGraphInputSchema = z.object({\n\tmarketingId: ZodValidation.objectIdOrStringSchema,\n\tstartDate: ZodValidation.date('Start Date').transform(val => dayjs(val).startOf('day').toDate()),\n\tendDate: ZodValidation.date('End Date').transform(val => dayjs(val).endOf('day').toDate()),\n\ttype: ZodValidation.enumType(GraphType, 'Type').default(GraphType.DAILY),\n});\n\nexport const MarketingOrdersGraphOutputSchema = z.array(\n\tz.object({\n\t\tdate: ZodValidation.string('Date'),\n\t\torders: ZodValidation.number('Orders').default(0),\n\t})\n);\n\nexport const MarketingCustomersGraphOutputSchema = z.array(\n\tz.object({\n\t\tdate: ZodValidation.string('Date'),\n\t\tcustomers: ZodValidation.number('Customers').default(0),\n\t})\n);\n\nexport const MarketingAmountSpentGraphOutputSchema = z.array(\n\tz.object({\n\t\tdate: ZodValidation.string('Date'),\n\t\tamount: ZodValidation.number('Amount').default(0),\n\t})\n);\n\n/**\n * Export DTO types\n */\nexport type CreateMarketingDTO = DTO<typeof MarketingValidationSchema>;\nexport type MarketingDTO = DTO<typeof MarketingSchema>;\nexport type UpdateMarketingDTO = DTO<typeof UpdateMarketingSchema>;\nexport type ProductEntireMenuMarketingHandlerDTO = DTO<typeof ProductEntireMenuMarketingHandlerSchema>;\nexport type SpendToGetProgressInputDTO = DTO<typeof SpendToGetProgressInputSchema>;\nexport type IncreaseDuringDiscountDTO = DTO<typeof IncreaseDuringDiscountSchema>;\nexport type MarketingMetricsDTO = DTO<typeof MarketingMetricsSchema>;\nexport type MarketingGraphInputDTO = DTO<typeof MarketingGraphInputSchema>;\nexport type MarketingOrdersGraphOutputDTO = DTO<typeof MarketingOrdersGraphOutputSchema>;\nexport type MarketingCustomersGraphOutputDTO = DTO<typeof MarketingCustomersGraphOutputSchema>;\nexport type MarketingAmountSpentGraphOutputDTO = DTO<typeof MarketingAmountSpentGraphOutputSchema>;"]}
|
|
@@ -187,13 +187,13 @@ export declare const BatchCreateProductMarketingsInputSchema: z.ZodObject<{
|
|
|
187
187
|
shop: import("mongoose").Types.ObjectId;
|
|
188
188
|
categories: import("mongoose").Types.ObjectId[];
|
|
189
189
|
isEntireMenu: boolean;
|
|
190
|
+
isBuy1Get1: boolean;
|
|
190
191
|
products: {
|
|
191
192
|
product: import("mongoose").Types.ObjectId;
|
|
192
193
|
value?: number | undefined;
|
|
193
194
|
valueType?: ValueType | null | undefined;
|
|
194
195
|
}[];
|
|
195
196
|
marketingId: import("mongoose").Types.ObjectId;
|
|
196
|
-
isBuy1Get1: boolean;
|
|
197
197
|
value?: number | undefined;
|
|
198
198
|
valueType?: ValueType | undefined;
|
|
199
199
|
isAppliedByCompany?: boolean | undefined;
|
|
@@ -202,8 +202,8 @@ export declare const BatchCreateProductMarketingsInputSchema: z.ZodObject<{
|
|
|
202
202
|
}, {
|
|
203
203
|
shop: string | import("mongoose").Types.ObjectId;
|
|
204
204
|
isEntireMenu: boolean;
|
|
205
|
-
marketingId: string | import("mongoose").Types.ObjectId;
|
|
206
205
|
isBuy1Get1: boolean;
|
|
206
|
+
marketingId: string | import("mongoose").Types.ObjectId;
|
|
207
207
|
value?: number | undefined;
|
|
208
208
|
valueType?: ValueType | undefined;
|
|
209
209
|
categories?: (string | import("mongoose").Types.ObjectId)[] | undefined;
|
package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts
CHANGED
|
@@ -18,8 +18,8 @@ export declare const punchMarketingHistoryRouter: import("@trpc/server").TRPCBui
|
|
|
18
18
|
input: {
|
|
19
19
|
user: string | import("mongoose").Types.ObjectId;
|
|
20
20
|
shop: string | import("mongoose").Types.ObjectId;
|
|
21
|
-
minimumOrderValue: number;
|
|
22
21
|
marketing: string | import("mongoose").Types.ObjectId;
|
|
22
|
+
minimumOrderValue: number;
|
|
23
23
|
targetOrder: number;
|
|
24
24
|
couponValueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
25
25
|
couponValue: number;
|
package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts
CHANGED
|
@@ -19,8 +19,8 @@ declare const PunchMarketingHistoryValidationSchema: z.ZodObject<{
|
|
|
19
19
|
}, "strict", z.ZodTypeAny, {
|
|
20
20
|
user: import("mongoose").Types.ObjectId;
|
|
21
21
|
shop: import("mongoose").Types.ObjectId;
|
|
22
|
-
minimumOrderValue: number;
|
|
23
22
|
marketing: import("mongoose").Types.ObjectId;
|
|
23
|
+
minimumOrderValue: number;
|
|
24
24
|
targetOrder: number;
|
|
25
25
|
couponValueType: ValueType;
|
|
26
26
|
couponValue: number;
|
|
@@ -34,8 +34,8 @@ declare const PunchMarketingHistoryValidationSchema: z.ZodObject<{
|
|
|
34
34
|
}, {
|
|
35
35
|
user: string | import("mongoose").Types.ObjectId;
|
|
36
36
|
shop: string | import("mongoose").Types.ObjectId;
|
|
37
|
-
minimumOrderValue: number;
|
|
38
37
|
marketing: string | import("mongoose").Types.ObjectId;
|
|
38
|
+
minimumOrderValue: number;
|
|
39
39
|
targetOrder: number;
|
|
40
40
|
couponValueType: ValueType;
|
|
41
41
|
couponValue: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["modules/spend-to-get-history/routers/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./spend-to-get-history.router"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["modules/spend-to-get-history/routers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C","sourcesContent":["export * from './spend-to-get-history.router';\n"]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.spendToGetHistoryRouter = void 0;
|
|
4
|
+
const trpc_1 = require("@lyxa.ai/core/dist/libraries/trpc");
|
|
5
|
+
const services_1 = require("../../spend-to-get-history/services");
|
|
6
|
+
const validations_1 = require("../../spend-to-get-history/validations");
|
|
7
|
+
const validation_1 = require("@lyxa.ai/core/dist/utilities/validation");
|
|
8
|
+
const error_handler_1 = require("@lyxa.ai/core/dist/utilities/error-handler");
|
|
9
|
+
const response_1 = require("@lyxa.ai/core/dist/utilities/response");
|
|
10
|
+
exports.spendToGetHistoryRouter = (0, trpc_1.createTRPCRouter)({
|
|
11
|
+
create: trpc_1.publicProcedure
|
|
12
|
+
.input(validations_1.SpendToGetHistoryValidationSchema)
|
|
13
|
+
.output(validations_1.SpendToGetHistoryResponseSchema)
|
|
14
|
+
.mutation(async ({ input }) => error_handler_1.ErrorHandler.wrapAsync(async () => {
|
|
15
|
+
await services_1.spendToGetHistoryService.create(input);
|
|
16
|
+
return (0, response_1.response)('Spend to get history created successfully');
|
|
17
|
+
})),
|
|
18
|
+
getById: trpc_1.publicProcedure
|
|
19
|
+
.input(validation_1.IdSchema)
|
|
20
|
+
.output(validations_1.SpendToGetHistoryResponseSchema)
|
|
21
|
+
.query(async ({ input }) => error_handler_1.ErrorHandler.wrapAsync(async () => {
|
|
22
|
+
const result = await services_1.spendToGetHistoryService.findById(input);
|
|
23
|
+
return (0, response_1.response)('Spend to get history fetched successfully', validations_1.SpendToGetHistorySchema.parse(result));
|
|
24
|
+
})),
|
|
25
|
+
get: trpc_1.publicProcedure
|
|
26
|
+
.input(validation_1.FilterSchema)
|
|
27
|
+
.output(validations_1.SpendToGetHistoryResponseSchema)
|
|
28
|
+
.query(async ({ input }) => error_handler_1.ErrorHandler.wrapAsync(async () => {
|
|
29
|
+
const result = await services_1.spendToGetHistoryService.find(input);
|
|
30
|
+
return (0, response_1.response)('Spend to get history fetched successfully', result);
|
|
31
|
+
})),
|
|
32
|
+
update: trpc_1.publicProcedure
|
|
33
|
+
.input(validations_1.UpdateSpendToGetHistorySchema)
|
|
34
|
+
.output(validations_1.SpendToGetHistoryResponseSchema)
|
|
35
|
+
.mutation(async ({ input }) => error_handler_1.ErrorHandler.wrapAsync(async () => {
|
|
36
|
+
const { _id, ...rest } = input;
|
|
37
|
+
await services_1.spendToGetHistoryService.update(String(_id), rest);
|
|
38
|
+
return (0, response_1.response)('Spend to get history updated successfully');
|
|
39
|
+
})),
|
|
40
|
+
deleteById: trpc_1.publicProcedure
|
|
41
|
+
.input(validation_1.DeleteSchema)
|
|
42
|
+
.output(validations_1.SpendToGetHistoryResponseSchema)
|
|
43
|
+
.mutation(async ({ input }) => error_handler_1.ErrorHandler.wrapAsync(async () => {
|
|
44
|
+
await services_1.spendToGetHistoryService.deleteById(input);
|
|
45
|
+
return (0, response_1.response)('Spend to get history deleted successfully');
|
|
46
|
+
})),
|
|
47
|
+
recordRedemption: trpc_1.publicProcedure
|
|
48
|
+
.input(validations_1.RecordSpendToGetRedemptionSchema)
|
|
49
|
+
.output(validations_1.SpendToGetHistoryResponseSchema)
|
|
50
|
+
.mutation(async ({ input }) => error_handler_1.ErrorHandler.wrapAsync(async () => {
|
|
51
|
+
await services_1.spendToGetHistoryService.recordRedemption(input);
|
|
52
|
+
return (0, response_1.response)('Spend to get redemption recorded successfully');
|
|
53
|
+
})),
|
|
54
|
+
returnRedemption: trpc_1.publicProcedure
|
|
55
|
+
.input(validations_1.ReturnSpendToGetRedemptionSchema)
|
|
56
|
+
.output(validations_1.SpendToGetHistoryResponseSchema)
|
|
57
|
+
.mutation(async ({ input }) => error_handler_1.ErrorHandler.wrapAsync(async () => {
|
|
58
|
+
await services_1.spendToGetHistoryService.returnRedemption(input.order);
|
|
59
|
+
return (0, response_1.response)('Spend to get redemption returned successfully');
|
|
60
|
+
})),
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=spend-to-get-history.router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spend-to-get-history.router.js","sourceRoot":"/","sources":["modules/spend-to-get-history/routers/spend-to-get-history.router.ts"],"names":[],"mappings":"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","sourcesContent":["import { createTRPCRouter, publicProcedure } from '@lyxa.ai/core/dist/libraries/trpc';\nimport { spendToGetHistoryService as service } from '@modules/spend-to-get-history/services';\nimport {\n\tSpendToGetHistorySchema as Schema,\n\tSpendToGetHistoryValidationSchema as CreateSchema,\n\tUpdateSpendToGetHistorySchema as UpdateSchema,\n\tSpendToGetHistoryResponseSchema as ResponseSchema,\n\tRecordSpendToGetRedemptionSchema,\n\tReturnSpendToGetRedemptionSchema,\n} from '@modules/spend-to-get-history/validations';\nimport { FilterSchema, DeleteSchema, IdSchema } from '@lyxa.ai/core/dist/utilities/validation';\nimport { ErrorHandler } from '@lyxa.ai/core/dist/utilities/error-handler';\nimport { response } from '@lyxa.ai/core/dist/utilities/response';\n\nexport const spendToGetHistoryRouter = createTRPCRouter({\n\tcreate: publicProcedure\n\t\t.input(CreateSchema)\n\t\t.output(ResponseSchema)\n\t\t.mutation(async ({ input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tawait service.create(input);\n\t\t\t\treturn response('Spend to get history created successfully');\n\t\t\t})\n\t\t),\n\n\tgetById: publicProcedure\n\t\t.input(IdSchema)\n\t\t.output(ResponseSchema)\n\t\t.query(async ({ input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tconst result = await service.findById(input);\n\t\t\t\treturn response('Spend to get history fetched successfully', Schema.parse(result));\n\t\t\t})\n\t\t),\n\n\tget: publicProcedure\n\t\t.input(FilterSchema)\n\t\t.output(ResponseSchema)\n\t\t.query(async ({ input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tconst result = await service.find(input);\n\t\t\t\treturn response('Spend to get history fetched successfully', result);\n\t\t\t})\n\t\t),\n\n\tupdate: publicProcedure\n\t\t.input(UpdateSchema)\n\t\t.output(ResponseSchema)\n\t\t.mutation(async ({ input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tconst { _id, ...rest } = input;\n\t\t\t\tawait service.update(String(_id), rest);\n\t\t\t\treturn response('Spend to get history updated successfully');\n\t\t\t})\n\t\t),\n\n\tdeleteById: publicProcedure\n\t\t.input(DeleteSchema)\n\t\t.output(ResponseSchema)\n\t\t.mutation(async ({ input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tawait service.deleteById(input);\n\t\t\t\treturn response('Spend to get history deleted successfully');\n\t\t\t})\n\t\t),\n\n\trecordRedemption: publicProcedure\n\t\t.input(RecordSpendToGetRedemptionSchema)\n\t\t.output(ResponseSchema)\n\t\t.mutation(async ({ input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tawait service.recordRedemption(input);\n\t\t\t\treturn response('Spend to get redemption recorded successfully');\n\t\t\t})\n\t\t),\n\n\treturnRedemption: publicProcedure\n\t\t.input(ReturnSpendToGetRedemptionSchema)\n\t\t.output(ResponseSchema)\n\t\t.mutation(async ({ input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tawait service.returnRedemption(input.order);\n\t\t\t\treturn response('Spend to get redemption returned successfully');\n\t\t\t})\n\t\t),\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["modules/spend-to-get-history/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./spend-to-get-history.service"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["modules/spend-to-get-history/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C","sourcesContent":["export * from './spend-to-get-history.service';\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DocumentType, mongoose } from '@typegoose/typegoose';
|
|
2
|
+
import { FilterDTO, PaginatedResponse, DeleteDTO } from '@lyxa.ai/core/dist/utilities/validation';
|
|
3
|
+
import { ModelType } from '@typegoose/typegoose/lib/types';
|
|
4
|
+
import { SpendToGetHistory as Model } from '@lyxa.ai/core/dist/libraries/mongo/models';
|
|
5
|
+
import { CreateSpendToGetHistoryDTO as CreateDTO, UpdateSpendToGetHistoryDTO as UpdateDTO } from '../../spend-to-get-history/validations';
|
|
6
|
+
export declare class SpendToGetHistoryService {
|
|
7
|
+
private model;
|
|
8
|
+
constructor();
|
|
9
|
+
create(data: CreateDTO): Promise<DocumentType<Model>>;
|
|
10
|
+
findById(id: string | mongoose.Types.ObjectId): Promise<DocumentType<Model>>;
|
|
11
|
+
find(data?: Partial<FilterDTO>): Promise<PaginatedResponse<DocumentType<ModelType<Model>>>>;
|
|
12
|
+
update(id: string, data: UpdateDTO): Promise<DocumentType<Model>>;
|
|
13
|
+
deleteById(data: DeleteDTO): Promise<string>;
|
|
14
|
+
recordRedemption(params: {
|
|
15
|
+
user: mongoose.Types.ObjectId;
|
|
16
|
+
shop: mongoose.Types.ObjectId;
|
|
17
|
+
marketing: mongoose.Types.ObjectId;
|
|
18
|
+
order: mongoose.Types.ObjectId;
|
|
19
|
+
}): Promise<void>;
|
|
20
|
+
returnRedemption(orderId: mongoose.Types.ObjectId): Promise<void>;
|
|
21
|
+
hasUserReachedLimit(userId: mongoose.Types.ObjectId, marketingId: mongoose.Types.ObjectId, perUserLimit: number): Promise<boolean>;
|
|
22
|
+
}
|
|
23
|
+
export declare const spendToGetHistoryService: SpendToGetHistoryService;
|
|
24
|
+
//# sourceMappingURL=spend-to-get-history.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spend-to-get-history.service.d.ts","sourceRoot":"/","sources":["modules/spend-to-get-history/services/spend-to-get-history.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAElG,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAA0B,iBAAiB,IAAI,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAC/G,OAAO,EACN,0BAA0B,IAAI,SAAS,EACvC,0BAA0B,IAAI,SAAS,EACvC,MAAM,2CAA2C,CAAC;AAGnD,qBACa,wBAAwB;IACpC,OAAO,CAAC,KAAK,CAAyD;;IAUzD,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAQrD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAkB5E,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IA0B3F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IA2BjE,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAkB5C,gBAAgB,CAAC,MAAM,EAAE;QACrC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAYJ,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE,mBAAmB,CAC/B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC/B,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EACpC,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;CAInB;AAED,eAAO,MAAM,wBAAwB,0BAA0C,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.spendToGetHistoryService = exports.SpendToGetHistoryService = void 0;
|
|
46
|
+
const typedi_1 = __importStar(require("typedi"));
|
|
47
|
+
const server_1 = require("@trpc/server");
|
|
48
|
+
const pagination_1 = require("@lyxa.ai/core/dist/utilities/pagination");
|
|
49
|
+
const models_1 = require("@lyxa.ai/core/dist/libraries/mongo/models");
|
|
50
|
+
let SpendToGetHistoryService = class SpendToGetHistoryService {
|
|
51
|
+
model;
|
|
52
|
+
constructor() {
|
|
53
|
+
this.model = models_1.SpendToGetHistoryModel;
|
|
54
|
+
}
|
|
55
|
+
async create(data) {
|
|
56
|
+
return await this.model.create(data);
|
|
57
|
+
}
|
|
58
|
+
async findById(id) {
|
|
59
|
+
const result = await this.model.findOne({
|
|
60
|
+
_id: id,
|
|
61
|
+
deletedAt: null,
|
|
62
|
+
});
|
|
63
|
+
if (!result) {
|
|
64
|
+
throw new server_1.TRPCError({
|
|
65
|
+
code: 'NOT_FOUND',
|
|
66
|
+
message: 'Record not found',
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
async find(data) {
|
|
72
|
+
try {
|
|
73
|
+
const paginate = (0, pagination_1.createRawDocumentPaginatorObject)(this.model);
|
|
74
|
+
const options = {
|
|
75
|
+
page: data?.page,
|
|
76
|
+
size: data?.size,
|
|
77
|
+
sort: data?.sort,
|
|
78
|
+
query: data?.query,
|
|
79
|
+
select: data?.select,
|
|
80
|
+
populate: data?.populate,
|
|
81
|
+
};
|
|
82
|
+
const paginatedResult = await paginate(options);
|
|
83
|
+
return paginatedResult;
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
throw new server_1.TRPCError({
|
|
87
|
+
code: 'INTERNAL_SERVER_ERROR',
|
|
88
|
+
message: `err: ${err}`,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async update(id, data) {
|
|
93
|
+
const record = await this.model.findOneAndUpdate({
|
|
94
|
+
_id: id,
|
|
95
|
+
deletedAt: null,
|
|
96
|
+
}, data, {
|
|
97
|
+
new: true,
|
|
98
|
+
runValidators: true,
|
|
99
|
+
});
|
|
100
|
+
if (!record) {
|
|
101
|
+
throw new server_1.TRPCError({
|
|
102
|
+
code: 'NOT_FOUND',
|
|
103
|
+
message: `Record not found`,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return record;
|
|
107
|
+
}
|
|
108
|
+
async deleteById(data) {
|
|
109
|
+
const { _id, softDelete } = data;
|
|
110
|
+
const result = await this.model.deleteRecord({ _id, deletedAt: null }, softDelete);
|
|
111
|
+
if (!result) {
|
|
112
|
+
throw new server_1.TRPCError({
|
|
113
|
+
code: 'NOT_FOUND',
|
|
114
|
+
message: 'Record not found',
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return 'Record deleted successfully';
|
|
118
|
+
}
|
|
119
|
+
async recordRedemption(params) {
|
|
120
|
+
await this.model.findOneAndUpdate({ user: params.user, marketing: params.marketing }, { $inc: { redemptionCount: 1 }, $set: { shop: params.shop, lastOrder: params.order } }, { upsert: true, runValidators: true });
|
|
121
|
+
}
|
|
122
|
+
async returnRedemption(orderId) {
|
|
123
|
+
await this.model.findOneAndUpdate({ lastOrder: orderId, redemptionCount: { $gt: 0 } }, { $inc: { redemptionCount: -1 } }, { runValidators: true });
|
|
124
|
+
}
|
|
125
|
+
async hasUserReachedLimit(userId, marketingId, perUserLimit) {
|
|
126
|
+
const history = await this.model.findOne({ user: userId, marketing: marketingId });
|
|
127
|
+
return (history?.redemptionCount ?? 0) >= perUserLimit;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
exports.SpendToGetHistoryService = SpendToGetHistoryService;
|
|
131
|
+
exports.SpendToGetHistoryService = SpendToGetHistoryService = __decorate([
|
|
132
|
+
(0, typedi_1.Service)(),
|
|
133
|
+
__metadata("design:paramtypes", [])
|
|
134
|
+
], SpendToGetHistoryService);
|
|
135
|
+
exports.spendToGetHistoryService = typedi_1.default.get(SpendToGetHistoryService);
|
|
136
|
+
//# sourceMappingURL=spend-to-get-history.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spend-to-get-history.service.js","sourceRoot":"/","sources":["modules/spend-to-get-history/services/spend-to-get-history.service.ts"],"names":[],"mappings":"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","sourcesContent":["import Container, { Service } from 'typedi';\nimport { TRPCError } from '@trpc/server';\nimport { DocumentType, mongoose, ReturnModelType } from '@typegoose/typegoose';\nimport { FilterDTO, PaginatedResponse, DeleteDTO } from '@lyxa.ai/core/dist/utilities/validation';\nimport { createRawDocumentPaginatorObject, PaginatorOptions } from '@lyxa.ai/core/dist/utilities/pagination';\nimport { ModelType } from '@typegoose/typegoose/lib/types';\nimport { SpendToGetHistoryModel, SpendToGetHistory as Model } from '@lyxa.ai/core/dist/libraries/mongo/models';\nimport {\n\tCreateSpendToGetHistoryDTO as CreateDTO,\n\tUpdateSpendToGetHistoryDTO as UpdateDTO,\n} from '@modules/spend-to-get-history/validations';\nimport { SoftDeleteModel } from '@lyxa.ai/core/dist/libraries/mongo/plugins/soft-delete-plugin';\n\n@Service()\nexport class SpendToGetHistoryService {\n\tprivate model: typeof SpendToGetHistoryModel & SoftDeleteModel<Model>;\n\n\tconstructor() {\n\t\tthis.model = SpendToGetHistoryModel as typeof SpendToGetHistoryModel & SoftDeleteModel<Model>;\n\t}\n\n\t/**\n\t * Create a new record\n\t * @param data Data for the new record\n\t */\n\tpublic async create(data: CreateDTO): Promise<DocumentType<Model>> {\n\t\treturn await this.model.create(data);\n\t}\n\n\t/**\n\t * Get record by ID\n\t * @param id ID of the record\n\t */\n\tpublic async findById(id: string | mongoose.Types.ObjectId): Promise<DocumentType<Model>> {\n\t\tconst result = await this.model.findOne({\n\t\t\t_id: id,\n\t\t\tdeletedAt: null,\n\t\t});\n\t\tif (!result) {\n\t\t\tthrow new TRPCError({\n\t\t\t\tcode: 'NOT_FOUND',\n\t\t\t\tmessage: 'Record not found',\n\t\t\t});\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * Get records\n\t * @param query Query to find records\n\t */\n\tpublic async find(data?: Partial<FilterDTO>): Promise<PaginatedResponse<DocumentType<ModelType<Model>>>> {\n\t\ttry {\n\t\t\tconst paginate = createRawDocumentPaginatorObject(this.model as ReturnModelType<typeof this.model>);\n\t\t\tconst options: PaginatorOptions<typeof Model> = {\n\t\t\t\tpage: data?.page,\n\t\t\t\tsize: data?.size,\n\t\t\t\tsort: data?.sort,\n\t\t\t\tquery: data?.query,\n\t\t\t\tselect: data?.select,\n\t\t\t\tpopulate: data?.populate,\n\t\t\t};\n\t\t\tconst paginatedResult = await paginate(options);\n\t\t\treturn paginatedResult;\n\t\t} catch (err) {\n\t\t\tthrow new TRPCError({\n\t\t\t\tcode: 'INTERNAL_SERVER_ERROR',\n\t\t\t\tmessage: `err: ${err}`,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Update record\n\t * @param id ID of the record\n\t * @param data Data to update\n\t */\n\tpublic async update(id: string, data: UpdateDTO): Promise<DocumentType<Model>> {\n\t\tconst record = await this.model.findOneAndUpdate(\n\t\t\t{\n\t\t\t\t_id: id,\n\t\t\t\tdeletedAt: null,\n\t\t\t},\n\t\t\tdata,\n\t\t\t{\n\t\t\t\tnew: true,\n\t\t\t\trunValidators: true,\n\t\t\t}\n\t\t);\n\n\t\tif (!record) {\n\t\t\tthrow new TRPCError({\n\t\t\t\tcode: 'NOT_FOUND',\n\t\t\t\tmessage: `Record not found`,\n\t\t\t});\n\t\t}\n\n\t\treturn record;\n\t}\n\n\t/**\n\t * Delete record by ID\n\t * @param data ID + softDelete flag\n\t */\n\tpublic async deleteById(data: DeleteDTO): Promise<string> {\n\t\tconst { _id, softDelete } = data;\n\n\t\tconst result = await this.model.deleteRecord({ _id, deletedAt: null }, softDelete);\n\t\tif (!result) {\n\t\t\tthrow new TRPCError({\n\t\t\t\tcode: 'NOT_FOUND',\n\t\t\t\tmessage: 'Record not found',\n\t\t\t});\n\t\t}\n\n\t\treturn 'Record deleted successfully';\n\t}\n\n\t/**\n\t * Record a redemption for a user against a Spend-to-Get promotion (per-user limit counter).\n\t * Called on order placement; upserts the one history doc per (user, marketing).\n\t */\n\tpublic async recordRedemption(params: {\n\t\tuser: mongoose.Types.ObjectId;\n\t\tshop: mongoose.Types.ObjectId;\n\t\tmarketing: mongoose.Types.ObjectId;\n\t\torder: mongoose.Types.ObjectId;\n\t}): Promise<void> {\n\t\tawait this.model.findOneAndUpdate(\n\t\t\t{ user: params.user, marketing: params.marketing },\n\t\t\t{ $inc: { redemptionCount: 1 }, $set: { shop: params.shop, lastOrder: params.order } },\n\t\t\t{ upsert: true, runValidators: true }\n\t\t);\n\t}\n\n\t/**\n\t * Reverse a redemption when the order that granted it is cancelled, restoring budget for the\n\t * user's per-user limit.\n\t */\n\tpublic async returnRedemption(orderId: mongoose.Types.ObjectId): Promise<void> {\n\t\tawait this.model.findOneAndUpdate(\n\t\t\t{ lastOrder: orderId, redemptionCount: { $gt: 0 } },\n\t\t\t{ $inc: { redemptionCount: -1 } },\n\t\t\t{ runValidators: true }\n\t\t);\n\t}\n\n\t/**\n\t * Whether a user has exhausted their per-user redemption limit for a Spend-to-Get promotion.\n\t */\n\tpublic async hasUserReachedLimit(\n\t\tuserId: mongoose.Types.ObjectId,\n\t\tmarketingId: mongoose.Types.ObjectId,\n\t\tperUserLimit: number\n\t): Promise<boolean> {\n\t\tconst history = await this.model.findOne({ user: userId, marketing: marketingId });\n\t\treturn (history?.redemptionCount ?? 0) >= perUserLimit;\n\t}\n}\n\nexport const spendToGetHistoryService = Container.get(SpendToGetHistoryService);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spend-to-get-history.repository.d.ts","sourceRoot":"/","sources":["modules/spend-to-get-history/spend-to-get-history.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAA0B,iBAAiB,IAAI,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAG/G,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EACN,0BAA0B,IAAI,SAAS,EACvC,0BAA0B,IAAI,SAAS,EACvC,MAAM,mCAAmC,CAAC;AAE3C,qBACa,2BAA2B;IACvC,OAAO,CAAC,KAAK,CAAyD;;IAMhE,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAIrD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAInF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAa/F,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAO5E,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvF,mBAAmB,CAAC,MAAM,EAAE;QACjC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"spend-to-get-history.repository.d.ts","sourceRoot":"/","sources":["modules/spend-to-get-history/spend-to-get-history.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAA0B,iBAAiB,IAAI,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAG/G,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EACN,0BAA0B,IAAI,SAAS,EACvC,0BAA0B,IAAI,SAAS,EACvC,MAAM,mCAAmC,CAAC;AAE3C,qBACa,2BAA2B;IACvC,OAAO,CAAC,KAAK,CAAyD;;IAMhE,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAIrD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAInF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAa/F,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAO5E,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvF,mBAAmB,CAAC,MAAM,EAAE;QACjC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9B,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAYX,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpE,sBAAsB,CAC3B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC/B,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAClC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;CAGtC;AAED,eAAO,MAAM,2BAA2B,6BAA6C,CAAC"}
|
|
@@ -79,10 +79,21 @@ let SpendToGetHistoryRepository = class SpendToGetHistoryRepository {
|
|
|
79
79
|
return this.model.deleteRecord({ _id: id, deletedAt: null }, softDelete);
|
|
80
80
|
}
|
|
81
81
|
async incrementRedemption(params) {
|
|
82
|
-
await this.model.findOneAndUpdate({ user: params.user, marketing: params.marketing },
|
|
82
|
+
await this.model.findOneAndUpdate({ user: params.user, marketing: params.marketing }, [
|
|
83
|
+
{
|
|
84
|
+
$set: {
|
|
85
|
+
shop: params.shop,
|
|
86
|
+
redeemingOrders: { $setUnion: [{ $ifNull: ['$redeemingOrders', []] }, [params.order]] },
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
{ $set: { redemptionCount: { $size: '$redeemingOrders' } } },
|
|
90
|
+
], { upsert: true });
|
|
83
91
|
}
|
|
84
92
|
async decrementRedemption(orderId) {
|
|
85
|
-
await this.model.findOneAndUpdate({
|
|
93
|
+
await this.model.findOneAndUpdate({ redeemingOrders: orderId }, [
|
|
94
|
+
{ $set: { redeemingOrders: { $setDifference: [{ $ifNull: ['$redeemingOrders', []] }, [orderId]] } } },
|
|
95
|
+
{ $set: { redemptionCount: { $size: '$redeemingOrders' } } },
|
|
96
|
+
]);
|
|
86
97
|
}
|
|
87
98
|
async findByUserAndMarketing(userId, marketingId) {
|
|
88
99
|
return this.model.findOne({ user: userId, marketing: marketingId });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spend-to-get-history.repository.js","sourceRoot":"/","sources":["modules/spend-to-get-history/spend-to-get-history.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA4C;AAG5C,sEAA+G;AAE/G,wEAA6G;AAQtG,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAC/B,KAAK,CAAyD;IAEtE;QACC,IAAI,CAAC,KAAK,GAAG,+BAAgF,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAoC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAyB;QACvC,MAAM,QAAQ,GAAG,IAAA,6CAAgC,EAAC,IAAI,CAAC,KAA2C,CAAC,CAAC;QACpG,MAAM,OAAO,GAAmC;YAC/C,IAAI,EAAE,IAAI,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI,EAAE,KAAK;YAClB,MAAM,EAAE,IAAI,EAAE,MAAM;YACpB,QAAQ,EAAE,IAAI,EAAE,QAAQ;SACxB,CAAC;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,IAAe;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;YACtE,GAAG,EAAE,IAAI;YACT,aAAa,EAAE,IAAI;SACnB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAoC,EAAE,UAAmB;QACzE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAKzB;QACA,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"spend-to-get-history.repository.js","sourceRoot":"/","sources":["modules/spend-to-get-history/spend-to-get-history.repository.ts"],"names":[],"mappings":"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","sourcesContent":["import Container, { Service } from 'typedi';\nimport { DocumentType, mongoose, ReturnModelType } from '@typegoose/typegoose';\nimport { ModelType } from '@typegoose/typegoose/lib/types';\nimport { SpendToGetHistoryModel, SpendToGetHistory as Model } from '@lyxa.ai/core/dist/libraries/mongo/models';\nimport { SoftDeleteModel } from '@lyxa.ai/core/dist/libraries/mongo/plugins/soft-delete-plugin';\nimport { createRawDocumentPaginatorObject, PaginatorOptions } from '@lyxa.ai/core/dist/utilities/pagination';\nimport { FilterDTO, PaginatedResponse } from '@lyxa.ai/core/dist/utilities/validation';\nimport {\n\tCreateSpendToGetHistoryDTO as CreateDTO,\n\tUpdateSpendToGetHistoryDTO as UpdateDTO,\n} from './spend-to-get-history.validation';\n\n@Service()\nexport class SpendToGetHistoryRepository {\n\tprivate model: typeof SpendToGetHistoryModel & SoftDeleteModel<Model>;\n\n\tconstructor() {\n\t\tthis.model = SpendToGetHistoryModel as typeof SpendToGetHistoryModel & SoftDeleteModel<Model>;\n\t}\n\n\tasync create(data: CreateDTO): Promise<DocumentType<Model>> {\n\t\treturn this.model.create(data);\n\t}\n\n\tasync findById(id: string | mongoose.Types.ObjectId): Promise<DocumentType<Model> | null> {\n\t\treturn this.model.findOne({ _id: id, deletedAt: null });\n\t}\n\n\tasync paginate(data?: Partial<FilterDTO>): Promise<PaginatedResponse<DocumentType<ModelType<Model>>>> {\n\t\tconst paginate = createRawDocumentPaginatorObject(this.model as ReturnModelType<typeof this.model>);\n\t\tconst options: PaginatorOptions<typeof Model> = {\n\t\t\tpage: data?.page,\n\t\t\tsize: data?.size,\n\t\t\tsort: data?.sort,\n\t\t\tquery: data?.query,\n\t\t\tselect: data?.select,\n\t\t\tpopulate: data?.populate,\n\t\t};\n\t\treturn paginate(options);\n\t}\n\n\tasync updateById(id: string, data: UpdateDTO): Promise<DocumentType<Model> | null> {\n\t\treturn this.model.findOneAndUpdate({ _id: id, deletedAt: null }, data, {\n\t\t\tnew: true,\n\t\t\trunValidators: true,\n\t\t});\n\t}\n\n\tasync deleteById(id: string | mongoose.Types.ObjectId, softDelete: boolean): Promise<unknown> {\n\t\treturn this.model.deleteRecord({ _id: id, deletedAt: null }, softDelete);\n\t}\n\n\tasync incrementRedemption(params: {\n\t\tuser: mongoose.Types.ObjectId;\n\t\tshop: mongoose.Types.ObjectId;\n\t\tmarketing: mongoose.Types.ObjectId;\n\t\torder: mongoose.Types.ObjectId;\n\t}): Promise<void> {\n\t\tawait this.model.findOneAndUpdate({ user: params.user, marketing: params.marketing }, [\n\t\t\t{\n\t\t\t\t$set: {\n\t\t\t\t\tshop: params.shop,\n\t\t\t\t\tredeemingOrders: { $setUnion: [{ $ifNull: ['$redeemingOrders', []] }, [params.order]] },\n\t\t\t\t},\n\t\t\t},\n\t\t\t{ $set: { redemptionCount: { $size: '$redeemingOrders' } } },\n\t\t], { upsert: true });\n\t}\n\n\tasync decrementRedemption(orderId: mongoose.Types.ObjectId): Promise<void> {\n\t\tawait this.model.findOneAndUpdate({ redeemingOrders: orderId }, [\n\t\t\t{ $set: { redeemingOrders: { $setDifference: [{ $ifNull: ['$redeemingOrders', []] }, [orderId]] } } },\n\t\t\t{ $set: { redemptionCount: { $size: '$redeemingOrders' } } },\n\t\t]);\n\t}\n\n\tasync findByUserAndMarketing(\n\t\tuserId: mongoose.Types.ObjectId,\n\t\tmarketingId: mongoose.Types.ObjectId\n\t): Promise<DocumentType<Model> | null> {\n\t\treturn this.model.findOne({ user: userId, marketing: marketingId });\n\t}\n}\n\nexport const spendToGetHistoryRepository = Container.get(SpendToGetHistoryRepository);\n"]}
|