@lyxa.ai/marketing 1.0.19 → 1.0.21

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.
Files changed (105) hide show
  1. package/dist/lib/index.d.ts +390 -1
  2. package/dist/lib/index.d.ts.map +1 -1
  3. package/dist/lib/modules/coupon/routers/coupon.router.d.ts +386 -1
  4. package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  5. package/dist/lib/modules/coupon/routers/coupon.router.js +7 -0
  6. package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -1
  7. package/dist/lib/modules/coupon/services/referral-code-coupon.service.d.ts.map +1 -1
  8. package/dist/lib/modules/coupon/services/referral-code-coupon.service.js +1 -0
  9. package/dist/lib/modules/coupon/services/referral-code-coupon.service.js.map +1 -1
  10. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -1
  11. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js +5 -0
  12. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js.map +1 -1
  13. package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts +26 -0
  14. package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -1
  15. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts +546 -0
  16. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
  17. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +126 -0
  18. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  19. package/dist/lib/modules/coupon/validations/coupon.validation.js +5 -0
  20. package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
  21. package/dist/lib/modules/coupon/validations/custom-coupon.validation.d.ts +45 -0
  22. package/dist/lib/modules/coupon/validations/custom-coupon.validation.d.ts.map +1 -1
  23. package/dist/lib/modules/coupon/validations/global-coupon.validation.d.ts +45 -0
  24. package/dist/lib/modules/coupon/validations/global-coupon.validation.d.ts.map +1 -1
  25. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts +45 -0
  26. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts.map +1 -1
  27. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.d.ts +45 -0
  28. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.d.ts.map +1 -1
  29. package/dist/lib/modules/coupon/validations/referral-code-coupon.validation.d.ts +9 -0
  30. package/dist/lib/modules/coupon/validations/referral-code-coupon.validation.d.ts.map +1 -1
  31. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.d.ts +45 -0
  32. package/dist/lib/modules/coupon/validations/referral-reward-coupon.validation.d.ts.map +1 -1
  33. package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts.map +1 -1
  34. package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts.map +1 -1
  35. package/dist/lib/modules/marketing/routers/marketing.router.d.ts +6 -2
  36. package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  37. package/dist/lib/modules/marketing/routers/marketing.router.js +1 -1
  38. package/dist/lib/modules/marketing/routers/marketing.router.js.map +1 -1
  39. package/dist/lib/modules/marketing/services/marketing.service.d.ts +2 -2
  40. package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
  41. package/dist/lib/modules/marketing/services/marketing.service.js +2 -5
  42. package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
  43. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +1 -0
  44. package/dist/lib/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts.map +1 -1
  45. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.d.ts +2 -0
  46. package/dist/lib/modules/marketing/transformers/discount-marketing.transformer.d.ts.map +1 -1
  47. package/dist/lib/modules/marketing/transformers/free-delivery-marketing.transformer.d.ts +1 -0
  48. package/dist/lib/modules/marketing/transformers/free-delivery-marketing.transformer.d.ts.map +1 -1
  49. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +14 -0
  50. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts.map +1 -1
  51. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.js +1 -0
  52. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.js.map +1 -1
  53. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +28 -0
  54. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts.map +1 -1
  55. package/dist/lib/modules/marketing/validations/discount-marketing.validation.js +2 -0
  56. package/dist/lib/modules/marketing/validations/discount-marketing.validation.js.map +1 -1
  57. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.d.ts +9 -0
  58. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.d.ts.map +1 -1
  59. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.js +1 -0
  60. package/dist/lib/modules/marketing/validations/free-delivery-marketing.validation.js.map +1 -1
  61. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts.map +1 -1
  62. package/dist/types/index.d.ts +390 -1
  63. package/dist/types/index.d.ts.map +1 -1
  64. package/dist/types/modules/coupon/routers/coupon.router.d.ts +386 -1
  65. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  66. package/dist/types/modules/coupon/services/referral-code-coupon.service.d.ts.map +1 -1
  67. package/dist/types/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -1
  68. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts +26 -0
  69. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -1
  70. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +546 -0
  71. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
  72. package/dist/types/modules/coupon/validations/coupon.validation.d.ts +126 -0
  73. package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  74. package/dist/types/modules/coupon/validations/custom-coupon.validation.d.ts +45 -0
  75. package/dist/types/modules/coupon/validations/custom-coupon.validation.d.ts.map +1 -1
  76. package/dist/types/modules/coupon/validations/global-coupon.validation.d.ts +45 -0
  77. package/dist/types/modules/coupon/validations/global-coupon.validation.d.ts.map +1 -1
  78. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts +45 -0
  79. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts.map +1 -1
  80. package/dist/types/modules/coupon/validations/individual-user-coupon.validation.d.ts +45 -0
  81. package/dist/types/modules/coupon/validations/individual-user-coupon.validation.d.ts.map +1 -1
  82. package/dist/types/modules/coupon/validations/referral-code-coupon.validation.d.ts +9 -0
  83. package/dist/types/modules/coupon/validations/referral-code-coupon.validation.d.ts.map +1 -1
  84. package/dist/types/modules/coupon/validations/referral-reward-coupon.validation.d.ts +45 -0
  85. package/dist/types/modules/coupon/validations/referral-reward-coupon.validation.d.ts.map +1 -1
  86. package/dist/types/modules/deal-setting/routers/deal-setting.router.d.ts.map +1 -1
  87. package/dist/types/modules/featured-setting/routers/featured-setting.router.d.ts.map +1 -1
  88. package/dist/types/modules/marketing/routers/marketing.router.d.ts +6 -2
  89. package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  90. package/dist/types/modules/marketing/services/marketing.service.d.ts +2 -2
  91. package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
  92. package/dist/types/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts +1 -0
  93. package/dist/types/modules/marketing/transformers/buy1-get1-marketing.transformer.d.ts.map +1 -1
  94. package/dist/types/modules/marketing/transformers/discount-marketing.transformer.d.ts +2 -0
  95. package/dist/types/modules/marketing/transformers/discount-marketing.transformer.d.ts.map +1 -1
  96. package/dist/types/modules/marketing/transformers/free-delivery-marketing.transformer.d.ts +1 -0
  97. package/dist/types/modules/marketing/transformers/free-delivery-marketing.transformer.d.ts.map +1 -1
  98. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +14 -0
  99. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts.map +1 -1
  100. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +28 -0
  101. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts.map +1 -1
  102. package/dist/types/modules/marketing/validations/free-delivery-marketing.validation.d.ts +9 -0
  103. package/dist/types/modules/marketing/validations/free-delivery-marketing.validation.d.ts.map +1 -1
  104. package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts.map +1 -1
  105. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ exports.couponFields = {
23
23
  .optional()
24
24
  .nullable()
25
25
  .default(null),
26
+ isOrderLimitPerUserEnabled: global_validation_1.ZodValidation.boolean('Is order limit per user enabled').optional().default(false),
26
27
  createdBy: global_validation_1.ZodValidation.objectId('Created by').optional(),
27
28
  isExpired: global_validation_1.ZodValidation.boolean('Is expired').optional(),
28
29
  };
