@lyxa.ai/marketing 1.0.44 → 1.0.47

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 (113) hide show
  1. package/dist/lib/index.d.ts +170 -28
  2. package/dist/lib/index.d.ts.map +1 -1
  3. package/dist/lib/modules/coupon/routers/coupon.router.d.ts +169 -27
  4. package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  5. package/dist/lib/modules/coupon/routers/coupon.router.js +13 -4
  6. package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -1
  7. package/dist/lib/modules/coupon/services/coupon.service.d.ts +4 -1
  8. package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -1
  9. package/dist/lib/modules/coupon/services/coupon.service.js +134 -15
  10. package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -1
  11. package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts +208 -3
  12. package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts.map +1 -1
  13. package/dist/lib/modules/coupon/services/global-coupon.service.d.ts.map +1 -1
  14. package/dist/lib/modules/coupon/services/global-coupon.service.js +2 -0
  15. package/dist/lib/modules/coupon/services/global-coupon.service.js.map +1 -1
  16. package/dist/lib/modules/coupon/services/helper.service.d.ts +214 -4
  17. package/dist/lib/modules/coupon/services/helper.service.d.ts.map +1 -1
  18. package/dist/lib/modules/coupon/services/helper.service.js +114 -16
  19. package/dist/lib/modules/coupon/services/helper.service.js.map +1 -1
  20. package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts +208 -3
  21. package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
  22. package/dist/lib/modules/coupon/services/individual-user-coupon.service.d.ts +1 -1
  23. package/dist/lib/modules/coupon/services/individual-user-coupon.service.d.ts.map +1 -1
  24. package/dist/lib/modules/coupon/services/individual-user-coupon.service.js +20 -11
  25. package/dist/lib/modules/coupon/services/individual-user-coupon.service.js.map +1 -1
  26. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts +10 -4
  27. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
  28. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js +90 -14
  29. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js.map +1 -1
  30. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts +2 -2
  31. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
  32. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js +151 -45
  33. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js.map +1 -1
  34. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -1
  35. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js +17 -4
  36. package/dist/lib/modules/coupon/services/referral-reward-coupon.service.js.map +1 -1
  37. package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts +208 -3
  38. package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -1
  39. package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts +5 -1
  40. package/dist/lib/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -1
  41. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts +243 -23
  42. package/dist/lib/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
  43. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +412 -48
  44. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  45. package/dist/lib/modules/coupon/validations/coupon.validation.js +39 -6
  46. package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
  47. package/dist/lib/modules/coupon/validations/create-coupon.validation.d.ts +94 -6
  48. package/dist/lib/modules/coupon/validations/create-coupon.validation.d.ts.map +1 -1
  49. package/dist/lib/modules/coupon/validations/custom-coupon.validation.d.ts +9 -0
  50. package/dist/lib/modules/coupon/validations/custom-coupon.validation.d.ts.map +1 -1
  51. package/dist/lib/modules/coupon/validations/custom-coupon.validation.js +1 -0
  52. package/dist/lib/modules/coupon/validations/custom-coupon.validation.js.map +1 -1
  53. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts +200 -122
  54. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.d.ts.map +1 -1
  55. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.js +20 -3
  56. package/dist/lib/modules/coupon/validations/individual-store-coupon.validation.js.map +1 -1
  57. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.d.ts +9 -0
  58. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.d.ts.map +1 -1
  59. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.js +1 -0
  60. package/dist/lib/modules/coupon/validations/individual-user-coupon.validation.js.map +1 -1
  61. package/dist/lib/modules/coupon/validations/shops-categories-coupon.validation.d.ts +9 -0
  62. package/dist/lib/modules/coupon/validations/shops-categories-coupon.validation.d.ts.map +1 -1
  63. package/dist/lib/modules/coupon/validations/shops-categories-coupon.validation.js +1 -0
  64. package/dist/lib/modules/coupon/validations/shops-categories-coupon.validation.js.map +1 -1
  65. package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +6 -6
  66. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +6 -6
  67. package/dist/lib/modules/marketing/validations/product-marketing.validation.d.ts +2 -2
  68. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +1 -1
  69. package/dist/lib/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +2 -2
  70. package/dist/types/index.d.ts +170 -28
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/modules/coupon/routers/coupon.router.d.ts +169 -27
  73. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  74. package/dist/types/modules/coupon/services/coupon.service.d.ts +4 -1
  75. package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
  76. package/dist/types/modules/coupon/services/custom-coupon.service.d.ts +208 -3
  77. package/dist/types/modules/coupon/services/custom-coupon.service.d.ts.map +1 -1
  78. package/dist/types/modules/coupon/services/global-coupon.service.d.ts.map +1 -1
  79. package/dist/types/modules/coupon/services/helper.service.d.ts +214 -4
  80. package/dist/types/modules/coupon/services/helper.service.d.ts.map +1 -1
  81. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts +208 -3
  82. package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
  83. package/dist/types/modules/coupon/services/individual-user-coupon.service.d.ts +1 -1
  84. package/dist/types/modules/coupon/services/individual-user-coupon.service.d.ts.map +1 -1
  85. package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts +10 -4
  86. package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
  87. package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts +2 -2
  88. package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
  89. package/dist/types/modules/coupon/services/referral-reward-coupon.service.d.ts.map +1 -1
  90. package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts +208 -3
  91. package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -1
  92. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts +5 -1
  93. package/dist/types/modules/coupon/transformers/coupon.transformer.d.ts.map +1 -1
  94. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts +243 -23
  95. package/dist/types/modules/coupon/validations/all-coupons.validation.d.ts.map +1 -1
  96. package/dist/types/modules/coupon/validations/coupon.validation.d.ts +412 -48
  97. package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  98. package/dist/types/modules/coupon/validations/create-coupon.validation.d.ts +94 -6
  99. package/dist/types/modules/coupon/validations/create-coupon.validation.d.ts.map +1 -1
  100. package/dist/types/modules/coupon/validations/custom-coupon.validation.d.ts +9 -0
  101. package/dist/types/modules/coupon/validations/custom-coupon.validation.d.ts.map +1 -1
  102. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts +200 -122
  103. package/dist/types/modules/coupon/validations/individual-store-coupon.validation.d.ts.map +1 -1
  104. package/dist/types/modules/coupon/validations/individual-user-coupon.validation.d.ts +9 -0
  105. package/dist/types/modules/coupon/validations/individual-user-coupon.validation.d.ts.map +1 -1
  106. package/dist/types/modules/coupon/validations/shops-categories-coupon.validation.d.ts +9 -0
  107. package/dist/types/modules/coupon/validations/shops-categories-coupon.validation.d.ts.map +1 -1
  108. package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +6 -6
  109. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +6 -6
  110. package/dist/types/modules/marketing/validations/product-marketing.validation.d.ts +2 -2
  111. package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +1 -1
  112. package/dist/types/modules/punch-marketing-history/validations/punch-marketing-history.validation.d.ts +2 -2
  113. 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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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CouponMetricsByTypeResponseSchema = exports.CouponMetricsByTypeSchema = exports.CouponMetricsResponseSchema = exports.CouponMetricsOutputSchema = exports.GraphInputSchema = exports.DateInputSchema = exports.BaseDateInputSchema = exports.IsNewUserGiftBoxShownSchema = exports.DeviceIdSchema = exports.CouponValidationResponseSchema = exports.CheckExistingNewUserCouponOutputSchema = exports.UpdateCouponStatusSchema = exports.CouponCodeSchema = exports.CouponValidationOutputSchema = exports.ValidateCouponSchema = exports.GetUserCouponSchema = exports.UpdateCouponSchema = exports.CouponIdValidationSchema = exports.CouponSchema = exports.CouponValidationSchema = exports.GetUserCouponsResponseSchema = exports.baseFields = exports.couponFields = void 0;
