@lyxa.ai/marketing 1.0.30 → 1.0.32

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