@@ -33,15 +34,19 @@ exports.baseFields = {
33
34
  secondaryCurrencyValue: global_validation_1.ZodValidation.number('Secondary currency value').optional(),
34
35
  maxDiscountLimit: global_validation_1.ZodValidation.number('Max discount limit').optional().nullable().default(null),
35
36
  secondaryCurrencyMaxDiscountLimit: global_validation_1.ZodValidation.number('Secondary currency max discount limit').optional(),
37
+ isMaxDiscountLimitEnabled: global_validation_1.ZodValidation.boolean('Is max discount limit enabled').optional().default(false),
36
38
  duration: common_validation_1.DurationSchema.transform(duration => {
37
39
  duration.start = (0, dayjs_1.default)(duration.start).startOf('day').toDate();
38
40
  duration.end = (0, dayjs_1.default)(duration.end).endOf('day').toDate();
39
41
  return duration;
40
42
  }),
41
43
  spendLimit: global_validation_1.ZodValidation.number('Spend limit').optional().nullable().default(null),
44
+ isSpendLimitEnabled: global_validation_1.ZodValidation.boolean('Is spend limit enabled').optional().default(false),
42
45
  totalOrderLimit: global_validation_1.ZodValidation.number('Total order limit').optional().nullable().default(null),
46
+ isTotalOrderLimitEnabled: global_validation_1.ZodValidation.boolean('Is total order limit enabled').optional().default(false),
43
47
  minOrderValue: global_validation_1.ZodValidation.number('Min order value').nullable().default(null),
44
48
  secondaryCurrencyMinOrderValue: global_validation_1.ZodValidation.number('Secondary currency min order value').optional(),
49
+ isMinOrderValueEnabled: global_validation_1.ZodValidation.boolean('Is min order value enabled').optional().default(false),
45
50
  forNewUserOnly: global_validation_1.ZodValidation.boolean('ForNewUserOnly').optional().default(false),
46
51
  status: global_validation_1.ZodValidation.enumType(enum_1.Status, 'Status').optional().default(enum_1.Status.ACTIVE),
47
52
  expirationReason: global_validation_1.ZodValidation.enumType(enum_1.CouponExpirationReason, 'Expiration reason')
@@ -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 '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\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\tduration: DurationSchema.transform(duration => {\n\t\tduration.start = dayjs(duration.start).startOf('day').toDate();\n\t\tduration.end = dayjs(duration.end).endOf('day').toDate();\n\t\treturn duration;\n\t}),\n\tspendLimit: ZodValidation.number('Spend limit').optional().nullable().default(null),\n\ttotalOrderLimit: ZodValidation.number('Total order limit').optional().nullable().default(null),\n\tminOrderValue: ZodValidation.number('Min order value').nullable().default(null),\n\tsecondaryCurrencyMinOrderValue: ZodValidation.number('Secondary currency min order value').optional(),\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\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});\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>;\n"]}
1
+ {"version":3,"file":"coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport {\n\tZodValidation,\n\tcreateSchemaBuilder,\n\tDTO,\n} from '@lyxa.ai/core/dist/utilities/validation/global-validation';\nimport { 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 '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').optional().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\tduration.start = dayjs(duration.start).startOf('day').toDate();\n\t\tduration.end = dayjs(duration.end).endOf('day').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\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});\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>;\n"]}
@@ -11,6 +11,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
11
11
  secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