3
+ exports.TotalProfitGraphResponseSchema = exports.GraphResponseSchema = exports.CouponMetricsByTypeResponseSchema = exports.CouponMetricsResponseSchema = exports.TotalProfitGraphSchema = exports.GraphSchema = exports.CouponMetricsByTypeSchema = exports.CouponMetricsOutputSchema = exports.GraphInputSchema = exports.DateInputSchema = exports.BaseDateInputSchema = exports.IsNewUserGiftBoxShownSchema = exports.DeviceIdSchema = exports.CouponValidationResponseSchema = exports.CheckExistingNewUserCouponOutputSchema = exports.UpdateCouponStatusSchema = exports.CouponCodeSchema = exports.CouponValidationOutputSchema = exports.ValidateCouponSchema = exports.GetUserCouponSchema = exports.UpdateCouponSchema = exports.CouponIdValidationSchema = exports.CouponSchema = exports.CouponValidationSchema = exports.GetUserCouponsResponseSchema = exports.baseFields = exports.couponFields = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const global_validation_1 = require("@lyxa.ai/core/dist/utilities/validation/global-validation");
6
6
  const enum_1 = require("@lyxa.ai/core/dist/utilities/enum");
@@ -72,22 +72,43 @@ exports.GetUserCouponsResponseSchema = zod_1.z.object({
72
72
  exports.GetUserCouponSchema = zod_1.z.object({
73
73
  user: global_validation_1.ZodValidation.objectId('User').optional(),
74
74
  shop: global_validation_1.ZodValidation.objectId('Shop').optional(),
75
+ vendor: global_validation_1.ZodValidation.objectId('Vendor').optional(),
75
76
  page: global_validation_1.ZodValidation.number('Page').optional().default(0),
76
77
  size: global_validation_1.ZodValidation.number('Page size').optional().default(100),
77
78
  });
78
- exports.ValidateCouponSchema = zod_1.z.object({
79
+ exports.ValidateCouponSchema = zod_1.z
80
+ .object({
79
81
  user: global_validation_1.ZodValidation.objectIdOrStringSchema,
80
- shop: global_validation_1.ZodValidation.objectIdOrStringSchema,
82
+ shop: global_validation_1.ZodValidation.objectIdOrStringSchema.optional(),
83
+ vendor: global_validation_1.ZodValidation.objectIdOrStringSchema.optional(),
81
84
  coupon: global_validation_1.ZodValidation.string('Coupon').optional(),
82
85
  amountBeforeCoupon: global_validation_1.ZodValidation.number('Amount before coupon'),
83
86
  secondaryAmountBeforeCoupon: global_validation_1.ZodValidation.number('Secondary amount before coupon'),
84
87
  scheduledAt: global_validation_1.ZodValidation.date('Scheduled at').optional(),
88
+ })
89
+ .superRefine((data, ctx) => {
90
+ if (!data.shop && !data.vendor) {
91
+ ctx.addIssue({
92
+ path: ['shop', 'vendor'],
93
+ code: zod_1.z.ZodIssueCode.custom,
94
+ message: 'Shop or vendor is required.',
95
+ });
96
+ }
97
+ if (data.shop && data.vendor) {
98
+ ctx.addIssue({
99
+ path: ['shop', 'vendor'],
100
+ code: zod_1.z.ZodIssueCode.custom,
101
+ message: 'Only one of Shop or vendor should be provided.',
102
+ });
103
+ }
85
104
  });
86
105
  const discountCutSchema = zod_1.z.object({
87
106
  companyCut: global_validation_1.ZodValidation.number('companyCut').optional(),
88
107
  secondaryCompanyCut: global_validation_1.ZodValidation.number('secondaryCompanyCut').optional(),
89
108
  shopCut: global_validation_1.ZodValidation.number('shopCut').optional(),
90
109
  secondaryShopCut: global_validation_1.ZodValidation.number('secondaryShopCut').optional(),
110
+ vendorCut: global_validation_1.ZodValidation.number('vendorCut').optional(),
111
+ secondaryVendorCut: global_validation_1.ZodValidation.number('secondaryVendorCut').optional(),
91
112
  });
92
113
  exports.CouponValidationOutputSchema = zod_1.z.object({
93
114
  isValid: global_validation_1.ZodValidation.boolean('IsValid').default(false),
@@ -123,7 +144,7 @@ exports.DateInputSchema = exports.BaseDateInputSchema.refine(data => !(0, dayjs_
123
144
  path: ['startDate'],
124
145
  });
125
146
  exports.GraphInputSchema = exports.BaseDateInputSchema.extend({
126
- graphType: global_validation_1.ZodValidation.enumType(enum_1.GraphType, 'Type').default(enum_1.GraphType.DAILY),
147
+ graphType: global_validation_1.ZodValidation.enumType(enum_1.GraphType, 'Type').optional(),
127
148
  itemType: global_validation_1.ZodValidation.enumType(enum_1.ItemType, 'Item Type').optional(),
128
149
  }).refine(data => !(0, dayjs_1.dayjs)(data.startDate).isAfter((0, dayjs_1.dayjs)(data.endDate)), {
129
150
  message: 'Start date cannot be after end date',
@@ -138,17 +159,29 @@ exports.CouponMetricsOutputSchema = zod_1.z.object({
138
159
  totalRevenue: global_validation_1.ZodValidation.number('Total revenue from coupons').default(0),
139
160
  totalProfit: global_validation_1.ZodValidation.number('Total profit from coupons').default(0),
140
161
  });
141
- exports.CouponMetricsResponseSchema = (0, common_validation_1.createResponseSchema)(exports.CouponMetricsOutputSchema);
142
162
  exports.CouponMetricsByTypeSchema = zod_1.z.object({
143
163
  couponType: global_validation_1.ZodValidation.enumType(enum_1.CouponType, 'Coupon Type'),
144
164
  couponTypeTitle: global_validation_1.ZodValidation.string('Coupon Type Title'),
145
165
  totalCouponOrders: global_validation_1.ZodValidation.number('Total coupon orders').default(0),
146
166
  totalRevenue: global_validation_1.ZodValidation.number('Total revenue from coupons').default(0),
147
- totalProfit: global_validation_1.ZodValidation.number('Total profit from coupons').default(0),
148
167
  averageOrderValue: global_validation_1.ZodValidation.number('Average order value for coupons of this type').default(0),
149
168
  usage: global_validation_1.ZodValidation.number('Usage').default(0),
150
169
  ongoing: global_validation_1.ZodValidation.number('Ongoing').default(0),
170
+ amountSpent: global_validation_1.ZodValidation.number('Amount spent on coupons of this type').default(0),
151
171
  redemptionRate: global_validation_1.ZodValidation.number('Redemption rate for this coupon type').default(0),
152
172
  });
173
+ exports.GraphSchema = zod_1.z.object({
174
+ categories: global_validation_1.ZodValidation.array(global_validation_1.ZodValidation.string('Category labels')),
175
+ series: global_validation_1.ZodValidation.array(zod_1.z.object({
176
+ name: global_validation_1.ZodValidation.string('Name of the series'),
177
+ data: global_validation_1.ZodValidation.array(global_validation_1.ZodValidation.number('Series data')),
178
+ })),
179
+ });
180
+ exports.TotalProfitGraphSchema = exports.GraphSchema.extend({
181
+ totalProfit: global_validation_1.ZodValidation.number('Total profit').default(0),
182
+ });
183
+ exports.CouponMetricsResponseSchema = (0, common_validation_1.createResponseSchema)(exports.CouponMetricsOutputSchema);
153
184
  exports.CouponMetricsByTypeResponseSchema = (0, common_validation_1.createResponseSchema)(exports.CouponMetricsByTypeSchema.array());
185
+ exports.GraphResponseSchema = (0, common_validation_1.createResponseSchema)(exports.GraphSchema);
186
+ exports.TotalProfitGraphResponseSchema = (0, common_validation_1.createResponseSchema)(exports.TotalProfitGraphSchema);
154
187
  //# sourceMappingURL=coupon.validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport {\n\tZodValidation,\n\tcreateSchemaBuilder,\n\tDTO,\n} from '@lyxa.ai/core/dist/utilities/validation/global-validation';\nimport {\n\tCouponExpirationReason,\n\tCouponType,\n\tGraphType,\n\tItemType,\n\tStatus,\n\tValueType,\n} from '@lyxa.ai/core/dist/utilities/enum';\nimport {\n\tcreateResponseSchema,\n\tDurationSchema,\n} from '@lyxa.ai/core/dist/utilities/validation/common-validation';\nimport { dayjs } from '@lyxa.ai/core/dist/utilities/dayjs';\n\n/**\n * Define the base parent schema fields\n */\nexport const couponFields = {\n\tcode: ZodValidation.string('Code', {\n\t\tregex: { pattern: new RegExp('^[A-Z0-9]+$'), message: 'Coupon name must be uppercase' },\n\t\tmaxLength: 10,\n\t\tminLength: 4,\n\t\tminMessage: 'Coupon must be 4 characters',\n\t\tmaxMessage: 'Coupon must be 10 characters',\n\t}),\n\torderLimitPerUser: ZodValidation.number('OrderLimitPerUser')\n\t\t.nonnegative()\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\tisOrderLimitPerUserEnabled: ZodValidation.boolean('Is order limit per user enabled')\n\t\t.optional()\n\t\t.default(false),\n\tcreatedBy: ZodValidation.objectId('Created by').optional(),\n\tisExpired: ZodValidation.boolean('Is expired').optional(),\n};\n\nexport const baseFields = {\n\t...couponFields,\n\tvalueType: ZodValidation.enumType(ValueType, 'Value type'),\n\tvalue: ZodValidation.number('Value'),\n\tsecondaryCurrencyValue: ZodValidation.number('Secondary currency value').optional(),\n\tmaxDiscountLimit: ZodValidation.number('Max discount limit').optional().nullable().default(null),\n\tsecondaryCurrencyMaxDiscountLimit: ZodValidation.number('Secondary currency max discount limit').optional(),\n\tisMaxDiscountLimitEnabled: ZodValidation.boolean('Is max discount limit enabled').optional().default(false),\n\tduration: DurationSchema\n\t\t// .refine((d: any) => d.start >= new Date() && d.end >= new Date(), {\n\t\t// \tmessage: 'Start and end dates must not be in the past',\n\t\t// })\n\t\t.transform(duration => {\n\t\t\tduration.start = dayjs(duration.start).toDate();\n\t\t\tduration.end = dayjs(duration.end).toDate();\n\t\t\treturn duration;\n\t\t}),\n\tspendLimit: ZodValidation.number('Spend limit').optional().nullable().default(null),\n\tisSpendLimitEnabled: ZodValidation.boolean('Is spend limit enabled').optional().default(false),\n\ttotalOrderLimit: ZodValidation.number('Total order limit').optional().nullable().default(null),\n\tisTotalOrderLimitEnabled: ZodValidation.boolean('Is total order limit enabled').optional().default(false),\n\tminOrderValue: ZodValidation.number('Min order value').nullable().default(null),\n\tsecondaryCurrencyMinOrderValue: ZodValidation.number('Secondary currency min order value').optional(),\n\tisMinOrderValueEnabled: ZodValidation.boolean('Is min order value enabled').optional().default(false),\n\tforNewUserOnly: ZodValidation.boolean('ForNewUserOnly').optional().default(false),\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n\texpirationReason: ZodValidation.enumType(CouponExpirationReason, 'Expiration reason')\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\treferringUser: z\n\t\t.object({\n\t\t\tname: ZodValidation.string('Referring user name').optional(),\n\t\t})\n\t\t.optional(),\n};\n\n/**\n * Create schema builder for Parent entity\n * - Includes timestamps\n * - Excludes 'createdAt' from update operations\n */\nconst schemaBuilder = createSchemaBuilder(baseFields);\n\n/**\n * Get all schemas for the Parent entity\n */\nconst {\n\tBaseSchema: CouponValidationSchema,\n\tEntitySchema: CouponSchema,\n\tIdSchema: CouponIdSchema,\n\tUpdateSchema: UpdateCouponSchema,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\n/**\n * Export schemas\n */\nexport const GetUserCouponsResponseSchema = z.object({\n\tavailable: z.array(CouponSchema),\n\tused: z.array(CouponSchema),\n\texpired: z.array(CouponSchema),\n});\n\nexport {\n\tCouponValidationSchema,\n\tCouponSchema,\n\tCouponIdSchema as CouponIdValidationSchema,\n\tUpdateCouponSchema,\n};\n\n/**\n * Schema for getting user coupons\n */\nexport const GetUserCouponSchema = z.object({\n\tuser: ZodValidation.objectId('User').optional(),\n\tshop: ZodValidation.objectId('Shop').optional(),\n\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\tscheduledAt: ZodValidation.date('Scheduled at').optional(),\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\tcouponDetails: z.record(z.unknown()).optional(), // Flexible field for any additional coupon details\n});\n\nexport const CouponCodeSchema = z.object({\n\tcouponCode: ZodValidation.string('Coupon code'),\n});\n\nexport const UpdateCouponStatusSchema = z.object({\n\t_id: ZodValidation.objectIdOrStringSchema,\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n});\n\nexport const CheckExistingNewUserCouponOutputSchema = z.object({\n\texists: ZodValidation.boolean('Exists').default(false),\n});\n\nexport const CouponValidationResponseSchema = createResponseSchema(CouponValidationOutputSchema);\n\nexport const DeviceIdSchema = z.object({ deviceId: z.string() });\nexport const IsNewUserGiftBoxShownSchema = z.object({ isNewUserGiftBoxShown: z.boolean() });\n\nexport const BaseDateInputSchema = z\n\t.object({\n\t\tstartDate: ZodValidation.date('Start Date').transform(val => dayjs(val).startOf('day').toDate()),\n\t\tendDate: ZodValidation.date('End Date').transform(val => dayjs(val).endOf('day').toDate()),\n\t})\n\t.strict();\n\nexport const DateInputSchema = BaseDateInputSchema.refine(\n\tdata => !dayjs(data.startDate).isAfter(dayjs(data.endDate)),\n\t{\n\t\tmessage: 'Start date cannot be after end date',\n\t\tpath: ['startDate'],\n\t}\n);\n\nexport const GraphInputSchema = BaseDateInputSchema.extend({\n\tgraphType: ZodValidation.enumType(GraphType, 'Type').default(GraphType.DAILY),\n\titemType: ZodValidation.enumType(ItemType, 'Item Type').optional(),\n}).refine(data => !dayjs(data.startDate).isAfter(dayjs(data.endDate)), {\n\tmessage: 'Start date cannot be after end date',\n\tpath: ['startDate'],\n});\n\nexport const CouponMetricsOutputSchema = z.object({\n\tactiveCoupons: ZodValidation.number('Active coupons').default(0),\n\ttotalCreated: ZodValidation.number('Total created coupons').default(0),\n\ttotalRedeemedCoupons: ZodValidation.number('Total redeemed coupons').default(0),\n\tredemptionRate: ZodValidation.number('Redemption rate').default(0),\n\ttotalCouponOrders: ZodValidation.number('Total coupon orders').default(0),\n\ttotalRevenue: ZodValidation.number('Total revenue from coupons').default(0),\n\ttotalProfit: ZodValidation.number('Total profit from coupons').default(0),\n});\n\nexport const CouponMetricsResponseSchema = createResponseSchema(CouponMetricsOutputSchema);\n\nexport const CouponMetricsByTypeSchema = z.object({\n\tcouponType: ZodValidation.enumType(CouponType, 'Coupon Type'),\n\tcouponTypeTitle: ZodValidation.string('Coupon Type Title'),\n\ttotalCouponOrders: ZodValidation.number('Total coupon orders').default(0),\n\ttotalRevenue: ZodValidation.number('Total revenue from coupons').default(0),\n\ttotalProfit: ZodValidation.number('Total profit from coupons').default(0),\n\taverageOrderValue: ZodValidation.number('Average order value for coupons of this type').default(0),\n\tusage: ZodValidation.number('Usage').default(0),\n\tongoing: ZodValidation.number('Ongoing').default(0),\n\tredemptionRate: ZodValidation.number('Redemption rate for this coupon type').default(0),\n});\n\nexport const CouponMetricsByTypeResponseSchema = createResponseSchema(CouponMetricsByTypeSchema.array());\n\n/**\n * Export DTO types\n */\nexport type CreateCouponDTO = DTO<typeof CouponValidationSchema>;\nexport type CouponDTO = DTO<typeof CouponSchema>;\nexport type UpdateCouponDTO = DTO<typeof UpdateCouponSchema>;\nexport type GetUserCouponDTO = DTO<typeof GetUserCouponSchema>;\nexport type ValidateCouponDTO = DTO<typeof ValidateCouponSchema>;\nexport type CouponValidationOutputDTO = DTO<typeof CouponValidationOutputSchema>;\nexport type GetUserCouponsResponseDTO = DTO<typeof GetUserCouponsResponseSchema>;\nexport type UpdateCouponStatusDTO = DTO<typeof UpdateCouponStatusSchema>;\nexport type CheckExistingNewUserCouponOutputDTO = DTO<typeof CheckExistingNewUserCouponOutputSchema>;\nexport type DeviceIdDTO = DTO<typeof DeviceIdSchema>;\nexport type IsNewUserGiftBoxShownDTO = DTO<typeof IsNewUserGiftBoxShownSchema>;\nexport type DateInputDTO = DTO<typeof DateInputSchema>;\nexport type GraphInputDTO = DTO<typeof GraphInputSchema>;\nexport type CouponMetricsOutputDTO = DTO<typeof CouponMetricsOutputSchema>;\nexport type CouponMetricsByTypeDTO = DTO<typeof CouponMetricsByTypeSchema>;\n"]}
1
+ {"version":3,"file":"coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport {\n\tZodValidation,\n\tcreateSchemaBuilder,\n\tDTO,\n} from '@lyxa.ai/core/dist/utilities/validation/global-validation';\nimport {\n\tCouponExpirationReason,\n\tCouponType,\n\tGraphType,\n\tItemType,\n\tStatus,\n\tValueType,\n} from '@lyxa.ai/core/dist/utilities/enum';\nimport {\n\tcreateResponseSchema,\n\tDurationSchema,\n} from '@lyxa.ai/core/dist/utilities/validation/common-validation';\nimport { dayjs } from '@lyxa.ai/core/dist/utilities/dayjs';\n\n/**\n * Define the base parent schema fields\n */\nexport const couponFields = {\n\tcode: ZodValidation.string('Code', {\n\t\tregex: { pattern: new RegExp('^[A-Z0-9]+$'), message: 'Coupon name must be uppercase' },\n\t\tmaxLength: 10,\n\t\tminLength: 4,\n\t\tminMessage: 'Coupon must be 4 characters',\n\t\tmaxMessage: 'Coupon must be 10 characters',\n\t}),\n\torderLimitPerUser: ZodValidation.number('OrderLimitPerUser')\n\t\t.nonnegative()\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\tisOrderLimitPerUserEnabled: ZodValidation.boolean('Is order limit per user enabled')\n\t\t.optional()\n\t\t.default(false),\n\tcreatedBy: ZodValidation.objectId('Created by').optional(),\n\tisExpired: ZodValidation.boolean('Is expired').optional(),\n};\n\nexport const baseFields = {\n\t...couponFields,\n\tvalueType: ZodValidation.enumType(ValueType, 'Value type'),\n\tvalue: ZodValidation.number('Value'),\n\tsecondaryCurrencyValue: ZodValidation.number('Secondary currency value').optional(),\n\tmaxDiscountLimit: ZodValidation.number('Max discount limit').optional().nullable().default(null),\n\tsecondaryCurrencyMaxDiscountLimit: ZodValidation.number('Secondary currency max discount limit').optional(),\n\tisMaxDiscountLimitEnabled: ZodValidation.boolean('Is max discount limit enabled').optional().default(false),\n\tduration: DurationSchema\n\t\t// .refine((d: any) => d.start >= new Date() && d.end >= new Date(), {\n\t\t// \tmessage: 'Start and end dates must not be in the past',\n\t\t// })\n\t\t.transform(duration => {\n\t\t\tduration.start = dayjs(duration.start).toDate();\n\t\t\tduration.end = dayjs(duration.end).toDate();\n\t\t\treturn duration;\n\t\t}),\n\tspendLimit: ZodValidation.number('Spend limit').optional().nullable().default(null),\n\tisSpendLimitEnabled: ZodValidation.boolean('Is spend limit enabled').optional().default(false),\n\ttotalOrderLimit: ZodValidation.number('Total order limit').optional().nullable().default(null),\n\tisTotalOrderLimitEnabled: ZodValidation.boolean('Is total order limit enabled').optional().default(false),\n\tminOrderValue: ZodValidation.number('Min order value').nullable().default(null),\n\tsecondaryCurrencyMinOrderValue: ZodValidation.number('Secondary currency min order value').optional(),\n\tisMinOrderValueEnabled: ZodValidation.boolean('Is min order value enabled').optional().default(false),\n\tforNewUserOnly: ZodValidation.boolean('ForNewUserOnly').optional().default(false),\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n\texpirationReason: ZodValidation.enumType(CouponExpirationReason, 'Expiration reason')\n\t\t.optional()\n\t\t.nullable()\n\t\t.default(null),\n\treferringUser: z\n\t\t.object({\n\t\t\tname: ZodValidation.string('Referring user name').optional(),\n\t\t})\n\t\t.optional(),\n};\n\n/**\n * Create schema builder for Parent entity\n * - Includes timestamps\n * - Excludes 'createdAt' from update operations\n */\nconst schemaBuilder = createSchemaBuilder(baseFields);\n\n/**\n * Get all schemas for the Parent entity\n */\nconst {\n\tBaseSchema: CouponValidationSchema,\n\tEntitySchema: CouponSchema,\n\tIdSchema: CouponIdSchema,\n\tUpdateSchema: UpdateCouponSchema,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\n/**\n * Export schemas\n */\nexport const GetUserCouponsResponseSchema = z.object({\n\tavailable: z.array(CouponSchema),\n\tused: z.array(CouponSchema),\n\texpired: z.array(CouponSchema),\n});\n\nexport {\n\tCouponValidationSchema,\n\tCouponSchema,\n\tCouponIdSchema as CouponIdValidationSchema,\n\tUpdateCouponSchema,\n};\n\n/**\n * Schema for getting user coupons\n */\nexport const GetUserCouponSchema = z.object({\n\tuser: ZodValidation.objectId('User').optional(),\n\tshop: ZodValidation.objectId('Shop').optional(),\n\tvendor: ZodValidation.objectId('Vendor').optional(),\n\tpage: ZodValidation.number('Page').optional().default(0),\n\tsize: ZodValidation.number('Page size').optional().default(100),\n});\n\n/**\n * Schema for validating coupons\n */\nexport const ValidateCouponSchema = z\n\t.object({\n\t\tuser: ZodValidation.objectIdOrStringSchema,\n\t\tshop: ZodValidation.objectIdOrStringSchema.optional(),\n\t\tvendor: ZodValidation.objectIdOrStringSchema.optional(),\n\t\tcoupon: ZodValidation.string('Coupon').optional(),\n\t\tamountBeforeCoupon: ZodValidation.number('Amount before coupon'),\n\t\tsecondaryAmountBeforeCoupon: ZodValidation.number('Secondary amount before coupon'),\n\t\tscheduledAt: ZodValidation.date('Scheduled at').optional(),\n\t})\n\t.superRefine((data, ctx) => {\n\t\tif (!data.shop && !data.vendor) {\n\t\t\tctx.addIssue({\n\t\t\t\tpath: ['shop', 'vendor'],\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Shop or vendor is required.',\n\t\t\t});\n\t\t}\n\t\tif (data.shop && data.vendor) {\n\t\t\tctx.addIssue({\n\t\t\t\tpath: ['shop', 'vendor'],\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Only one of Shop or vendor should be provided.',\n\t\t\t});\n\t\t}\n\t});\n\nconst discountCutSchema = z.object({\n\tcompanyCut: ZodValidation.number('companyCut').optional(),\n\tsecondaryCompanyCut: ZodValidation.number('secondaryCompanyCut').optional(),\n\tshopCut: ZodValidation.number('shopCut').optional(),\n\tsecondaryShopCut: ZodValidation.number('secondaryShopCut').optional(),\n\tvendorCut: ZodValidation.number('vendorCut').optional(),\n\tsecondaryVendorCut: ZodValidation.number('secondaryVendorCut').optional(),\n});\n\n/**\n * Schema for coupon validation output\n */\nexport const CouponValidationOutputSchema = z.object({\n\tisValid: ZodValidation.boolean('IsValid').default(false),\n\tmessage: ZodValidation.string('Message').optional(),\n\tamountAfterCoupon: ZodValidation.number('Amount after coupon').optional(),\n\tsecondaryAmountAfterCoupon: ZodValidation.number('Secondary amount after coupon').optional(),\n\tdiscountAmount: ZodValidation.number('Coupon Discount').optional(),\n\tsecondaryDiscountAmount: ZodValidation.number('Secondary coupon discount').optional(),\n\tdiscountCut: discountCutSchema.optional(),\n\tcouponDetails: z.record(z.unknown()).optional(), // Flexible field for any additional coupon details\n});\n\nexport const CouponCodeSchema = z.object({\n\tcouponCode: ZodValidation.string('Coupon code'),\n});\n\nexport const UpdateCouponStatusSchema = z.object({\n\t_id: ZodValidation.objectIdOrStringSchema,\n\tstatus: ZodValidation.enumType(Status, 'Status').optional().default(Status.ACTIVE),\n});\n\nexport const CheckExistingNewUserCouponOutputSchema = z.object({\n\texists: ZodValidation.boolean('Exists').default(false),\n});\n\nexport const CouponValidationResponseSchema = createResponseSchema(CouponValidationOutputSchema);\n\nexport const DeviceIdSchema = z.object({ deviceId: z.string() });\nexport const IsNewUserGiftBoxShownSchema = z.object({ isNewUserGiftBoxShown: z.boolean() });\n\nexport const BaseDateInputSchema = z\n\t.object({\n\t\tstartDate: ZodValidation.date('Start Date').transform(val => dayjs(val).startOf('day').toDate()),\n\t\tendDate: ZodValidation.date('End Date').transform(val => dayjs(val).endOf('day').toDate()),\n\t})\n\t.strict();\n\nexport const DateInputSchema = BaseDateInputSchema.refine(\n\tdata => !dayjs(data.startDate).isAfter(dayjs(data.endDate)),\n\t{\n\t\tmessage: 'Start date cannot be after end date',\n\t\tpath: ['startDate'],\n\t}\n);\n\nexport const GraphInputSchema = BaseDateInputSchema.extend({\n\tgraphType: ZodValidation.enumType(GraphType, 'Type').optional(),\n\titemType: ZodValidation.enumType(ItemType, 'Item Type').optional(),\n}).refine(data => !dayjs(data.startDate).isAfter(dayjs(data.endDate)), {\n\tmessage: 'Start date cannot be after end date',\n\tpath: ['startDate'],\n});\n\nexport const CouponMetricsOutputSchema = z.object({\n\tactiveCoupons: ZodValidation.number('Active coupons').default(0),\n\ttotalCreated: ZodValidation.number('Total created coupons').default(0),\n\ttotalRedeemedCoupons: ZodValidation.number('Total redeemed coupons').default(0),\n\tredemptionRate: ZodValidation.number('Redemption rate').default(0),\n\ttotalCouponOrders: ZodValidation.number('Total coupon orders').default(0),\n\ttotalRevenue: ZodValidation.number('Total revenue from coupons').default(0),\n\ttotalProfit: ZodValidation.number('Total profit from coupons').default(0),\n});\n\nexport const CouponMetricsByTypeSchema = z.object({\n\tcouponType: ZodValidation.enumType(CouponType, 'Coupon Type'),\n\tcouponTypeTitle: ZodValidation.string('Coupon Type Title'),\n\ttotalCouponOrders: ZodValidation.number('Total coupon orders').default(0),\n\ttotalRevenue: ZodValidation.number('Total revenue from coupons').default(0),\n\taverageOrderValue: ZodValidation.number('Average order value for coupons of this type').default(0),\n\tusage: ZodValidation.number('Usage').default(0),\n\tongoing: ZodValidation.number('Ongoing').default(0),\n\tamountSpent: ZodValidation.number('Amount spent on coupons of this type').default(0),\n\tredemptionRate: ZodValidation.number('Redemption rate for this coupon type').default(0),\n});\n\nexport const GraphSchema = z.object({\n\tcategories: ZodValidation.array(ZodValidation.string('Category labels')),\n\tseries: ZodValidation.array(\n\t\tz.object({\n\t\t\tname: ZodValidation.string('Name of the series'),\n\t\t\tdata: ZodValidation.array(ZodValidation.number('Series data')),\n\t\t})\n\t),\n});\n\nexport const TotalProfitGraphSchema = GraphSchema.extend({\n\ttotalProfit: ZodValidation.number('Total profit').default(0),\n});\n\nexport const CouponMetricsResponseSchema = createResponseSchema(CouponMetricsOutputSchema);\nexport const CouponMetricsByTypeResponseSchema = createResponseSchema(CouponMetricsByTypeSchema.array());\nexport const GraphResponseSchema = createResponseSchema(GraphSchema);\nexport const TotalProfitGraphResponseSchema = createResponseSchema(TotalProfitGraphSchema);\n\n/**\n * Export DTO types\n */\nexport type CreateCouponDTO = DTO<typeof CouponValidationSchema>;\nexport type CouponDTO = DTO<typeof CouponSchema>;\nexport type UpdateCouponDTO = DTO<typeof UpdateCouponSchema>;\nexport type GetUserCouponDTO = DTO<typeof GetUserCouponSchema>;\nexport type ValidateCouponDTO = DTO<typeof ValidateCouponSchema>;\nexport type CouponValidationOutputDTO = DTO<typeof CouponValidationOutputSchema>;\nexport type GetUserCouponsResponseDTO = DTO<typeof GetUserCouponsResponseSchema>;\nexport type UpdateCouponStatusDTO = DTO<typeof UpdateCouponStatusSchema>;\nexport type CheckExistingNewUserCouponOutputDTO = DTO<typeof CheckExistingNewUserCouponOutputSchema>;\nexport type DeviceIdDTO = DTO<typeof DeviceIdSchema>;\nexport type IsNewUserGiftBoxShownDTO = DTO<typeof IsNewUserGiftBoxShownSchema>;\nexport type DateInputDTO = DTO<typeof DateInputSchema>;\nexport type GraphInputDTO = DTO<typeof GraphInputSchema>;\nexport type CouponMetricsOutputDTO = DTO<typeof CouponMetricsOutputSchema>;\nexport type CouponMetricsByTypeDTO = DTO<typeof CouponMetricsByTypeSchema>;\nexport type GraphDTO = DTO<typeof GraphSchema>;\nexport type TotalProfitGraphDTO = DTO<typeof TotalProfitGraphSchema>;"]}
@@ -247,6 +247,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
247
247
  couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES>;
248
248
  itemTypes: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
249
249
  shops: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
250
+ vendors: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
250
251
  isShopCoverExpenses: import("zod").ZodDefault<import("zod").ZodBoolean>;
251
252
  firstOrderOnly: import("zod").ZodDefault<import("zod").ZodBoolean>;
252
253
  valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
@@ -317,6 +318,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
317
318
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES;
318
319
  itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
319
320
  shops: import("mongoose").Types.ObjectId[];
321
+ vendors: import("mongoose").Types.ObjectId[];
320
322
  isShopCoverExpenses: boolean;
321
323
  firstOrderOnly: boolean;
322
324
  secondaryCurrencyValue?: number | undefined;
@@ -359,11 +361,13 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
359
361
  isExpired?: boolean | undefined;
360
362
  itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
361
363
  shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
364
+ vendors?: (string | import("mongoose").Types.ObjectId)[] | undefined;
362
365
  isShopCoverExpenses?: boolean | undefined;
363
366
  firstOrderOnly?: boolean | undefined;
364
- }>, import("zod").ZodObject<{
367
+ }>, import("zod").ZodEffects<import("zod").ZodObject<{
365
368
  couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE>;
366
- shop: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
369
+ shop: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
370
+ vendor: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>>;
367
371
  isShopCoverExpenses: import("zod").ZodDefault<import("zod").ZodBoolean>;
368
372
  firstOrderOnly: import("zod").ZodDefault<import("zod").ZodBoolean>;
369
373
  valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
@@ -431,7 +435,6 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
431
435
  expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
432
436
  orderLimitPerUser: number | null;
433
437
  isOrderLimitPerUserEnabled: boolean;
434
- shop: import("mongoose").Types.ObjectId;
435
438
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
436
439
  isShopCoverExpenses: boolean;
437
440
  firstOrderOnly: boolean;
@@ -443,6 +446,76 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
443
446
  } | undefined;
444
447
  createdBy?: import("mongoose").Types.ObjectId | undefined;
445
448
  isExpired?: boolean | undefined;
449
+ shop?: import("mongoose").Types.ObjectId | undefined;
450
+ vendor?: import("mongoose").Types.ObjectId | undefined;
451
+ }, {
452
+ code: string;
453
+ value: number;
454
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
455
+ duration: {
456
+ start: string | Date;
457
+ end?: string | Date | undefined;
458
+ };
459
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
460
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
461
+ secondaryCurrencyValue?: number | undefined;
462
+ maxDiscountLimit?: number | null | undefined;
463
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
464
+ isMaxDiscountLimitEnabled?: boolean | undefined;
465
+ spendLimit?: number | null | undefined;
466
+ isSpendLimitEnabled?: boolean | undefined;
467
+ totalOrderLimit?: number | null | undefined;
468
+ isTotalOrderLimitEnabled?: boolean | undefined;
469
+ minOrderValue?: number | null | undefined;
470
+ secondaryCurrencyMinOrderValue?: number | undefined;
471
+ isMinOrderValueEnabled?: boolean | undefined;
472
+ forNewUserOnly?: boolean | undefined;
473
+ expirationReason?: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null | undefined;
474
+ referringUser?: {
475
+ name?: string | undefined;
476
+ } | undefined;
477
+ orderLimitPerUser?: number | null | undefined;
478
+ isOrderLimitPerUserEnabled?: boolean | undefined;
479
+ createdBy?: string | import("mongoose").Types.ObjectId | undefined;
480
+ isExpired?: boolean | undefined;
481
+ shop?: string | import("mongoose").Types.ObjectId | undefined;
482
+ vendor?: string | import("mongoose").Types.ObjectId | undefined;
483
+ isShopCoverExpenses?: boolean | undefined;
484
+ firstOrderOnly?: boolean | undefined;
485
+ }>, {
486
+ code: string;
487
+ value: number;
488
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
489
+ valueType: import("@lyxa.ai/core/dist/utilities/enum").ValueType;
490
+ maxDiscountLimit: number | null;
491
+ isMaxDiscountLimitEnabled: boolean;
492
+ duration: {
493
+ start: Date;
494
+ end?: Date | undefined;
495
+ };
496
+ spendLimit: number | null;
497
+ isSpendLimitEnabled: boolean;
498
+ totalOrderLimit: number | null;
499
+ isTotalOrderLimitEnabled: boolean;
500
+ minOrderValue: number | null;
501
+ isMinOrderValueEnabled: boolean;
502
+ forNewUserOnly: boolean;
503
+ expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
504
+ orderLimitPerUser: number | null;
505
+ isOrderLimitPerUserEnabled: boolean;
506
+ couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
507
+ isShopCoverExpenses: boolean;
508
+ firstOrderOnly: boolean;
509
+ secondaryCurrencyValue?: number | undefined;
510
+ secondaryCurrencyMaxDiscountLimit?: number | undefined;
511
+ secondaryCurrencyMinOrderValue?: number | undefined;
512
+ referringUser?: {
513
+ name?: string | undefined;
514
+ } | undefined;
515
+ createdBy?: import("mongoose").Types.ObjectId | undefined;
516
+ isExpired?: boolean | undefined;
517
+ shop?: import("mongoose").Types.ObjectId | undefined;
518
+ vendor?: import("mongoose").Types.ObjectId | undefined;
446
519
  }, {
447
520
  code: string;
448
521
  value: number;
@@ -451,7 +524,6 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
451
524
  start: string | Date;
452
525
  end?: string | Date | undefined;
453
526
  };
454
- shop: string | import("mongoose").Types.ObjectId;
455
527
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
456
528
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
457
529
  secondaryCurrencyValue?: number | undefined;
@@ -474,6 +546,8 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
474
546
  isOrderLimitPerUserEnabled?: boolean | undefined;
475
547
  createdBy?: string | import("mongoose").Types.ObjectId | undefined;
476
548
  isExpired?: boolean | undefined;
549
+ shop?: string | import("mongoose").Types.ObjectId | undefined;
550
+ vendor?: string | import("mongoose").Types.ObjectId | undefined;
477
551
  isShopCoverExpenses?: boolean | undefined;
478
552
  firstOrderOnly?: boolean | undefined;
479
553
  }>, import("zod").ZodObject<{
@@ -481,6 +555,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
481
555
  users: import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "atleastone">;
482
556
  itemTypes: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
483
557
  shops: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
558
+ vendors: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
484
559
  valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
485
560
  value: import("zod").ZodNumber;
486
561
  secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -549,6 +624,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
549
624
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
550
625
  itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
551
626
  shops: import("mongoose").Types.ObjectId[];
627
+ vendors: import("mongoose").Types.ObjectId[];
552
628
  users: [import("mongoose").Types.ObjectId, ...import("mongoose").Types.ObjectId[]];
553
629
  secondaryCurrencyValue?: number | undefined;
554
630
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
@@ -591,11 +667,13 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
591
667
  isExpired?: boolean | undefined;
592
668
  itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
593
669
  shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
670
+ vendors?: (string | import("mongoose").Types.ObjectId)[] | undefined;
594
671
  }>, import("zod").ZodObject<{
595
672
  couponType: import("zod").ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON>;
596
673
  influencer: import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>;
597
674
  itemTypes: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ItemType>, "many">>;
598
675
  shops: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
676
+ vendors: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, import("mongoose").Types.ObjectId, string>, import("zod").ZodType<import("mongoose").Types.ObjectId, import("zod").ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
599
677
  valueType: import("zod").ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
600
678
  value: import("zod").ZodNumber;
601
679
  secondaryCurrencyValue: import("zod").ZodOptional<import("zod").ZodNumber>;
@@ -664,6 +742,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
664
742
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
665
743
  itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
666
744
  shops: import("mongoose").Types.ObjectId[];
745
+ vendors: import("mongoose").Types.ObjectId[];
667
746
  influencer: import("mongoose").Types.ObjectId;
668
747
  secondaryCurrencyValue?: number | undefined;
669
748
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
@@ -706,6 +785,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
706
785
  isExpired?: boolean | undefined;
707
786
  itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
708
787
  shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
788
+ vendors?: (string | import("mongoose").Types.ObjectId)[] | undefined;
709
789
  }>]>, {
710
790
  code: string;
711
791
  value: number;
@@ -801,6 +881,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
801
881
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.SHOPS_CATEGORIES;
802
882
  itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
803
883
  shops: import("mongoose").Types.ObjectId[];
884
+ vendors: import("mongoose").Types.ObjectId[];
804
885
  isShopCoverExpenses: boolean;
805
886
  firstOrderOnly: boolean;
806
887
  secondaryCurrencyValue?: number | undefined;
@@ -832,7 +913,6 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
832
913
  expirationReason: import("@lyxa.ai/core/dist/utilities/enum").CouponExpirationReason | null;
833
914
  orderLimitPerUser: number | null;
834
915
  isOrderLimitPerUserEnabled: boolean;
835
- shop: import("mongoose").Types.ObjectId;
836
916
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
837
917
  isShopCoverExpenses: boolean;
838
918
  firstOrderOnly: boolean;
@@ -844,6 +924,8 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
844
924
  } | undefined;
845
925
  createdBy?: import("mongoose").Types.ObjectId | undefined;
846
926
  isExpired?: boolean | undefined;
927
+ shop?: import("mongoose").Types.ObjectId | undefined;
928
+ vendor?: import("mongoose").Types.ObjectId | undefined;
847
929
  } | {
848
930
  code: string;
849
931
  value: number;
@@ -868,6 +950,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
868
950
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_USER;
869
951
  itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
870
952
  shops: import("mongoose").Types.ObjectId[];
953
+ vendors: import("mongoose").Types.ObjectId[];
871
954
  users: [import("mongoose").Types.ObjectId, ...import("mongoose").Types.ObjectId[]];
872
955
  secondaryCurrencyValue?: number | undefined;
873
956
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
@@ -901,6 +984,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
901
984
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.CUSTOM_COUPON;
902
985
  itemTypes: import("@lyxa.ai/core/dist/utilities/enum").ItemType[];
903
986
  shops: import("mongoose").Types.ObjectId[];
987
+ vendors: import("mongoose").Types.ObjectId[];
904
988
  influencer: import("mongoose").Types.ObjectId;
905
989
  secondaryCurrencyValue?: number | undefined;
906
990
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
@@ -1013,6 +1097,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
1013
1097
  isExpired?: boolean | undefined;
1014
1098
  itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1015
1099
  shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1100
+ vendors?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1016
1101
  isShopCoverExpenses?: boolean | undefined;
1017
1102
  firstOrderOnly?: boolean | undefined;
1018
1103
  } | {
@@ -1023,7 +1108,6 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
1023
1108
  start: string | Date;
1024
1109
  end?: string | Date | undefined;
1025
1110
  };
1026
- shop: string | import("mongoose").Types.ObjectId;
1027
1111
  couponType: import("@lyxa.ai/core/dist/utilities/enum").CouponType.INDIVIDUAL_STORE;
1028
1112
  status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
1029
1113
  secondaryCurrencyValue?: number | undefined;
@@ -1046,6 +1130,8 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
1046
1130
  isOrderLimitPerUserEnabled?: boolean | undefined;
1047
1131
  createdBy?: string | import("mongoose").Types.ObjectId | undefined;
1048
1132
  isExpired?: boolean | undefined;
1133
+ shop?: string | import("mongoose").Types.ObjectId | undefined;
1134
+ vendor?: string | import("mongoose").Types.ObjectId | undefined;
1049
1135
  isShopCoverExpenses?: boolean | undefined;
1050
1136
  firstOrderOnly?: boolean | undefined;
1051
1137
  } | {
@@ -1081,6 +1167,7 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
1081
1167
  isExpired?: boolean | undefined;
1082
1168
  itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1083
1169
  shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1170
+ vendors?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1084
1171
  } | {
1085
1172
  code: string;
1086
1173
  value: number;
@@ -1114,5 +1201,6 @@ export declare const CreateCouponSchema: import("zod").ZodEffects<import("zod").
1114
1201
  isExpired?: boolean | undefined;
1115
1202
  itemTypes?: import("@lyxa.ai/core/dist/utilities/enum").ItemType[] | undefined;
1116
1203
  shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1204
+ vendors?: (string | import("mongoose").Types.ObjectId)[] | undefined;
1117
1205
  }>;
1118
1206
  //# sourceMappingURL=create-coupon.validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/create-coupon.validation.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS9B,CAAC"}
1
+ {"version":3,"file":"create-coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/create-coupon.validation.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS9B,CAAC"}
@@ -6,6 +6,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
6
6
  influencer: 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>]>;
