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