12
12
  maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
13
13
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
14
+ isMaxDiscountLimitEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14
15
  duration: z.ZodEffects<z.ZodObject<{
15
16
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
16
17
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -28,9 +29,12 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
28
29
  end?: string | Date | undefined;
29
30
  }>;
30
31
  spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
32
+ isSpendLimitEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
31
33
  totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
34
+ isTotalOrderLimitEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
32
35
  minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
33
36
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
37
+ isMinOrderValueEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
34
38
  forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
35
39
  status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
36
40
  expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
@@ -43,6 +47,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
43
47
  }>>;
44
48
  code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
45
49
  orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
50
+ isOrderLimitPerUserEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
46
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>]>>;
47
52
  isExpired: z.ZodOptional<z.ZodBoolean>;
48
53
  }, "strict", z.ZodTypeAny, {
@@ -55,12 +60,17 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
55
60
  };
56
61
  valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
57
62
  spendLimit: number | null;
63
+ isSpendLimitEnabled: boolean;
58
64
  maxDiscountLimit: number | null;
65
+ isMaxDiscountLimitEnabled: boolean;
59
66
  totalOrderLimit: number | null;
67
+ isTotalOrderLimitEnabled: boolean;
60
68
  minOrderValue: number | null;
69
+ isMinOrderValueEnabled: boolean;
61
70
  forNewUserOnly: boolean;
62
71
  expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
63
72
  orderLimitPerUser: number | null;
73
+ isOrderLimitPerUserEnabled: boolean;
64
74
  couponType: CouponType.CUSTOM_COUPON;
65
75
  itemTypes: ItemType[];
66
76
  shops: import("mongoose").Types.ObjectId[];
@@ -85,18 +95,23 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
85
95
  influencer: string | import("mongoose").Types.ObjectId;
86
96
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
87
97
  spendLimit?: number | null | undefined;
98
+ isSpendLimitEnabled?: boolean | undefined;
88
99
  secondaryCurrencyValue?: number | undefined;
89
100
  maxDiscountLimit?: number | null | undefined;