7
7
  itemTypes: z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof ItemType>, "many">>;
8
8
  shops: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
9
+ vendors: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>;
9
10
  valueType: z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>;
10
11
  value: z.ZodNumber;
11
12
  secondaryCurrencyValue: z.ZodOptional<z.ZodNumber>;
@@ -74,6 +75,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
74
75
  couponType: CouponType.CUSTOM_COUPON;
75
76
  itemTypes: ItemType[];
76
77
  shops: import("mongoose").Types.ObjectId[];
78
+ vendors: import("mongoose").Types.ObjectId[];
77
79
  influencer: import("mongoose").Types.ObjectId;
78
80
  secondaryCurrencyValue?: number | undefined;
79
81
  secondaryCurrencyMaxDiscountLimit?: number | undefined;
@@ -116,11 +118,13 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
116
118
  isExpired?: boolean | undefined;
117
119
  itemTypes?: ItemType[] | undefined;
118
120
  shops?: (string | import("mongoose").Types.ObjectId)[] | undefined;
121
+ vendors?: (string | import("mongoose").Types.ObjectId)[] | undefined;
119
122
  }>, CustomCouponSchema: z.ZodObject<{
120
123
  couponType: z.ZodOptional<z.ZodLiteral<CouponType.CUSTOM_COUPON>>;
121
124
  influencer: 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>]>>;
