@lyxa.ai/marketing 1.0.67 → 1.0.68
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 +21 -11810
- 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/coupon/routers/coupon.router.d.ts +1233 -10
- package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
- package/dist/lib/modules/coupon/routers/coupon.router.js +28 -0
- package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -1
- package/dist/lib/modules/coupon/services/coupon.service.d.ts +29 -4
- package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/coupon.service.js +19 -3
- package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js +12 -15
- package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js.map +1 -1
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts +30 -2
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js +412 -2
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js.map +1 -1
- package/dist/lib/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js +1 -0
- package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts +50 -0
- package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts +822 -0
- package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +580 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.js +48 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
- package/dist/lib/modules/coupon/validations/create-coupon.validation.d.ts +98 -0
- package/dist/lib/modules/coupon/validations/create-coupon.validation.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/create-coupon.validation.js +4 -1
- package/dist/lib/modules/coupon/validations/create-coupon.validation.js.map +1 -1
- package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.d.ts +374 -0
- package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.js +2 -0
- package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.js.map +1 -1
- package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts +4 -4
- package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts.map +1 -1
- package/dist/lib/modules/deal-setting/services/deal-setting.service.d.ts.map +1 -1
- package/dist/lib/modules/deal-setting/services/deal-setting.service.js +4 -1
- package/dist/lib/modules/deal-setting/services/deal-setting.service.js.map +1 -1
- package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts +4 -4
- package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts.map +1 -1
- package/dist/lib/modules/featured-setting/services/featured-setting.service.d.ts.map +1 -1
- package/dist/lib/modules/featured-setting/services/featured-setting.service.js +3 -0
- package/dist/lib/modules/featured-setting/services/featured-setting.service.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/campaign.router.d.ts +54 -8
- package/dist/lib/modules/limited-time-offer/campaign/campaign.router.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/campaign.router.js +13 -0
- package/dist/lib/modules/limited-time-offer/campaign/campaign.router.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/jobs/index.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/jobs/index.js +9 -0
- package/dist/lib/modules/limited-time-offer/campaign/jobs/index.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.d.ts +0 -1
- package/dist/lib/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.js +2 -6
- package/dist/lib/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts +16 -3
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.js +22 -3
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts +2 -0
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.js +12 -0
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +242 -35
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.js +19 -1
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts +10 -1
- 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 +83 -1
- 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-scheduler.service.d.ts +4 -0
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-scheduler.service.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-scheduler.service.js +75 -6
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-scheduler.service.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.d.ts +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 +46 -19
- 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.router.d.ts +241 -10
- package/dist/lib/modules/limited-time-offer/limited-time-offer.router.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/limited-time-offer.service.d.ts +2 -0
- 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 +13 -4
- package/dist/lib/modules/limited-time-offer/limited-time-offer.service.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.constants.d.ts +1 -1
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.constants.js +1 -1
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.constants.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +30 -3
- 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 +23 -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 +18 -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 +103 -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.router.d.ts +187 -2
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.js +34 -0
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.router.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts +1 -0
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.d.ts.map +1 -0
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.js +2 -0
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.service.js.map +1 -0
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +515 -116
- 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 +16 -6
- 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 +11 -4
- 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 +48 -7
- 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 +19 -5
- 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 +114 -16
- 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.map +1 -1
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js +1 -0
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js.map +1 -1
- package/dist/lib/modules/marketing/routers/marketing.router.d.ts +4 -4
- package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/index.d.ts +1 -0
- package/dist/lib/modules/marketing/services/index.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/index.js +1 -0
- package/dist/lib/modules/marketing/services/index.js.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.d.ts +7 -3
- package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.js +61 -10
- package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/new-user-discount-marketing.service.d.ts +11 -0
- package/dist/lib/modules/marketing/services/new-user-discount-marketing.service.d.ts.map +1 -0
- package/dist/lib/modules/marketing/services/new-user-discount-marketing.service.js +116 -0
- package/dist/lib/modules/marketing/services/new-user-discount-marketing.service.js.map +1 -0
- package/dist/lib/modules/marketing/services/product-marketing.service.d.ts +1 -0
- package/dist/lib/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/product-marketing.service.js +32 -0
- package/dist/lib/modules/marketing/services/product-marketing.service.js.map +1 -1
- 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/discount-marketing.validation.d.ts +6 -6
- 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/new-user-discount-marketing.validation.d.ts +677 -0
- package/dist/lib/modules/marketing/validations/new-user-discount-marketing.validation.d.ts.map +1 -0
- package/dist/lib/modules/marketing/validations/new-user-discount-marketing.validation.js +83 -0
- package/dist/lib/modules/marketing/validations/new-user-discount-marketing.validation.js.map +1 -0
- package/dist/lib/modules/marketing/validations/punch-marketing.validation.d.ts +4 -4
- package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.d.ts.map +1 -1
- package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.js +30 -0
- package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.js.map +1 -1
- package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +4 -4
- package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts.map +1 -1
- package/dist/lib/modules/referral-setting/validations/referral-setting.validation.d.ts.map +1 -1
- package/dist/lib/modules/referral-setting/validations/referral-setting.validation.js.map +1 -1
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.repository.d.ts +3 -2
- 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 +11 -3
- 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 +20 -4
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.d.ts.map +1 -1
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.d.ts +2 -2
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.d.ts.map +1 -1
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.service.js.map +1 -1
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.d.ts +19 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.d.ts.map +1 -1
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.js +1 -0
- package/dist/lib/modules/spend-to-get-history/spend-to-get-history.validation.js.map +1 -1
- package/dist/types/index.d.ts +21 -11810
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modules/coupon/routers/coupon.router.d.ts +1233 -10
- package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/coupon.service.d.ts +29 -4
- package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts +30 -2
- package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts +50 -0
- package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +822 -0
- package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/coupon.validation.d.ts +580 -1
- package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/create-coupon.validation.d.ts +98 -0
- package/dist/types/modules/coupon/validations/create-coupon.validation.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/referral-reward-coupon.validation.d.ts +374 -0
- package/dist/types/modules/coupon/validations/referral-reward-coupon.validation.d.ts.map +1 -1
- package/dist/types/modules/deal-setting/routers/deal-setting.router.d.ts +4 -4
- package/dist/types/modules/deal-setting/routers/deal-setting.router.d.ts.map +1 -1
- package/dist/types/modules/deal-setting/services/deal-setting.service.d.ts.map +1 -1
- package/dist/types/modules/featured-setting/routers/featured-setting.router.d.ts +4 -4
- package/dist/types/modules/featured-setting/routers/featured-setting.router.d.ts.map +1 -1
- package/dist/types/modules/featured-setting/services/featured-setting.service.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/campaign/campaign.router.d.ts +54 -8
- package/dist/types/modules/limited-time-offer/campaign/campaign.router.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/campaign/jobs/index.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.d.ts +0 -1
- package/dist/types/modules/limited-time-offer/campaign/jobs/limited-time-offer-campaign.worker.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts +16 -3
- package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.builder.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts +2 -0
- package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.repository.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +242 -35
- package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-lifecycle.service.d.ts +10 -1
- 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-scheduler.service.d.ts +4 -0
- package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign-scheduler.service.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/campaign/services/limited-time-offer-campaign.service.d.ts +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.router.d.ts +241 -10
- package/dist/types/modules/limited-time-offer/limited-time-offer.router.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/limited-time-offer.service.d.ts +2 -0
- package/dist/types/modules/limited-time-offer/limited-time-offer.service.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/notification/limited-time-offer-notification.constants.d.ts +1 -1
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.builder.d.ts +30 -3
- 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 +18 -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.router.d.ts +187 -2
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.router.d.ts.map +1 -1
- 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 +515 -116
- 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 +11 -4
- 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 +19 -5
- 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.map +1 -1
- package/dist/types/modules/marketing/routers/marketing.router.d.ts +4 -4
- package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/index.d.ts +1 -0
- package/dist/types/modules/marketing/services/index.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/marketing.service.d.ts +7 -3
- package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/new-user-discount-marketing.service.d.ts +20 -0
- package/dist/types/modules/marketing/services/new-user-discount-marketing.service.d.ts.map +1 -0
- package/dist/types/modules/marketing/services/product-marketing.service.d.ts +6 -0
- package/dist/types/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/validations/all-marketings.validation.d.ts.map +1 -1
- package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +6 -6
- 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/new-user-discount-marketing.validation.d.ts +686 -0
- package/dist/types/modules/marketing/validations/new-user-discount-marketing.validation.d.ts.map +1 -0
- package/dist/types/modules/marketing/validations/punch-marketing.validation.d.ts +4 -4
- package/dist/types/modules/marketing/validations/spend-to-get-marketing.validation.d.ts.map +1 -1
- package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +4 -4
- package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts.map +1 -1
- package/dist/types/modules/referral-setting/validations/referral-setting.validation.d.ts.map +1 -1
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.repository.d.ts +3 -2
- 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 +20 -4
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.router.d.ts.map +1 -1
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.service.d.ts +2 -2
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.service.d.ts.map +1 -1
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.validation.d.ts +19 -0
- package/dist/types/modules/spend-to-get-history/spend-to-get-history.validation.d.ts.map +1 -1
- package/package.json +2 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TotalProfitGraphResponseSchema = exports.GraphResponseSchema = exports.CouponMetricsByTypeResponseSchema = exports.CouponMetricsResponseSchema = exports.CouponSingleUserOrderItemSchema = exports.CouponUserItemSchema = exports.singleCouponOrdersRequestSchema = exports.CouponUsersRequestSchema = exports.CouponListRequestSchema = exports.TotalProfitGraphSchema = exports.GraphSchema = exports.CouponMetricsByTypeSchema = exports.CouponMetricsOutputSchema = exports.GraphInputSchema = exports.DateInputSchema = exports.BaseDateInputSchema = exports.IsNewUserGiftBoxShownSchema = exports.DeviceIdSchema = exports.CouponValidationResponseSchema = exports.CheckExistingNewUserCouponOutputSchema = exports.UpdateCouponStatusSchema = exports.CouponCodeSchema = exports.CouponValidationOutputSchema = exports.ValidateCouponSchema = exports.GetUserCouponSchema = exports.UpdateCouponSchema = exports.CouponIdValidationSchema = exports.CouponSchema = exports.CouponValidationSchema = exports.GetUserCouponsResponseSchema = exports.baseFields = exports.couponFields = void 0;
|
|
3
|
+
exports.TotalProfitGraphResponseSchema = exports.GraphResponseSchema = exports.CouponMetricsByTypeResponseSchema = exports.CouponMetricsResponseSchema = exports.CouponSingleUserOrderItemSchema = exports.CouponUserItemSchema = exports.ReferFriendMetricsResponseSchema = exports.DateInputRequestSchema = exports.referFriendCouponOrdersResponseSchema = exports.referFriendCouponOrdersRequestSchema = exports.singleCouponOrdersRequestSchema = exports.CouponUsersRequestSchema = exports.CouponListRequestSchema = exports.TotalProfitGraphSchema = exports.GraphSchema = exports.ReferFriendTotalProfitGraphResponseSchema = exports.ReferralGraphResponseSchema = exports.CouponMetricsByTypeSchema = exports.CouponMetricsOutputSchema = exports.GraphInputSchema = exports.DateInputSchema = exports.BaseDateInputSchema = exports.IsNewUserGiftBoxShownSchema = exports.DeviceIdSchema = exports.CouponValidationResponseSchema = exports.CheckExistingNewUserCouponOutputSchema = exports.UpdateCouponStatusSchema = exports.CouponCodeSchema = exports.CouponValidationOutputSchema = exports.ValidateCouponSchema = exports.GetUserCouponSchema = exports.UpdateCouponSchema = exports.CouponIdValidationSchema = exports.CouponSchema = exports.CouponValidationSchema = exports.GetUserCouponsResponseSchema = exports.baseFields = exports.couponFields = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const global_validation_1 = require("@lyxa.ai/core/dist/utilities/validation/global-validation");
|
|
6
6
|
const enum_1 = require("@lyxa.ai/core/dist/utilities/enum");
|
|
@@ -171,6 +171,15 @@ exports.CouponMetricsByTypeSchema = zod_1.z.object({
|
|
|
171
171
|
amountSpent: global_validation_1.ZodValidation.number('Amount spent on coupons of this type').default(0),
|
|
172
172
|
redemptionRate: global_validation_1.ZodValidation.number('Redemption rate for this coupon type').default(0),
|
|
173
173
|
});
|
|
174
|
+
exports.ReferralGraphResponseSchema = (0, common_validation_1.createResponseSchema)(zod_1.z.array(zod_1.z.object({
|
|
175
|
+
date: zod_1.z.string(),
|
|
176
|
+
totalReferrals: zod_1.z.number(),
|
|
177
|
+
totalConversions: zod_1.z.number(),
|
|
178
|
+
})));
|
|
179
|
+
exports.ReferFriendTotalProfitGraphResponseSchema = (0, common_validation_1.createResponseSchema)(zod_1.z.array(zod_1.z.object({
|
|
180
|
+
date: zod_1.z.string(),
|
|
181
|
+
totalProfit: zod_1.z.number(),
|
|
182
|
+
})));
|
|
174
183
|
exports.GraphSchema = zod_1.z.object({
|
|
175
184
|
categories: global_validation_1.ZodValidation.array(global_validation_1.ZodValidation.string('Category labels')),
|
|
176
185
|
series: global_validation_1.ZodValidation.array(zod_1.z.object({
|
|
@@ -217,6 +226,44 @@ exports.singleCouponOrdersRequestSchema = zod_1.z.object({
|
|
|
217
226
|
zone: zod_1.z.string().optional(),
|
|
218
227
|
sort: zod_1.z.record(zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(-1)])).optional(),
|
|
219
228
|
});
|
|
229
|
+
exports.referFriendCouponOrdersRequestSchema = zod_1.z.object({
|
|
230
|
+
userId: zod_1.z.string().optional(),
|
|
231
|
+
page: zod_1.z.number().int().positive().default(1),
|
|
232
|
+
size: zod_1.z.number().int().positive().default(10),
|
|
233
|
+
status: zod_1.z.nativeEnum(enum_1.Status).optional().default(enum_1.Status.ACTIVE),
|
|
234
|
+
startDate: zod_1.z.string().optional(),
|
|
235
|
+
endDate: zod_1.z.string().optional(),
|
|
236
|
+
search: zod_1.z.string().trim().optional(),
|
|
237
|
+
zone: zod_1.z.string().optional(),
|
|
238
|
+
sort: zod_1.z.record(zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(-1)])).optional(),
|
|
239
|
+
});
|
|
240
|
+
exports.referFriendCouponOrdersResponseSchema = (0, common_validation_1.createResponseSchema)(zod_1.z.object({
|
|
241
|
+
senderGets: zod_1.z.string(),
|
|
242
|
+
receiverGets: zod_1.z.string(),
|
|
243
|
+
status: zod_1.z.nativeEnum(enum_1.Status),
|
|
244
|
+
referralDate: zod_1.z.date(),
|
|
245
|
+
sender: zod_1.z.object({
|
|
246
|
+
_id: zod_1.z.string(),
|
|
247
|
+
name: zod_1.z.string().optional(),
|
|
248
|
+
photo: zod_1.z.string().nullable().optional(),
|
|
249
|
+
}),
|
|
250
|
+
receiver: zod_1.z.object({
|
|
251
|
+
_id: zod_1.z.string(),
|
|
252
|
+
name: zod_1.z.string().optional(),
|
|
253
|
+
photo: zod_1.z.string().nullable().optional(),
|
|
254
|
+
}),
|
|
255
|
+
}));
|
|
256
|
+
exports.DateInputRequestSchema = zod_1.z.object({
|
|
257
|
+
startDate: zod_1.z.string().optional(),
|
|
258
|
+
endDate: zod_1.z.string().optional(),
|
|
259
|
+
});
|
|
260
|
+
exports.ReferFriendMetricsResponseSchema = (0, common_validation_1.createResponseSchema)(zod_1.z.object({
|
|
261
|
+
totalReferralsSent: zod_1.z.number(),
|
|
262
|
+
totalReferralsConverted: zod_1.z.number(),
|
|
263
|
+
totalProfitFromReferrals: zod_1.z.number(),
|
|
264
|
+
conversionRate: zod_1.z.number(),
|
|
265
|
+
customerReferralRate: zod_1.z.number(),
|
|
266
|
+
}));
|
|
220
267
|
exports.CouponUserItemSchema = zod_1.z.object({
|
|
221
268
|
id: zod_1.z.string(),
|
|
222
269
|
name: zod_1.z.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/coupon.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 {\n\tCouponExpirationReason,\n\tCouponType,\n\tGraphType,\n\tItemType,\n\tStatus,\n\tValueType,\n} from '@lyxa.ai/core/dist/utilities/enum';\nimport {\n\tcreateResponseSchema,\n\tDurationSchema,\n} 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 couponFields = {\n\tcode: ZodValidation.string('Code', {\n\t\tregex: { pattern: new RegExp('^[A-Z0-9]+$'), message: 'Coupon name must be uppercase' },\n\t\tmaxLength: 10,\n\t\tminLength: 4,\n\t\tminMessage: 'Coupon must be 4 characters',\n\t\tmaxMessage: 'Coupon must be 10 characters',\n\t}),\n\torderLimitPerUser: ZodValidation.number('OrderLimitPerUser')\n\t\t.nonnegative()\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\tisOrderLimitPerUserEnabled: ZodValidation.boolean('Is order limit per user enabled')\n\t\t.optional()\n\t\t.default(false),\n\tcreatedBy: ZodValidation.objectId('Created by').optional(),\n\tisExpired: ZodValidation.boolean('Is expired').optional(),\n};\n\nexport const baseFields = {\n\t...couponFields,\n\tvalueType: ZodValidation.enumType(ValueType, 'Value type'),\n\tvalue: ZodValidation.number('Value'),\n\tsecondaryCurrencyValue: ZodValidation.number('Secondary currency value').optional(),\n\tmaxDiscountLimit: ZodValidation.number('Max discount limit').optional().nullable().default(null),\n\tsecondaryCurrencyMaxDiscountLimit: ZodValidation.number('Secondary currency max discount limit').optional(),\n\tisMaxDiscountLimitEnabled: ZodValidation.boolean('Is max discount limit enabled').optional().default(false),\n\tduration: DurationSchema\n\t\t// .refine((d: any) => d.start >= new Date() && d.end >= new Date(), {\n\t\t// \tmessage: 'Start and end dates must not be in the past',\n\t\t// })\n\t\t.transform(duration => {\n\t\t\tduration.start = dayjs(duration.start).toDate();\n\t\t\tduration.end = dayjs(duration.end).toDate();\n\t\t\treturn duration;\n\t\t}),\n\tspendLimit: ZodValidation.number('Spend limit').optional().nullable().default(null),\n\tisSpendLimitEnabled: ZodValidation.boolean('Is spend limit enabled').optional().default(false),\n\ttotalOrderLimit: ZodValidation.number('Total order limit').optional().nullable().default(null),\n\tisTotalOrderLimitEnabled: ZodValidation.boolean('Is total order limit enabled').optional().default(false),\n\tminOrderValue: ZodValidation.number('Min order value').nullable().default(null),\n\tsecondaryCurrencyMinOrderValue: ZodValidation.number('Secondary currency min order value').optional(),\n\tisMinOrderValueEnabled: ZodValidation.boolean('Is min order value enabled').optional().default(false),\n\tforNewUserOnly: ZodValidation.boolean('ForNewUserOnly').optional().default(false),\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n\texpirationReason: ZodValidation.enumType(CouponExpirationReason, 'Expiration reason')\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\treferringUser: z\n\t\t.object({\n\t\t\tname: ZodValidation.string('Referring user name').optional(),\n\t\t})\n\t\t.optional(),\n};\n\n/**\n * Create schema builder for Parent entity\n * - Includes timestamps\n * - Excludes 'createdAt' from update operations\n */\nconst schemaBuilder = createSchemaBuilder(baseFields);\n\n/**\n * Get all schemas for the Parent entity\n */\nconst {\n\tBaseSchema: CouponValidationSchema,\n\tEntitySchema: CouponSchema,\n\tIdSchema: CouponIdSchema,\n\tUpdateSchema: UpdateCouponSchema,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\n/**\n * Export schemas\n */\nexport const GetUserCouponsResponseSchema = z.object({\n\tavailable: z.array(CouponSchema),\n\tused: z.array(CouponSchema),\n\texpired: z.array(CouponSchema),\n});\n\nexport {\n\tCouponValidationSchema,\n\tCouponSchema,\n\tCouponIdSchema as CouponIdValidationSchema,\n\tUpdateCouponSchema,\n};\n\n/**\n * Schema for getting user coupons\n */\nexport const GetUserCouponSchema = z.object({\n\tuser: ZodValidation.objectId('User').optional(),\n\tshop: ZodValidation.objectId('Shop').optional(),\n\tvendor: ZodValidation.objectId('Vendor').optional(),\n\tpage: ZodValidation.number('Page').optional().default(0),\n\tsize: ZodValidation.number('Page size').optional().default(100),\n});\n\n/**\n * Schema for validating coupons\n */\nexport const ValidateCouponSchema = z\n\t.object({\n\t\tuser: ZodValidation.objectIdOrStringSchema,\n\t\tshop: ZodValidation.objectIdOrStringSchema.optional(),\n\t\tvendor: ZodValidation.objectIdOrStringSchema.optional(),\n\t\tcoupon: ZodValidation.string('Coupon').optional(),\n\t\tamountBeforeCoupon: ZodValidation.number('Amount before coupon'),\n\t\tsecondaryAmountBeforeCoupon: ZodValidation.number('Secondary amount before coupon'),\n\t\tscheduledAt: ZodValidation.date('Scheduled at').optional(),\n\t})\n\t.superRefine((data, ctx) => {\n\t\tif (!data.shop && !data.vendor) {\n\t\t\tctx.addIssue({\n\t\t\t\tpath: ['shop', 'vendor'],\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Shop or vendor is required.',\n\t\t\t});\n\t\t}\n\t\tif (data.shop && data.vendor) {\n\t\t\tctx.addIssue({\n\t\t\t\tpath: ['shop', 'vendor'],\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Only one of Shop or vendor should be provided.',\n\t\t\t});\n\t\t}\n\t});\n\nconst discountCutSchema = z.object({\n\tcompanyCut: ZodValidation.number('companyCut').optional(),\n\tsecondaryCompanyCut: ZodValidation.number('secondaryCompanyCut').optional(),\n\tshopCut: ZodValidation.number('shopCut').optional(),\n\tsecondaryShopCut: ZodValidation.number('secondaryShopCut').optional(),\n\tvendorCut: ZodValidation.number('vendorCut').optional(),\n\tsecondaryVendorCut: ZodValidation.number('secondaryVendorCut').optional(),\n});\n\n/**\n * Schema for coupon validation output\n */\nexport const CouponValidationOutputSchema = z.object({\n\tisValid: ZodValidation.boolean('IsValid').default(false),\n\tmessage: ZodValidation.string('Message').optional(),\n\tamountAfterCoupon: ZodValidation.number('Amount after coupon').optional(),\n\tsecondaryAmountAfterCoupon: ZodValidation.number('Secondary amount after coupon').optional(),\n\tdiscountAmount: ZodValidation.number('Coupon Discount').optional(),\n\tsecondaryDiscountAmount: ZodValidation.number('Secondary coupon discount').optional(),\n\tdiscountCut: discountCutSchema.optional(),\n\tcouponDetails: z.record(z.unknown()).optional(), // Flexible field for any additional coupon details\n\tcouponInfo: z.record(z.unknown()).optional(),\n});\n\nexport const CouponCodeSchema = z.object({\n\tcouponCode: ZodValidation.string('Coupon code'),\n});\n\nexport const UpdateCouponStatusSchema = z.object({\n\t_id: ZodValidation.objectIdOrStringSchema,\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n});\n\nexport const CheckExistingNewUserCouponOutputSchema = z.object({\n\texists: ZodValidation.boolean('Exists').default(false),\n});\n\nexport const CouponValidationResponseSchema = createResponseSchema(CouponValidationOutputSchema);\n\nexport const DeviceIdSchema = z.object({ deviceId: z.string() });\nexport const IsNewUserGiftBoxShownSchema = z.object({ isNewUserGiftBoxShown: z.boolean() });\n\nexport const BaseDateInputSchema = z\n\t.object({\n\t\tstartDate: ZodValidation.date('Start Date').transform(val => dayjs(val).startOf('day').toDate()),\n\t\tendDate: ZodValidation.date('End Date').transform(val => dayjs(val).endOf('day').toDate()),\n\t})\n\t.strict();\n\nexport const DateInputSchema = BaseDateInputSchema.refine(\n\tdata => !dayjs(data.startDate).isAfter(dayjs(data.endDate)),\n\t{\n\t\tmessage: 'Start date cannot be after end date',\n\t\tpath: ['startDate'],\n\t}\n);\n\nexport const GraphInputSchema = BaseDateInputSchema.extend({\n\tgraphType: ZodValidation.enumType(GraphType, 'Type').optional(),\n\titemType: ZodValidation.enumType(ItemType, 'Item Type').optional(),\n}).refine(data => !dayjs(data.startDate).isAfter(dayjs(data.endDate)), {\n\tmessage: 'Start date cannot be after end date',\n\tpath: ['startDate'],\n});\n\nexport const CouponMetricsOutputSchema = z.object({\n\tactiveCoupons: ZodValidation.number('Active coupons').default(0),\n\ttotalCreated: ZodValidation.number('Total created coupons').default(0),\n\ttotalRedeemedCoupons: ZodValidation.number('Total redeemed coupons').default(0),\n\tredemptionRate: ZodValidation.number('Redemption rate').default(0),\n\ttotalCouponOrders: ZodValidation.number('Total coupon orders').default(0),\n\ttotalRevenue: ZodValidation.number('Total revenue from coupons').default(0),\n\ttotalProfit: ZodValidation.number('Total profit from coupons').default(0),\n});\n\nexport const CouponMetricsByTypeSchema = z.object({\n\tcouponType: ZodValidation.enumType(CouponType, 'Coupon Type'),\n\tcouponTypeTitle: ZodValidation.string('Coupon Type Title'),\n\ttotalCouponOrders: ZodValidation.number('Total coupon orders').default(0),\n\ttotalRevenue: ZodValidation.number('Total revenue from coupons').default(0),\n\taverageOrderValue: ZodValidation.number('Average order value for coupons of this type').default(0),\n\tusage: ZodValidation.number('Usage').default(0),\n\tongoing: ZodValidation.number('Ongoing').default(0),\n\tamountSpent: ZodValidation.number('Amount spent on coupons of this type').default(0),\n\tredemptionRate: ZodValidation.number('Redemption rate for this coupon type').default(0),\n});\n\nexport const GraphSchema = z.object({\n\tcategories: ZodValidation.array(ZodValidation.string('Category labels')),\n\tseries: ZodValidation.array(\n\t\tz.object({\n\t\t\tname: ZodValidation.string('Name of the series'),\n\t\t\tdata: ZodValidation.array(ZodValidation.number('Series data')),\n\t\t})\n\t),\n});\n\nexport const TotalProfitGraphSchema = GraphSchema.extend({\n\ttotalProfit: ZodValidation.number('Total profit').default(0),\n});\n\nexport const CouponListRequestSchema = z.object({\n\tpage: ZodValidation.number('Page', { isInt: true, isPositive: true, min: 1 }),\n\tsize: ZodValidation.number('Page', { isInt: true, isPositive: true, min: 1, max: 100 }),\n\tcouponTypes: ZodValidation.array(ZodValidation.enumType(CouponType, 'Coupon type'), 'Coupon types'),\n\tfromDate: ZodValidation.date('From date'),\n\ttoDate: ZodValidation.date('To date'),\n\tstatus: ZodValidation.enumType(Status, 'Status').optional(),\n\tsearchKey: ZodValidation.string('Search key').optional(),\n\tpopulate: ZodValidation.array(\n\t\tz.object({\n\t\t\tpath: ZodValidation.string(),\n\t\t\tselect: z\n\t\t\t\t.union([ZodValidation.string(), z.record(z.string(), z.union([z.literal(0), z.literal(1)]))])\n\t\t\t\t.optional(),\n\t\t}),\n\t\t'Populate'\n\t).optional(),\n});\n\nexport const CouponUsersRequestSchema = z.object({\n\tstartDate: z.date().optional(),\n\tendDate: z.date().optional(),\n\tcouponId: z.string(),\n\tpage: z.number().int().positive().default(1),\n\tsize: z.number().int().positive().default(10),\n\tsearch: z.string().trim().optional(),\n\tzone: z.string().optional(),\n\tsort: z.record(z.union([z.literal(1), z.literal(-1)])).optional(),\n});\n\nexport const singleCouponOrdersRequestSchema = z.object({\n\tcouponId: z.string(),\n\tuserId: z.string().optional(),\n\tpage: z.number().int().positive().default(1),\n\tsize: z.number().int().positive().default(10),\n\tstartDate: z.string().optional(),\n\tendDate: z.string().optional(),\n\tsearch: z.string().trim().optional(),\n\tzone: z.string().optional(),\n\tsort: z.record(z.union([z.literal(1), z.literal(-1)])).optional(),\n});\n\nexport const CouponUserItemSchema = z.object({\n\tid: z.string(),\n\tname: z.string(),\n\tavatar: z.string().nullable().optional(),\n\tzone: z.string().nullable(),\n\tzoneId: z.string().nullable(),\n\temail: z.string().nullable(),\n\tmobile: z.string().nullable(),\n\torders: z.number(),\n\tcreationDate: z.coerce.date(),\n\tstatus: z.nativeEnum(Status),\n});\n\nexport const CouponSingleUserOrderItemSchema = z.object({\n\torder: z.object({\n\t\t_id: z.string(),\n\t\torderId: z.string().optional(),\n\t\torderAmount: z.number().optional(),\n\t}),\n\tuser: z.object({\n\t\t_id: z.string(),\n\t\tname: z.string().optional(),\n\t\tphoto: z.string().nullable().optional(),\n\t}),\n\tshop: z.object({\n\t\t_id: z.string(),\n\t\tname: z.string().optional(),\n\t\tlogo: z.string().nullable().optional(),\n\t}),\n\tzone: z.string().nullable().optional(),\n\tcreationDate: z.coerce.date().optional(),\n});\n\nexport const CouponMetricsResponseSchema = createResponseSchema(CouponMetricsOutputSchema);\nexport const CouponMetricsByTypeResponseSchema = createResponseSchema(CouponMetricsByTypeSchema.array());\nexport const GraphResponseSchema = createResponseSchema(GraphSchema);\nexport const TotalProfitGraphResponseSchema = createResponseSchema(TotalProfitGraphSchema);\n\n/**\n * Export DTO types\n */\nexport type CreateCouponDTO = DTO<typeof CouponValidationSchema>;\nexport type CouponDTO = DTO<typeof CouponSchema>;\nexport type UpdateCouponDTO = DTO<typeof UpdateCouponSchema>;\nexport type GetUserCouponDTO = DTO<typeof GetUserCouponSchema>;\nexport type ValidateCouponDTO = DTO<typeof ValidateCouponSchema>;\nexport type CouponValidationOutputDTO = DTO<typeof CouponValidationOutputSchema>;\nexport type GetUserCouponsResponseDTO = DTO<typeof GetUserCouponsResponseSchema>;\nexport type UpdateCouponStatusDTO = DTO<typeof UpdateCouponStatusSchema>;\nexport type CheckExistingNewUserCouponOutputDTO = DTO<typeof CheckExistingNewUserCouponOutputSchema>;\nexport type DeviceIdDTO = DTO<typeof DeviceIdSchema>;\nexport type IsNewUserGiftBoxShownDTO = DTO<typeof IsNewUserGiftBoxShownSchema>;\nexport type DateInputDTO = DTO<typeof DateInputSchema>;\nexport type GraphInputDTO = DTO<typeof GraphInputSchema>;\nexport type CouponMetricsOutputDTO = DTO<typeof CouponMetricsOutputSchema>;\nexport type CouponMetricsByTypeDTO = DTO<typeof CouponMetricsByTypeSchema>;\nexport type GraphDTO = DTO<typeof GraphSchema>;\nexport type TotalProfitGraphDTO = DTO<typeof TotalProfitGraphSchema>;\nexport type CouponListRequestDTO = DTO<typeof CouponListRequestSchema>;\nexport type CouponUsersRequestDTO = DTO<typeof CouponUsersRequestSchema>;\nexport type SingleCouppnOrdersRequestDTO = DTO<typeof singleCouponOrdersRequestSchema>;\n\nexport type CouponUserItemDTO = DTO<typeof CouponUserItemSchema>;\n"]}
|
|
1
|
+
{"version":3,"file":"coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/coupon.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 {\n\tCouponExpirationReason,\n\tCouponType,\n\tGraphType,\n\tItemType,\n\tStatus,\n\tValueType,\n} from '@lyxa.ai/core/dist/utilities/enum';\nimport {\n\tcreateResponseSchema,\n\tDurationSchema,\n} 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 couponFields = {\n\tcode: ZodValidation.string('Code', {\n\t\tregex: { pattern: new RegExp('^[A-Z0-9]+$'), message: 'Coupon name must be uppercase' },\n\t\tmaxLength: 10,\n\t\tminLength: 4,\n\t\tminMessage: 'Coupon must be 4 characters',\n\t\tmaxMessage: 'Coupon must be 10 characters',\n\t}),\n\torderLimitPerUser: ZodValidation.number('OrderLimitPerUser')\n\t\t.nonnegative()\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\tisOrderLimitPerUserEnabled: ZodValidation.boolean('Is order limit per user enabled')\n\t\t.optional()\n\t\t.default(false),\n\tcreatedBy: ZodValidation.objectId('Created by').optional(),\n\tisExpired: ZodValidation.boolean('Is expired').optional(),\n};\n\nexport const baseFields = {\n\t...couponFields,\n\tvalueType: ZodValidation.enumType(ValueType, 'Value type'),\n\tvalue: ZodValidation.number('Value'),\n\tsecondaryCurrencyValue: ZodValidation.number('Secondary currency value').optional(),\n\tmaxDiscountLimit: ZodValidation.number('Max discount limit').optional().nullable().default(null),\n\tsecondaryCurrencyMaxDiscountLimit: ZodValidation.number('Secondary currency max discount limit').optional(),\n\tisMaxDiscountLimitEnabled: ZodValidation.boolean('Is max discount limit enabled').optional().default(false),\n\tduration: DurationSchema\n\t\t// .refine((d: any) => d.start >= new Date() && d.end >= new Date(), {\n\t\t// \tmessage: 'Start and end dates must not be in the past',\n\t\t// })\n\t\t.transform(duration => {\n\t\t\tduration.start = dayjs(duration.start).toDate();\n\t\t\tduration.end = dayjs(duration.end).toDate();\n\t\t\treturn duration;\n\t\t}),\n\tspendLimit: ZodValidation.number('Spend limit').optional().nullable().default(null),\n\tisSpendLimitEnabled: ZodValidation.boolean('Is spend limit enabled').optional().default(false),\n\ttotalOrderLimit: ZodValidation.number('Total order limit').optional().nullable().default(null),\n\tisTotalOrderLimitEnabled: ZodValidation.boolean('Is total order limit enabled').optional().default(false),\n\tminOrderValue: ZodValidation.number('Min order value').nullable().default(null),\n\tsecondaryCurrencyMinOrderValue: ZodValidation.number('Secondary currency min order value').optional(),\n\tisMinOrderValueEnabled: ZodValidation.boolean('Is min order value enabled').optional().default(false),\n\tforNewUserOnly: ZodValidation.boolean('ForNewUserOnly').optional().default(false),\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n\texpirationReason: ZodValidation.enumType(CouponExpirationReason, 'Expiration reason')\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\treferringUser: z\n\t\t.object({\n\t\t\tname: ZodValidation.string('Referring user name').optional(),\n\t\t})\n\t\t.optional(),\n};\n\n/**\n * Create schema builder for Parent entity\n * - Includes timestamps\n * - Excludes 'createdAt' from update operations\n */\nconst schemaBuilder = createSchemaBuilder(baseFields);\n\n/**\n * Get all schemas for the Parent entity\n */\nconst {\n\tBaseSchema: CouponValidationSchema,\n\tEntitySchema: CouponSchema,\n\tIdSchema: CouponIdSchema,\n\tUpdateSchema: UpdateCouponSchema,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\n/**\n * Export schemas\n */\nexport const GetUserCouponsResponseSchema = z.object({\n\tavailable: z.array(CouponSchema),\n\tused: z.array(CouponSchema),\n\texpired: z.array(CouponSchema),\n});\n\nexport {\n\tCouponValidationSchema,\n\tCouponSchema,\n\tCouponIdSchema as CouponIdValidationSchema,\n\tUpdateCouponSchema,\n};\n\n/**\n * Schema for getting user coupons\n */\nexport const GetUserCouponSchema = z.object({\n\tuser: ZodValidation.objectId('User').optional(),\n\tshop: ZodValidation.objectId('Shop').optional(),\n\tvendor: ZodValidation.objectId('Vendor').optional(),\n\tpage: ZodValidation.number('Page').optional().default(0),\n\tsize: ZodValidation.number('Page size').optional().default(100),\n});\n\n/**\n * Schema for validating coupons\n */\nexport const ValidateCouponSchema = z\n\t.object({\n\t\tuser: ZodValidation.objectIdOrStringSchema,\n\t\tshop: ZodValidation.objectIdOrStringSchema.optional(),\n\t\tvendor: ZodValidation.objectIdOrStringSchema.optional(),\n\t\tcoupon: ZodValidation.string('Coupon').optional(),\n\t\tamountBeforeCoupon: ZodValidation.number('Amount before coupon'),\n\t\tsecondaryAmountBeforeCoupon: ZodValidation.number('Secondary amount before coupon'),\n\t\tscheduledAt: ZodValidation.date('Scheduled at').optional(),\n\t})\n\t.superRefine((data, ctx) => {\n\t\tif (!data.shop && !data.vendor) {\n\t\t\tctx.addIssue({\n\t\t\t\tpath: ['shop', 'vendor'],\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Shop or vendor is required.',\n\t\t\t});\n\t\t}\n\t\tif (data.shop && data.vendor) {\n\t\t\tctx.addIssue({\n\t\t\t\tpath: ['shop', 'vendor'],\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Only one of Shop or vendor should be provided.',\n\t\t\t});\n\t\t}\n\t});\n\nconst discountCutSchema = z.object({\n\tcompanyCut: ZodValidation.number('companyCut').optional(),\n\tsecondaryCompanyCut: ZodValidation.number('secondaryCompanyCut').optional(),\n\tshopCut: ZodValidation.number('shopCut').optional(),\n\tsecondaryShopCut: ZodValidation.number('secondaryShopCut').optional(),\n\tvendorCut: ZodValidation.number('vendorCut').optional(),\n\tsecondaryVendorCut: ZodValidation.number('secondaryVendorCut').optional(),\n});\n\n/**\n * Schema for coupon validation output\n */\nexport const CouponValidationOutputSchema = z.object({\n\tisValid: ZodValidation.boolean('IsValid').default(false),\n\tmessage: ZodValidation.string('Message').optional(),\n\tamountAfterCoupon: ZodValidation.number('Amount after coupon').optional(),\n\tsecondaryAmountAfterCoupon: ZodValidation.number('Secondary amount after coupon').optional(),\n\tdiscountAmount: ZodValidation.number('Coupon Discount').optional(),\n\tsecondaryDiscountAmount: ZodValidation.number('Secondary coupon discount').optional(),\n\tdiscountCut: discountCutSchema.optional(),\n\tcouponDetails: z.record(z.unknown()).optional(), // Flexible field for any additional coupon details\n\tcouponInfo: z.record(z.unknown()).optional(),\n});\n\nexport const CouponCodeSchema = z.object({\n\tcouponCode: ZodValidation.string('Coupon code'),\n});\n\nexport const UpdateCouponStatusSchema = z.object({\n\t_id: ZodValidation.objectIdOrStringSchema,\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n});\n\nexport const CheckExistingNewUserCouponOutputSchema = z.object({\n\texists: ZodValidation.boolean('Exists').default(false),\n});\n\nexport const CouponValidationResponseSchema = createResponseSchema(CouponValidationOutputSchema);\n\nexport const DeviceIdSchema = z.object({ deviceId: z.string() });\nexport const IsNewUserGiftBoxShownSchema = z.object({ isNewUserGiftBoxShown: z.boolean() });\n\nexport const BaseDateInputSchema = z\n\t.object({\n\t\tstartDate: ZodValidation.date('Start Date').transform(val => dayjs(val).startOf('day').toDate()),\n\t\tendDate: ZodValidation.date('End Date').transform(val => dayjs(val).endOf('day').toDate()),\n\t})\n\t.strict();\n\nexport const DateInputSchema = BaseDateInputSchema.refine(\n\tdata => !dayjs(data.startDate).isAfter(dayjs(data.endDate)),\n\t{\n\t\tmessage: 'Start date cannot be after end date',\n\t\tpath: ['startDate'],\n\t}\n);\n\nexport const GraphInputSchema = BaseDateInputSchema.extend({\n\tgraphType: ZodValidation.enumType(GraphType, 'Type').optional(),\n\titemType: ZodValidation.enumType(ItemType, 'Item Type').optional(),\n}).refine(data => !dayjs(data.startDate).isAfter(dayjs(data.endDate)), {\n\tmessage: 'Start date cannot be after end date',\n\tpath: ['startDate'],\n});\n\nexport const CouponMetricsOutputSchema = z.object({\n\tactiveCoupons: ZodValidation.number('Active coupons').default(0),\n\ttotalCreated: ZodValidation.number('Total created coupons').default(0),\n\ttotalRedeemedCoupons: ZodValidation.number('Total redeemed coupons').default(0),\n\tredemptionRate: ZodValidation.number('Redemption rate').default(0),\n\ttotalCouponOrders: ZodValidation.number('Total coupon orders').default(0),\n\ttotalRevenue: ZodValidation.number('Total revenue from coupons').default(0),\n\ttotalProfit: ZodValidation.number('Total profit from coupons').default(0),\n});\n\nexport const CouponMetricsByTypeSchema = z.object({\n\tcouponType: ZodValidation.enumType(CouponType, 'Coupon Type'),\n\tcouponTypeTitle: ZodValidation.string('Coupon Type Title'),\n\ttotalCouponOrders: ZodValidation.number('Total coupon orders').default(0),\n\ttotalRevenue: ZodValidation.number('Total revenue from coupons').default(0),\n\taverageOrderValue: ZodValidation.number('Average order value for coupons of this type').default(0),\n\tusage: ZodValidation.number('Usage').default(0),\n\tongoing: ZodValidation.number('Ongoing').default(0),\n\tamountSpent: ZodValidation.number('Amount spent on coupons of this type').default(0),\n\tredemptionRate: ZodValidation.number('Redemption rate for this coupon type').default(0),\n});\n\nexport const ReferralGraphResponseSchema = createResponseSchema(\n\tz.array(\n\t\tz.object({\n\t\t\tdate: z.string(),\n\t\t\ttotalReferrals: z.number(),\n\t\t\ttotalConversions: z.number(),\n\t\t})\n\t)\n);\nexport const ReferFriendTotalProfitGraphResponseSchema = createResponseSchema(\n\tz.array(\n\t\tz.object({\n\t\t\tdate: z.string(),\n\t\t\ttotalProfit: z.number(),\n\t\t})\n\t)\n);\n\nexport const GraphSchema = z.object({\n\tcategories: ZodValidation.array(ZodValidation.string('Category labels')),\n\tseries: ZodValidation.array(\n\t\tz.object({\n\t\t\tname: ZodValidation.string('Name of the series'),\n\t\t\tdata: ZodValidation.array(ZodValidation.number('Series data')),\n\t\t})\n\t),\n});\n\nexport const TotalProfitGraphSchema = GraphSchema.extend({\n\ttotalProfit: ZodValidation.number('Total profit').default(0),\n});\n\nexport const CouponListRequestSchema = z.object({\n\tpage: ZodValidation.number('Page', { isInt: true, isPositive: true, min: 1 }),\n\tsize: ZodValidation.number('Page', { isInt: true, isPositive: true, min: 1, max: 100 }),\n\tcouponTypes: ZodValidation.array(ZodValidation.enumType(CouponType, 'Coupon type'), 'Coupon types'),\n\tfromDate: ZodValidation.date('From date'),\n\ttoDate: ZodValidation.date('To date'),\n\tstatus: ZodValidation.enumType(Status, 'Status').optional(),\n\tsearchKey: ZodValidation.string('Search key').optional(),\n\tpopulate: ZodValidation.array(\n\t\tz.object({\n\t\t\tpath: ZodValidation.string(),\n\t\t\tselect: z\n\t\t\t\t.union([ZodValidation.string(), z.record(z.string(), z.union([z.literal(0), z.literal(1)]))])\n\t\t\t\t.optional(),\n\t\t}),\n\t\t'Populate'\n\t).optional(),\n});\n\nexport const CouponUsersRequestSchema = z.object({\n\tstartDate: z.date().optional(),\n\tendDate: z.date().optional(),\n\tcouponId: z.string(),\n\tpage: z.number().int().positive().default(1),\n\tsize: z.number().int().positive().default(10),\n\tsearch: z.string().trim().optional(),\n\tzone: z.string().optional(),\n\tsort: z.record(z.union([z.literal(1), z.literal(-1)])).optional(),\n});\n\nexport const singleCouponOrdersRequestSchema = z.object({\n\tcouponId: z.string(),\n\tuserId: z.string().optional(),\n\tpage: z.number().int().positive().default(1),\n\tsize: z.number().int().positive().default(10),\n\tstartDate: z.string().optional(),\n\tendDate: z.string().optional(),\n\tsearch: z.string().trim().optional(),\n\tzone: z.string().optional(),\n\tsort: z.record(z.union([z.literal(1), z.literal(-1)])).optional(),\n});\n\nexport const referFriendCouponOrdersRequestSchema = z.object({\n\tuserId: z.string().optional(),\n\tpage: z.number().int().positive().default(1),\n\tsize: z.number().int().positive().default(10),\n\tstatus: z.nativeEnum(Status).optional().default(Status.ACTIVE),\n\tstartDate: z.string().optional(),\n\tendDate: z.string().optional(),\n\tsearch: z.string().trim().optional(),\n\tzone: z.string().optional(),\n\tsort: z.record(z.union([z.literal(1), z.literal(-1)])).optional(),\n});\nexport const referFriendCouponOrdersResponseSchema = createResponseSchema(\n\tz.object({\n\t\tsenderGets: z.string(),\n\t\treceiverGets: z.string(),\n\t\tstatus: z.nativeEnum(Status),\n\t\treferralDate: z.date(),\n\t\tsender: z.object({\n\t\t\t_id: z.string(),\n\t\t\tname: z.string().optional(),\n\t\t\tphoto: z.string().nullable().optional(),\n\t\t}),\n\t\treceiver: z.object({\n\t\t\t_id: z.string(),\n\t\t\tname: z.string().optional(),\n\t\t\tphoto: z.string().nullable().optional(),\n\t\t}),\n\t})\n);\nexport const DateInputRequestSchema = z.object({\n\tstartDate: z.string().optional(),\n\tendDate: z.string().optional(),\n});\nexport const ReferFriendMetricsResponseSchema = createResponseSchema(\n\tz.object({\n\t\ttotalReferralsSent: z.number(),\n\t\ttotalReferralsConverted: z.number(),\n\t\ttotalProfitFromReferrals: z.number(),\n\t\tconversionRate: z.number(),\n\t\tcustomerReferralRate: z.number(),\n\t})\n);\n\nexport const CouponUserItemSchema = z.object({\n\tid: z.string(),\n\tname: z.string(),\n\tavatar: z.string().nullable().optional(),\n\tzone: z.string().nullable(),\n\tzoneId: z.string().nullable(),\n\temail: z.string().nullable(),\n\tmobile: z.string().nullable(),\n\torders: z.number(),\n\tcreationDate: z.coerce.date(),\n\tstatus: z.nativeEnum(Status),\n});\n\nexport const CouponSingleUserOrderItemSchema = z.object({\n\torder: z.object({\n\t\t_id: z.string(),\n\t\torderId: z.string().optional(),\n\t\torderAmount: z.number().optional(),\n\t}),\n\tuser: z.object({\n\t\t_id: z.string(),\n\t\tname: z.string().optional(),\n\t\tphoto: z.string().nullable().optional(),\n\t}),\n\tshop: z.object({\n\t\t_id: z.string(),\n\t\tname: z.string().optional(),\n\t\tlogo: z.string().nullable().optional(),\n\t}),\n\tzone: z.string().nullable().optional(),\n\tcreationDate: z.coerce.date().optional(),\n});\n\nexport const CouponMetricsResponseSchema = createResponseSchema(CouponMetricsOutputSchema);\nexport const CouponMetricsByTypeResponseSchema = createResponseSchema(CouponMetricsByTypeSchema.array());\nexport const GraphResponseSchema = createResponseSchema(GraphSchema);\nexport const TotalProfitGraphResponseSchema = createResponseSchema(TotalProfitGraphSchema);\n\n/**\n * Export DTO types\n */\nexport type CreateCouponDTO = DTO<typeof CouponValidationSchema>;\nexport type CouponDTO = DTO<typeof CouponSchema>;\nexport type UpdateCouponDTO = DTO<typeof UpdateCouponSchema>;\nexport type GetUserCouponDTO = DTO<typeof GetUserCouponSchema>;\nexport type ValidateCouponDTO = DTO<typeof ValidateCouponSchema>;\nexport type CouponValidationOutputDTO = DTO<typeof CouponValidationOutputSchema>;\nexport type GetUserCouponsResponseDTO = DTO<typeof GetUserCouponsResponseSchema>;\nexport type UpdateCouponStatusDTO = DTO<typeof UpdateCouponStatusSchema>;\nexport type CheckExistingNewUserCouponOutputDTO = DTO<typeof CheckExistingNewUserCouponOutputSchema>;\nexport type DeviceIdDTO = DTO<typeof DeviceIdSchema>;\nexport type IsNewUserGiftBoxShownDTO = DTO<typeof IsNewUserGiftBoxShownSchema>;\nexport type DateInputDTO = DTO<typeof DateInputSchema>;\nexport type GraphInputDTO = DTO<typeof GraphInputSchema>;\nexport type CouponMetricsOutputDTO = DTO<typeof CouponMetricsOutputSchema>;\nexport type CouponMetricsByTypeDTO = DTO<typeof CouponMetricsByTypeSchema>;\nexport type GraphDTO = DTO<typeof GraphSchema>;\nexport type TotalProfitGraphDTO = DTO<typeof TotalProfitGraphSchema>;\nexport type CouponListRequestDTO = DTO<typeof CouponListRequestSchema>;\nexport type CouponUsersRequestDTO = DTO<typeof CouponUsersRequestSchema>;\nexport type ReferralGraphResponseDTO = DTO<typeof ReferralGraphResponseSchema>;\nexport type SingleCouponOrdersRequestDTO = DTO<typeof singleCouponOrdersRequestSchema>;\nexport type ReferFriendCouponOrdersRequestDTO = DTO<typeof referFriendCouponOrdersRequestSchema>;\nexport type ReferFriendCouponOrdersResponseDTO = DTO<typeof referFriendCouponOrdersResponseSchema>;\nexport type DateInputRequestSchemaDTO = DTO<typeof DateInputRequestSchema>;\nexport type ReferFriendMetricsResponseDTO = DTO<typeof ReferFriendMetricsResponseSchema>;\nexport type ReferFriendTotalProfitGraphResponseDTO = DTO<typeof ReferFriendTotalProfitGraphResponseSchema>;\n\nexport type CouponUserItemDTO = DTO<typeof CouponUserItemSchema>;\n"]}
|
|
@@ -133,6 +133,56 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
|
|
|
133
133
|
user: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
|
|
134
134
|
referralCodeUsedBy: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
|
|
135
135
|
referralCodeUsedOnOrder: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
|
|
136
|
+
referralSettingSnapShot: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
137
|
+
sender: import("zod").ZodObject<{
|
|
138
|
+
valueType: import("zod").ZodDefault<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
|
|
139
|
+
value: import("zod").ZodNumber;
|
|
140
|
+
minimumOrderValue: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
141
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
142
|
+
value: number;
|
|
143
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
144
|
+
minimumOrderValue: number;
|
|
145
|
+
}, {
|
|
146
|
+
value: number;
|
|
147
|
+
valueType?: import("@lyxa.ai/core/dist/utilities/enum").ValueType | undefined;
|
|
148
|
+
minimumOrderValue?: number | undefined;
|
|
149
|
+
}>;
|
|
150
|
+
receiver: import("zod").ZodObject<{
|
|
151
|
+
valueType: import("zod").ZodDefault<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
|
|
152
|
+
value: import("zod").ZodNumber;
|
|
153
|
+
minimumOrderValue: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
154
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
155
|
+
value: number;
|
|
156
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
157
|
+
minimumOrderValue: number;
|
|
158
|
+
}, {
|
|
159
|
+
value: number;
|
|
160
|
+
valueType?: import("@lyxa.ai/core/dist/utilities/enum").ValueType | undefined;
|
|
161
|
+
minimumOrderValue?: number | undefined;
|
|
162
|
+
}>;
|
|
163
|
+
}, "strict", import("zod").ZodTypeAny, {
|
|
164
|
+
sender: {
|
|
165
|
+
value: number;
|
|
166
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
167
|
+
minimumOrderValue: number;
|
|
168
|
+
};
|
|
169
|
+
receiver: {
|
|
170
|
+
value: number;
|
|
171
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
172
|
+
minimumOrderValue: number;
|
|
173
|
+
};
|
|
174
|
+
}, {
|
|
175
|
+
sender: {
|
|
176
|
+
value: number;
|
|
177
|
+
valueType?: import("@lyxa.ai/core/dist/utilities/enum").ValueType | undefined;
|
|
178
|
+
minimumOrderValue?: number | undefined;
|
|
179
|
+
};
|
|
180
|
+
receiver: {
|
|
181
|
+
value: number;
|
|
182
|
+
valueType?: import("@lyxa.ai/core/dist/utilities/enum").ValueType | undefined;
|
|
183
|
+
minimumOrderValue?: number | undefined;
|
|
184
|
+
};
|
|
185
|
+
}>>;
|
|
136
186
|
valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
|
|
137
187
|
value: import("zod").ZodNumber;
|
|
138
188
|
secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
@@ -210,6 +260,18 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
|
|
|
210
260
|
} | undefined;
|
|
211
261
|
createdBy?: import("mongoose").Types.ObjectId | undefined;
|
|
212
262
|
isExpired?: boolean | undefined;
|
|
263
|
+
referralSettingSnapShot?: {
|
|
264
|
+
sender: {
|
|
265
|
+
value: number;
|
|
266
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
267
|
+
minimumOrderValue: number;
|
|
268
|
+
};
|
|
269
|
+
receiver: {
|
|
270
|
+
value: number;
|
|
271
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
272
|
+
minimumOrderValue: number;
|
|
273
|
+
};
|
|
274
|
+
} | undefined;
|
|
213
275
|
}, {
|
|
214
276
|
code: string;
|
|
215
277
|
value: number;
|
|
@@ -243,6 +305,18 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
|
|
|
243
305
|
isOrderLimitPerUserEnabled?: boolean | undefined;
|
|
244
306
|
createdBy?: string | import("mongoose").Types.ObjectId | undefined;
|
|
245
307
|
isExpired?: boolean | undefined;
|
|
308
|
+
referralSettingSnapShot?: {
|
|
309
|
+
sender: {
|
|
310
|
+
value: number;
|
|
311
|
+
valueType?: import("@lyxa.ai/core/dist/utilities/enum").ValueType | undefined;
|
|
312
|
+
minimumOrderValue?: number | undefined;
|
|
313
|
+
};
|
|
314
|
+
receiver: {
|
|
315
|
+
value: number;
|
|
316
|
+
valueType?: import("@lyxa.ai/core/dist/utilities/enum").ValueType | undefined;
|
|
317
|
+
minimumOrderValue?: number | undefined;
|
|
318
|
+
};
|
|
319
|
+
} | undefined;
|
|
246
320
|
}>, import("zod").ZodObject<{
|
|
247
321
|
couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>;
|
|
248
322
|
itemTypes: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
|
|
@@ -857,6 +931,18 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
|
|
|
857
931
|
} | undefined;
|
|
858
932
|
createdBy?: import("mongoose").Types.ObjectId | undefined;
|
|
859
933
|
isExpired?: boolean | undefined;
|
|
934
|
+
referralSettingSnapShot?: {
|
|
935
|
+
sender: {
|
|
936
|
+
value: number;
|
|
937
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
938
|
+
minimumOrderValue: number;
|
|
939
|
+
};
|
|
940
|
+
receiver: {
|
|
941
|
+
value: number;
|
|
942
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
943
|
+
minimumOrderValue: number;
|
|
944
|
+
};
|
|
945
|
+
} | undefined;
|
|
860
946
|
} | {
|
|
861
947
|
code: string;
|
|
862
948
|
value: number;
|
|
@@ -1065,6 +1151,18 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
|
|
|
1065
1151
|
isOrderLimitPerUserEnabled?: boolean | undefined;
|
|
1066
1152
|
createdBy?: string | import("mongoose").Types.ObjectId | undefined;
|
|
1067
1153
|
isExpired?: boolean | undefined;
|
|
1154
|
+
referralSettingSnapShot?: {
|
|
1155
|
+
sender: {
|
|
1156
|
+
value: number;
|
|
1157
|
+
valueType?: import("@lyxa.ai/core/dist/utilities/enum").ValueType | undefined;
|
|
1158
|
+
minimumOrderValue?: number | undefined;
|
|
1159
|
+
};
|
|
1160
|
+
receiver: {
|
|
1161
|
+
value: number;
|
|
1162
|
+
valueType?: import("@lyxa.ai/core/dist/utilities/enum").ValueType | undefined;
|
|
1163
|
+
minimumOrderValue?: number | undefined;
|
|
1164
|
+
};
|
|
1165
|
+
} | undefined;
|
|
1068
1166
|
} | {
|
|
1069
1167
|
code: string;
|
|
1070
1168
|
value: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/create-coupon.validation.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"create-coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/create-coupon.validation.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe9B,CAAC"}
|
|
@@ -3,7 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CreateCouponSchema = void 0;
|
|
4
4
|
const all_coupons_validation_1 = require("./all-coupons.validation");
|
|
5
5
|
exports.CreateCouponSchema = all_coupons_validation_1.AllCouponsValidationSchema.refine((data) => {
|
|
6
|
-
if (data.orderLimitPerUser === null ||
|
|
6
|
+
if (data.orderLimitPerUser === null ||
|
|
7
|
+
data.totalOrderLimit === null ||
|
|
8
|
+
!data.isOrderLimitPerUserEnabled ||
|
|
9
|
+
!data.isTotalOrderLimitEnabled)
|
|
7
10
|
return true;
|
|
8
11
|
return data.orderLimitPerUser <= data.totalOrderLimit;
|
|
9
12
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/create-coupon.validation.ts"],"names":[],"mappings":";;;AAAA,qEAA8F;AAEjF,QAAA,kBAAkB,GAAG,mDAA0B,CAAC,MAAM,CAClE,CAAC,IAAS,EAAE,EAAE;IACb,
|
|
1
|
+
{"version":3,"file":"create-coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/create-coupon.validation.ts"],"names":[],"mappings":";;;AAAA,qEAA8F;AAEjF,QAAA,kBAAkB,GAAG,mDAA0B,CAAC,MAAM,CAClE,CAAC,IAAS,EAAE,EAAE;IACb,IACC,IAAI,CAAC,iBAAiB,KAAK,IAAI;QAC/B,IAAI,CAAC,eAAe,KAAK,IAAI;QAC7B,CAAC,IAAI,CAAC,0BAA0B;QAChC,CAAC,IAAI,CAAC,wBAAwB;QAE9B,OAAO,IAAI,CAAC;IACb,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,CAAC;AACvD,CAAC,EACD;IACC,OAAO,EAAE,mEAAmE;IAC5E,IAAI,EAAE,CAAC,mBAAmB,CAAC;CAC3B,CACD,CAAC","sourcesContent":["import { AllCouponsValidationSchema, AllCouponsUpdateSchema } from './all-coupons.validation';\n\nexport const CreateCouponSchema = AllCouponsValidationSchema.refine(\n\t(data: any) => {\n\t\tif (\n\t\t\tdata.orderLimitPerUser === null ||\n\t\t\tdata.totalOrderLimit === null ||\n\t\t\t!data.isOrderLimitPerUserEnabled ||\n\t\t\t!data.isTotalOrderLimitEnabled\n\t\t)\n\t\t\treturn true;\n\t\treturn data.orderLimitPerUser <= data.totalOrderLimit;\n\t},\n\t{\n\t\tmessage: 'Order limit per user cannot be greater than the total order limit',\n\t\tpath: ['orderLimitPerUser'],\n\t}\n);\n"]}
|