90
101
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
102
+ isMaxDiscountLimitEnabled?: boolean | undefined;
91
103
  totalOrderLimit?: number | null | undefined;
104
+ isTotalOrderLimitEnabled?: boolean | undefined;
92
105
  minOrderValue?: number | null | undefined;
93
106
  secondaryCurrencyMinOrderValue?: number | undefined;
107
+ isMinOrderValueEnabled?: boolean | undefined;
94
108
  forNewUserOnly?: boolean | undefined;
95
109
  expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
96
110
  referringUser?: {
97
111
  name?: string | undefined;
98
112
  } | undefined;
99
113
  orderLimitPerUser?: number | null | undefined;
114
+ isOrderLimitPerUserEnabled?: boolean | undefined;
100
115
  createdBy?: string | import("mongoose").Types.ObjectId | undefined;
101
116
  isExpired?: boolean | undefined;
102
117
  itemTypes?: ItemType[] | undefined;
@@ -111,6 +126,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
111
126
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
112
127
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
113
128
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
129
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
114
130
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
115
131
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
116
132
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -128,9 +144,12 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
128
144
  end?: string | Date | undefined;
129
145
  }>>;
130
146
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
147
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
131
148
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
149
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
132
150
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
133
151
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
152
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
134
153
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
135
154
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
136
155
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -143,6 +162,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
143
162
  }>>>;
144
163
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
145
164
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
165
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
146
166
  createdBy: z.ZodOptional<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>]>>>;
147
167
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
148
168
  _id: 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>]>>;
@@ -156,6 +176,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
156
176
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
157
177
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
158
178
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
179
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
159
180
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
160
181
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
161
182
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -173,9 +194,12 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
173
194
  end?: string | Date | undefined;
174
195
  }>>;
175
196
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
197
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
176
198
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
199
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
177
200
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
178
201
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
202
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
179
203
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
180
204
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
181
205
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -188,6 +212,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
188
212
  }>>>;
189
213
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
190
214
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
215
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
191
216
  createdBy: z.ZodOptional<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>]>>>;
192
217
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
193
218
  _id: 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>]>>;
@@ -201,6 +226,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
201
226
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
202
227
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
203
228
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
229
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
204
230
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
205
231
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
206
232
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -218,9 +244,12 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
218
244
  end?: string | Date | undefined;
219
245
  }>>;
220
246
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
247
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
221
248
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
249
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
222
250
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
223
251
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
252
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
224
253
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
225
254
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
226
255
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -233,6 +262,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
233
262
  }>>>;
234
263
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
235
264
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
265
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
236
266
  createdBy: z.ZodOptional<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>]>>>;
237
267
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
238
268
  _id: 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>]>>;
@@ -252,6 +282,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
252
282
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
253
283
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
254
284
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
285
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
255
286
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
256
287
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
257
288
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -269,9 +300,12 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
269
300
  end?: string | Date | undefined;
270
301
  }>>;
271
302
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
303
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
272
304
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
305
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
273
306
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
274
307
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
308
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
275
309
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
276
310
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
277
311
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -284,6 +318,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
284
318
  }>>>;
285
319
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
286
320
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
321
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
287
322
  createdBy: z.ZodOptional<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>]>>>;
288
323
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
289
324
  _id: 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>]>>;
@@ -297,6 +332,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
297
332
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
298
333
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
299
334
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
335
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
300
336
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
301
337
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
302
338
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -314,9 +350,12 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
314
350
  end?: string | Date | undefined;
315
351
  }>>;
316
352
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
353
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
317
354
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
355
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
318
356
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
319
357
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
358
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
320
359
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
321
360
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
322
361
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -329,6 +368,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
329
368
  }>>>;
330
369
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
331
370
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
371
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
332
372
  createdBy: z.ZodOptional<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>]>>>;
333
373
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
334
374
  _id: 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>]>>;
@@ -342,6 +382,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
342
382
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
343
383
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
344
384
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
385
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
345
386
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
346
387
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
347
388
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -359,9 +400,12 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
359
400
  end?: string | Date | undefined;
360
401
  }>>;
361
402
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
403
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
362
404
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
405
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
363
406
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
364
407
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
408
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
365
409
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
366
410
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
367
411
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -374,6 +418,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
374
418
  }>>>;