122
125
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof ItemType>, "many">>>;
123
126
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
127
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
124
128
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
125
129
  value: z.ZodOptional<z.ZodNumber>;
126
130
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -171,6 +175,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
171
175
  influencer: 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>]>>;
172
176
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof ItemType>, "many">>>;
173
177
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
178
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
174
179
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
175
180
  value: z.ZodOptional<z.ZodNumber>;
176
181
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -221,6 +226,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
221
226
  influencer: 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>]>>;
222
227
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof ItemType>, "many">>>;
223
228
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
229
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
224
230
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
225
231
  value: z.ZodOptional<z.ZodNumber>;
226
232
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -277,6 +283,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
277
283
  influencer: 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>]>>;
278
284
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof ItemType>, "many">>>;
279
285
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
286
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
280
287
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
281
288
  value: z.ZodOptional<z.ZodNumber>;
282
289
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -327,6 +334,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
327
334
  influencer: 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>]>>;
328
335
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof ItemType>, "many">>>;
329
336
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
337
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
330
338
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
331
339
  value: z.ZodOptional<z.ZodNumber>;
332
340
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -377,6 +385,7 @@ declare const CustomCouponValidationSchema: z.ZodObject<{
377
385
  influencer: 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
386
  itemTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodNativeEnum<typeof ItemType>, "many">>>;
379
387
  shops: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
388
+ vendors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, import("mongoose").Types.ObjectId, string>, z.ZodType<import("mongoose").Types.ObjectId, z.ZodTypeDef, import("mongoose").Types.ObjectId>]>, "many">>>;
380
389
  valueType: z.ZodOptional<z.ZodNativeEnum<typeof import("@lyxa.ai/core/dist/utilities/enum").ValueType>>;
