@lyxa.ai/marketing 1.0.30 → 1.0.31
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 +2 -0
- package/dist/lib/event/event-initializations.d.ts.map +1 -0
- package/dist/lib/event/event-initializations.js +8 -0
- package/dist/lib/event/event-initializations.js.map +1 -0
- package/dist/lib/event/event-listeners/event-listeners.d.ts +2 -0
- package/dist/lib/event/event-listeners/event-listeners.d.ts.map +1 -0
- package/dist/lib/event/event-listeners/event-listeners.js +12 -0
- package/dist/lib/event/event-listeners/event-listeners.js.map +1 -0
- package/dist/lib/index.d.ts +78 -57
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +17 -17
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/modules/coupon/routers/coupon.router.d.ts +54 -54
- package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/coupon.service.js +1 -0
- package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/helper.service.js +1 -1
- package/dist/lib/modules/coupon/services/helper.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/individual-store-coupon.service.js +1 -1
- package/dist/lib/modules/coupon/services/individual-store-coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts +1 -0
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js +123 -5
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js.map +1 -1
- package/dist/lib/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js +4 -2
- package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/shops-categories-coupon.service.js +1 -1
- package/dist/lib/modules/coupon/services/shops-categories-coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts +153 -153
- package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +12 -12
- package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.js +2 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
- package/dist/lib/modules/coupon/validations/custom-coupon.validation.d.ts +8 -8
- package/dist/lib/modules/coupon/validations/global-coupon.validation.d.ts +8 -8
- package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts +10 -10
- package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.d.ts +8 -8
- package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.d.ts +9 -9
- package/dist/lib/modules/coupon/validations/shops-categories-coupon.validation.d.ts +8 -8
- package/dist/lib/modules/deal-setting/validations/deal-setting.validation.d.ts +1 -1
- package/dist/lib/modules/marketing/routers/marketing.router.d.ts +21 -0
- package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
- package/dist/lib/modules/marketing/routers/marketing.router.js +14 -0
- package/dist/lib/modules/marketing/routers/marketing.router.js.map +1 -1
- package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.d.ts +2 -1
- package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.js +45 -110
- package/dist/lib/modules/marketing/services/buy1-get1-marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/discount-marketing.service.d.ts +2 -1
- package/dist/lib/modules/marketing/services/discount-marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/discount-marketing.service.js +54 -171
- package/dist/lib/modules/marketing/services/discount-marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/featured-marketing.service.d.ts +2 -0
- package/dist/lib/modules/marketing/services/featured-marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/featured-marketing.service.js +30 -2
- package/dist/lib/modules/marketing/services/featured-marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/free-delivery-marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/free-delivery-marketing.service.js +6 -1
- package/dist/lib/modules/marketing/services/free-delivery-marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/index.d.ts +1 -0
- package/dist/lib/modules/marketing/services/index.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/index.js +1 -0
- package/dist/lib/modules/marketing/services/index.js.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.d.ts +5 -0
- package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.js +207 -5
- package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/product-marketing.service.d.ts +1 -0
- package/dist/lib/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/product-marketing.service.js +21 -3
- package/dist/lib/modules/marketing/services/product-marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/punch-marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/punch-marketing.service.js +6 -1
- package/dist/lib/modules/marketing/services/punch-marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.d.ts +14 -0
- package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.d.ts.map +1 -0
- package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.js +209 -0
- package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.js.map +1 -0
- package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +2 -2
- package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.d.ts +2 -2
- package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +58 -58
- package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +68 -68
- package/dist/lib/modules/marketing/validations/featured-marketing.validation.d.ts +21 -21
- package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.d.ts +18 -18
- package/dist/lib/modules/marketing/validations/marketing.validation.d.ts +14 -7
- package/dist/lib/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
- package/dist/lib/modules/marketing/validations/marketing.validation.js +4 -1
- package/dist/lib/modules/marketing/validations/marketing.validation.js.map +1 -1
- package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts +4 -4
- package/dist/lib/modules/marketing/validations/punch-marketing.validation.d.ts +22 -22
- package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +3 -3
- package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.js +2 -2
- package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.js.map +1 -1
- package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +6 -6
- package/dist/types/event/event-initializations.d.ts +2 -0
- package/dist/types/event/event-initializations.d.ts.map +1 -0
- package/dist/types/event/event-listeners/event-listeners.d.ts +2 -0
- package/dist/types/event/event-listeners/event-listeners.d.ts.map +1 -0
- package/dist/types/index.d.ts +78 -57
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modules/coupon/routers/coupon.router.d.ts +54 -54
- package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts +1 -0
- package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +153 -153
- package/dist/types/modules/coupon/validations/coupon.validation.d.ts +12 -12
- package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/custom-coupon.validation.d.ts +8 -8
- package/dist/types/modules/coupon/validations/global-coupon.validation.d.ts +8 -8
- package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts +10 -10
- package/dist/types/modules/coupon/validations/individual-user-coupon.validation.d.ts +8 -8
- package/dist/types/modules/coupon/validations/referral-reward-coupon.validation.d.ts +9 -9
- package/dist/types/modules/coupon/validations/shops-categories-coupon.validation.d.ts +8 -8
- package/dist/types/modules/deal-setting/validations/deal-setting.validation.d.ts +1 -1
- package/dist/types/modules/marketing/routers/marketing.router.d.ts +21 -0
- package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts +2 -1
- package/dist/types/modules/marketing/services/buy1-get1-marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/discount-marketing.service.d.ts +2 -1
- package/dist/types/modules/marketing/services/discount-marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/featured-marketing.service.d.ts +2 -0
- package/dist/types/modules/marketing/services/featured-marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/free-delivery-marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/index.d.ts +1 -0
- package/dist/types/modules/marketing/services/index.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/marketing.service.d.ts +5 -0
- package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/product-marketing.service.d.ts +1 -0
- package/dist/types/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/punch-marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/synchronize-product-marketing.service.d.ts +14 -0
- package/dist/types/modules/marketing/services/synchronize-product-marketing.service.d.ts.map +1 -0
- package/dist/types/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +2 -2
- package/dist/types/modules/marketing/transformers/discount-marketing.transformer.d.ts +2 -2
- package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +58 -58
- package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +68 -68
- package/dist/types/modules/marketing/validations/featured-marketing.validation.d.ts +21 -21
- package/dist/types/modules/marketing/validations/free-delivery-marketing.validation.d.ts +18 -18
- package/dist/types/modules/marketing/validations/marketing.validation.d.ts +14 -7
- package/dist/types/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
- package/dist/types/modules/marketing/validations/product-marketing.validation.d.ts +4 -4
- package/dist/types/modules/marketing/validations/punch-marketing.validation.d.ts +22 -22
- package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +3 -3
- package/dist/types/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +6 -6
- package/package.json +2 -2
|
@@ -100,18 +100,18 @@ declare const CouponValidationSchema: z.ZodObject<{
|
|
|
100
100
|
createdBy: 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>]>>;
|
|
101
101
|
isExpired: z.ZodOptional<z.ZodBoolean>;
|
|
102
102
|
}, "strict", z.ZodTypeAny, {
|
|
103
|
-
value: number;
|
|
104
103
|
code: string;
|
|
104
|
+
value: number;
|
|
105
105
|
status: Status;
|
|
106
|
+
valueType: ValueType;
|
|
107
|
+
maxDiscountLimit: number | null;
|
|
108
|
+
isMaxDiscountLimitEnabled: boolean;
|
|
106
109
|
duration: {
|
|
107
110
|
start: Date;
|
|
108
111
|
end?: Date | undefined;
|
|
109
112
|
};
|
|
110
|
-
valueType: ValueType;
|
|
111
113
|
spendLimit: number | null;
|
|
112
114
|
isSpendLimitEnabled: boolean;
|
|
113
|
-
maxDiscountLimit: number | null;
|
|
114
|
-
isMaxDiscountLimitEnabled: boolean;
|
|
115
115
|
totalOrderLimit: number | null;
|
|
116
116
|
isTotalOrderLimitEnabled: boolean;
|
|
117
117
|
minOrderValue: number | null;
|
|
@@ -129,20 +129,20 @@ declare const CouponValidationSchema: z.ZodObject<{
|
|
|
129
129
|
createdBy?: import("mongoose").Types.ObjectId | undefined;
|
|
130
130
|
isExpired?: boolean | undefined;
|
|
131
131
|
}, {
|
|
132
|
-
value: number;
|
|
133
132
|
code: string;
|
|
133
|
+
value: number;
|
|
134
|
+
valueType: ValueType;
|
|
134
135
|
duration: {
|
|
135
136
|
start: string | Date;
|
|
136
137
|
end?: string | Date | undefined;
|
|
137
138
|
};
|
|
138
|
-
valueType: ValueType;
|
|
139
139
|
status?: Status | undefined;
|
|
140
|
-
spendLimit?: number | null | undefined;
|
|
141
|
-
isSpendLimitEnabled?: boolean | undefined;
|
|
142
140
|
secondaryCurrencyValue?: number | undefined;
|
|
143
141
|
maxDiscountLimit?: number | null | undefined;
|
|
144
142
|
secondaryCurrencyMaxDiscountLimit?: number | undefined;
|
|
145
143
|
isMaxDiscountLimitEnabled?: boolean | undefined;
|
|
144
|
+
spendLimit?: number | null | undefined;
|
|
145
|
+
isSpendLimitEnabled?: boolean | undefined;
|
|
146
146
|
totalOrderLimit?: number | null | undefined;
|
|
147
147
|
isTotalOrderLimitEnabled?: boolean | undefined;
|
|
148
148
|
minOrderValue?: number | null | undefined;
|
|
@@ -1152,11 +1152,11 @@ export declare const GetUserCouponSchema: z.ZodObject<{
|
|
|
1152
1152
|
}, "strip", z.ZodTypeAny, {
|
|
1153
1153
|
page: number;
|
|
1154
1154
|
size: number;
|
|
1155
|
-
shop?: import("mongoose").Types.ObjectId | undefined;
|
|
1156
1155
|
user?: import("mongoose").Types.ObjectId | undefined;
|
|
1156
|
+
shop?: import("mongoose").Types.ObjectId | undefined;
|
|
1157
1157
|
}, {
|
|
1158
|
-
shop?: string | import("mongoose").Types.ObjectId | undefined;
|
|
1159
1158
|
user?: string | import("mongoose").Types.ObjectId | undefined;
|
|
1159
|
+
shop?: string | import("mongoose").Types.ObjectId | undefined;
|
|
1160
1160
|
page?: number | undefined;
|
|
1161
1161
|
size?: number | undefined;
|
|
1162
1162
|
}>;
|
|
@@ -1167,14 +1167,14 @@ export declare const ValidateCouponSchema: z.ZodObject<{
|
|
|
1167
1167
|
amountBeforeCoupon: z.ZodNumber;
|
|
1168
1168
|
secondaryAmountBeforeCoupon: z.ZodNumber;
|
|
1169
1169
|
}, "strip", z.ZodTypeAny, {
|
|
1170
|
-
shop: string | import("mongoose").Types.ObjectId;
|
|
1171
1170
|
user: string | import("mongoose").Types.ObjectId;
|
|
1171
|
+
shop: string | import("mongoose").Types.ObjectId;
|
|
1172
1172
|
amountBeforeCoupon: number;
|
|
1173
1173
|
secondaryAmountBeforeCoupon: number;
|
|
1174
1174
|
coupon?: string | undefined;
|
|
1175
1175
|
}, {
|
|
1176
|
-
shop: string | import("mongoose").Types.ObjectId;
|
|
1177
1176
|
user: string | import("mongoose").Types.ObjectId;
|
|
1177
|
+
shop: string | import("mongoose").Types.ObjectId;
|
|
1178
1178
|
amountBeforeCoupon: number;
|
|
1179
1179
|
secondaryAmountBeforeCoupon: number;
|
|
1180
1180
|
coupon?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGN,GAAG,EACH,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAc,MAAM,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAU1G,eAAO,MAAM,YAAY;;;;;;CAmBxB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,8 @@ exports.baseFields = {
|
|
|
34
34
|
maxDiscountLimit: global_validation_1.ZodValidation.number('Max discount limit').optional().nullable().default(null),
|
|
35
35
|
secondaryCurrencyMaxDiscountLimit: global_validation_1.ZodValidation.number('Secondary currency max discount limit').optional(),
|
|
36
36
|
isMaxDiscountLimitEnabled: global_validation_1.ZodValidation.boolean('Is max discount limit enabled').optional().default(false),
|
|
37
|
-
duration: common_validation_1.DurationSchema
|
|
37
|
+
duration: common_validation_1.DurationSchema
|
|
38
|
+
.transform(duration => {
|
|
38
39
|
duration.start = (0, dayjs_1.dayjs)(duration.start).toDate();
|
|
39
40
|
duration.end = (0, dayjs_1.dayjs)(duration.end).toDate();
|
|
40
41
|
return duration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport {\n\tZodValidation,\n\tcreateSchemaBuilder,\n\tDTO,\n} from '@lyxa.ai/core/dist/utilities/validation/global-validation';\nimport { CouponExpirationReason, CouponType, Status, ValueType } from '@lyxa.ai/core/dist/utilities/enum';\nimport {\n\tcreateResponseSchema,\n\tDurationSchema,\n} from '@lyxa.ai/core/dist/utilities/validation/common-validation';\nimport { dayjs } from '@lyxa.ai/core/dist/utilities/dayjs';\n\n/**\n * Define the base parent schema fields\n */\nexport const couponFields = {\n\tcode: ZodValidation.string('Code', {\n\t\tregex: { pattern: new RegExp('^[A-Z0-9]+$'), message: 'Coupon name must be uppercase' },\n\t\tmaxLength: 6,\n\t\tminLength: 6,\n\t\tminMessage: 'Coupon must be 6 characters',\n\t\tmaxMessage: 'Coupon must be 6 characters',\n\t}),\n\torderLimitPerUser: ZodValidation.number('OrderLimitPerUser')\n\t\t.min(1)\n\t\t.max(5)\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\tisOrderLimitPerUserEnabled: ZodValidation.boolean('Is order limit per user enabled')\n\t\t.optional()\n\t\t.default(false),\n\tcreatedBy: ZodValidation.objectId('Created by').optional(),\n\tisExpired: ZodValidation.boolean('Is expired').optional(),\n};\n\nexport const baseFields = {\n\t...couponFields,\n\tvalueType: ZodValidation.enumType(ValueType, 'Value type'),\n\tvalue: ZodValidation.number('Value'),\n\tsecondaryCurrencyValue: ZodValidation.number('Secondary currency value').optional(),\n\tmaxDiscountLimit: ZodValidation.number('Max discount limit').optional().nullable().default(null),\n\tsecondaryCurrencyMaxDiscountLimit: ZodValidation.number('Secondary currency max discount limit').optional(),\n\tisMaxDiscountLimitEnabled: ZodValidation.boolean('Is max discount limit enabled').optional().default(false),\n\tduration: DurationSchema.transform(duration => {\n\t\t// duration.start = dayjs(duration.start).startOf('day').toDate();\n\t\t// duration.end = dayjs(duration.end).endOf('day').toDate();\n\t\tduration.start = dayjs(duration.start).toDate();\n\t\tduration.end = dayjs(duration.end).toDate();\n\t\treturn duration;\n\t}),\n\tspendLimit: ZodValidation.number('Spend limit').optional().nullable().default(null),\n\tisSpendLimitEnabled: ZodValidation.boolean('Is spend limit enabled').optional().default(false),\n\ttotalOrderLimit: ZodValidation.number('Total order limit').optional().nullable().default(null),\n\tisTotalOrderLimitEnabled: ZodValidation.boolean('Is total order limit enabled').optional().default(false),\n\tminOrderValue: ZodValidation.number('Min order value').nullable().default(null),\n\tsecondaryCurrencyMinOrderValue: ZodValidation.number('Secondary currency min order value').optional(),\n\tisMinOrderValueEnabled: ZodValidation.boolean('Is min order value enabled').optional().default(false),\n\tforNewUserOnly: ZodValidation.boolean('ForNewUserOnly').optional().default(false),\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n\texpirationReason: ZodValidation.enumType(CouponExpirationReason, 'Expiration reason')\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\treferringUser: z\n\t\t.object({\n\t\t\tname: ZodValidation.string('Referring user name').optional(),\n\t\t})\n\t\t.optional(),\n};\n\n/**\n * Create schema builder for Parent entity\n * - Includes timestamps\n * - Excludes 'createdAt' from update operations\n */\nconst schemaBuilder = createSchemaBuilder(baseFields);\n\n/**\n * Get all schemas for the Parent entity\n */\nconst {\n\tBaseSchema: CouponValidationSchema,\n\tEntitySchema: CouponSchema,\n\tIdSchema: CouponIdSchema,\n\tUpdateSchema: UpdateCouponSchema,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\n/**\n * Export schemas\n */\nexport const GetUserCouponsResponseSchema = z.object({\n\tavailable: z.array(CouponSchema),\n\tused: z.array(CouponSchema),\n\texpired: z.array(CouponSchema),\n});\n\nexport {\n\tCouponValidationSchema,\n\tCouponSchema,\n\tCouponIdSchema as CouponIdValidationSchema,\n\tUpdateCouponSchema,\n};\n\n/**\n * Schema for getting user coupons\n */\nexport const GetUserCouponSchema = z.object({\n\tuser: ZodValidation.objectId('User').optional(),\n\tshop: ZodValidation.objectId('Shop').optional(),\n\tpage: ZodValidation.number('Page').optional().default(0),\n\tsize: ZodValidation.number('Page size').optional().default(100),\n});\n\n/**\n * Schema for validating coupons\n */\nexport const ValidateCouponSchema = z.object({\n\tuser: ZodValidation.objectIdOrStringSchema,\n\tshop: ZodValidation.objectIdOrStringSchema,\n\tcoupon: ZodValidation.string('Coupon').optional(),\n\tamountBeforeCoupon: ZodValidation.number('Amount before coupon'),\n\tsecondaryAmountBeforeCoupon: ZodValidation.number('Secondary amount before coupon'),\n});\n\nconst discountCutSchema = z.object({\n\tcompanyCut: ZodValidation.number('companyCut').optional(),\n\tsecondaryCompanyCut: ZodValidation.number('secondaryCompanyCut').optional(),\n\tshopCut: ZodValidation.number('shopCut').optional(),\n\tsecondaryShopCut: ZodValidation.number('secondaryShopCut').optional(),\n});\n\n/**\n * Schema for coupon validation output\n */\nexport const CouponValidationOutputSchema = z.object({\n\tisValid: ZodValidation.boolean('IsValid').default(false),\n\tmessage: ZodValidation.string(\"Message\").optional(),\n\tamountAfterCoupon: ZodValidation.number('Amount after coupon').optional(),\n\tsecondaryAmountAfterCoupon: ZodValidation.number('Secondary amount after coupon').optional(),\n\tdiscountAmount: ZodValidation.number('Coupon Discount').optional(),\n\tsecondaryDiscountAmount: ZodValidation.number('Secondary coupon discount').optional(),\n\tdiscountCut: discountCutSchema.optional(),\n});\n\nexport const CouponCodeSchema = z.object({\n\tcouponCode: ZodValidation.string('Coupon code', {\n\t\tminLength: 6,\n\t\tmaxLength: 6,\n\t\tminMessage: 'Coupon code must be 6 characters',\n\t\tmaxMessage: 'Coupon code must be 6 characters',\n\t\tregex: {\n\t\t\tpattern: /^[A-Z0-9]+$/,\n\t\t\tmessage: 'Coupon must be uppercase and alphanumeric',\n\t\t},\n\t}),\n});\n\nexport const UpdateCouponStatusSchema = z.object({\n\t_id: ZodValidation.objectIdOrStringSchema,\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n});\n\nexport const CheckExistingNewUserCouponOutputSchema = z.object({\n\texists: ZodValidation.boolean('Exists').default(false),\n});\n\nexport const CouponValidationResponseSchema = createResponseSchema(CouponValidationOutputSchema);\n\n/**\n * Export DTO types\n */\nexport type CreateCouponDTO = DTO<typeof CouponValidationSchema>;\nexport type CouponDTO = DTO<typeof CouponSchema>;\nexport type UpdateCouponDTO = DTO<typeof UpdateCouponSchema>;\nexport type GetUserCouponDTO = DTO<typeof GetUserCouponSchema>;\nexport type ValidateCouponDTO = DTO<typeof ValidateCouponSchema>;\nexport type CouponValidationOutputDTO = DTO<typeof CouponValidationOutputSchema>;\nexport type GetUserCouponsResponseDTO = DTO<typeof GetUserCouponsResponseSchema>;\nexport type UpdateCouponStatusDTO = DTO<typeof UpdateCouponStatusSchema>;\nexport type CheckExistingNewUserCouponOutputDTO = DTO<typeof CheckExistingNewUserCouponOutputSchema>;\n"]}
|
|
1
|
+
{"version":3,"file":"coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iGAImE;AACnE,4DAA0G;AAC1G,iGAGmE;AACnE,8DAA2D;AAK9C,QAAA,YAAY,GAAG;IAC3B,IAAI,EAAE,iCAAa,CAAC,MAAM,CAAC,MAAM,EAAE;QAClC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE;QACvF,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,6BAA6B;QACzC,UAAU,EAAE,6BAA6B;KACzC,CAAC;IACF,iBAAiB,EAAE,iCAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC;SAC1D,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;IACf,0BAA0B,EAAE,iCAAa,CAAC,OAAO,CAAC,iCAAiC,CAAC;SAClF,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;IAChB,SAAS,EAAE,iCAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;IAC1D,SAAS,EAAE,iCAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;CACzD,CAAC;AAEW,QAAA,UAAU,GAAG;IACzB,GAAG,oBAAY;IACf,SAAS,EAAE,iCAAa,CAAC,QAAQ,CAAC,gBAAS,EAAE,YAAY,CAAC;IAC1D,KAAK,EAAE,iCAAa,CAAC,MAAM,CAAC,OAAO,CAAC;IACpC,sBAAsB,EAAE,iCAAa,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;IACnF,gBAAgB,EAAE,iCAAa,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChG,iCAAiC,EAAE,iCAAa,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,QAAQ,EAAE;IAC3G,yBAAyB,EAAE,iCAAa,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3G,QAAQ,EAAE,kCAAc;SAItB,SAAS,CAAC,QAAQ,CAAC,EAAE;QACrB,QAAQ,CAAC,KAAK,GAAG,IAAA,aAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAChD,QAAQ,CAAC,GAAG,GAAG,IAAA,aAAK,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;IACH,UAAU,EAAE,iCAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnF,mBAAmB,EAAE,iCAAa,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9F,eAAe,EAAE,iCAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9F,wBAAwB,EAAE,iCAAa,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACzG,aAAa,EAAE,iCAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/E,8BAA8B,EAAE,iCAAa,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,QAAQ,EAAE;IACrG,sBAAsB,EAAE,iCAAa,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACrG,cAAc,EAAE,iCAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjF,MAAM,EAAE,iCAAa,CAAC,QAAQ,CAAC,aAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAM,CAAC,MAAM,CAAC;IAClF,gBAAgB,EAAE,iCAAa,CAAC,QAAQ,CAAC,6BAAsB,EAAE,mBAAmB,CAAC;SACnF,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;IACf,aAAa,EAAE,OAAC;SACd,MAAM,CAAC;QACP,IAAI,EAAE,iCAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;KAC5D,CAAC;SACD,QAAQ,EAAE;CACZ,CAAC;AAOF,MAAM,aAAa,GAAG,IAAA,uCAAmB,EAAC,kBAAU,CAAC,CAAC;AAKtD,MAAM,EACL,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,kBAAkB,GAChC,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAYpD,wDAAsB;AACtB,oCAAY;AACM,kDAAwB;AAC1C,gDAAkB;AAVN,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAChC,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,YAAY,CAAC;CAC9B,CAAC,CAAC;AAYU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,iCAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IAC/C,IAAI,EAAE,iCAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IAC/C,IAAI,EAAE,iCAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,IAAI,EAAE,iCAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;CAC/D,CAAC,CAAC;AAKU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,iCAAa,CAAC,sBAAsB;IAC1C,IAAI,EAAE,iCAAa,CAAC,sBAAsB;IAC1C,MAAM,EAAE,iCAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;IACjD,kBAAkB,EAAE,iCAAa,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAChE,2BAA2B,EAAE,iCAAa,CAAC,MAAM,CAAC,gCAAgC,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,iCAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;IACzD,mBAAmB,EAAE,iCAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;IAC3E,OAAO,EAAE,iCAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;IACnD,gBAAgB,EAAE,iCAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;CACrE,CAAC,CAAC;AAKU,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,OAAO,EAAE,iCAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACxD,OAAO,EAAE,iCAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;IACnD,iBAAiB,EAAE,iCAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE;IACzE,0BAA0B,EAAE,iCAAa,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE;IAC5F,cAAc,EAAE,iCAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IAClE,uBAAuB,EAAE,iCAAa,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;IACrF,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,iCAAa,CAAC,MAAM,CAAC,aAAa,EAAE;QAC/C,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,kCAAkC;QAC9C,UAAU,EAAE,kCAAkC;QAC9C,KAAK,EAAE;YACN,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,2CAA2C;SACpD;KACD,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,GAAG,EAAE,iCAAa,CAAC,sBAAsB;IACzC,MAAM,EAAE,iCAAa,CAAC,QAAQ,CAAC,aAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAM,CAAC,MAAM,CAAC;CAClF,CAAC,CAAC;AAEU,QAAA,sCAAsC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9D,MAAM,EAAE,iCAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CACtD,CAAC,CAAC;AAEU,QAAA,8BAA8B,GAAG,IAAA,wCAAoB,EAAC,oCAA4B,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n\tZodValidation,\n\tcreateSchemaBuilder,\n\tDTO,\n} from '@lyxa.ai/core/dist/utilities/validation/global-validation';\nimport { CouponExpirationReason, CouponType, Status, ValueType } from '@lyxa.ai/core/dist/utilities/enum';\nimport {\n\tcreateResponseSchema,\n\tDurationSchema,\n} from '@lyxa.ai/core/dist/utilities/validation/common-validation';\nimport { dayjs } from '@lyxa.ai/core/dist/utilities/dayjs';\n\n/**\n * Define the base parent schema fields\n */\nexport const couponFields = {\n\tcode: ZodValidation.string('Code', {\n\t\tregex: { pattern: new RegExp('^[A-Z0-9]+$'), message: 'Coupon name must be uppercase' },\n\t\tmaxLength: 6,\n\t\tminLength: 6,\n\t\tminMessage: 'Coupon must be 6 characters',\n\t\tmaxMessage: 'Coupon must be 6 characters',\n\t}),\n\torderLimitPerUser: ZodValidation.number('OrderLimitPerUser')\n\t\t.min(1)\n\t\t.max(5)\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\tisOrderLimitPerUserEnabled: ZodValidation.boolean('Is order limit per user enabled')\n\t\t.optional()\n\t\t.default(false),\n\tcreatedBy: ZodValidation.objectId('Created by').optional(),\n\tisExpired: ZodValidation.boolean('Is expired').optional(),\n};\n\nexport const baseFields = {\n\t...couponFields,\n\tvalueType: ZodValidation.enumType(ValueType, 'Value type'),\n\tvalue: ZodValidation.number('Value'),\n\tsecondaryCurrencyValue: ZodValidation.number('Secondary currency value').optional(),\n\tmaxDiscountLimit: ZodValidation.number('Max discount limit').optional().nullable().default(null),\n\tsecondaryCurrencyMaxDiscountLimit: ZodValidation.number('Secondary currency max discount limit').optional(),\n\tisMaxDiscountLimitEnabled: ZodValidation.boolean('Is max discount limit enabled').optional().default(false),\n\tduration: DurationSchema\n\t\t// .refine((d: any) => d.start >= new Date() && d.end >= new Date(), {\n\t\t// \tmessage: 'Start and end dates must not be in the past',\n\t\t// })\n\t\t.transform(duration => {\n\t\t\tduration.start = dayjs(duration.start).toDate();\n\t\t\tduration.end = dayjs(duration.end).toDate();\n\t\t\treturn duration;\n\t\t}),\n\tspendLimit: ZodValidation.number('Spend limit').optional().nullable().default(null),\n\tisSpendLimitEnabled: ZodValidation.boolean('Is spend limit enabled').optional().default(false),\n\ttotalOrderLimit: ZodValidation.number('Total order limit').optional().nullable().default(null),\n\tisTotalOrderLimitEnabled: ZodValidation.boolean('Is total order limit enabled').optional().default(false),\n\tminOrderValue: ZodValidation.number('Min order value').nullable().default(null),\n\tsecondaryCurrencyMinOrderValue: ZodValidation.number('Secondary currency min order value').optional(),\n\tisMinOrderValueEnabled: ZodValidation.boolean('Is min order value enabled').optional().default(false),\n\tforNewUserOnly: ZodValidation.boolean('ForNewUserOnly').optional().default(false),\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n\texpirationReason: ZodValidation.enumType(CouponExpirationReason, 'Expiration reason')\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\treferringUser: z\n\t\t.object({\n\t\t\tname: ZodValidation.string('Referring user name').optional(),\n\t\t})\n\t\t.optional(),\n};\n\n/**\n * Create schema builder for Parent entity\n * - Includes timestamps\n * - Excludes 'createdAt' from update operations\n */\nconst schemaBuilder = createSchemaBuilder(baseFields);\n\n/**\n * Get all schemas for the Parent entity\n */\nconst {\n\tBaseSchema: CouponValidationSchema,\n\tEntitySchema: CouponSchema,\n\tIdSchema: CouponIdSchema,\n\tUpdateSchema: UpdateCouponSchema,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\n/**\n * Export schemas\n */\nexport const GetUserCouponsResponseSchema = z.object({\n\tavailable: z.array(CouponSchema),\n\tused: z.array(CouponSchema),\n\texpired: z.array(CouponSchema),\n});\n\nexport {\n\tCouponValidationSchema,\n\tCouponSchema,\n\tCouponIdSchema as CouponIdValidationSchema,\n\tUpdateCouponSchema,\n};\n\n/**\n * Schema for getting user coupons\n */\nexport const GetUserCouponSchema = z.object({\n\tuser: ZodValidation.objectId('User').optional(),\n\tshop: ZodValidation.objectId('Shop').optional(),\n\tpage: ZodValidation.number('Page').optional().default(0),\n\tsize: ZodValidation.number('Page size').optional().default(100),\n});\n\n/**\n * Schema for validating coupons\n */\nexport const ValidateCouponSchema = z.object({\n\tuser: ZodValidation.objectIdOrStringSchema,\n\tshop: ZodValidation.objectIdOrStringSchema,\n\tcoupon: ZodValidation.string('Coupon').optional(),\n\tamountBeforeCoupon: ZodValidation.number('Amount before coupon'),\n\tsecondaryAmountBeforeCoupon: ZodValidation.number('Secondary amount before coupon'),\n});\n\nconst discountCutSchema = z.object({\n\tcompanyCut: ZodValidation.number('companyCut').optional(),\n\tsecondaryCompanyCut: ZodValidation.number('secondaryCompanyCut').optional(),\n\tshopCut: ZodValidation.number('shopCut').optional(),\n\tsecondaryShopCut: ZodValidation.number('secondaryShopCut').optional(),\n});\n\n/**\n * Schema for coupon validation output\n */\nexport const CouponValidationOutputSchema = z.object({\n\tisValid: ZodValidation.boolean('IsValid').default(false),\n\tmessage: ZodValidation.string(\"Message\").optional(),\n\tamountAfterCoupon: ZodValidation.number('Amount after coupon').optional(),\n\tsecondaryAmountAfterCoupon: ZodValidation.number('Secondary amount after coupon').optional(),\n\tdiscountAmount: ZodValidation.number('Coupon Discount').optional(),\n\tsecondaryDiscountAmount: ZodValidation.number('Secondary coupon discount').optional(),\n\tdiscountCut: discountCutSchema.optional(),\n});\n\nexport const CouponCodeSchema = z.object({\n\tcouponCode: ZodValidation.string('Coupon code', {\n\t\tminLength: 6,\n\t\tmaxLength: 6,\n\t\tminMessage: 'Coupon code must be 6 characters',\n\t\tmaxMessage: 'Coupon code must be 6 characters',\n\t\tregex: {\n\t\t\tpattern: /^[A-Z0-9]+$/,\n\t\t\tmessage: 'Coupon must be uppercase and alphanumeric',\n\t\t},\n\t}),\n});\n\nexport const UpdateCouponStatusSchema = z.object({\n\t_id: ZodValidation.objectIdOrStringSchema,\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n});\n\nexport const CheckExistingNewUserCouponOutputSchema = z.object({\n\texists: ZodValidation.boolean('Exists').default(false),\n});\n\nexport const CouponValidationResponseSchema = createResponseSchema(CouponValidationOutputSchema);\n\n/**\n * Export DTO types\n */\nexport type CreateCouponDTO = DTO<typeof CouponValidationSchema>;\nexport type CouponDTO = DTO<typeof CouponSchema>;\nexport type UpdateCouponDTO = DTO<typeof UpdateCouponSchema>;\nexport type GetUserCouponDTO = DTO<typeof GetUserCouponSchema>;\nexport type ValidateCouponDTO = DTO<typeof ValidateCouponSchema>;\nexport type CouponValidationOutputDTO = DTO<typeof CouponValidationOutputSchema>;\nexport type GetUserCouponsResponseDTO = DTO<typeof GetUserCouponsResponseSchema>;\nexport type UpdateCouponStatusDTO = DTO<typeof UpdateCouponStatusSchema>;\nexport type CheckExistingNewUserCouponOutputDTO = DTO<typeof CheckExistingNewUserCouponOutputSchema>;\n"]}
|
|
@@ -51,18 +51,18 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
|
|
|
51
51
|
createdBy: 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>]>>;
|
|
52
52
|
isExpired: z.ZodOptional<z.ZodBoolean>;
|
|
53
53
|
}, "strict", z.ZodTypeAny, {
|
|
54
|
-
value: number;
|
|
55
54
|
code: string;
|
|
55
|
+
value: number;
|
|
56
56
|
status: import("@lyxa.ai/core/dist/utilities/enum").Status;
|
|
57
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
58
|
+
maxDiscountLimit: number | null;
|
|
59
|
+
isMaxDiscountLimitEnabled: boolean;
|
|
57
60
|
duration: {
|
|
58
61
|
start: Date;
|
|
59
62
|
end?: Date | undefined;
|
|
60
63
|
};
|
|
61
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
62
64
|
spendLimit: number | null;
|
|
63
65
|
isSpendLimitEnabled: boolean;
|
|
64
|
-
maxDiscountLimit: number | null;
|
|
65
|
-
isMaxDiscountLimitEnabled: boolean;
|
|
66
66
|
totalOrderLimit: number | null;
|
|
67
67
|
isTotalOrderLimitEnabled: boolean;
|
|
68
68
|
minOrderValue: number | null;
|
|
@@ -84,22 +84,22 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
|
|
|
84
84
|
createdBy?: import("mongoose").Types.ObjectId | undefined;
|
|
85
85
|
isExpired?: boolean | undefined;
|
|
86
86
|
}, {
|
|
87
|
-
value: number;
|
|
88
87
|
code: string;
|
|
88
|
+
value: number;
|
|
89
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
89
90
|
duration: {
|
|
90
91
|
start: string | Date;
|
|
91
92
|
end?: string | Date | undefined;
|
|
92
93
|
};
|
|
93
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
94
94
|
couponType: CouponType.CUSTOM_COUPON;
|
|
95
95
|
influencer: string | import("mongoose").Types.ObjectId;
|
|
96
96
|
status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
|
|
97
|
-
spendLimit?: number | null | undefined;
|
|
98
|
-
isSpendLimitEnabled?: boolean | undefined;
|
|
99
97
|
secondaryCurrencyValue?: number | undefined;
|
|
100
98
|
maxDiscountLimit?: number | null | undefined;
|
|
101
99
|
secondaryCurrencyMaxDiscountLimit?: number | undefined;
|
|
102
100
|
isMaxDiscountLimitEnabled?: boolean | undefined;
|
|
101
|
+
spendLimit?: number | null | undefined;
|
|
102
|
+
isSpendLimitEnabled?: boolean | undefined;
|
|
103
103
|
totalOrderLimit?: number | null | undefined;
|
|
104
104
|
isTotalOrderLimitEnabled?: boolean | undefined;
|
|
105
105
|
minOrderValue?: number | null | undefined;
|
|
@@ -48,18 +48,18 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
|
|
|
48
48
|
createdBy: 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>]>>;
|
|
49
49
|
isExpired: z.ZodOptional<z.ZodBoolean>;
|
|
50
50
|
}, "strict", z.ZodTypeAny, {
|
|
51
|
-
value: number;
|
|
52
51
|
code: string;
|
|
52
|
+
value: number;
|
|
53
53
|
status: import("@lyxa.ai/core/dist/utilities/enum").Status;
|
|
54
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
55
|
+
maxDiscountLimit: number | null;
|
|
56
|
+
isMaxDiscountLimitEnabled: boolean;
|
|
54
57
|
duration: {
|
|
55
58
|
start: Date;
|
|
56
59
|
end?: Date | undefined;
|
|
57
60
|
};
|
|
58
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
59
61
|
spendLimit: number | null;
|
|
60
62
|
isSpendLimitEnabled: boolean;
|
|
61
|
-
maxDiscountLimit: number | null;
|
|
62
|
-
isMaxDiscountLimitEnabled: boolean;
|
|
63
63
|
totalOrderLimit: number | null;
|
|
64
64
|
isTotalOrderLimitEnabled: boolean;
|
|
65
65
|
minOrderValue: number | null;
|
|
@@ -78,21 +78,21 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
|
|
|
78
78
|
createdBy?: import("mongoose").Types.ObjectId | undefined;
|
|
79
79
|
isExpired?: boolean | undefined;
|
|
80
80
|
}, {
|
|
81
|
-
value: number;
|
|
82
81
|
code: string;
|
|
82
|
+
value: number;
|
|
83
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
83
84
|
duration: {
|
|
84
85
|
start: string | Date;
|
|
85
86
|
end?: string | Date | undefined;
|
|
86
87
|
};
|
|
87
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
88
88
|
couponType: CouponType.GLOBAL;
|
|
89
89
|
status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
|
|
90
|
-
spendLimit?: number | null | undefined;
|
|
91
|
-
isSpendLimitEnabled?: boolean | undefined;
|
|
92
90
|
secondaryCurrencyValue?: number | undefined;
|
|
93
91
|
maxDiscountLimit?: number | null | undefined;
|
|
94
92
|
secondaryCurrencyMaxDiscountLimit?: number | undefined;
|
|
95
93
|
isMaxDiscountLimitEnabled?: boolean | undefined;
|
|
94
|
+
spendLimit?: number | null | undefined;
|
|
95
|
+
isSpendLimitEnabled?: boolean | undefined;
|
|
96
96
|
totalOrderLimit?: number | null | undefined;
|
|
97
97
|
isTotalOrderLimitEnabled?: boolean | undefined;
|
|
98
98
|
minOrderValue?: number | null | undefined;
|
|
@@ -51,19 +51,18 @@ declare const IndividualStoreCouponValidationSchema: z.ZodObject<{
|
|
|
51
51
|
createdBy: 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>]>>;
|
|
52
52
|
isExpired: z.ZodOptional<z.ZodBoolean>;
|
|
53
53
|
}, "strict", z.ZodTypeAny, {
|
|
54
|
-
shop: import("mongoose").Types.ObjectId;
|
|
55
|
-
value: number;
|
|
56
54
|
code: string;
|
|
55
|
+
value: number;
|
|
57
56
|
status: import("@lyxa.ai/core/dist/utilities/enum").Status;
|
|
57
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
58
|
+
maxDiscountLimit: number | null;
|
|
59
|
+
isMaxDiscountLimitEnabled: boolean;
|
|
58
60
|
duration: {
|
|
59
61
|
start: Date;
|
|
60
62
|
end?: Date | undefined;
|
|
61
63
|
};
|
|
62
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
63
64
|
spendLimit: number | null;
|
|
64
65
|
isSpendLimitEnabled: boolean;
|
|
65
|
-
maxDiscountLimit: number | null;
|
|
66
|
-
isMaxDiscountLimitEnabled: boolean;
|
|
67
66
|
totalOrderLimit: number | null;
|
|
68
67
|
isTotalOrderLimitEnabled: boolean;
|
|
69
68
|
minOrderValue: number | null;
|
|
@@ -72,6 +71,7 @@ declare const IndividualStoreCouponValidationSchema: z.ZodObject<{
|
|
|
72
71
|
expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
|
|
73
72
|
orderLimitPerUser: number | null;
|
|
74
73
|
isOrderLimitPerUserEnabled: boolean;
|
|
74
|
+
shop: import("mongoose").Types.ObjectId;
|
|
75
75
|
couponType: CouponType.INDIVIDUAL_STORE;
|
|
76
76
|
isShopCoverExpenses: boolean;
|
|
77
77
|
firstOrderOnly: boolean;
|
|
@@ -84,22 +84,22 @@ declare const IndividualStoreCouponValidationSchema: z.ZodObject<{
|
|
|
84
84
|
createdBy?: import("mongoose").Types.ObjectId | undefined;
|
|
85
85
|
isExpired?: boolean | undefined;
|
|
86
86
|
}, {
|
|
87
|
-
shop: string | import("mongoose").Types.ObjectId;
|
|
88
|
-
value: number;
|
|
89
87
|
code: string;
|
|
88
|
+
value: number;
|
|
89
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
90
90
|
duration: {
|
|
91
91
|
start: string | Date;
|
|
92
92
|
end?: string | Date | undefined;
|
|
93
93
|
};
|
|
94
|
-
|
|
94
|
+
shop: string | import("mongoose").Types.ObjectId;
|
|
95
95
|
couponType: CouponType.INDIVIDUAL_STORE;
|
|
96
96
|
status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
|
|
97
|
-
spendLimit?: number | null | undefined;
|
|
98
|
-
isSpendLimitEnabled?: boolean | undefined;
|
|
99
97
|
secondaryCurrencyValue?: number | undefined;
|
|
100
98
|
maxDiscountLimit?: number | null | undefined;
|
|
101
99
|
secondaryCurrencyMaxDiscountLimit?: number | undefined;
|
|
102
100
|
isMaxDiscountLimitEnabled?: boolean | undefined;
|
|
101
|
+
spendLimit?: number | null | undefined;
|
|
102
|
+
isSpendLimitEnabled?: boolean | undefined;
|
|
103
103
|
totalOrderLimit?: number | null | undefined;
|
|
104
104
|
isTotalOrderLimitEnabled?: boolean | undefined;
|
|
105
105
|
minOrderValue?: number | null | undefined;
|
|
@@ -51,18 +51,18 @@ declare const IndividualUserCouponValidationSchema: z.ZodObject<{
|
|
|
51
51
|
createdBy: 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>]>>;
|
|
52
52
|
isExpired: z.ZodOptional<z.ZodBoolean>;
|
|
53
53
|
}, "strict", z.ZodTypeAny, {
|
|
54
|
-
value: number;
|
|
55
54
|
code: string;
|
|
55
|
+
value: number;
|
|
56
56
|
status: import("@lyxa.ai/core/dist/utilities/enum").Status;
|
|
57
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
58
|
+
maxDiscountLimit: number | null;
|
|
59
|
+
isMaxDiscountLimitEnabled: boolean;
|
|
57
60
|
duration: {
|
|
58
61
|
start: Date;
|
|
59
62
|
end?: Date | undefined;
|
|
60
63
|
};
|
|
61
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
62
64
|
spendLimit: number | null;
|
|
63
65
|
isSpendLimitEnabled: boolean;
|
|
64
|
-
maxDiscountLimit: number | null;
|
|
65
|
-
isMaxDiscountLimitEnabled: boolean;
|
|
66
66
|
totalOrderLimit: number | null;
|
|
67
67
|
isTotalOrderLimitEnabled: boolean;
|
|
68
68
|
minOrderValue: number | null;
|
|
@@ -84,22 +84,22 @@ declare const IndividualUserCouponValidationSchema: z.ZodObject<{
|
|
|
84
84
|
createdBy?: import("mongoose").Types.ObjectId | undefined;
|
|
85
85
|
isExpired?: boolean | undefined;
|
|
86
86
|
}, {
|
|
87
|
-
value: number;
|
|
88
87
|
code: string;
|
|
88
|
+
value: number;
|
|
89
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
89
90
|
duration: {
|
|
90
91
|
start: string | Date;
|
|
91
92
|
end?: string | Date | undefined;
|
|
92
93
|
};
|
|
93
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
94
94
|
couponType: CouponType.INDIVIDUAL_USER;
|
|
95
95
|
users: [string | import("mongoose").Types.ObjectId, ...(string | import("mongoose").Types.ObjectId)[]];
|
|
96
96
|
status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
|
|
97
|
-
spendLimit?: number | null | undefined;
|
|
98
|
-
isSpendLimitEnabled?: boolean | undefined;
|
|
99
97
|
secondaryCurrencyValue?: number | undefined;
|
|
100
98
|
maxDiscountLimit?: number | null | undefined;
|
|
101
99
|
secondaryCurrencyMaxDiscountLimit?: number | undefined;
|
|
102
100
|
isMaxDiscountLimitEnabled?: boolean | undefined;
|
|
101
|
+
spendLimit?: number | null | undefined;
|
|
102
|
+
isSpendLimitEnabled?: boolean | undefined;
|
|
103
103
|
totalOrderLimit?: number | null | undefined;
|
|
104
104
|
isTotalOrderLimitEnabled?: boolean | undefined;
|
|
105
105
|
minOrderValue?: number | null | undefined;
|
|
@@ -51,19 +51,18 @@ declare const ReferralRewardCouponValidationSchema: z.ZodObject<{
|
|
|
51
51
|
createdBy: 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>]>>;
|
|
52
52
|
isExpired: z.ZodOptional<z.ZodBoolean>;
|
|
53
53
|
}, "strict", z.ZodTypeAny, {
|
|
54
|
-
value: number;
|
|
55
54
|
code: string;
|
|
55
|
+
value: number;
|
|
56
56
|
status: import("@lyxa.ai/core/dist/utilities/enum").Status;
|
|
57
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
58
|
+
maxDiscountLimit: number | null;
|
|
59
|
+
isMaxDiscountLimitEnabled: boolean;
|
|
57
60
|
duration: {
|
|
58
61
|
start: Date;
|
|
59
62
|
end?: Date | undefined;
|
|
60
63
|
};
|
|
61
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
62
64
|
spendLimit: number | null;
|
|
63
65
|
isSpendLimitEnabled: boolean;
|
|
64
|
-
user: import("mongoose").Types.ObjectId;
|
|
65
|
-
maxDiscountLimit: number | null;
|
|
66
|
-
isMaxDiscountLimitEnabled: boolean;
|
|
67
66
|
totalOrderLimit: number | null;
|
|
68
67
|
isTotalOrderLimitEnabled: boolean;
|
|
69
68
|
minOrderValue: number | null;
|
|
@@ -72,6 +71,7 @@ declare const ReferralRewardCouponValidationSchema: z.ZodObject<{
|
|
|
72
71
|
expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
|
|
73
72
|
orderLimitPerUser: number | null;
|
|
74
73
|
isOrderLimitPerUserEnabled: boolean;
|
|
74
|
+
user: import("mongoose").Types.ObjectId;
|
|
75
75
|
couponType: CouponType.REFERRAL_REWARD;
|
|
76
76
|
referralCodeUsedBy: import("mongoose").Types.ObjectId;
|
|
77
77
|
referralCodeUsedOnOrder: import("mongoose").Types.ObjectId;
|
|
@@ -84,24 +84,24 @@ declare const ReferralRewardCouponValidationSchema: z.ZodObject<{
|
|
|
84
84
|
createdBy?: import("mongoose").Types.ObjectId | undefined;
|
|
85
85
|
isExpired?: boolean | undefined;
|
|
86
86
|
}, {
|
|
87
|
-
value: number;
|
|
88
87
|
code: string;
|
|
88
|
+
value: number;
|
|
89
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
89
90
|
duration: {
|
|
90
91
|
start: string | Date;
|
|
91
92
|
end?: string | Date | undefined;
|
|
92
93
|
};
|
|
93
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
94
94
|
user: string | import("mongoose").Types.ObjectId;
|
|
95
95
|
couponType: CouponType.REFERRAL_REWARD;
|
|
96
96
|
referralCodeUsedBy: string | import("mongoose").Types.ObjectId;
|
|
97
97
|
referralCodeUsedOnOrder: string | import("mongoose").Types.ObjectId;
|
|
98
98
|
status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
|
|
99
|
-
spendLimit?: number | null | undefined;
|
|
100
|
-
isSpendLimitEnabled?: boolean | undefined;
|
|
101
99
|
secondaryCurrencyValue?: number | undefined;
|
|
102
100
|
maxDiscountLimit?: number | null | undefined;
|
|
103
101
|
secondaryCurrencyMaxDiscountLimit?: number | undefined;
|
|
104
102
|
isMaxDiscountLimitEnabled?: boolean | undefined;
|
|
103
|
+
spendLimit?: number | null | undefined;
|
|
104
|
+
isSpendLimitEnabled?: boolean | undefined;
|
|
105
105
|
totalOrderLimit?: number | null | undefined;
|
|
106
106
|
isTotalOrderLimitEnabled?: boolean | undefined;
|
|
107
107
|
minOrderValue?: number | null | undefined;
|
|
@@ -52,18 +52,18 @@ declare const ShopsCategoriesCouponValidationSchema: z.ZodObject<{
|
|
|
52
52
|
createdBy: 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>]>>;
|
|
53
53
|
isExpired: z.ZodOptional<z.ZodBoolean>;
|
|
54
54
|
}, "strict", z.ZodTypeAny, {
|
|
55
|
-
value: number;
|
|
56
55
|
code: string;
|
|
56
|
+
value: number;
|
|
57
57
|
status: import("@lyxa.ai/core/dist/utilities/enum").Status;
|
|
58
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
59
|
+
maxDiscountLimit: number | null;
|
|
60
|
+
isMaxDiscountLimitEnabled: boolean;
|
|
58
61
|
duration: {
|
|
59
62
|
start: Date;
|
|
60
63
|
end?: Date | undefined;
|
|
61
64
|
};
|
|
62
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
63
65
|
spendLimit: number | null;
|
|
64
66
|
isSpendLimitEnabled: boolean;
|
|
65
|
-
maxDiscountLimit: number | null;
|
|
66
|
-
isMaxDiscountLimitEnabled: boolean;
|
|
67
67
|
totalOrderLimit: number | null;
|
|
68
68
|
isTotalOrderLimitEnabled: boolean;
|
|
69
69
|
minOrderValue: number | null;
|
|
@@ -86,21 +86,21 @@ declare const ShopsCategoriesCouponValidationSchema: z.ZodObject<{
|
|
|
86
86
|
createdBy?: import("mongoose").Types.ObjectId | undefined;
|
|
87
87
|
isExpired?: boolean | undefined;
|
|
88
88
|
}, {
|
|
89
|
-
value: number;
|
|
90
89
|
code: string;
|
|
90
|
+
value: number;
|
|
91
|
+
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
91
92
|
duration: {
|
|
92
93
|
start: string | Date;
|
|
93
94
|
end?: string | Date | undefined;
|
|
94
95
|
};
|
|
95
|
-
valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
|
|
96
96
|
couponType: CouponType.SHOPS_CATEGORIES;
|
|
97
97
|
status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
|
|
98
|
-
spendLimit?: number | null | undefined;
|
|
99
|
-
isSpendLimitEnabled?: boolean | undefined;
|
|
100
98
|
secondaryCurrencyValue?: number | undefined;
|
|
101
99
|
maxDiscountLimit?: number | null | undefined;
|
|
102
100
|
secondaryCurrencyMaxDiscountLimit?: number | undefined;
|
|
103
101
|
isMaxDiscountLimitEnabled?: boolean | undefined;
|
|
102
|
+
spendLimit?: number | null | undefined;
|
|
103
|
+
isSpendLimitEnabled?: boolean | undefined;
|
|
104
104
|
totalOrderLimit?: number | null | undefined;
|
|
105
105
|
isTotalOrderLimitEnabled?: boolean | undefined;
|
|
106
106
|
minOrderValue?: number | null | undefined;
|
|
@@ -9,8 +9,8 @@ declare const DealSettingValidationSchema: z.ZodObject<{
|
|
|
9
9
|
isFreeDelivery: z.ZodDefault<z.ZodBoolean>;
|
|
10
10
|
isPunchMarketing: z.ZodDefault<z.ZodBoolean>;
|
|
11
11
|
}, "strict", z.ZodTypeAny, {
|
|
12
|
-
isBuy1Get1: boolean;
|
|
13
12
|
itemType: ItemType;
|
|
13
|
+
isBuy1Get1: boolean;
|
|
14
14
|
percentageBundles: number[];
|
|
15
15
|
isDiscount: boolean;
|
|
16
16
|
isFreeDelivery: boolean;
|
|
@@ -90,5 +90,26 @@ export declare const marketingRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
90
90
|
};
|
|
91
91
|
meta: object;
|
|
92
92
|
}>;
|
|
93
|
+
syncAllProductsMarketingInfo: import("@trpc/server").TRPCQueryProcedure<{
|
|
94
|
+
input: void;
|
|
95
|
+
output: string;
|
|
96
|
+
meta: object;
|
|
97
|
+
}>;
|
|
98
|
+
syncProductMarketingInfoByProductId: import("@trpc/server").TRPCQueryProcedure<{
|
|
99
|
+
input: void;
|
|
100
|
+
output: string;
|
|
101
|
+
meta: object;
|
|
102
|
+
}>;
|
|
103
|
+
evaluateMarketingSpendLimits: import("@trpc/server").TRPCMutationProcedure<{
|
|
104
|
+
input: {
|
|
105
|
+
marketings: (string | mongoose.Types.ObjectId)[];
|
|
106
|
+
};
|
|
107
|
+
output: {
|
|
108
|
+
success: boolean;
|
|
109
|
+
message: string;
|
|
110
|
+
data: unknown;
|
|
111
|
+
};
|
|
112
|
+
meta: object;
|
|
113
|
+
}>;
|
|
93
114
|
}>>;
|
|
94
115
|
//# sourceMappingURL=marketing.router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketing.router.d.ts","sourceRoot":"/","sources":["modules/marketing/routers/marketing.router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"marketing.router.d.ts","sourceRoot":"/","sources":["modules/marketing/routers/marketing.router.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAYD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoE1B,CAAC"}
|
|
@@ -4,6 +4,7 @@ exports.marketingRouter = void 0;
|
|
|
4
4
|
const trpc_1 = require("@lyxa.ai/core/dist/libraries/trpc");
|
|
5
5
|
const auth_1 = require("@lyxa.ai/core/dist/libraries/trpc/middlewares/auth");
|
|
6
6
|
const services_1 = require("../../marketing/services");
|
|
7
|
+
const services_2 = require("../../marketing/services");
|
|
7
8
|
const validations_1 = require("../../marketing/validations");
|
|
8
9
|
const response_1 = require("@lyxa.ai/core/dist/utilities/response");
|
|
9
10
|
const validation_1 = require("@lyxa.ai/core/dist/utilities/validation");
|
|
@@ -50,5 +51,18 @@ exports.marketingRouter = (0, trpc_1.createTRPCRouter)({
|
|
|
50
51
|
await services_1.marketingService.handleNewProductForEntireMenuMarketing(input);
|
|
51
52
|
return (0, response_1.response)('Product handled successfully');
|
|
52
53
|
})),
|
|
54
|
+
syncAllProductsMarketingInfo: trpc_1.publicProcedure.query(async ({}) => error_handler_1.ErrorHandler.wrapAsync(async () => {
|
|
55
|
+
return await services_2.synchronizeProductMarketingService.publishAllProductsProductMarketingInfoProcessEvent();
|
|
56
|
+
})),
|
|
57
|
+
syncProductMarketingInfoByProductId: trpc_1.publicProcedure.query(async ({}) => error_handler_1.ErrorHandler.wrapAsync(async () => {
|
|
58
|
+
const productId = new typegoose_1.mongoose.Types.ObjectId("68f663c355f42c826a129fc6");
|
|
59
|
+
return await services_2.synchronizeProductMarketingService.syncProductMarketingInfoByProductId(productId);
|
|
60
|
+
})),
|
|
61
|
+
evaluateMarketingSpendLimits: trpc_1.publicProcedure
|
|
62
|
+
.input(validations_1.MarketingSpendLimitsEvaluationSchema)
|
|
63
|
+
.mutation(async ({ ctx, input }) => error_handler_1.ErrorHandler.wrapAsync(async () => {
|
|
64
|
+
await services_1.marketingService.evaluateMarketingSpendLimits(input.marketings);
|
|
65
|
+
return (0, response_1.response)('Evaluating marketing spend limits');
|
|
66
|
+
})),
|
|
53
67
|
});
|
|
54
68
|
//# sourceMappingURL=marketing.router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketing.router.js","sourceRoot":"/","sources":["modules/marketing/routers/marketing.router.ts"],"names":[],"mappings":";;;AAAA,4DAAsF;AACtF,6EAAkG;AAClG,0DAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"marketing.router.js","sourceRoot":"/","sources":["modules/marketing/routers/marketing.router.ts"],"names":[],"mappings":"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","sourcesContent":["import { createTRPCRouter, publicProcedure } from '@lyxa.ai/core/dist/libraries/trpc';\nimport { createAuthenticatedProcedure } from '@lyxa.ai/core/dist/libraries/trpc/middlewares/auth';\nimport { marketingService as service } from '@modules/marketing/services';\nimport { synchronizeProductMarketingService as syncMarketingProductInfoService } from '@modules/marketing/services';\nimport {\n\tAllMarketingsValidationSchema,\n\tMarketingResponseSchema as ResponseSchema,\n\tAllMarketingsUpdateSchema,\n\tProductEntireMenuMarketingHandlerSchema,\n\tMarketingSpendLimitsEvaluationSchema,\n} from '@modules/marketing/validations';\nimport { response } from '@lyxa.ai/core/dist/utilities/response';\nimport { FilterSchema, DeleteSchema, GetByIdInputSchema } from '@lyxa.ai/core/dist/utilities/validation';\nimport { ErrorHandler } from '@lyxa.ai/core/dist/utilities/error-handler';\nimport { AuthEntityType } from '@lyxa.ai/core/dist/libraries/auth';\nimport { mongoose } from '@typegoose/typegoose';\n\nexport const marketingRouter = createTRPCRouter({\n\tcreate: createAuthenticatedProcedure({ entityTypes: [AuthEntityType.CRM, AuthEntityType.SELLER] })\n\t\t.input(AllMarketingsValidationSchema)\n\t\t.output(ResponseSchema)\n\t\t.mutation(async ({ ctx, input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tconst isAdmin = ctx.entity?.type == AuthEntityType.CRM;\n\t\t\t\tawait service.create(input, isAdmin ? new mongoose.Types.ObjectId(ctx.entity?.id) : undefined);\n\t\t\t\treturn response('Marketing created successfully');\n\t\t\t})\n\t\t),\n\n\tgetById: publicProcedure.input(GetByIdInputSchema).query(async ({ input }) =>\n\t\tErrorHandler.wrapAsync(async () => {\n\t\t\tconst result = await service.findById(input);\n\t\t\treturn response('Marketing fetched successfully', result);\n\t\t})\n\t),\n\n\tget: publicProcedure.input(FilterSchema).query(async ({ input }) =>\n\t\tErrorHandler.wrapAsync(async () => {\n\t\t\tconst result = await service.find(input);\n\t\t\treturn response('Marketing fetched successfully', result);\n\t\t})\n\t),\n\n\tupdate: createAuthenticatedProcedure({ entityTypes: [AuthEntityType.CRM, AuthEntityType.SELLER] })\n\t\t.input(AllMarketingsUpdateSchema)\n\t\t.output(ResponseSchema)\n\t\t.mutation(async ({ ctx, input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tconst { _id, ...rest } = input;\n\t\t\t\tconst isAdmin = ctx.entity?.type == AuthEntityType.CRM;\n\n\t\t\t\tawait service.update(_id, rest, isAdmin ? new mongoose.Types.ObjectId(ctx.entity?.id) : undefined);\n\t\t\t\treturn response('Marketing updated successfully');\n\t\t\t})\n\t\t),\n\n\tdeleteById: createAuthenticatedProcedure({ entityTypes: [AuthEntityType.CRM, AuthEntityType.SELLER] })\n\t\t.input(DeleteSchema)\n\t\t.output(ResponseSchema)\n\t\t.mutation(async ({ ctx, input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tconst isAdmin = ctx.entity?.type == AuthEntityType.CRM;\n\t\t\t\tawait service.deleteById(input, isAdmin ? new mongoose.Types.ObjectId(ctx.entity?.id) : undefined);\n\t\t\t\treturn response('Marketing deleted successfully');\n\t\t\t})\n\t\t),\n\n\thandleNewProductForEntireMenuMarketing: publicProcedure\n\t\t.input(ProductEntireMenuMarketingHandlerSchema)\n\t\t.mutation(async ({ input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tawait service.handleNewProductForEntireMenuMarketing(input);\n\t\t\t\treturn response('Product handled successfully');\n\t\t\t})\n\t\t),\n\n\tsyncAllProductsMarketingInfo: publicProcedure.query(async ({}) =>\n\t\tErrorHandler.wrapAsync(async () => {\n\t\t\treturn await syncMarketingProductInfoService.publishAllProductsProductMarketingInfoProcessEvent();\n\t\t})\n\t),\n\n\tsyncProductMarketingInfoByProductId: publicProcedure.query(async ({}) =>\n\t\tErrorHandler.wrapAsync(async () => {\n\t\t\tconst productId = new mongoose.Types.ObjectId(\"68f663c355f42c826a129fc6\"); // Todo: use productId sent from param\n\t\t\treturn await syncMarketingProductInfoService.syncProductMarketingInfoByProductId(productId);\n\t\t})\n\t),\n\n\tevaluateMarketingSpendLimits: publicProcedure\n\t\t.input(MarketingSpendLimitsEvaluationSchema)\n\t\t.mutation(async ({ ctx, input }) =>\n\t\t\tErrorHandler.wrapAsync(async () => {\n\t\t\t\tawait service.evaluateMarketingSpendLimits(input.marketings);\n\t\t\t\treturn response('Evaluating marketing spend limits');\n\t\t\t})\n\t\t),\n});\n"]}
|
|
@@ -7,7 +7,8 @@ export declare class Buy1Get1MarketingService {
|
|
|
7
7
|
constructor();
|
|
8
8
|
create(data: CreateDTO): Promise<DocumentType<Model>>;
|
|
9
9
|
update(_id: mongoose.Types.ObjectId, data: UpdateDTO): Promise<DocumentType<Model>>;
|
|
10
|
-
|
|
10
|
+
private createSingleProductMarketing;
|
|
11
|
+
private createProductMarketings;
|
|
11
12
|
}
|
|
12
13
|
export declare const buy1Get1MarketingService: Buy1Get1MarketingService;
|
|
13
14
|
//# sourceMappingURL=buy1-get1-marketing.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buy1-get1-marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/buy1-get1-marketing.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAEN,iBAAiB,IAAI,KAAK,EAE1B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACN,0BAA0B,IAAI,SAAS,EACvC,0BAA0B,IAAI,SAAS,EACvC,MAAM,gCAAgC,CAAC;AAIxC,qBACa,wBAAwB;IACpC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,YAAY,CAAsB;;IAW7B,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"buy1-get1-marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/buy1-get1-marketing.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAEN,iBAAiB,IAAI,KAAK,EAE1B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACN,0BAA0B,IAAI,SAAS,EACvC,0BAA0B,IAAI,SAAS,EACvC,MAAM,gCAAgC,CAAC;AAIxC,qBACa,wBAAwB;IACpC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,YAAY,CAAsB;;IAW7B,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAuBrD,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YA6ClF,4BAA4B;YAW5B,uBAAuB;CAoCrC;AAED,eAAO,MAAM,wBAAwB,0BAA0C,CAAC"}
|