375
419
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
376
420
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
421
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
377
422
  createdBy: z.ZodOptional<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>]>>>;
378
423
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
379
424
  _id: 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>]>>;
@@ -1 +1 @@
1
- {"version":3,"file":"custom-coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/custom-coupon.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGN,GAAG,EACH,MAAM,2DAA2D,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAuBzE,QAAA,MACa,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAC1B,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCACtB,oBAAoB,mNAChB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCACa,CAAC;AAKrD,OAAO,EACN,4BAA4B,EAC5B,kBAAkB,EAClB,oBAAoB,IAAI,8BAA8B,EACtD,wBAAwB,GACxB,CAAC;AAKF,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC7D,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"custom-coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/custom-coupon.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGN,GAAG,EACH,MAAM,2DAA2D,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAuBzE,QAAA,MACa,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAC1B,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCACtB,oBAAoB,mNAChB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCACa,CAAC;AAKrD,OAAO,EACN,4BAA4B,EAC5B,kBAAkB,EAClB,oBAAoB,IAAI,8BAA8B,EACtD,wBAAwB,GACxB,CAAC;AAKF,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC7D,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -8,6 +8,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
8
8
  secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
9
9
  maxDiscountLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
10
10
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodNumber>;
11
+ isMaxDiscountLimitEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
11
12
  duration: z.ZodEffects<z.ZodObject<{
12
13
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
13
14
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -25,9 +26,12 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
25
26
  end?: string | Date | undefined;
26
27
  }>;
27
28
  spendLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
29
+ isSpendLimitEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
28
30
  totalOrderLimit: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
31
+ isTotalOrderLimitEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
29
32
  minOrderValue: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
30
33
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodNumber>;
34
+ isMinOrderValueEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
31
35
  forNewUserOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
32
36
  status: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>;
33
37
  expirationReason: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>;
@@ -40,6 +44,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
40
44
  }>>;
41
45
  code: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
42
46
  orderLimitPerUser: z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>;
47
+ isOrderLimitPerUserEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
43
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>]>>;
44
49
  isExpired: z.ZodOptional<z.ZodBoolean>;
45
50
  }, "strict", z.ZodTypeAny, {
@@ -52,12 +57,17 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
52
57
  };
53
58
  valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
54
59
  spendLimit: number | null;
60
+ isSpendLimitEnabled: boolean;
55
61
  maxDiscountLimit: number | null;
62
+ isMaxDiscountLimitEnabled: boolean;
56
63
  totalOrderLimit: number | null;
64
+ isTotalOrderLimitEnabled: boolean;
57
65
  minOrderValue: number | null;
66
+ isMinOrderValueEnabled: boolean;
58
67
  forNewUserOnly: boolean;
59
68
  expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
60
69
  orderLimitPerUser: number | null;
70
+ isOrderLimitPerUserEnabled: boolean;
61
71
  couponType: CouponType.GLOBAL;
62
72
  secondaryCurrencyValue?: number | undefined;
63
73
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
@@ -78,18 +88,23 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
78
88
  couponType: CouponType.GLOBAL;
79
89
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
80
90
  spendLimit?: number | null | undefined;
91
+ isSpendLimitEnabled?: boolean | undefined;
81
92
  secondaryCurrencyValue?: number | undefined;
82
93
  maxDiscountLimit?: number | null | undefined;
83
94
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
95
+ isMaxDiscountLimitEnabled?: boolean | undefined;
84
96
  totalOrderLimit?: number | null | undefined;
97
+ isTotalOrderLimitEnabled?: boolean | undefined;
85
98
  minOrderValue?: number | null | undefined;
86
99
  secondaryCurrencyMinOrderValue?: number | undefined;
100
+ isMinOrderValueEnabled?: boolean | undefined;
87
101
  forNewUserOnly?: boolean | undefined;
88
102
  expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
89
103
  referringUser?: {
90
104
  name?: string | undefined;
91
105
  } | undefined;
92
106
  orderLimitPerUser?: number | null | undefined;
107
+ isOrderLimitPerUserEnabled?: boolean | undefined;
93
108
  createdBy?: string | import("mongoose").Types.ObjectId | undefined;
94
109
  isExpired?: boolean | undefined;
