@lyxa.ai/marketing 1.0.53 → 1.0.55
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 +679 -28
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/modules/coupon/routers/coupon.router.d.ts +651 -0
- package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
- package/dist/lib/modules/coupon/routers/coupon.router.js +8 -1
- package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -1
- package/dist/lib/modules/coupon/services/coupon.service.d.ts +8 -1
- package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/coupon.service.js +234 -27
- package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts +5 -0
- package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/helper.service.d.ts +5 -0
- package/dist/lib/modules/coupon/services/helper.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts +5 -0
- package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts +1 -0
- package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js +27 -9
- package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js.map +1 -1
- package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts +5 -0
- package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts +293 -1125
- package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/all-coupons.validation.js +2 -16
- package/dist/lib/modules/coupon/validations/all-coupons.validation.js.map +1 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +44 -0
- package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.js +16 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
- 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/index.d.ts +1 -0
- package/dist/lib/modules/coupon/validations/index.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/index.js +1 -0
- package/dist/lib/modules/coupon/validations/index.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/campaign/campaign.router.d.ts +8 -8
- package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +34 -34
- package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.validation.d.ts +9 -1
- package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.validation.d.ts.map +1 -1
- package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.validation.js +26 -3
- package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.validation.js.map +1 -1
- package/dist/lib/modules/limited-time-offer/limited-time-offer.router.d.ts +28 -28
- package/dist/lib/modules/limited-time-offer/limited-time-offer.service.d.ts +1 -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 +6 -0
- 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.builder.d.ts +13 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.builder.d.ts.map +1 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.builder.js +22 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.builder.js.map +1 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.constants.d.ts +20 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.constants.d.ts.map +1 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.constants.js +26 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.constants.js.map +1 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.service.d.ts +8 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.service.d.ts.map +1 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.service.js +60 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.service.js.map +1 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.type.d.ts +5 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.type.d.ts.map +1 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.type.js +3 -0
- package/dist/lib/modules/limited-time-offer/notification/limited-time-offer-notification.type.js.map +1 -0
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.builder.js +1 -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 +1 -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 +8 -1
- 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 +20 -20
- package/dist/lib/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +82 -82
- package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts +2 -1
- 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 +12 -5
- package/dist/lib/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.d.ts +1 -0
- package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.js +9 -0
- package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
- package/dist/lib/modules/tournament/match/events/evaluate-predictions.consumer.js +1 -1
- package/dist/lib/modules/tournament/match/events/evaluate-predictions.consumer.js.map +1 -1
- package/dist/lib/modules/tournament/notification/__tests__/notification.service.spec.d.ts +2 -0
- package/dist/lib/modules/tournament/notification/__tests__/notification.service.spec.d.ts.map +1 -0
- package/dist/lib/modules/tournament/notification/__tests__/notification.service.spec.js +266 -0
- package/dist/lib/modules/tournament/notification/__tests__/notification.service.spec.js.map +1 -0
- package/dist/lib/modules/tournament/notification/notification.service.d.ts +14 -3
- package/dist/lib/modules/tournament/notification/notification.service.d.ts.map +1 -1
- package/dist/lib/modules/tournament/notification/notification.service.js +89 -31
- package/dist/lib/modules/tournament/notification/notification.service.js.map +1 -1
- package/dist/lib/modules/tournament/participant/participant.repository.d.ts +1 -0
- package/dist/lib/modules/tournament/participant/participant.repository.d.ts.map +1 -1
- package/dist/lib/modules/tournament/participant/participant.repository.js +9 -0
- package/dist/lib/modules/tournament/participant/participant.repository.js.map +1 -1
- package/dist/lib/modules/tournament/participant/participant.service.d.ts +1 -0
- package/dist/lib/modules/tournament/participant/participant.service.d.ts.map +1 -1
- package/dist/lib/modules/tournament/participant/participant.service.js +6 -0
- package/dist/lib/modules/tournament/participant/participant.service.js.map +1 -1
- package/dist/lib/modules/tournament/reward/reward.builder.d.ts.map +1 -1
- package/dist/lib/modules/tournament/reward/reward.builder.js +3 -3
- package/dist/lib/modules/tournament/reward/reward.builder.js.map +1 -1
- package/dist/lib/modules/tournament/reward/reward.types.d.ts +1 -0
- package/dist/lib/modules/tournament/reward/reward.types.d.ts.map +1 -1
- package/dist/lib/modules/tournament/reward/reward.types.js.map +1 -1
- package/dist/lib/modules/tournament/schedule/schedule.service.d.ts +7 -0
- package/dist/lib/modules/tournament/schedule/schedule.service.d.ts.map +1 -1
- package/dist/lib/modules/tournament/schedule/schedule.service.js +52 -19
- package/dist/lib/modules/tournament/schedule/schedule.service.js.map +1 -1
- package/dist/lib/utility/utils.js +2 -2
- package/dist/lib/utility/utils.js.map +1 -1
- package/dist/types/index.d.ts +679 -28
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modules/coupon/routers/coupon.router.d.ts +651 -0
- package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/coupon.service.d.ts +8 -1
- package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/custom-coupon.service.d.ts +5 -0
- package/dist/types/modules/coupon/services/custom-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/helper.service.d.ts +5 -0
- package/dist/types/modules/coupon/services/helper.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts +5 -0
- package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts +1 -0
- package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts +5 -0
- package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +293 -1125
- package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/coupon.validation.d.ts +44 -0
- package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/create-coupon.validation.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/index.d.ts +1 -0
- package/dist/types/modules/coupon/validations/index.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/campaign/campaign.router.d.ts +8 -8
- package/dist/types/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts +34 -34
- package/dist/types/modules/limited-time-offer/config/limited-time-offer-config.validation.d.ts +9 -1
- package/dist/types/modules/limited-time-offer/config/limited-time-offer-config.validation.d.ts.map +1 -1
- package/dist/types/modules/limited-time-offer/limited-time-offer.router.d.ts +28 -28
- package/dist/types/modules/limited-time-offer/limited-time-offer.service.d.ts +1 -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.builder.d.ts +13 -0
- package/dist/types/modules/limited-time-offer/notification/limited-time-offer-notification.builder.d.ts.map +1 -0
- package/dist/types/modules/limited-time-offer/notification/limited-time-offer-notification.constants.d.ts +20 -0
- package/dist/types/modules/limited-time-offer/notification/limited-time-offer-notification.constants.d.ts.map +1 -0
- package/dist/types/modules/limited-time-offer/notification/limited-time-offer-notification.service.d.ts +8 -0
- package/dist/types/modules/limited-time-offer/notification/limited-time-offer-notification.service.d.ts.map +1 -0
- package/dist/types/modules/limited-time-offer/notification/limited-time-offer-notification.type.d.ts +5 -0
- package/dist/types/modules/limited-time-offer/notification/limited-time-offer-notification.type.d.ts.map +1 -0
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.repository.d.ts +1 -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 +20 -20
- package/dist/types/modules/limited-time-offer/participant/limited-time-offer-participant.validation.d.ts +82 -82
- package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts +2 -1
- package/dist/types/modules/limited-time-offer/participant/services/limited-time-offer-participant.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/marketing.service.d.ts +1 -0
- package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/types/modules/tournament/notification/notification.service.d.ts +14 -3
- package/dist/types/modules/tournament/notification/notification.service.d.ts.map +1 -1
- package/dist/types/modules/tournament/participant/participant.repository.d.ts +1 -0
- package/dist/types/modules/tournament/participant/participant.repository.d.ts.map +1 -1
- package/dist/types/modules/tournament/participant/participant.service.d.ts +1 -0
- package/dist/types/modules/tournament/participant/participant.service.d.ts.map +1 -1
- package/dist/types/modules/tournament/reward/reward.builder.d.ts.map +1 -1
- package/dist/types/modules/tournament/reward/reward.types.d.ts +1 -0
- package/dist/types/modules/tournament/reward/reward.types.d.ts.map +1 -1
- package/dist/types/modules/tournament/schedule/schedule.service.d.ts +7 -0
- package/dist/types/modules/tournament/schedule/schedule.service.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/lib/modules/limited-time-offer/campaign/limited-time-offer-campaign.validation.d.ts
CHANGED
|
@@ -134,9 +134,9 @@ export declare const LtoCampaignSchema: z.ZodObject<{
|
|
|
134
134
|
}, "strip", z.ZodTypeAny, {
|
|
135
135
|
status: LimitedTimeOfferCampaignStatus;
|
|
136
136
|
_id: import("mongoose").Types.ObjectId;
|
|
137
|
+
campaignNumber: number;
|
|
137
138
|
discountOptions: number[];
|
|
138
139
|
maxDiscountCaps: number[];
|
|
139
|
-
campaignNumber: number;
|
|
140
140
|
createdAt?: Date | null | undefined;
|
|
141
141
|
startDate?: Date | null | undefined;
|
|
142
142
|
endDate?: Date | null | undefined;
|
|
@@ -154,9 +154,9 @@ export declare const LtoCampaignSchema: z.ZodObject<{
|
|
|
154
154
|
updatedAt?: Date | null | undefined;
|
|
155
155
|
title?: string | undefined;
|
|
156
156
|
subTitle?: string | undefined;
|
|
157
|
+
archivedAt?: Date | null | undefined;
|
|
157
158
|
discountOptions?: number[] | undefined;
|
|
158
159
|
maxDiscountCaps?: number[] | undefined;
|
|
159
|
-
archivedAt?: Date | null | undefined;
|
|
160
160
|
}>;
|
|
161
161
|
export declare const LtoCampaignHistoryItemSchema: z.ZodObject<{
|
|
162
162
|
id: z.ZodString;
|
|
@@ -191,16 +191,16 @@ export declare const LtoCampaignParticipantItemSchema: z.ZodObject<{
|
|
|
191
191
|
shopId: import("mongoose").Types.ObjectId;
|
|
192
192
|
joinedAt: Date;
|
|
193
193
|
shopName: string | null;
|
|
194
|
-
shopPhoto?: string | null | undefined;
|
|
195
194
|
discountPercentage?: number | undefined;
|
|
196
195
|
maxDiscountCap?: number | undefined;
|
|
196
|
+
shopPhoto?: string | null | undefined;
|
|
197
197
|
}, {
|
|
198
198
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
199
199
|
joinedAt: Date;
|
|
200
200
|
shopName: string | null;
|
|
201
|
-
shopPhoto?: string | null | undefined;
|
|
202
201
|
discountPercentage?: number | undefined;
|
|
203
202
|
maxDiscountCap?: number | undefined;
|
|
203
|
+
shopPhoto?: string | null | undefined;
|
|
204
204
|
}>;
|
|
205
205
|
export declare const LtoActiveCampaignSchema: z.ZodObject<{
|
|
206
206
|
_id: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
|
|
@@ -251,9 +251,9 @@ export declare const LtoCampaignResponseSchema: z.ZodObject<{
|
|
|
251
251
|
updatedAt?: Date | null | undefined;
|
|
252
252
|
title?: string | undefined;
|
|
253
253
|
subTitle?: string | undefined;
|
|
254
|
+
archivedAt?: Date | null | undefined;
|
|
254
255
|
discountOptions?: number[] | undefined;
|
|
255
256
|
maxDiscountCaps?: number[] | undefined;
|
|
256
|
-
archivedAt?: Date | null | undefined;
|
|
257
257
|
}, z.ZodTypeDef, {
|
|
258
258
|
status: LimitedTimeOfferCampaignStatus;
|
|
259
259
|
_id: string | import("mongoose").Types.ObjectId;
|
|
@@ -264,9 +264,9 @@ export declare const LtoCampaignResponseSchema: z.ZodObject<{
|
|
|
264
264
|
updatedAt?: Date | null | undefined;
|
|
265
265
|
title?: string | undefined;
|
|
266
266
|
subTitle?: string | undefined;
|
|
267
|
+
archivedAt?: Date | null | undefined;
|
|
267
268
|
discountOptions?: number[] | undefined;
|
|
268
269
|
maxDiscountCaps?: number[] | undefined;
|
|
269
|
-
archivedAt?: Date | null | undefined;
|
|
270
270
|
}>, "many">;
|
|
271
271
|
}, "strip", z.ZodTypeAny, {
|
|
272
272
|
documents: {
|
|
@@ -279,9 +279,9 @@ export declare const LtoCampaignResponseSchema: z.ZodObject<{
|
|
|
279
279
|
updatedAt?: Date | null | undefined;
|
|
280
280
|
title?: string | undefined;
|
|
281
281
|
subTitle?: string | undefined;
|
|
282
|
+
archivedAt?: Date | null | undefined;
|
|
282
283
|
discountOptions?: number[] | undefined;
|
|
283
284
|
maxDiscountCaps?: number[] | undefined;
|
|
284
|
-
archivedAt?: Date | null | undefined;
|
|
285
285
|
}[];
|
|
286
286
|
metadata?: {
|
|
287
287
|
page: number;
|
|
@@ -300,9 +300,9 @@ export declare const LtoCampaignResponseSchema: z.ZodObject<{
|
|
|
300
300
|
updatedAt?: Date | null | undefined;
|
|
301
301
|
title?: string | undefined;
|
|
302
302
|
subTitle?: string | undefined;
|
|
303
|
+
archivedAt?: Date | null | undefined;
|
|
303
304
|
discountOptions?: number[] | undefined;
|
|
304
305
|
maxDiscountCaps?: number[] | undefined;
|
|
305
|
-
archivedAt?: Date | null | undefined;
|
|
306
306
|
}[];
|
|
307
307
|
metadata?: {
|
|
308
308
|
page: number;
|
|
@@ -320,9 +320,9 @@ export declare const LtoCampaignResponseSchema: z.ZodObject<{
|
|
|
320
320
|
updatedAt?: Date | null | undefined;
|
|
321
321
|
title?: string | undefined;
|
|
322
322
|
subTitle?: string | undefined;
|
|
323
|
+
archivedAt?: Date | null | undefined;
|
|
323
324
|
discountOptions?: number[] | undefined;
|
|
324
325
|
maxDiscountCaps?: number[] | undefined;
|
|
325
|
-
archivedAt?: Date | null | undefined;
|
|
326
326
|
}, z.ZodTypeDef, {
|
|
327
327
|
status: LimitedTimeOfferCampaignStatus;
|
|
328
328
|
_id: string | import("mongoose").Types.ObjectId;
|
|
@@ -333,9 +333,9 @@ export declare const LtoCampaignResponseSchema: z.ZodObject<{
|
|
|
333
333
|
updatedAt?: Date | null | undefined;
|
|
334
334
|
title?: string | undefined;
|
|
335
335
|
subTitle?: string | undefined;
|
|
336
|
+
archivedAt?: Date | null | undefined;
|
|
336
337
|
discountOptions?: number[] | undefined;
|
|
337
338
|
maxDiscountCaps?: number[] | undefined;
|
|
338
|
-
archivedAt?: Date | null | undefined;
|
|
339
339
|
}>]>>;
|
|
340
340
|
}, "strip", z.ZodTypeAny, {
|
|
341
341
|
message: string;
|
|
@@ -350,9 +350,9 @@ export declare const LtoCampaignResponseSchema: z.ZodObject<{
|
|
|
350
350
|
updatedAt?: Date | null | undefined;
|
|
351
351
|
title?: string | undefined;
|
|
352
352
|
subTitle?: string | undefined;
|
|
353
|
+
archivedAt?: Date | null | undefined;
|
|
353
354
|
discountOptions?: number[] | undefined;
|
|
354
355
|
maxDiscountCaps?: number[] | undefined;
|
|
355
|
-
archivedAt?: Date | null | undefined;
|
|
356
356
|
} | {
|
|
357
357
|
documents: {
|
|
358
358
|
status: LimitedTimeOfferCampaignStatus;
|
|
@@ -364,9 +364,9 @@ export declare const LtoCampaignResponseSchema: z.ZodObject<{
|
|
|
364
364
|
updatedAt?: Date | null | undefined;
|
|
365
365
|
title?: string | undefined;
|
|
366
366
|
subTitle?: string | undefined;
|
|
367
|
+
archivedAt?: Date | null | undefined;
|
|
367
368
|
discountOptions?: number[] | undefined;
|
|
368
369
|
maxDiscountCaps?: number[] | undefined;
|
|
369
|
-
archivedAt?: Date | null | undefined;
|
|
370
370
|
}[];
|
|
371
371
|
metadata?: {
|
|
372
372
|
page: number;
|
|
@@ -388,9 +388,9 @@ export declare const LtoCampaignResponseSchema: z.ZodObject<{
|
|
|
388
388
|
updatedAt?: Date | null | undefined;
|
|
389
389
|
title?: string | undefined;
|
|
390
390
|
subTitle?: string | undefined;
|
|
391
|
+
archivedAt?: Date | null | undefined;
|
|
391
392
|
discountOptions?: number[] | undefined;
|
|
392
393
|
maxDiscountCaps?: number[] | undefined;
|
|
393
|
-
archivedAt?: Date | null | undefined;
|
|
394
394
|
} | {
|
|
395
395
|
documents: {
|
|
396
396
|
status: LimitedTimeOfferCampaignStatus;
|
|
@@ -402,9 +402,9 @@ export declare const LtoCampaignResponseSchema: z.ZodObject<{
|
|
|
402
402
|
updatedAt?: Date | null | undefined;
|
|
403
403
|
title?: string | undefined;
|
|
404
404
|
subTitle?: string | undefined;
|
|
405
|
+
archivedAt?: Date | null | undefined;
|
|
405
406
|
discountOptions?: number[] | undefined;
|
|
406
407
|
maxDiscountCaps?: number[] | undefined;
|
|
407
|
-
archivedAt?: Date | null | undefined;
|
|
408
408
|
}[];
|
|
409
409
|
metadata?: {
|
|
410
410
|
page: number;
|
|
@@ -444,9 +444,9 @@ export declare const LtoCampaignNullableResponseSchema: z.ZodObject<{
|
|
|
444
444
|
updatedAt?: Date | null | undefined;
|
|
445
445
|
title?: string | undefined;
|
|
446
446
|
subTitle?: string | undefined;
|
|
447
|
+
archivedAt?: Date | null | undefined;
|
|
447
448
|
discountOptions?: number[] | undefined;
|
|
448
449
|
maxDiscountCaps?: number[] | undefined;
|
|
449
|
-
archivedAt?: Date | null | undefined;
|
|
450
450
|
} | null, z.ZodTypeDef, {
|
|
451
451
|
status: LimitedTimeOfferCampaignStatus;
|
|
452
452
|
_id: string | import("mongoose").Types.ObjectId;
|
|
@@ -457,9 +457,9 @@ export declare const LtoCampaignNullableResponseSchema: z.ZodObject<{
|
|
|
457
457
|
updatedAt?: Date | null | undefined;
|
|
458
458
|
title?: string | undefined;
|
|
459
459
|
subTitle?: string | undefined;
|
|
460
|
+
archivedAt?: Date | null | undefined;
|
|
460
461
|
discountOptions?: number[] | undefined;
|
|
461
462
|
maxDiscountCaps?: number[] | undefined;
|
|
462
|
-
archivedAt?: Date | null | undefined;
|
|
463
463
|
} | null>, "many">;
|
|
464
464
|
}, "strip", z.ZodTypeAny, {
|
|
465
465
|
documents: ({
|
|
@@ -472,9 +472,9 @@ export declare const LtoCampaignNullableResponseSchema: z.ZodObject<{
|
|
|
472
472
|
updatedAt?: Date | null | undefined;
|
|
473
473
|
title?: string | undefined;
|
|
474
474
|
subTitle?: string | undefined;
|
|
475
|
+
archivedAt?: Date | null | undefined;
|
|
475
476
|
discountOptions?: number[] | undefined;
|
|
476
477
|
maxDiscountCaps?: number[] | undefined;
|
|
477
|
-
archivedAt?: Date | null | undefined;
|
|
478
478
|
} | null)[];
|
|
479
479
|
metadata?: {
|
|
480
480
|
page: number;
|
|
@@ -493,9 +493,9 @@ export declare const LtoCampaignNullableResponseSchema: z.ZodObject<{
|
|
|
493
493
|
updatedAt?: Date | null | undefined;
|
|
494
494
|
title?: string | undefined;
|
|
495
495
|
subTitle?: string | undefined;
|
|
496
|
+
archivedAt?: Date | null | undefined;
|
|
496
497
|
discountOptions?: number[] | undefined;
|
|
497
498
|
maxDiscountCaps?: number[] | undefined;
|
|
498
|
-
archivedAt?: Date | null | undefined;
|
|
499
499
|
} | null)[];
|
|
500
500
|
metadata?: {
|
|
501
501
|
page: number;
|
|
@@ -513,9 +513,9 @@ export declare const LtoCampaignNullableResponseSchema: z.ZodObject<{
|
|
|
513
513
|
updatedAt?: Date | null | undefined;
|
|
514
514
|
title?: string | undefined;
|
|
515
515
|
subTitle?: string | undefined;
|
|
516
|
+
archivedAt?: Date | null | undefined;
|
|
516
517
|
discountOptions?: number[] | undefined;
|
|
517
518
|
maxDiscountCaps?: number[] | undefined;
|
|
518
|
-
archivedAt?: Date | null | undefined;
|
|
519
519
|
} | null, z.ZodTypeDef, {
|
|
520
520
|
status: LimitedTimeOfferCampaignStatus;
|
|
521
521
|
_id: string | import("mongoose").Types.ObjectId;
|
|
@@ -526,9 +526,9 @@ export declare const LtoCampaignNullableResponseSchema: z.ZodObject<{
|
|
|
526
526
|
updatedAt?: Date | null | undefined;
|
|
527
527
|
title?: string | undefined;
|
|
528
528
|
subTitle?: string | undefined;
|
|
529
|
+
archivedAt?: Date | null | undefined;
|
|
529
530
|
discountOptions?: number[] | undefined;
|
|
530
531
|
maxDiscountCaps?: number[] | undefined;
|
|
531
|
-
archivedAt?: Date | null | undefined;
|
|
532
532
|
} | null>]>>;
|
|
533
533
|
}, "strip", z.ZodTypeAny, {
|
|
534
534
|
message: string;
|
|
@@ -543,9 +543,9 @@ export declare const LtoCampaignNullableResponseSchema: z.ZodObject<{
|
|
|
543
543
|
updatedAt?: Date | null | undefined;
|
|
544
544
|
title?: string | undefined;
|
|
545
545
|
subTitle?: string | undefined;
|
|
546
|
+
archivedAt?: Date | null | undefined;
|
|
546
547
|
discountOptions?: number[] | undefined;
|
|
547
548
|
maxDiscountCaps?: number[] | undefined;
|
|
548
|
-
archivedAt?: Date | null | undefined;
|
|
549
549
|
} | {
|
|
550
550
|
documents: ({
|
|
551
551
|
status: LimitedTimeOfferCampaignStatus;
|
|
@@ -557,9 +557,9 @@ export declare const LtoCampaignNullableResponseSchema: z.ZodObject<{
|
|
|
557
557
|
updatedAt?: Date | null | undefined;
|
|
558
558
|
title?: string | undefined;
|
|
559
559
|
subTitle?: string | undefined;
|
|
560
|
+
archivedAt?: Date | null | undefined;
|
|
560
561
|
discountOptions?: number[] | undefined;
|
|
561
562
|
maxDiscountCaps?: number[] | undefined;
|
|
562
|
-
archivedAt?: Date | null | undefined;
|
|
563
563
|
} | null)[];
|
|
564
564
|
metadata?: {
|
|
565
565
|
page: number;
|
|
@@ -581,9 +581,9 @@ export declare const LtoCampaignNullableResponseSchema: z.ZodObject<{
|
|
|
581
581
|
updatedAt?: Date | null | undefined;
|
|
582
582
|
title?: string | undefined;
|
|
583
583
|
subTitle?: string | undefined;
|
|
584
|
+
archivedAt?: Date | null | undefined;
|
|
584
585
|
discountOptions?: number[] | undefined;
|
|
585
586
|
maxDiscountCaps?: number[] | undefined;
|
|
586
|
-
archivedAt?: Date | null | undefined;
|
|
587
587
|
} | {
|
|
588
588
|
documents: ({
|
|
589
589
|
status: LimitedTimeOfferCampaignStatus;
|
|
@@ -595,9 +595,9 @@ export declare const LtoCampaignNullableResponseSchema: z.ZodObject<{
|
|
|
595
595
|
updatedAt?: Date | null | undefined;
|
|
596
596
|
title?: string | undefined;
|
|
597
597
|
subTitle?: string | undefined;
|
|
598
|
+
archivedAt?: Date | null | undefined;
|
|
598
599
|
discountOptions?: number[] | undefined;
|
|
599
600
|
maxDiscountCaps?: number[] | undefined;
|
|
600
|
-
archivedAt?: Date | null | undefined;
|
|
601
601
|
} | null)[];
|
|
602
602
|
metadata?: {
|
|
603
603
|
page: number;
|
|
@@ -887,25 +887,25 @@ export declare const LtoCampaignParticipantsResponseSchema: z.ZodObject<{
|
|
|
887
887
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
888
888
|
joinedAt: Date;
|
|
889
889
|
shopName: string | null;
|
|
890
|
-
shopPhoto?: string | null | undefined;
|
|
891
890
|
discountPercentage?: number | undefined;
|
|
892
891
|
maxDiscountCap?: number | undefined;
|
|
892
|
+
shopPhoto?: string | null | undefined;
|
|
893
893
|
}, z.ZodTypeDef, {
|
|
894
894
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
895
895
|
joinedAt: Date;
|
|
896
896
|
shopName: string | null;
|
|
897
|
-
shopPhoto?: string | null | undefined;
|
|
898
897
|
discountPercentage?: number | undefined;
|
|
899
898
|
maxDiscountCap?: number | undefined;
|
|
899
|
+
shopPhoto?: string | null | undefined;
|
|
900
900
|
}>, "many">;
|
|
901
901
|
}, "strip", z.ZodTypeAny, {
|
|
902
902
|
documents: {
|
|
903
903
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
904
904
|
joinedAt: Date;
|
|
905
905
|
shopName: string | null;
|
|
906
|
-
shopPhoto?: string | null | undefined;
|
|
907
906
|
discountPercentage?: number | undefined;
|
|
908
907
|
maxDiscountCap?: number | undefined;
|
|
908
|
+
shopPhoto?: string | null | undefined;
|
|
909
909
|
}[];
|
|
910
910
|
metadata?: {
|
|
911
911
|
page: number;
|
|
@@ -918,9 +918,9 @@ export declare const LtoCampaignParticipantsResponseSchema: z.ZodObject<{
|
|
|
918
918
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
919
919
|
joinedAt: Date;
|
|
920
920
|
shopName: string | null;
|
|
921
|
-
shopPhoto?: string | null | undefined;
|
|
922
921
|
discountPercentage?: number | undefined;
|
|
923
922
|
maxDiscountCap?: number | undefined;
|
|
923
|
+
shopPhoto?: string | null | undefined;
|
|
924
924
|
}[];
|
|
925
925
|
metadata?: {
|
|
926
926
|
page: number;
|
|
@@ -932,16 +932,16 @@ export declare const LtoCampaignParticipantsResponseSchema: z.ZodObject<{
|
|
|
932
932
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
933
933
|
joinedAt: Date;
|
|
934
934
|
shopName: string | null;
|
|
935
|
-
shopPhoto?: string | null | undefined;
|
|
936
935
|
discountPercentage?: number | undefined;
|
|
937
936
|
maxDiscountCap?: number | undefined;
|
|
937
|
+
shopPhoto?: string | null | undefined;
|
|
938
938
|
}, z.ZodTypeDef, {
|
|
939
939
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
940
940
|
joinedAt: Date;
|
|
941
941
|
shopName: string | null;
|
|
942
|
-
shopPhoto?: string | null | undefined;
|
|
943
942
|
discountPercentage?: number | undefined;
|
|
944
943
|
maxDiscountCap?: number | undefined;
|
|
944
|
+
shopPhoto?: string | null | undefined;
|
|
945
945
|
}>]>>;
|
|
946
946
|
}, "strip", z.ZodTypeAny, {
|
|
947
947
|
message: string;
|
|
@@ -950,17 +950,17 @@ export declare const LtoCampaignParticipantsResponseSchema: z.ZodObject<{
|
|
|
950
950
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
951
951
|
joinedAt: Date;
|
|
952
952
|
shopName: string | null;
|
|
953
|
-
shopPhoto?: string | null | undefined;
|
|
954
953
|
discountPercentage?: number | undefined;
|
|
955
954
|
maxDiscountCap?: number | undefined;
|
|
955
|
+
shopPhoto?: string | null | undefined;
|
|
956
956
|
} | {
|
|
957
957
|
documents: {
|
|
958
958
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
959
959
|
joinedAt: Date;
|
|
960
960
|
shopName: string | null;
|
|
961
|
-
shopPhoto?: string | null | undefined;
|
|
962
961
|
discountPercentage?: number | undefined;
|
|
963
962
|
maxDiscountCap?: number | undefined;
|
|
963
|
+
shopPhoto?: string | null | undefined;
|
|
964
964
|
}[];
|
|
965
965
|
metadata?: {
|
|
966
966
|
page: number;
|
|
@@ -976,17 +976,17 @@ export declare const LtoCampaignParticipantsResponseSchema: z.ZodObject<{
|
|
|
976
976
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
977
977
|
joinedAt: Date;
|
|
978
978
|
shopName: string | null;
|
|
979
|
-
shopPhoto?: string | null | undefined;
|
|
980
979
|
discountPercentage?: number | undefined;
|
|
981
980
|
maxDiscountCap?: number | undefined;
|
|
981
|
+
shopPhoto?: string | null | undefined;
|
|
982
982
|
} | {
|
|
983
983
|
documents: {
|
|
984
984
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
985
985
|
joinedAt: Date;
|
|
986
986
|
shopName: string | null;
|
|
987
|
-
shopPhoto?: string | null | undefined;
|
|
988
987
|
discountPercentage?: number | undefined;
|
|
989
988
|
maxDiscountCap?: number | undefined;
|
|
989
|
+
shopPhoto?: string | null | undefined;
|
|
990
990
|
}[];
|
|
991
991
|
metadata?: {
|
|
992
992
|
page: number;
|
package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.validation.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare const CreateLimitedTimeOfferConfigSchema: z.ZodObject<{
|
|
|
14
14
|
discountOptions?: number[] | undefined;
|
|
15
15
|
maxDiscountCaps?: number[] | undefined;
|
|
16
16
|
}>;
|
|
17
|
-
export declare const UpdateLimitedTimeOfferConfigSchema: z.ZodObject<{
|
|
17
|
+
export declare const UpdateLimitedTimeOfferConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
18
18
|
_id: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>;
|
|
19
19
|
discountOptions: z.ZodArray<z.ZodNumber, "many">;
|
|
20
20
|
maxDiscountCaps: z.ZodArray<z.ZodNumber, "many">;
|
|
@@ -26,6 +26,14 @@ export declare const UpdateLimitedTimeOfferConfigSchema: z.ZodObject<{
|
|
|
26
26
|
_id: string | import("mongoose").Types.ObjectId;
|
|
27
27
|
discountOptions: number[];
|
|
28
28
|
maxDiscountCaps: number[];
|
|
29
|
+
}>, {
|
|
30
|
+
_id: import("mongoose").Types.ObjectId;
|
|
31
|
+
discountOptions: number[];
|
|
32
|
+
maxDiscountCaps: number[];
|
|
33
|
+
}, {
|
|
34
|
+
_id: string | import("mongoose").Types.ObjectId;
|
|
35
|
+
discountOptions: number[];
|
|
36
|
+
maxDiscountCaps: number[];
|
|
29
37
|
}>;
|
|
30
38
|
export declare const LimitedTimeOfferConfigSchema: z.ZodObject<{
|
|
31
39
|
campaignType: z.ZodNativeEnum<typeof MarketingType>;
|
package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limited-time-offer-config.validation.d.ts","sourceRoot":"/","sources":["modules/limited-time-offer/config/limited-time-offer-config.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAiB,GAAG,EAAE,MAAM,2DAA2D,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGlE,eAAO,MAAM,kCAAkC;;;;;;;;;;;;EAI7C,CAAC;AAEH,eAAO,MAAM,kCAAkC
|
|
1
|
+
{"version":3,"file":"limited-time-offer-config.validation.d.ts","sourceRoot":"/","sources":["modules/limited-time-offer/config/limited-time-offer-config.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAiB,GAAG,EAAE,MAAM,2DAA2D,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGlE,eAAO,MAAM,kCAAkC;;;;;;;;;;;;EAI7C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;EA8B5C,CAAC;AAEJ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;EAIvC,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqD,CAAC;AAEvG,MAAM,MAAM,+BAA+B,GAAG,GAAG,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAC7F,MAAM,MAAM,+BAA+B,GAAG,GAAG,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAC7F,MAAM,MAAM,yBAAyB,GAAG,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
|
|
@@ -10,10 +10,33 @@ exports.CreateLimitedTimeOfferConfigSchema = zod_1.z.object({
|
|
|
10
10
|
discountOptions: zod_1.z.array(global_validation_1.ZodValidation.number('Discount option')).default([]),
|
|
11
11
|
maxDiscountCaps: zod_1.z.array(global_validation_1.ZodValidation.number('Max discount cap')).default([]),
|
|
12
12
|
});
|
|
13
|
-
exports.UpdateLimitedTimeOfferConfigSchema = zod_1.z
|
|
13
|
+
exports.UpdateLimitedTimeOfferConfigSchema = zod_1.z
|
|
14
|
+
.object({
|
|
14
15
|
_id: global_validation_1.ZodValidation.objectId(),
|
|
15
|
-
discountOptions: zod_1.z
|
|
16
|
-
|
|
16
|
+
discountOptions: zod_1.z
|
|
17
|
+
.array(global_validation_1.ZodValidation.number('Discount option'))
|
|
18
|
+
.min(1, 'At least one discount option is required'),
|
|
19
|
+
maxDiscountCaps: zod_1.z
|
|
20
|
+
.array(global_validation_1.ZodValidation.number('Max discount cap'))
|
|
21
|
+
.min(1, 'At least one max discount cap is required'),
|
|
22
|
+
})
|
|
23
|
+
.superRefine((data, ctx) => {
|
|
24
|
+
const hasDuplicateDiscountOptions = new Set(data.discountOptions).size !== data.discountOptions.length;
|
|
25
|
+
if (hasDuplicateDiscountOptions) {
|
|
26
|
+
ctx.addIssue({
|
|
27
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
28
|
+
path: ['discountOptions'],
|
|
29
|
+
message: 'Duplicate discount options are not allowed',
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
const hasDuplicateMaxDiscountCaps = new Set(data.maxDiscountCaps).size !== data.maxDiscountCaps.length;
|
|
33
|
+
if (hasDuplicateMaxDiscountCaps) {
|
|
34
|
+
ctx.addIssue({
|
|
35
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
36
|
+
path: ['maxDiscountCaps'],
|
|
37
|
+
message: 'Duplicate max discount caps are not allowed',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
17
40
|
});
|
|
18
41
|
exports.LimitedTimeOfferConfigSchema = exports.CreateLimitedTimeOfferConfigSchema.extend({
|
|
19
42
|
_id: global_validation_1.ZodValidation.objectId(),
|
package/dist/lib/modules/limited-time-offer/config/limited-time-offer-config.validation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limited-time-offer-config.validation.js","sourceRoot":"/","sources":["modules/limited-time-offer/config/limited-time-offer-config.validation.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iGAA+F;AAC/F,4DAAkE;AAClE,wEAA+E;AAElE,QAAA,kCAAkC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1D,YAAY,EAAE,iCAAa,CAAC,QAAQ,CAAC,oBAAa,EAAE,eAAe,CAAC;IACpE,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,iCAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7E,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,iCAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC9E,CAAC,CAAC;AAEU,QAAA,kCAAkC,GAAG,OAAC,
|
|
1
|
+
{"version":3,"file":"limited-time-offer-config.validation.js","sourceRoot":"/","sources":["modules/limited-time-offer/config/limited-time-offer-config.validation.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iGAA+F;AAC/F,4DAAkE;AAClE,wEAA+E;AAElE,QAAA,kCAAkC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1D,YAAY,EAAE,iCAAa,CAAC,QAAQ,CAAC,oBAAa,EAAE,eAAe,CAAC;IACpE,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,iCAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7E,eAAe,EAAE,OAAC,CAAC,KAAK,CAAC,iCAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC9E,CAAC,CAAC;AAEU,QAAA,kCAAkC,GAAG,OAAC;KACjD,MAAM,CAAC;IACP,GAAG,EAAE,iCAAa,CAAC,QAAQ,EAAE;IAC7B,eAAe,EAAE,OAAC;SAChB,KAAK,CAAC,iCAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,EAAE,0CAA0C,CAAC;IACpD,eAAe,EAAE,OAAC;SAChB,KAAK,CAAC,iCAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;SAC/C,GAAG,CAAC,CAAC,EAAE,2CAA2C,CAAC;CACrD,CAAC;KACD,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC1B,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IAEvG,IAAI,2BAA2B,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,iBAAiB,CAAC;YACzB,OAAO,EAAE,4CAA4C;SACrD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IAEvG,IAAI,2BAA2B,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,iBAAiB,CAAC;YACzB,OAAO,EAAE,6CAA6C;SACtD,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC,CAAC;AAES,QAAA,4BAA4B,GAAG,0CAAkC,CAAC,MAAM,CAAC;IACrF,GAAG,EAAE,iCAAa,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,OAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,OAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEU,QAAA,oCAAoC,GAAG,IAAA,iCAAoB,EAAC,oCAA4B,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { ZodValidation, DTO } from '@lyxa.ai/core/dist/utilities/validation/global-validation';\nimport { MarketingType } from '@lyxa.ai/core/dist/utilities/enum';\nimport { createResponseSchema } from '@lyxa.ai/core/dist/utilities/validation';\n\nexport const CreateLimitedTimeOfferConfigSchema = z.object({\n\tcampaignType: ZodValidation.enumType(MarketingType, 'Campaign type'),\n\tdiscountOptions: z.array(ZodValidation.number('Discount option')).default([]),\n\tmaxDiscountCaps: z.array(ZodValidation.number('Max discount cap')).default([]),\n});\n\nexport const UpdateLimitedTimeOfferConfigSchema = z\n\t.object({\n\t\t_id: ZodValidation.objectId(),\n\t\tdiscountOptions: z\n\t\t\t.array(ZodValidation.number('Discount option'))\n\t\t\t.min(1, 'At least one discount option is required'),\n\t\tmaxDiscountCaps: z\n\t\t\t.array(ZodValidation.number('Max discount cap'))\n\t\t\t.min(1, 'At least one max discount cap is required'),\n\t})\n\t.superRefine((data, ctx) => {\n\t\tconst hasDuplicateDiscountOptions = new Set(data.discountOptions).size !== data.discountOptions.length;\n\n\t\tif (hasDuplicateDiscountOptions) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tpath: ['discountOptions'],\n\t\t\t\tmessage: 'Duplicate discount options are not allowed',\n\t\t\t});\n\t\t}\n\n\t\tconst hasDuplicateMaxDiscountCaps = new Set(data.maxDiscountCaps).size !== data.maxDiscountCaps.length;\n\n\t\tif (hasDuplicateMaxDiscountCaps) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tpath: ['maxDiscountCaps'],\n\t\t\t\tmessage: 'Duplicate max discount caps are not allowed',\n\t\t\t});\n\t\t}\n\t});\n\nexport const LimitedTimeOfferConfigSchema = CreateLimitedTimeOfferConfigSchema.extend({\n\t_id: ZodValidation.objectId(),\n\tcreatedAt: z.date().nullable().optional(),\n\tupdatedAt: z.date().nullable().optional(),\n});\n\nexport const LimitedTimeOfferConfigResponseSchema = createResponseSchema(LimitedTimeOfferConfigSchema);\n\nexport type CreateLimitedTimeOfferConfigDTO = DTO<typeof CreateLimitedTimeOfferConfigSchema>;\nexport type UpdateLimitedTimeOfferConfigDTO = DTO<typeof UpdateLimitedTimeOfferConfigSchema>;\nexport type LimitedTimeOfferConfigDTO = DTO<typeof LimitedTimeOfferConfigSchema>;\n"]}
|
|
@@ -212,9 +212,9 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
212
212
|
updatedAt?: Date | null | undefined;
|
|
213
213
|
title?: string | undefined;
|
|
214
214
|
subTitle?: string | undefined;
|
|
215
|
+
archivedAt?: Date | null | undefined;
|
|
215
216
|
discountOptions?: number[] | undefined;
|
|
216
217
|
maxDiscountCaps?: number[] | undefined;
|
|
217
|
-
archivedAt?: Date | null | undefined;
|
|
218
218
|
} | {
|
|
219
219
|
documents: {
|
|
220
220
|
status: import("@lyxa.ai/core/dist/utilities/enum").LimitedTimeOfferCampaignStatus;
|
|
@@ -226,9 +226,9 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
226
226
|
updatedAt?: Date | null | undefined;
|
|
227
227
|
title?: string | undefined;
|
|
228
228
|
subTitle?: string | undefined;
|
|
229
|
+
archivedAt?: Date | null | undefined;
|
|
229
230
|
discountOptions?: number[] | undefined;
|
|
230
231
|
maxDiscountCaps?: number[] | undefined;
|
|
231
|
-
archivedAt?: Date | null | undefined;
|
|
232
232
|
}[];
|
|
233
233
|
metadata?: {
|
|
234
234
|
page: number;
|
|
@@ -255,9 +255,9 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
255
255
|
updatedAt?: Date | null | undefined;
|
|
256
256
|
title?: string | undefined;
|
|
257
257
|
subTitle?: string | undefined;
|
|
258
|
+
archivedAt?: Date | null | undefined;
|
|
258
259
|
discountOptions?: number[] | undefined;
|
|
259
260
|
maxDiscountCaps?: number[] | undefined;
|
|
260
|
-
archivedAt?: Date | null | undefined;
|
|
261
261
|
} | {
|
|
262
262
|
documents: ({
|
|
263
263
|
status: import("@lyxa.ai/core/dist/utilities/enum").LimitedTimeOfferCampaignStatus;
|
|
@@ -269,9 +269,9 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
269
269
|
updatedAt?: Date | null | undefined;
|
|
270
270
|
title?: string | undefined;
|
|
271
271
|
subTitle?: string | undefined;
|
|
272
|
+
archivedAt?: Date | null | undefined;
|
|
272
273
|
discountOptions?: number[] | undefined;
|
|
273
274
|
maxDiscountCaps?: number[] | undefined;
|
|
274
|
-
archivedAt?: Date | null | undefined;
|
|
275
275
|
} | null)[];
|
|
276
276
|
metadata?: {
|
|
277
277
|
page: number;
|
|
@@ -300,9 +300,9 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
300
300
|
updatedAt?: Date | null | undefined;
|
|
301
301
|
title?: string | undefined;
|
|
302
302
|
subTitle?: string | undefined;
|
|
303
|
+
archivedAt?: Date | null | undefined;
|
|
303
304
|
discountOptions?: number[] | undefined;
|
|
304
305
|
maxDiscountCaps?: number[] | undefined;
|
|
305
|
-
archivedAt?: Date | null | undefined;
|
|
306
306
|
} | {
|
|
307
307
|
documents: {
|
|
308
308
|
status: import("@lyxa.ai/core/dist/utilities/enum").LimitedTimeOfferCampaignStatus;
|
|
@@ -314,9 +314,9 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
314
314
|
updatedAt?: Date | null | undefined;
|
|
315
315
|
title?: string | undefined;
|
|
316
316
|
subTitle?: string | undefined;
|
|
317
|
+
archivedAt?: Date | null | undefined;
|
|
317
318
|
discountOptions?: number[] | undefined;
|
|
318
319
|
maxDiscountCaps?: number[] | undefined;
|
|
319
|
-
archivedAt?: Date | null | undefined;
|
|
320
320
|
}[];
|
|
321
321
|
metadata?: {
|
|
322
322
|
page: number;
|
|
@@ -389,9 +389,9 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
389
389
|
updatedAt?: Date | null | undefined;
|
|
390
390
|
title?: string | undefined;
|
|
391
391
|
subTitle?: string | undefined;
|
|
392
|
+
archivedAt?: Date | null | undefined;
|
|
392
393
|
discountOptions?: number[] | undefined;
|
|
393
394
|
maxDiscountCaps?: number[] | undefined;
|
|
394
|
-
archivedAt?: Date | null | undefined;
|
|
395
395
|
} | {
|
|
396
396
|
documents: {
|
|
397
397
|
status: import("@lyxa.ai/core/dist/utilities/enum").LimitedTimeOfferCampaignStatus;
|
|
@@ -403,9 +403,9 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
403
403
|
updatedAt?: Date | null | undefined;
|
|
404
404
|
title?: string | undefined;
|
|
405
405
|
subTitle?: string | undefined;
|
|
406
|
+
archivedAt?: Date | null | undefined;
|
|
406
407
|
discountOptions?: number[] | undefined;
|
|
407
408
|
maxDiscountCaps?: number[] | undefined;
|
|
408
|
-
archivedAt?: Date | null | undefined;
|
|
409
409
|
}[];
|
|
410
410
|
metadata?: {
|
|
411
411
|
page: number;
|
|
@@ -601,6 +601,15 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
601
601
|
success: boolean;
|
|
602
602
|
data?: {
|
|
603
603
|
campaignState: import("./participant/limited-time-offer-participant.validation").LtoCardState;
|
|
604
|
+
campaign?: {
|
|
605
|
+
_id: string | import("mongoose").Types.ObjectId;
|
|
606
|
+
startDate?: Date | null | undefined;
|
|
607
|
+
endDate?: Date | null | undefined;
|
|
608
|
+
title?: string | undefined;
|
|
609
|
+
subTitle?: string | undefined;
|
|
610
|
+
discountOptions?: number[] | undefined;
|
|
611
|
+
maxDiscountCaps?: number[] | undefined;
|
|
612
|
+
} | undefined;
|
|
604
613
|
participant?: {
|
|
605
614
|
isEntireMenu: boolean;
|
|
606
615
|
joinedAt: Date;
|
|
@@ -611,18 +620,18 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
611
620
|
maxDiscountCap?: number | undefined;
|
|
612
621
|
maxOrderCapacity?: number | undefined;
|
|
613
622
|
} | undefined;
|
|
614
|
-
campaign?: {
|
|
615
|
-
_id: string | import("mongoose").Types.ObjectId;
|
|
616
|
-
startDate?: Date | null | undefined;
|
|
617
|
-
endDate?: Date | null | undefined;
|
|
618
|
-
title?: string | undefined;
|
|
619
|
-
subTitle?: string | undefined;
|
|
620
|
-
discountOptions?: number[] | undefined;
|
|
621
|
-
maxDiscountCaps?: number[] | undefined;
|
|
622
|
-
} | undefined;
|
|
623
623
|
} | {
|
|
624
624
|
documents: {
|
|
625
625
|
campaignState: import("./participant/limited-time-offer-participant.validation").LtoCardState;
|
|
626
|
+
campaign?: {
|
|
627
|
+
_id: string | import("mongoose").Types.ObjectId;
|
|
628
|
+
startDate?: Date | null | undefined;
|
|
629
|
+
endDate?: Date | null | undefined;
|
|
630
|
+
title?: string | undefined;
|
|
631
|
+
subTitle?: string | undefined;
|
|
632
|
+
discountOptions?: number[] | undefined;
|
|
633
|
+
maxDiscountCaps?: number[] | undefined;
|
|
634
|
+
} | undefined;
|
|
626
635
|
participant?: {
|
|
627
636
|
isEntireMenu: boolean;
|
|
628
637
|
joinedAt: Date;
|
|
@@ -633,15 +642,6 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
633
642
|
maxDiscountCap?: number | undefined;
|
|
634
643
|
maxOrderCapacity?: number | undefined;
|
|
635
644
|
} | undefined;
|
|
636
|
-
campaign?: {
|
|
637
|
-
_id: string | import("mongoose").Types.ObjectId;
|
|
638
|
-
startDate?: Date | null | undefined;
|
|
639
|
-
endDate?: Date | null | undefined;
|
|
640
|
-
title?: string | undefined;
|
|
641
|
-
subTitle?: string | undefined;
|
|
642
|
-
discountOptions?: number[] | undefined;
|
|
643
|
-
maxDiscountCaps?: number[] | undefined;
|
|
644
|
-
} | undefined;
|
|
645
645
|
}[];
|
|
646
646
|
metadata?: {
|
|
647
647
|
page: number;
|
|
@@ -667,17 +667,17 @@ export declare const limitedTimeOfferRouter: import("@trpc/server").TRPCBuiltRou
|
|
|
667
667
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
668
668
|
joinedAt: Date;
|
|
669
669
|
shopName: string | null;
|
|
670
|
-
shopPhoto?: string | null | undefined;
|
|
671
670
|
discountPercentage?: number | undefined;
|
|
672
671
|
maxDiscountCap?: number | undefined;
|
|
672
|
+
shopPhoto?: string | null | undefined;
|
|
673
673
|
} | {
|
|
674
674
|
documents: {
|
|
675
675
|
shopId: string | import("mongoose").Types.ObjectId;
|
|
676
676
|
joinedAt: Date;
|
|
677
677
|
shopName: string | null;
|
|
678
|
-
shopPhoto?: string | null | undefined;
|
|
679
678
|
discountPercentage?: number | undefined;
|
|
680
679
|
maxDiscountCap?: number | undefined;
|
|
680
|
+
shopPhoto?: string | null | undefined;
|
|
681
681
|
}[];
|
|
682
682
|
metadata?: {
|
|
683
683
|
page: number;
|
|
@@ -3,6 +3,7 @@ import { GetActiveCampaignDTO } from '../limited-time-offer/campaign/limited-tim
|
|
|
3
3
|
export declare class LimitedTimeOfferService {
|
|
4
4
|
private campaignService;
|
|
5
5
|
private participantService;
|
|
6
|
+
private notificationService;
|
|
6
7
|
constructor();
|
|
7
8
|
getActiveCampaign(input: GetActiveCampaignDTO): Promise<{
|
|
8
9
|
_id: mongoose.Types.ObjectId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limited-time-offer.service.d.ts","sourceRoot":"/","sources":["modules/limited-time-offer/limited-time-offer.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,6EAA6E,CAAC;
|
|
1
|
+
{"version":3,"file":"limited-time-offer.service.d.ts","sourceRoot":"/","sources":["modules/limited-time-offer/limited-time-offer.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAK9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,6EAA6E,CAAC;AAejH,qBACa,uBAAuB;IAChC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,mBAAmB,CAAsC;;IAQpD,iBAAiB,CAAC,KAAK,EAAE,oBAAoB;;;;;;;IAQ7C,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlE,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAIlF;AAED,eAAO,MAAM,uBAAuB,yBAAyC,CAAC"}
|
|
@@ -46,12 +46,16 @@ exports.limitedTimeOfferService = exports.LimitedTimeOfferService = void 0;
|
|
|
46
46
|
const typedi_1 = __importStar(require("typedi"));
|
|
47
47
|
const limited_time_offer_campaign_service_1 = require("../limited-time-offer/campaign/services/limited-time-offer-campaign.service");
|
|
48
48
|
const limited_time_offer_participant_service_1 = require("../limited-time-offer/participant/services/limited-time-offer-participant.service");
|
|
49
|
+
const limited_time_offer_notification_service_1 = require("../limited-time-offer/notification/limited-time-offer-notification.service");
|
|
50
|
+
const limited_time_offer_notification_constants_1 = require("../limited-time-offer/notification/limited-time-offer-notification.constants");
|
|
49
51
|
let LimitedTimeOfferService = class LimitedTimeOfferService {
|
|
50
52
|
campaignService;
|
|
51
53
|
participantService;
|
|
54
|
+
notificationService;
|
|
52
55
|
constructor() {
|
|
53
56
|
this.campaignService = limited_time_offer_campaign_service_1.ltoCampaignService;
|
|
54
57
|
this.participantService = limited_time_offer_participant_service_1.ltoParticipantService;
|
|
58
|
+
this.notificationService = typedi_1.default.get(limited_time_offer_notification_service_1.LimitedTimeOfferNotificationService);
|
|
55
59
|
}
|
|
56
60
|
async getActiveCampaign(input) {
|
|
57
61
|
const campaign = await this.campaignService.getActive();
|
|
@@ -62,7 +66,9 @@ let LimitedTimeOfferService = class LimitedTimeOfferService {
|
|
|
62
66
|
}
|
|
63
67
|
async cancelCampaign(campaignId) {
|
|
64
68
|
await this.campaignService.cancel(campaignId);
|
|
69
|
+
const participantIds = await this.participantService.getParticipantIdsByCampaignId(campaignId);
|
|
65
70
|
await this.participantService.removeCampaignMarketings(campaignId);
|
|
71
|
+
await this.notificationService.send(limited_time_offer_notification_constants_1.NotificationType.Cancel, participantIds, { campaignId });
|
|
66
72
|
}
|
|
67
73
|
async expireCampaign(campaignId) {
|
|
68
74
|
await this.campaignService.expire(campaignId);
|