381
390
  value: z.ZodOptional<z.ZodNumber>;
382
391
  secondaryCurrencyValue: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
@@ -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;AAwBzE,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"}
@@ -11,6 +11,7 @@ const baseFields = {
11
11
  influencer: global_validation_1.ZodValidation.objectId('Influencer'),
12
12
  itemTypes: global_validation_1.ZodValidation.array(global_validation_1.ZodValidation.enumType(enum_1.ItemType, 'Item type'), 'Item types').default([]),
13
13
  shops: global_validation_1.ZodValidation.array(global_validation_1.ZodValidation.objectId('Shop'), 'Shops').default([]),
14
+ vendors: global_validation_1.ZodValidation.array(global_validation_1.ZodValidation.objectId('Vendor'), 'Vendors').default([]),
14
15
  };
15
16
  const schemaBuilder = (0, global_validation_1.createSchemaBuilder)(baseFields);
16
17
  const { BaseSchema: CustomCouponValidationSchema, EntitySchema: CustomCouponSchema, IdSchema: CustomCouponIdSchema, UpdateSchema: UpdateCustomCouponSchema, } = schemaBuilder.getAllSchemas({ createdAt: true });
@@ -1 +1 @@
1
- {"version":3,"file":"custom-coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/custom-coupon.validation.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iGAImE;AACnE,2DAAqE;AACrE,4DAAyE;AAKzE,MAAM,UAAU,GAAG;IAClB,GAAG,8BAAgB;IACnB,UAAU,EAAE,OAAC,CAAC,OAAO,CAAC,iBAAU,CAAC,aAAa,CAAC;IAC/C,UAAU,EAAE,iCAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;IAChD,SAAS,EAAE,iCAAa,CAAC,KAAK,CAAC,iCAAa,CAAC,QAAQ,CAAC,eAAQ,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACvG,KAAK,EAAE,iCAAa,CAAC,KAAK,CAAC,iCAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/E,CAAC;AAOF,MAAM,aAAa,GAAG,IAAA,uCAAmB,EAAC,UAAU,CAAC,CAAC;AAKtD,MAAM,EACL,UAAU,EAAE,4BAA4B,EACxC,YAAY,EAAE,kBAAkB,EAChC,QAAQ,EAAE,oBAAoB,EAC9B,YAAY,EAAE,wBAAwB,GACtC,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAMpD,oEAA4B;AAC5B,gDAAkB;AACM,8DAA8B;AACtD,4DAAwB","sourcesContent":["import { z } from 'zod';\nimport {\n\tZodValidation,\n\tcreateSchemaBuilder,\n\tDTO\n} from '@lyxa.ai/core/dist/utilities/validation/global-validation';\nimport { baseFields as baseCouponFields } from './coupon.validation';\nimport { CouponType, ItemType } from '@lyxa.ai/core/dist/utilities/enum';\n\n/**\n * Define the base parent schema fields\n */\nconst baseFields = {\n\t...baseCouponFields,\n\tcouponType: z.literal(CouponType.CUSTOM_COUPON),\n\tinfluencer: ZodValidation.objectId('Influencer'),\n\titemTypes: ZodValidation.array(ZodValidation.enumType(ItemType, 'Item type'), 'Item types').default([]),\n\tshops: ZodValidation.array(ZodValidation.objectId('Shop'), 'Shops').default([]),\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: CustomCouponValidationSchema,\n\tEntitySchema: CustomCouponSchema,\n\tIdSchema: CustomCouponIdSchema,\n\tUpdateSchema: UpdateCustomCouponSchema,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\n/**\n * Export schemas\n */\nexport {\n\tCustomCouponValidationSchema,\n\tCustomCouponSchema,\n\tCustomCouponIdSchema as CustomCouponIdValidationSchema,\n\tUpdateCustomCouponSchema,\n};\n\n/**\n * Export DTO types\n */\nexport type CreateCustomCouponDTO = DTO<typeof CustomCouponValidationSchema>;\nexport type CustomCouponDTO = DTO<typeof CustomCouponSchema>;\nexport type UpdateCustomCouponDTO = DTO<typeof UpdateCustomCouponSchema>;\n"]}
1
+ {"version":3,"file":"custom-coupon.validation.js","sourceRoot":"/","sources":["modules/coupon/validations/custom-coupon.validation.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iGAImE;AACnE,2DAAqE;AACrE,4DAAyE;AAKzE,MAAM,UAAU,GAAG;IAClB,GAAG,8BAAgB;IACnB,UAAU,EAAE,OAAC,CAAC,OAAO,CAAC,iBAAU,CAAC,aAAa,CAAC;IAC/C,UAAU,EAAE,iCAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;IAChD,SAAS,EAAE,iCAAa,CAAC,KAAK,CAAC,iCAAa,CAAC,QAAQ,CAAC,eAAQ,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACvG,KAAK,EAAE,iCAAa,CAAC,KAAK,CAAC,iCAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/E,OAAO,EAAE,iCAAa,CAAC,KAAK,CAAC,iCAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACrF,CAAC;AAOF,MAAM,aAAa,GAAG,IAAA,uCAAmB,EAAC,UAAU,CAAC,CAAC;AAKtD,MAAM,EACL,UAAU,EAAE,4BAA4B,EACxC,YAAY,EAAE,kBAAkB,EAChC,QAAQ,EAAE,oBAAoB,EAC9B,YAAY,EAAE,wBAAwB,GACtC,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAMpD,oEAA4B;AAC5B,gDAAkB;AACM,8DAA8B;AACtD,4DAAwB","sourcesContent":["import { z } from 'zod';\nimport {\n\tZodValidation,\n\tcreateSchemaBuilder,\n\tDTO,\n} from '@lyxa.ai/core/dist/utilities/validation/global-validation';\nimport { baseFields as baseCouponFields } from './coupon.validation';\nimport { CouponType, ItemType } from '@lyxa.ai/core/dist/utilities/enum';\n\n/**\n * Define the base parent schema fields\n */\nconst baseFields = {\n\t...baseCouponFields,\n\tcouponType: z.literal(CouponType.CUSTOM_COUPON),\n\tinfluencer: ZodValidation.objectId('Influencer'),\n\titemTypes: ZodValidation.array(ZodValidation.enumType(ItemType, 'Item type'), 'Item types').default([]),\n\tshops: ZodValidation.array(ZodValidation.objectId('Shop'), 'Shops').default([]),\n\tvendors: ZodValidation.array(ZodValidation.objectId('Vendor'), 'Vendors').default([]),\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: CustomCouponValidationSchema,\n\tEntitySchema: CustomCouponSchema,\n\tIdSchema: CustomCouponIdSchema,\n\tUpdateSchema: UpdateCustomCouponSchema,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\n/**\n * Export schemas\n */\nexport {\n\tCustomCouponValidationSchema,\n\tCustomCouponSchema,\n\tCustomCouponIdSchema as CustomCouponIdValidationSchema,\n\tUpdateCustomCouponSchema,\n};\n\n/**\n * Export DTO types\n */\nexport type CreateCustomCouponDTO = DTO<typeof CustomCouponValidationSchema>;\nexport type CustomCouponDTO = DTO<typeof CustomCouponSchema>;\nexport type UpdateCustomCouponDTO = DTO<typeof UpdateCustomCouponSchema>;\n"]}