95
110
  }>, GlobalCouponSchema: z.ZodObject<{
@@ -99,6 +114,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
99
114
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
100
115
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
101
116
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
117
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
102
118
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
103
119
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
104
120
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -116,9 +132,12 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
116
132
  end?: string | Date | undefined;
117
133
  }>>;
118
134
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
135
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
119
136
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
137
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
120
138
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
121
139
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
140
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
122
141
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
123
142
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
124
143
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -131,6 +150,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
131
150
  }>>>;
132
151
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
133
152
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
153
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
134
154
  createdBy: z.ZodOptional<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>]>>>;
135
155
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
136
156
  _id: 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>]>>;
@@ -141,6 +161,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
141
161
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
142
162
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
143
163
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
164
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
144
165
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
145
166
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
146
167
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -158,9 +179,12 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
158
179
  end?: string | Date | undefined;
159
180
  }>>;
160
181
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
182
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
161
183
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
184
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
162
185
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
163
186
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
187
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
164
188
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
165
189
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
166
190
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -173,6 +197,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
173
197
  }>>>;
174
198
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
175
199
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
200
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
176
201
  createdBy: z.ZodOptional<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>]>>>;
177
202
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
178
203
  _id: 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>]>>;
@@ -183,6 +208,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
183
208
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
184
209
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
185
210
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
211
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
186
212
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
187
213
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
188
214
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -200,9 +226,12 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
200
226
  end?: string | Date | undefined;
201
227
  }>>;
202
228
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
229
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
203
230
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
231
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
204
232
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
205
233
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
234
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
206
235
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
207
236
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
208
237
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -215,6 +244,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
215
244
  }>>>;
216
245
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
217
246
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
247
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
218
248
  createdBy: z.ZodOptional<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>]>>>;
219
249
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
220
250
  _id: 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>]>>;
@@ -231,6 +261,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
231
261
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
232
262
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
233
263
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
264
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
234
265
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
235
266
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
236
267
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -248,9 +279,12 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
248
279
  end?: string | Date | undefined;
249
280
  }>>;
250
281
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
282
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
251
283
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
284
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
252
285
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
253
286
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
287
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
254
288
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
255
289
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
256
290
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -263,6 +297,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
263
297
  }>>>;
264
298
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
265
299
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
300
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
266
301
  createdBy: z.ZodOptional<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>]>>>;
267
302
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
268
303
  _id: 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>]>>;
@@ -273,6 +308,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
273
308
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
274
309
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
275
310
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
311
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
276
312
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
277
313
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
278
314
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -290,9 +326,12 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
290
326
  end?: string | Date | undefined;
291
327
  }>>;
292
328
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
329
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
293
330
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
331
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
294
332
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
295
333
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
334
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
296
335
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
297
336
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
298
337
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -305,6 +344,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
305
344
  }>>>;
306
345
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
307
346
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
347
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
308
348
  createdBy: z.ZodOptional<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>]>>>;
309
349
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
310
350
  _id: 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>]>>;
@@ -315,6 +355,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
315
355
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
316
356
  maxDiscountLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
317
357
  secondaryCurrencyMaxDiscountLimit: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
358
+ isMaxDiscountLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
318
359
  duration: z.ZodOptional<z.ZodEffects<z.ZodObject<{
319
360
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
320
361
  end: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>>;
@@ -332,9 +373,12 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
332
373
  end?: string | Date | undefined;
333
374
  }>>;
334
375
  spendLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
376
+ isSpendLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
335
377
  totalOrderLimit: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
378
+ isTotalOrderLimitEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
336
379
  minOrderValue: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
337
380
  secondaryCurrencyMinOrderValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
381
+ isMinOrderValueEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
338
382
  forNewUserOnly: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
339
383
  status: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").Status>>>>;
340
384
  expirationReason: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason>>>>>;
@@ -347,6 +391,7 @@ declare const GlobalCouponValidationSchema: z.ZodObject<{
347
391
  }>>>;
348
392
  code: z.ZodOptional<z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
349
393
  orderLimitPerUser: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodOptional<z.ZodNumber>>>>;
394
+ isOrderLimitPerUserEnabled: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
350
395
  createdBy: z.ZodOptional<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>]>>>;
351
396
  isExpired: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
352
397
  _id: 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>]>>;