@lyxa.ai/marketing 1.0.65 → 1.0.68

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 (91) hide show
  1. package/dist/lib/modules/coupon/routers/coupon.router.d.ts +159 -10
  2. package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  3. package/dist/lib/modules/coupon/routers/coupon.router.js +28 -0
  4. package/dist/lib/modules/coupon/routers/coupon.router.js.map +1 -1
  5. package/dist/lib/modules/coupon/services/coupon.service.d.ts +28 -3
  6. package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -1
  7. package/dist/lib/modules/coupon/services/coupon.service.js +18 -2
  8. package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -1
  9. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
  10. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js +11 -14
  11. package/dist/lib/modules/coupon/services/patterns/repository/CouponMetricsRepository.js.map +1 -1
  12. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts +30 -2
  13. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
  14. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js +412 -2
  15. package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js.map +1 -1
  16. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +580 -1
  17. package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  18. package/dist/lib/modules/coupon/validations/coupon.validation.js +48 -1
  19. package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
  20. package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts +4 -4
  21. package/dist/lib/modules/deal-setting/routers/deal-setting.router.d.ts.map +1 -1
  22. package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts +4 -4
  23. package/dist/lib/modules/featured-setting/routers/featured-setting.router.d.ts.map +1 -1
  24. package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts.map +1 -1
  25. package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js +1 -0
  26. package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js.map +1 -1
  27. package/dist/lib/modules/marketing/routers/marketing.router.d.ts +4 -4
  28. package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  29. package/dist/lib/modules/marketing/services/index.d.ts +1 -0
  30. package/dist/lib/modules/marketing/services/index.d.ts.map +1 -1
  31. package/dist/lib/modules/marketing/services/index.js +1 -0
  32. package/dist/lib/modules/marketing/services/index.js.map +1 -1
  33. package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
  34. package/dist/lib/modules/marketing/services/marketing.service.js +34 -27
  35. package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
  36. package/dist/lib/modules/marketing/services/new-user-discount-marketing.service.d.ts +11 -0
  37. package/dist/lib/modules/marketing/services/new-user-discount-marketing.service.d.ts.map +1 -0
  38. package/dist/lib/modules/marketing/services/new-user-discount-marketing.service.js +116 -0
  39. package/dist/lib/modules/marketing/services/new-user-discount-marketing.service.js.map +1 -0
  40. package/dist/lib/modules/marketing/validations/all-marketings.validation.d.ts.map +1 -1
  41. package/dist/lib/modules/marketing/validations/all-marketings.validation.js +3 -0
  42. package/dist/lib/modules/marketing/validations/all-marketings.validation.js.map +1 -1
  43. package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +6 -6
  44. package/dist/lib/modules/marketing/validations/index.d.ts +1 -0
  45. package/dist/lib/modules/marketing/validations/index.d.ts.map +1 -1
  46. package/dist/lib/modules/marketing/validations/index.js +1 -0
  47. package/dist/lib/modules/marketing/validations/index.js.map +1 -1
  48. package/dist/lib/modules/marketing/validations/new-user-discount-marketing.validation.d.ts +677 -0
  49. package/dist/lib/modules/marketing/validations/new-user-discount-marketing.validation.d.ts.map +1 -0
  50. package/dist/lib/modules/marketing/validations/new-user-discount-marketing.validation.js +83 -0
  51. package/dist/lib/modules/marketing/validations/new-user-discount-marketing.validation.js.map +1 -0
  52. package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.d.ts.map +1 -1
  53. package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.js +30 -0
  54. package/dist/lib/modules/marketing/validations/spend-to-get-marketing.validation.js.map +1 -1
  55. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +4 -4
  56. package/dist/lib/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts.map +1 -1
  57. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.d.ts +4 -4
  58. package/dist/lib/modules/spend-to-get-history/spend-to-get-history.router.d.ts.map +1 -1
  59. package/dist/types/modules/coupon/routers/coupon.router.d.ts +159 -10
  60. package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
  61. package/dist/types/modules/coupon/services/coupon.service.d.ts +28 -3
  62. package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
  63. package/dist/types/modules/coupon/services/patterns/repository/CouponMetricsRepository.d.ts.map +1 -1
  64. package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts +30 -2
  65. package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
  66. package/dist/types/modules/coupon/validations/coupon.validation.d.ts +580 -1
  67. package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
  68. package/dist/types/modules/deal-setting/routers/deal-setting.router.d.ts +4 -4
  69. package/dist/types/modules/deal-setting/routers/deal-setting.router.d.ts.map +1 -1
  70. package/dist/types/modules/featured-setting/routers/featured-setting.router.d.ts +4 -4
  71. package/dist/types/modules/featured-setting/routers/featured-setting.router.d.ts.map +1 -1
  72. package/dist/types/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts.map +1 -1
  73. package/dist/types/modules/marketing/routers/marketing.router.d.ts +4 -4
  74. package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
  75. package/dist/types/modules/marketing/services/index.d.ts +1 -0
  76. package/dist/types/modules/marketing/services/index.d.ts.map +1 -1
  77. package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
  78. package/dist/types/modules/marketing/services/new-user-discount-marketing.service.d.ts +20 -0
  79. package/dist/types/modules/marketing/services/new-user-discount-marketing.service.d.ts.map +1 -0
  80. package/dist/types/modules/marketing/validations/all-marketings.validation.d.ts.map +1 -1
  81. package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +6 -6
  82. package/dist/types/modules/marketing/validations/index.d.ts +1 -0
  83. package/dist/types/modules/marketing/validations/index.d.ts.map +1 -1
  84. package/dist/types/modules/marketing/validations/new-user-discount-marketing.validation.d.ts +686 -0
  85. package/dist/types/modules/marketing/validations/new-user-discount-marketing.validation.d.ts.map +1 -0
  86. package/dist/types/modules/marketing/validations/spend-to-get-marketing.validation.d.ts.map +1 -1
  87. package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts +4 -4
  88. package/dist/types/modules/punch-marketing-history/routers/punch-marketing-history.router.d.ts.map +1 -1
  89. package/dist/types/modules/spend-to-get-history/spend-to-get-history.router.d.ts +4 -4
  90. package/dist/types/modules/spend-to-get-history/spend-to-get-history.router.d.ts.map +1 -1
  91. package/package.json +2 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-user-discount-marketing.validation.d.ts","sourceRoot":"/","sources":["modules/marketing/validations/new-user-discount-marketing.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGN,GAAG,EACH,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAkC7E,QAAA,MACa,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACtC,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAClC,gCAAgC,iNAES,CAAC;AAErD,QAAA,MAAM,+CAA+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCpD,CAAC;AAEF,QAAA,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAoBzC,CAAC;AAKF,OAAO,EACN,+CAA+C,IAAI,wCAAwC,EAC3F,8BAA8B,EAC9B,gCAAgC,IAAI,0CAA0C,EAC9E,oCAAoC,GACpC,CAAC;AAKF,MAAM,MAAM,iCAAiC,GAAG,GAAG,CAAC,OAAO,wCAAwC,CAAC,CAAC;AACrG,MAAM,MAAM,2BAA2B,GAAG,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACrF,MAAM,MAAM,iCAAiC,GAAG,GAAG,CAAC,OAAO,oCAAoC,CAAC,CAAC"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateNewUserDiscountMarketingSchema = exports.NewUserDiscountMarketingIdValidationSchema = exports.NewUserDiscountMarketingSchema = exports.NewUserDiscountMarketingValidationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const global_validation_1 = require("@lyxa.ai/core/dist/utilities/validation/global-validation");
6
+ const enum_1 = require("@lyxa.ai/core/dist/utilities/enum");
7
+ const marketing_validation_1 = require("./marketing.validation");
8
+ const product_marketing_validation_1 = require("./product-marketing.validation");
9
+ const baseFields = {
10
+ ...marketing_validation_1.baseMarketingFields,
11
+ marketingType: zod_1.z.literal(enum_1.MarketingType.NEW_USER_DISCOUNT),
12
+ categories: global_validation_1.ZodValidation.array(global_validation_1.ZodValidation.objectId('Category'), 'Categories').optional().default([]),
13
+ isEntireMenu: global_validation_1.ZodValidation.boolean('IsEntireMenu').default(false),
14
+ valueType: global_validation_1.ZodValidation.enumType(enum_1.ValueType, 'Value type').optional(),
15
+ value: global_validation_1.ZodValidation.number('Value').optional(),
16
+ products: global_validation_1.ZodValidation.array(zod_1.z.object(product_marketing_validation_1.baseFields), 'Products').optional().default([]),
17
+ excludeProducts: global_validation_1.ZodValidation.array(global_validation_1.ZodValidation.objectId('Exclude Product'), 'Exclude Products')
18
+ .optional()
19
+ .default([]),
20
+ maxDiscountPerOrder: global_validation_1.ZodValidation.number('Max discount per order').default(0),
21
+ isMaxDiscountPerOrderEnabled: global_validation_1.ZodValidation.boolean('Is max discount per order enabled').default(false),
22
+ spendLimit: global_validation_1.ZodValidation.number('Spend limit').default(0),
23
+ isSpendLimitEnabled: global_validation_1.ZodValidation.boolean('Is spend limit enabled').default(false),
24
+ };
25
+ const schemaBuilder = (0, global_validation_1.createSchemaBuilder)(baseFields);
26
+ const { BaseSchema: NewUserDiscountMarketingValidationSchema, EntitySchema: NewUserDiscountMarketingSchema, IdSchema: NewUserDiscountMarketingIdSchema, UpdateSchema: UpdateNewUserDiscountMarketingSchemaWithoutRefinement, } = schemaBuilder.getAllSchemas({ createdAt: true });
27
+ exports.NewUserDiscountMarketingSchema = NewUserDiscountMarketingSchema;
28
+ exports.NewUserDiscountMarketingIdValidationSchema = NewUserDiscountMarketingIdSchema;
29
+ const NewUserDiscountMarketingValidationSchemaRefined = NewUserDiscountMarketingValidationSchema.superRefine((data, ctx) => {
30
+ if (data.duration.end && data.duration.end.getTime() <= data.duration.start.getTime()) {
31
+ ctx.addIssue({
32
+ code: zod_1.z.ZodIssueCode.custom,
33
+ message: 'End date must be after the start date',
34
+ path: ['duration', 'end'],
35
+ });
36
+ }
37
+ if (data.maxDiscountPerOrder && data.spendLimit) {
38
+ if (data.maxDiscountPerOrder > data.spendLimit) {
39
+ ctx.addIssue({
40
+ code: zod_1.z.ZodIssueCode.custom,
41
+ message: 'Spend limit cannot be less than max discount per order',
42
+ path: ['maxDiscountPerOrder', 'spendLimit'],
43
+ });
44
+ }
45
+ }
46
+ if (data.products.length > 0 && (data.value || data.valueType || data.isEntireMenu)) {
47
+ ctx.addIssue({
48
+ code: zod_1.z.ZodIssueCode.custom,
49
+ message: 'Please provide discount information for either individual products or the entire menu',
50
+ path: ['products', 'value', 'valueType', 'isEntireMenu'],
51
+ });
52
+ }
53
+ if (data.products.length < 1 &&
54
+ data.categories.length < 1 &&
55
+ !(data.value && data.valueType && data.isEntireMenu)) {
56
+ ctx.addIssue({
57
+ code: zod_1.z.ZodIssueCode.custom,
58
+ message: 'Please provide discount information for individual products or categories or the entire menu',
59
+ path: ['products', 'value', 'valueType', 'isEntireMenu', 'categories'],
60
+ });
61
+ }
62
+ });
63
+ exports.NewUserDiscountMarketingValidationSchema = NewUserDiscountMarketingValidationSchemaRefined;
64
+ const UpdateNewUserDiscountMarketingSchema = UpdateNewUserDiscountMarketingSchemaWithoutRefinement.superRefine((data, ctx) => {
65
+ if (data.duration?.end && data.duration.end.getTime() <= data.duration.start.getTime()) {
66
+ ctx.addIssue({
67
+ code: zod_1.z.ZodIssueCode.custom,
68
+ message: 'End date must be after the start date',
69
+ path: ['duration', 'end'],
70
+ });
71
+ }
72
+ if (data.maxDiscountPerOrder && data.spendLimit) {
73
+ if (data.maxDiscountPerOrder > data.spendLimit) {
74
+ ctx.addIssue({
75
+ code: zod_1.z.ZodIssueCode.custom,
76
+ message: 'Spend limit cannot be less than max discount per order',
77
+ path: ['maxDiscountPerOrder', 'spendLimit'],
78
+ });
79
+ }
80
+ }
81
+ });
82
+ exports.UpdateNewUserDiscountMarketingSchema = UpdateNewUserDiscountMarketingSchema;
83
+ //# sourceMappingURL=new-user-discount-marketing.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-user-discount-marketing.validation.js","sourceRoot":"/","sources":["modules/marketing/validations/new-user-discount-marketing.validation.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iGAImE;AACnE,4DAA6E;AAC7E,iEAA6D;AAC7D,iFAA0F;AAK1F,MAAM,UAAU,GAAG;IAClB,GAAG,0CAAmB;IACtB,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAa,CAAC,iBAAiB,CAAC;IACzD,UAAU,EAAE,iCAAa,CAAC,KAAK,CAAC,iCAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxG,YAAY,EAAE,iCAAa,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAClE,SAAS,EAAE,iCAAa,CAAC,QAAQ,CAAC,gBAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE;IACrE,KAAK,EAAE,iCAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,iCAAa,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC,yCAA0B,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtG,eAAe,EAAE,iCAAa,CAAC,KAAK,CAAC,iCAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;SACjG,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;IACb,mBAAmB,EAAE,iCAAa,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,4BAA4B,EAAE,iCAAa,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACvG,UAAU,EAAE,iCAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,mBAAmB,EAAE,iCAAa,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CACnF,CAAC;AAOF,MAAM,aAAa,GAAG,IAAA,uCAAmB,EAAC,UAAU,CAAC,CAAC;AAKtD,MAAM,EACL,UAAU,EAAE,wCAAwC,EACpD,YAAY,EAAE,8BAA8B,EAC5C,QAAQ,EAAE,gCAAgC,EAC1C,YAAY,EAAE,qDAAqD,GACnE,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAwEpD,wEAA8B;AACM,sFAA0C;AAvE/E,MAAM,+CAA+C,GAAG,wCAAwC,CAAC,WAAW,CAC3G,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACb,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACvF,GAAG,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,uCAAuC;YAChD,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;SACzB,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,GAAG,CAAC,QAAQ,CAAC;gBACZ,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,wDAAwD;gBACjE,IAAI,EAAE,CAAC,qBAAqB,EAAE,YAAY,CAAC;aAC3C,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,uFAAuF;YAChG,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC;SACxD,CAAC,CAAC;IACJ,CAAC;IAED,IACC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,EACnD,CAAC;QACF,GAAG,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EACN,8FAA8F;YAC/F,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC;SACtE,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CACD,CAAC;AA4BkD,mGAAwC;AA1B5F,MAAM,oCAAoC,GAAG,qDAAqD,CAAC,WAAW,CAC7G,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACb,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACxF,GAAG,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,uCAAuC;YAChD,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;SACzB,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,GAAG,CAAC,QAAQ,CAAC;gBACZ,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,wDAAwD;gBACjE,IAAI,EAAE,CAAC,qBAAqB,EAAE,YAAY,CAAC;aAC3C,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;AACF,CAAC,CACD,CAAC;AASD,oFAAoC","sourcesContent":["import { z } from 'zod';\nimport {\n\tZodValidation,\n\tcreateSchemaBuilder,\n\tDTO,\n} from '@lyxa.ai/core/dist/utilities/validation/global-validation';\nimport { MarketingType, ValueType } from '@lyxa.ai/core/dist/utilities/enum';\nimport { baseMarketingFields } from './marketing.validation';\nimport { baseFields as baseProductMarketingFields } from './product-marketing.validation';\n\n/**\n * Define the base parent schema fields\n */\nconst baseFields = {\n\t...baseMarketingFields,\n\tmarketingType: z.literal(MarketingType.NEW_USER_DISCOUNT),\n\tcategories: ZodValidation.array(ZodValidation.objectId('Category'), 'Categories').optional().default([]),\n\tisEntireMenu: ZodValidation.boolean('IsEntireMenu').default(false),\n\tvalueType: ZodValidation.enumType(ValueType, 'Value type').optional(),\n\tvalue: ZodValidation.number('Value').optional(),\n\tproducts: ZodValidation.array(z.object(baseProductMarketingFields), 'Products').optional().default([]),\n\texcludeProducts: ZodValidation.array(ZodValidation.objectId('Exclude Product'), 'Exclude Products')\n\t\t.optional()\n\t\t.default([]),\n\tmaxDiscountPerOrder: ZodValidation.number('Max discount per order').default(0),\n\tisMaxDiscountPerOrderEnabled: ZodValidation.boolean('Is max discount per order enabled').default(false),\n\tspendLimit: ZodValidation.number('Spend limit').default(0),\n\tisSpendLimitEnabled: ZodValidation.boolean('Is spend limit enabled').default(false),\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: NewUserDiscountMarketingValidationSchema,\n\tEntitySchema: NewUserDiscountMarketingSchema,\n\tIdSchema: NewUserDiscountMarketingIdSchema,\n\tUpdateSchema: UpdateNewUserDiscountMarketingSchemaWithoutRefinement,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\nconst NewUserDiscountMarketingValidationSchemaRefined = NewUserDiscountMarketingValidationSchema.superRefine(\n\t(data, ctx) => {\n\t\tif (data.duration.end && data.duration.end.getTime() <= data.duration.start.getTime()) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'End date must be after the start date',\n\t\t\t\tpath: ['duration', 'end'],\n\t\t\t});\n\t\t}\n\n\t\tif (data.maxDiscountPerOrder && data.spendLimit) {\n\t\t\tif (data.maxDiscountPerOrder > data.spendLimit) {\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: 'Spend limit cannot be less than max discount per order',\n\t\t\t\t\tpath: ['maxDiscountPerOrder', 'spendLimit'],\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (data.products.length > 0 && (data.value || data.valueType || data.isEntireMenu)) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Please provide discount information for either individual products or the entire menu',\n\t\t\t\tpath: ['products', 'value', 'valueType', 'isEntireMenu'],\n\t\t\t});\n\t\t}\n\n\t\tif (\n\t\t\tdata.products.length < 1 &&\n\t\t\tdata.categories.length < 1 &&\n\t\t\t!(data.value && data.valueType && data.isEntireMenu)\n\t\t) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage:\n\t\t\t\t\t'Please provide discount information for individual products or categories or the entire menu',\n\t\t\t\tpath: ['products', 'value', 'valueType', 'isEntireMenu', 'categories'],\n\t\t\t});\n\t\t}\n\t}\n);\n\nconst UpdateNewUserDiscountMarketingSchema = UpdateNewUserDiscountMarketingSchemaWithoutRefinement.superRefine(\n\t(data, ctx) => {\n\t\tif (data.duration?.end && data.duration.end.getTime() <= data.duration.start.getTime()) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'End date must be after the start date',\n\t\t\t\tpath: ['duration', 'end'],\n\t\t\t});\n\t\t}\n\n\t\tif (data.maxDiscountPerOrder && data.spendLimit) {\n\t\t\tif (data.maxDiscountPerOrder > data.spendLimit) {\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: 'Spend limit cannot be less than max discount per order',\n\t\t\t\t\tpath: ['maxDiscountPerOrder', 'spendLimit'],\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n);\n\n/**\n * Export schemas\n */\nexport {\n\tNewUserDiscountMarketingValidationSchemaRefined as NewUserDiscountMarketingValidationSchema,\n\tNewUserDiscountMarketingSchema,\n\tNewUserDiscountMarketingIdSchema as NewUserDiscountMarketingIdValidationSchema,\n\tUpdateNewUserDiscountMarketingSchema,\n};\n\n/**\n * Export DTO types\n */\nexport type CreateNewUserDiscountMarketingDTO = DTO<typeof NewUserDiscountMarketingValidationSchema>;\nexport type NewUserDiscountMarketingDTO = DTO<typeof NewUserDiscountMarketingSchema>;\nexport type UpdateNewUserDiscountMarketingDTO = DTO<typeof UpdateNewUserDiscountMarketingSchema>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"spend-to-get-marketing.validation.d.ts","sourceRoot":"/","sources":["modules/marketing/validations/spend-to-get-marketing.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGN,GAAG,EACH,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAOxF,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDvB,CAAC;AAyBJ,QAAA,MAEe,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAC7B,2BAA2B,iNAEc,CAAC;AAwCrD,QAAA,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxC,CAAC;AAEF,QAAA,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAOpC,CAAC;AAKF,OAAO,EACN,mCAAmC,EACnC,yBAAyB,EACzB,2BAA2B,IAAI,qCAAqC,EACpE,+BAA+B,EAC/B,oBAAoB,GACpB,CAAC;AAKF,MAAM,MAAM,4BAA4B,GAAG,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAC3F,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC3E,MAAM,MAAM,4BAA4B,GAAG,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACvF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"spend-to-get-marketing.validation.d.ts","sourceRoot":"/","sources":["modules/marketing/validations/spend-to-get-marketing.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGN,GAAG,EACH,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAOxF,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDvB,CAAC;AAyBJ,QAAA,MAEe,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAC7B,2BAA2B,iNAEc,CAAC;AA6DrD,QAAA,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcxC,CAAC;AAEF,QAAA,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAgBpC,CAAC;AAKF,OAAO,EACN,mCAAmC,EACnC,yBAAyB,EACzB,2BAA2B,IAAI,qCAAqC,EACpE,+BAA+B,EAC/B,oBAAoB,GACpB,CAAC;AAKF,MAAM,MAAM,4BAA4B,GAAG,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAC3F,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC3E,MAAM,MAAM,4BAA4B,GAAG,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACvF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -88,6 +88,20 @@ function addAscendingTierIssues(tiers, ctx) {
88
88
  }
89
89
  }
90
90
  }
91
+ function addFreeDeliveryUniquenessIssues(tiers, ctx) {
92
+ const freeDeliveryCount = tiers.filter(tier => tier.rewardType === enum_1.SpendToGetRewardType.FREE_DELIVERY).length;
93
+ if (freeDeliveryCount <= 1)
94
+ return;
95
+ for (let i = 0; i < tiers.length; i++) {
96
+ if (tiers[i].rewardType === enum_1.SpendToGetRewardType.FREE_DELIVERY) {
97
+ ctx.addIssue({
98
+ code: zod_1.z.ZodIssueCode.custom,
99
+ message: 'Only one tier can offer free delivery.',
100
+ path: ['tiers', i, 'rewardType'],
101
+ });
102
+ }
103
+ }
104
+ }
91
105
  function addLimitIssues(data, ctx) {
92
106
  if (data.isSpendLimitEnabled && (!data.spendLimit || data.spendLimit <= 0)) {
93
107
  ctx.addIssue({
@@ -105,13 +119,29 @@ function addLimitIssues(data, ctx) {
105
119
  }
106
120
  }
107
121
  const SpendToGetMarketingValidationSchema = SpendToGetMarketingValidationSchemaWithoutRefinement.superRefine((data, ctx) => {
122
+ if (data.duration.end && data.duration.end.getTime() <= data.duration.start.getTime()) {
123
+ ctx.addIssue({
124
+ code: zod_1.z.ZodIssueCode.custom,
125
+ message: 'End date must be after the start date',
126
+ path: ['duration', 'end'],
127
+ });
128
+ }
108
129
  addAscendingTierIssues(data.tiers, ctx);
130
+ addFreeDeliveryUniquenessIssues(data.tiers, ctx);
109
131
  addLimitIssues(data, ctx);
110
132
  });
111
133
  exports.SpendToGetMarketingValidationSchema = SpendToGetMarketingValidationSchema;
112
134
  const UpdateSpendToGetMarketingSchema = UpdateSpendToGetMarketingSchemaWithoutRefinement.superRefine((data, ctx) => {
135
+ if (data.duration?.end && data.duration.end.getTime() <= data.duration.start.getTime()) {
136
+ ctx.addIssue({
137
+ code: zod_1.z.ZodIssueCode.custom,
138
+ message: 'End date must be after the start date',
139
+ path: ['duration', 'end'],
140
+ });
141
+ }
113
142
  if (data.tiers) {
114
143
  addAscendingTierIssues(data.tiers, ctx);
144
+ addFreeDeliveryUniquenessIssues(data.tiers, ctx);
115
145
  }
116
146
  addLimitIssues(data, ctx);
117
147
  });
@@ -1 +1 @@
1
- {"version":3,"file":"spend-to-get-marketing.validation.js","sourceRoot":"/","sources":["modules/marketing/validations/spend-to-get-marketing.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 { MarketingType, SpendToGetRewardType } from '@lyxa.ai/core/dist/utilities/enum';\nimport { baseMarketingFields } from './marketing.validation';\n\n/**\n * Single spend tier: minimum spend + reward. Reward value is required for\n * PERCENTAGE/FIXED and forbidden for FREE_DELIVERY; maxDiscountCap only applies to PERCENTAGE.\n */\nconst SpendToGetTierSchema = z\n\t.object({\n\t\tminSpend: ZodValidation.number('Minimum spend', { isNonnegative: true }),\n\t\trewardType: ZodValidation.enumType(SpendToGetRewardType, 'Reward type'),\n\t\trewardValue: ZodValidation.number('Reward value').optional(),\n\t\tmaxDiscountCap: ZodValidation.number('Maximum discount cap').optional(),\n\t\tisMaxDiscountCapEnabled: ZodValidation.boolean('Is maximum discount cap enabled').default(false),\n\t})\n\t.superRefine((tier, ctx) => {\n\t\tif (tier.rewardType === SpendToGetRewardType.FREE_DELIVERY) {\n\t\t\tif (tier.rewardValue !== undefined) {\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: 'Reward value is not applicable for Free Delivery',\n\t\t\t\t\tpath: ['rewardValue'],\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (tier.rewardValue === undefined) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Reward value is required',\n\t\t\t\tpath: ['rewardValue'],\n\t\t\t});\n\t\t} else if (tier.rewardType === SpendToGetRewardType.PERCENTAGE) {\n\t\t\tif (tier.rewardValue < 1 || tier.rewardValue > 100) {\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: 'Percentage reward value must be between 1 and 100',\n\t\t\t\t\tpath: ['rewardValue'],\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (tier.rewardType === SpendToGetRewardType.FIXED) {\n\t\t\tif (tier.rewardValue <= 0) {\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: 'Fixed reward value must be greater than 0',\n\t\t\t\t\tpath: ['rewardValue'],\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (tier.rewardValue >= tier.minSpend) {\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: \"Fixed reward value must be less than the tier's minimum spend\",\n\t\t\t\t\tpath: ['rewardValue'],\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (tier.maxDiscountCap !== undefined && tier.rewardType !== SpendToGetRewardType.PERCENTAGE) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Maximum discount cap only applies to Percentage rewards',\n\t\t\t\tpath: ['maxDiscountCap'],\n\t\t\t});\n\t\t}\n\t});\n\n/**\n * Define the base parent schema fields\n */\nconst baseFields = {\n\t...baseMarketingFields,\n\tmarketingType: z.literal(MarketingType.SPEND_TO_GET),\n\ttiers: ZodValidation.array(SpendToGetTierSchema, 'Tiers', 1),\n\tperUserLimit: ZodValidation.number('Per user limit', { isPositive: true }).optional(),\n\tisPerUserLimitEnabled: ZodValidation.boolean('Is per user limit enabled').default(false),\n\tspendLimit: ZodValidation.number('Spend limit').default(0),\n\tisSpendLimitEnabled: ZodValidation.boolean('Is spend limit enabled').default(false),\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: SpendToGetMarketingValidationSchemaWithoutRefinement,\n\tEntitySchema: SpendToGetMarketingSchema,\n\tIdSchema: SpendToGetMarketingIdSchema,\n\tUpdateSchema: UpdateSpendToGetMarketingSchemaWithoutRefinement,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\nfunction addAscendingTierIssues(tiers: { minSpend: number }[], ctx: z.RefinementCtx): void {\n\tfor (let i = 1; i < tiers.length; i++) {\n\t\tif (tiers[i].minSpend <= tiers[i - 1].minSpend) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: \"Each tier's minimum spend must be higher than the previous tier.\",\n\t\t\t\tpath: ['tiers', i, 'minSpend'],\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction addLimitIssues(\n\tdata: {\n\t\tisSpendLimitEnabled?: boolean;\n\t\tspendLimit?: number;\n\t\tisPerUserLimitEnabled?: boolean;\n\t\tperUserLimit?: number;\n\t},\n\tctx: z.RefinementCtx\n): void {\n\tif (data.isSpendLimitEnabled && (!data.spendLimit || data.spendLimit <= 0)) {\n\t\tctx.addIssue({\n\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\tmessage: 'Spend limit must be greater than 0 when enabled',\n\t\t\tpath: ['spendLimit', 'isSpendLimitEnabled'],\n\t\t});\n\t}\n\n\tif (data.isPerUserLimitEnabled && (!data.perUserLimit || data.perUserLimit <= 0)) {\n\t\tctx.addIssue({\n\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\tmessage: 'Per user limit must be greater than 0 when enabled',\n\t\t\tpath: ['perUserLimit', 'isPerUserLimitEnabled'],\n\t\t});\n\t}\n}\n\nconst SpendToGetMarketingValidationSchema = SpendToGetMarketingValidationSchemaWithoutRefinement.superRefine(\n\t(data, ctx) => {\n\t\taddAscendingTierIssues(data.tiers, ctx);\n\t\taddLimitIssues(data, ctx);\n\t}\n);\n\nconst UpdateSpendToGetMarketingSchema = UpdateSpendToGetMarketingSchemaWithoutRefinement.superRefine(\n\t(data, ctx) => {\n\t\tif (data.tiers) {\n\t\t\taddAscendingTierIssues(data.tiers, ctx);\n\t\t}\n\t\taddLimitIssues(data, ctx);\n\t}\n);\n\n/**\n * Export schemas\n */\nexport {\n\tSpendToGetMarketingValidationSchema,\n\tSpendToGetMarketingSchema,\n\tSpendToGetMarketingIdSchema as SpendToGetMarketingIdValidationSchema,\n\tUpdateSpendToGetMarketingSchema,\n\tSpendToGetTierSchema,\n};\n\n/**\n * Export DTO types\n */\nexport type CreateSpendToGetMarketingDTO = DTO<typeof SpendToGetMarketingValidationSchema>;\nexport type SpendToGetMarketingDTO = DTO<typeof SpendToGetMarketingSchema>;\nexport type UpdateSpendToGetMarketingDTO = DTO<typeof UpdateSpendToGetMarketingSchema>;\nexport type SpendToGetTierDTO = DTO<typeof SpendToGetTierSchema>;\n"]}
1
+ {"version":3,"file":"spend-to-get-marketing.validation.js","sourceRoot":"/","sources":["modules/marketing/validations/spend-to-get-marketing.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 { MarketingType, SpendToGetRewardType } from '@lyxa.ai/core/dist/utilities/enum';\nimport { baseMarketingFields } from './marketing.validation';\n\n/**\n * Single spend tier: minimum spend + reward. Reward value is required for\n * PERCENTAGE/FIXED and forbidden for FREE_DELIVERY; maxDiscountCap only applies to PERCENTAGE.\n */\nconst SpendToGetTierSchema = z\n\t.object({\n\t\tminSpend: ZodValidation.number('Minimum spend', { isNonnegative: true }),\n\t\trewardType: ZodValidation.enumType(SpendToGetRewardType, 'Reward type'),\n\t\trewardValue: ZodValidation.number('Reward value').optional(),\n\t\tmaxDiscountCap: ZodValidation.number('Maximum discount cap').optional(),\n\t\tisMaxDiscountCapEnabled: ZodValidation.boolean('Is maximum discount cap enabled').default(false),\n\t})\n\t.superRefine((tier, ctx) => {\n\t\tif (tier.rewardType === SpendToGetRewardType.FREE_DELIVERY) {\n\t\t\tif (tier.rewardValue !== undefined) {\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: 'Reward value is not applicable for Free Delivery',\n\t\t\t\t\tpath: ['rewardValue'],\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (tier.rewardValue === undefined) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Reward value is required',\n\t\t\t\tpath: ['rewardValue'],\n\t\t\t});\n\t\t} else if (tier.rewardType === SpendToGetRewardType.PERCENTAGE) {\n\t\t\tif (tier.rewardValue < 1 || tier.rewardValue > 100) {\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: 'Percentage reward value must be between 1 and 100',\n\t\t\t\t\tpath: ['rewardValue'],\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (tier.rewardType === SpendToGetRewardType.FIXED) {\n\t\t\tif (tier.rewardValue <= 0) {\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: 'Fixed reward value must be greater than 0',\n\t\t\t\t\tpath: ['rewardValue'],\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (tier.rewardValue >= tier.minSpend) {\n\t\t\t\tctx.addIssue({\n\t\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\t\tmessage: \"Fixed reward value must be less than the tier's minimum spend\",\n\t\t\t\t\tpath: ['rewardValue'],\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (tier.maxDiscountCap !== undefined && tier.rewardType !== SpendToGetRewardType.PERCENTAGE) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Maximum discount cap only applies to Percentage rewards',\n\t\t\t\tpath: ['maxDiscountCap'],\n\t\t\t});\n\t\t}\n\t});\n\n/**\n * Define the base parent schema fields\n */\nconst baseFields = {\n\t...baseMarketingFields,\n\tmarketingType: z.literal(MarketingType.SPEND_TO_GET),\n\ttiers: ZodValidation.array(SpendToGetTierSchema, 'Tiers', 1),\n\tperUserLimit: ZodValidation.number('Per user limit', { isPositive: true }).optional(),\n\tisPerUserLimitEnabled: ZodValidation.boolean('Is per user limit enabled').default(false),\n\tspendLimit: ZodValidation.number('Spend limit').default(0),\n\tisSpendLimitEnabled: ZodValidation.boolean('Is spend limit enabled').default(false),\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: SpendToGetMarketingValidationSchemaWithoutRefinement,\n\tEntitySchema: SpendToGetMarketingSchema,\n\tIdSchema: SpendToGetMarketingIdSchema,\n\tUpdateSchema: UpdateSpendToGetMarketingSchemaWithoutRefinement,\n} = schemaBuilder.getAllSchemas({ createdAt: true });\n\nfunction addAscendingTierIssues(tiers: { minSpend: number }[], ctx: z.RefinementCtx): void {\n\tfor (let i = 1; i < tiers.length; i++) {\n\t\tif (tiers[i].minSpend <= tiers[i - 1].minSpend) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: \"Each tier's minimum spend must be higher than the previous tier.\",\n\t\t\t\tpath: ['tiers', i, 'minSpend'],\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction addFreeDeliveryUniquenessIssues(\n\ttiers: { rewardType: SpendToGetRewardType }[],\n\tctx: z.RefinementCtx\n): void {\n\tconst freeDeliveryCount = tiers.filter(\n\t\ttier => tier.rewardType === SpendToGetRewardType.FREE_DELIVERY\n\t).length;\n\n\tif (freeDeliveryCount <= 1) return;\n\n\tfor (let i = 0; i < tiers.length; i++) {\n\t\tif (tiers[i].rewardType === SpendToGetRewardType.FREE_DELIVERY) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'Only one tier can offer free delivery.',\n\t\t\t\tpath: ['tiers', i, 'rewardType'],\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction addLimitIssues(\n\tdata: {\n\t\tisSpendLimitEnabled?: boolean;\n\t\tspendLimit?: number;\n\t\tisPerUserLimitEnabled?: boolean;\n\t\tperUserLimit?: number;\n\t},\n\tctx: z.RefinementCtx\n): void {\n\tif (data.isSpendLimitEnabled && (!data.spendLimit || data.spendLimit <= 0)) {\n\t\tctx.addIssue({\n\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\tmessage: 'Spend limit must be greater than 0 when enabled',\n\t\t\tpath: ['spendLimit', 'isSpendLimitEnabled'],\n\t\t});\n\t}\n\n\tif (data.isPerUserLimitEnabled && (!data.perUserLimit || data.perUserLimit <= 0)) {\n\t\tctx.addIssue({\n\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\tmessage: 'Per user limit must be greater than 0 when enabled',\n\t\t\tpath: ['perUserLimit', 'isPerUserLimitEnabled'],\n\t\t});\n\t}\n}\n\nconst SpendToGetMarketingValidationSchema = SpendToGetMarketingValidationSchemaWithoutRefinement.superRefine(\n\t(data, ctx) => {\n\t\tif (data.duration.end && data.duration.end.getTime() <= data.duration.start.getTime()) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'End date must be after the start date',\n\t\t\t\tpath: ['duration', 'end'],\n\t\t\t});\n\t\t}\n\n\t\taddAscendingTierIssues(data.tiers, ctx);\n\t\taddFreeDeliveryUniquenessIssues(data.tiers, ctx);\n\t\taddLimitIssues(data, ctx);\n\t}\n);\n\nconst UpdateSpendToGetMarketingSchema = UpdateSpendToGetMarketingSchemaWithoutRefinement.superRefine(\n\t(data, ctx) => {\n\t\tif (data.duration?.end && data.duration.end.getTime() <= data.duration.start.getTime()) {\n\t\t\tctx.addIssue({\n\t\t\t\tcode: z.ZodIssueCode.custom,\n\t\t\t\tmessage: 'End date must be after the start date',\n\t\t\t\tpath: ['duration', 'end'],\n\t\t\t});\n\t\t}\n\n\t\tif (data.tiers) {\n\t\t\taddAscendingTierIssues(data.tiers, ctx);\n\t\t\taddFreeDeliveryUniquenessIssues(data.tiers, ctx);\n\t\t}\n\t\taddLimitIssues(data, ctx);\n\t}\n);\n\n/**\n * Export schemas\n */\nexport {\n\tSpendToGetMarketingValidationSchema,\n\tSpendToGetMarketingSchema,\n\tSpendToGetMarketingIdSchema as SpendToGetMarketingIdValidationSchema,\n\tUpdateSpendToGetMarketingSchema,\n\tSpendToGetTierSchema,\n};\n\n/**\n * Export DTO types\n */\nexport type CreateSpendToGetMarketingDTO = DTO<typeof SpendToGetMarketingValidationSchema>;\nexport type SpendToGetMarketingDTO = DTO<typeof SpendToGetMarketingSchema>;\nexport type UpdateSpendToGetMarketingDTO = DTO<typeof UpdateSpendToGetMarketingSchema>;\nexport type SpendToGetTierDTO = DTO<typeof SpendToGetTierSchema>;\n"]}
@@ -129,16 +129,16 @@ export declare const punchMarketingHistoryRouter: import("@trpc/server").TRPCBui
129
129
  }>;
130
130
  get: import("@trpc/server").TRPCQueryProcedure<{
131
131
  input: {
132
- sort?: Record<string, 1 | -1> | undefined;
132
+ query?: Record<string, any> | undefined;
133
133
  search?: {
134
134
  searchKey: string;
135
135
  searchFields?: string[] | undefined;
136
136
  } | undefined;
137
- select?: Record<string, 0 | 1> | undefined;
138
- populate?: any;
137
+ sort?: Record<string, 1 | -1> | undefined;
139
138
  size?: number | undefined;
140
139
  page?: number | undefined;
141
- query?: Record<string, any> | undefined;
140
+ select?: Record<string, 0 | 1> | undefined;
141
+ populate?: any;
142
142
  } | undefined;
143
143
  output: {
144
144
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"punch-marketing-history.router.d.ts","sourceRoot":"/","sources":["modules/punch-marketing-history/routers/punch-marketing-history.router.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAkBV,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkE5B,CAAC"}
1
+ {"version":3,"file":"punch-marketing-history.router.d.ts","sourceRoot":"/","sources":["modules/punch-marketing-history/routers/punch-marketing-history.router.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAkBZ,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkE1B,CAAC"}
@@ -89,16 +89,16 @@ export declare const spendToGetHistoryRouter: import("@trpc/server").TRPCBuiltRo
89
89
  }>;
90
90
  get: import("@trpc/server").TRPCQueryProcedure<{
91
91
  input: {
92
- sort?: Record<string, 1 | -1> | undefined;
92
+ query?: Record<string, any> | undefined;
93
93
  search?: {
94
94
  searchKey: string;
95
95
  searchFields?: string[] | undefined;
96
96
  } | undefined;
97
- select?: Record<string, 0 | 1> | undefined;
98
- populate?: any;
97
+ sort?: Record<string, 1 | -1> | undefined;
99
98
  size?: number | undefined;
100
99
  page?: number | undefined;
101
- query?: Record<string, any> | undefined;
100
+ select?: Record<string, 0 | 1> | undefined;
101
+ populate?: any;
102
102
  } | undefined;
103
103
  output: {
104
104
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"spend-to-get-history.router.d.ts","sourceRoot":"/","sources":["modules/spend-to-get-history/spend-to-get-history.router.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA+BzB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCV,CAAC"}
1
+ {"version":3,"file":"spend-to-get-history.router.d.ts","sourceRoot":"/","sources":["modules/spend-to-get-history/spend-to-get-history.router.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA+B3B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCR,CAAC"}
@@ -1716,16 +1716,16 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
1716
1716
  }>;
1717
1717
  get: import("@trpc/server").TRPCQueryProcedure<{
1718
1718
  input: {
1719
- sort?: Record<string, 1 | -1> | undefined;
1719
+ query?: Record<string, any> | undefined;
1720
1720
  search?: {
1721
1721
  searchKey: string;
1722
1722
  searchFields?: string[] | undefined;
1723
1723
  } | undefined;
1724
- select?: Record<string, 0 | 1> | undefined;
1725
- populate?: any;
1724
+ sort?: Record<string, 1 | -1> | undefined;
1726
1725
  size?: number | undefined;
1727
1726
  page?: number | undefined;
1728
- query?: Record<string, any> | undefined;
1727
+ select?: Record<string, 0 | 1> | undefined;
1728
+ populate?: any;
1729
1729
  } | undefined;
1730
1730
  output: {
1731
1731
  message: string;
@@ -6417,16 +6417,16 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
6417
6417
  }>;
6418
6418
  getUserCouponList: import("@trpc/server").TRPCQueryProcedure<{
6419
6419
  input: {
6420
- sort?: Record<string, 1 | -1> | undefined;
6420
+ query?: Record<string, any> | undefined;
6421
6421
  search?: {
6422
6422
  searchKey: string;
6423
6423
  searchFields?: string[] | undefined;
6424
6424
  } | undefined;
6425
- select?: Record<string, 0 | 1> | undefined;
6426
- populate?: any;
6425
+ sort?: Record<string, 1 | -1> | undefined;
6427
6426
  size?: number | undefined;
6428
6427
  page?: number | undefined;
6429
- query?: Record<string, any> | undefined;
6428
+ select?: Record<string, 0 | 1> | undefined;
6429
+ populate?: any;
6430
6430
  } | undefined;
6431
6431
  output: import("@lyxa.ai/core/dist/utilities/validation").PaginatedResponse<z.objectOutputType<{
6432
6432
  couponType: z.ZodOptional<z.ZodLiteral<import("@lyxa.ai/core/dist/utilities/enum").CouponType.GLOBAL>>;
@@ -7001,12 +7001,12 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
7001
7001
  message: string;
7002
7002
  success: boolean;
7003
7003
  data?: {
7004
- message: string;
7005
7004
  link: string;
7005
+ message: string;
7006
7006
  } | {
7007
7007
  documents: {
7008
- message: string;
7009
7008
  link: string;
7009
+ message: string;
7010
7010
  }[];
7011
7011
  metadata?: {
7012
7012
  size: number;
@@ -8760,5 +8760,154 @@ export declare const couponRouter: import("@trpc/server").TRPCBuiltRouter<{
8760
8760
  };
8761
8761
  meta: object;
8762
8762
  }>;
8763
+ getReferFriendCouponOrders: import("@trpc/server").TRPCQueryProcedure<{
8764
+ input: {
8765
+ sort?: Record<string, 1 | -1> | undefined;
8766
+ status?: import("@lyxa.ai/core/dist/utilities/enum").Status | undefined;
8767
+ page?: number | undefined;
8768
+ size?: number | undefined;
8769
+ startDate?: string | undefined;
8770
+ endDate?: string | undefined;
8771
+ search?: string | undefined;
8772
+ zone?: string | undefined;
8773
+ userId?: string | undefined;
8774
+ };
8775
+ output: {
8776
+ message: string;
8777
+ success: boolean;
8778
+ data?: {
8779
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
8780
+ senderGets: string;
8781
+ receiverGets: string;
8782
+ referralDate: Date;
8783
+ sender: {
8784
+ _id: string;
8785
+ name?: string | undefined;
8786
+ photo?: string | null | undefined;
8787
+ };
8788
+ receiver: {
8789
+ _id: string;
8790
+ name?: string | undefined;
8791
+ photo?: string | null | undefined;
8792
+ };
8793
+ } | {
8794
+ documents: {
8795
+ status: import("@lyxa.ai/core/dist/utilities/enum").Status;
8796
+ senderGets: string;
8797
+ receiverGets: string;
8798
+ referralDate: Date;
8799
+ sender: {
8800
+ _id: string;
8801
+ name?: string | undefined;
8802
+ photo?: string | null | undefined;
8803
+ };
8804
+ receiver: {
8805
+ _id: string;
8806
+ name?: string | undefined;
8807
+ photo?: string | null | undefined;
8808
+ };
8809
+ }[];
8810
+ metadata?: {
8811
+ size: number;
8812
+ page: number;
8813
+ totalElements: number;
8814
+ totalPages: number;
8815
+ } | undefined;
8816
+ } | undefined;
8817
+ };
8818
+ meta: object;
8819
+ }>;
8820
+ getReferralsGraphData: import("@trpc/server").TRPCQueryProcedure<{
8821
+ input: {
8822
+ startDate: string | Date;
8823
+ endDate: string | Date;
8824
+ graphType?: import("@lyxa.ai/core/dist/utilities/enum").GraphType | undefined;
8825
+ itemType?: import("@lyxa.ai/core/dist/utilities/enum").ItemType | undefined;
8826
+ };
8827
+ output: {
8828
+ message: string;
8829
+ success: boolean;
8830
+ data?: {
8831
+ date: string;
8832
+ totalReferrals: number;
8833
+ totalConversions: number;
8834
+ }[] | {
8835
+ documents: {
8836
+ date: string;
8837
+ totalReferrals: number;
8838
+ totalConversions: number;
8839
+ }[][];
8840
+ metadata?: {
8841
+ size: number;
8842
+ page: number;
8843
+ totalElements: number;
8844
+ totalPages: number;
8845
+ } | undefined;
8846
+ } | undefined;
8847
+ };
8848
+ meta: object;
8849
+ }>;
8850
+ getReferFriendMetrics: import("@trpc/server").TRPCQueryProcedure<{
8851
+ input: {
8852
+ startDate: string | Date;
8853
+ endDate: string | Date;
8854
+ graphType?: import("@lyxa.ai/core/dist/utilities/enum").GraphType | undefined;
8855
+ itemType?: import("@lyxa.ai/core/dist/utilities/enum").ItemType | undefined;
8856
+ };
8857
+ output: {
8858
+ message: string;
8859
+ success: boolean;
8860
+ data?: {
8861
+ totalReferralsSent: number;
8862
+ totalReferralsConverted: number;
8863
+ totalProfitFromReferrals: number;
8864
+ conversionRate: number;
8865
+ customerReferralRate: number;
8866
+ } | {
8867
+ documents: {
8868
+ totalReferralsSent: number;
8869
+ totalReferralsConverted: number;
8870
+ totalProfitFromReferrals: number;
8871
+ conversionRate: number;
8872
+ customerReferralRate: number;
8873
+ }[];
8874
+ metadata?: {
8875
+ size: number;
8876
+ page: number;
8877
+ totalElements: number;
8878
+ totalPages: number;
8879
+ } | undefined;
8880
+ } | undefined;
8881
+ };
8882
+ meta: object;
8883
+ }>;
8884
+ getTotalProfitGraphData: import("@trpc/server").TRPCQueryProcedure<{
8885
+ input: {
8886
+ startDate: string | Date;
8887
+ endDate: string | Date;
8888
+ graphType?: import("@lyxa.ai/core/dist/utilities/enum").GraphType | undefined;
8889
+ itemType?: import("@lyxa.ai/core/dist/utilities/enum").ItemType | undefined;
8890
+ };
8891
+ output: {
8892
+ message: string;
8893
+ success: boolean;
8894
+ data?: {
8895
+ date: string;
8896
+ totalProfit: number;
8897
+ }[] | {
8898
+ documents: {
8899
+ date: string;
8900
+ totalProfit: number;
8901
+ }[][];
8902
+ metadata?: {
8903
+ size: number;
8904
+ page: number;
8905
+ totalElements: number;
8906
+ totalPages: number;
8907
+ } | undefined;
8908
+ } | undefined;
8909
+ };
8910
+ meta: object;
8911
+ }>;
8763
8912
  }>>;
8764
8913
  //# sourceMappingURL=coupon.router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coupon.router.d.ts","sourceRoot":"/","sources":["modules/coupon/routers/coupon.router.ts"],"names":[],"mappings":"AAuCA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAFmD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgVq7qB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GADjgrB,CAAC"}
1
+ {"version":3,"file":"coupon.router.d.ts","sourceRoot":"/","sources":["modules/coupon/routers/coupon.router.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BALW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAuX4tnB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GADhwnB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { DocumentType, mongoose } from '@typegoose/typegoose';
2
2
  import { GlobalCoupon, Coupon as Model, User } from '@lyxa.ai/core/dist/libraries/mongo/models';
3
- import { AllCouponsValidationDTO, CouponValidationOutputDTO, ValidateCouponDTO, AllCouponsDTO, CheckExistingNewUserCouponOutputDTO, CouponListRequestDTO, CouponUsersRequestDTO, SingleCouppnOrdersRequestDTO } from '@modules/coupon/validations';
3
+ import { AllCouponsValidationDTO, CouponValidationOutputDTO, ValidateCouponDTO, AllCouponsDTO, CheckExistingNewUserCouponOutputDTO, CouponListRequestDTO, CouponUsersRequestDTO, SingleCouponOrdersRequestDTO, ReferFriendCouponOrdersRequestDTO, GraphInputDTO } from '@modules/coupon/validations';
4
4
  import { FilterDTO, PaginatedResponse, DeleteDTO, ShareableLinkDTO } from '@lyxa.ai/core/dist/utilities/validation';
5
5
  import { ModelType } from '@typegoose/typegoose/lib/types';
6
6
  import { CouponType, Status, ValueType } from '@lyxa.ai/core/dist/utilities/enum';
@@ -128,9 +128,18 @@ export declare class CouponService {
128
128
  totalElements: any;
129
129
  totalPages: number;
130
130
  };
131
- items: any;
131
+ documents: any;
132
+ }>;
133
+ getSingleCouponOrders(input: SingleCouponOrdersRequestDTO): Promise<{
134
+ metadata: {
135
+ page: number;
136
+ size: number;
137
+ totalElements: any;
138
+ totalPages: number;
139
+ };
140
+ documents: any;
132
141
  }>;
133
- getSingleCouponOrders(input: SingleCouppnOrdersRequestDTO): Promise<{
142
+ getReferFriendCouponOrders(input: ReferFriendCouponOrdersRequestDTO): Promise<{
134
143
  metadata: {
135
144
  page: number;
136
145
  size: number;
@@ -139,6 +148,22 @@ export declare class CouponService {
139
148
  };
140
149
  documents: any;
141
150
  }>;
151
+ getReferralsGraphData(input: GraphInputDTO): Promise<{
152
+ date: string;
153
+ totalReferrals: any;
154
+ totalConversions: any;
155
+ }[]>;
156
+ getReferFriendMetrics(input: GraphInputDTO): Promise<{
157
+ totalReferralsSent: number;
158
+ totalReferralsConverted: number;
159
+ totalProfitFromReferrals: any;
160
+ conversionRate: number;
161
+ customerReferralRate: number;
162
+ }>;
163
+ getTotalProfitGraphData(input: GraphInputDTO): Promise<{
164
+ date: string;
165
+ totalProfit: number;
166
+ }[]>;
142
167
  }
143
168
  export declare const couponService: CouponService;
144
169
  //# sourceMappingURL=coupon.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coupon.service.d.ts","sourceRoot":"/","sources":["modules/coupon/services/coupon.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAKN,YAAY,EAGZ,MAAM,IAAI,KAAK,EAQf,IAAI,EAOJ,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACN,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,mCAAmC,EACnC,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACN,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,MAAM,yCAAyC,CAAC;AAMjD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAS3D,OAAO,EAEN,UAAU,EAKV,MAAM,EACN,SAAS,EACT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAmB,MAAM,2CAA2C,CAAC;AAoCxF,qBACa,aAAa;IACzB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,eAAe,CAAuD;IAC9E,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,UAAU,CAA2D;IAC7E,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,mBAAmB,CAA2E;IACtG,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,cAAc,CAAoD;IAC1E,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiE;IACvG,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;;IAqB5D,OAAO,KAAK,aAAa,GAKxB;IAED;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAuGhF;;;OAGG;IACU,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAoBzF,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAoBpB;;;OAGG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IA8F3F,OAAO,CACnB,IAAI,EAAE,oBAAoB,GACxB,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAkJ7D,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,wBAAwB;YAmBlB,qBAAqB;YA6BrB,4BAA4B;IAgB1C;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IA6K5F,OAAO,CAAC,eAAe;IASV,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAiCnF;;;OAGG;IACU,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCzD;;;OAGG;IACU,cAAc,CAC1B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,EACzC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,EACzC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,EAC3C,IAAI,GAAE,MAAU,EAChB,IAAI,GAAE,MAAU,GACd,OAAO,CAAC;QACV,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;KACpC,CAAC;IAuBW,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4F3E,iCAAiC,CAC7C,IAAI,EAAE,iBAAiB,GACrB,OAAO,CAAC,yBAAyB,CAAC;IAIrC,OAAO,CAAC,eAAe;IAOvB;;;;;;OAMG;YACW,kBAAkB;YAkClB,uBAAuB;YAmBvB,sBAAsB;IAqBvB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;YAUnD,sBAAsB;IAoEvB,gBAAgB;YAiBf,gBAAgB;YAWhB,uBAAuB;YAqDvB,kBAAkB;IAe1B,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;YASrF,sBAAsB;YActB,oBAAoB;YAepB,4BAA4B;IAW1C,OAAO,CAAC,eAAe;IAOV,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YA+C3E,2BAA2B;YAc3B,6BAA6B;IASpC,gBAAgB,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,gBAAgB,CAAC,CAUvE;IAEW,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAgIvF,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;IAsC3D,sBAAsB,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAqBlE,2CAA2C,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAgGvF,0BAA0B,IAAI,OAAO,CAAC,mCAAmC,CAAC;YAUzE,YAAY;IAQb,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,GACpC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAkD1B,wBAAwB;IAczB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBrF,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiH3D,UAAU,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;IAqB3B,oBAAoB,CAAC,KAAK,EAAE,qBAAqB;;;;;;;;;IAKjD,qBAAqB,CAAC,KAAK,EAAE,4BAA4B;;;;;;;;;CAItE;AAED,eAAO,MAAM,aAAa,eAA+B,CAAC"}
1
+ {"version":3,"file":"coupon.service.d.ts","sourceRoot":"/","sources":["modules/coupon/services/coupon.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAKN,YAAY,EAGZ,MAAM,IAAI,KAAK,EAQf,IAAI,EAOJ,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACN,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,mCAAmC,EACnC,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,iCAAiC,EACjC,aAAa,EAGb,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACN,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,MAAM,yCAAyC,CAAC;AAMjD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAS3D,OAAO,EAEN,UAAU,EAKV,MAAM,EACN,SAAS,EACT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAmB,MAAM,2CAA2C,CAAC;AAoCxF,qBACa,aAAa;IACzB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,eAAe,CAAuD;IAC9E,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,UAAU,CAA2D;IAC7E,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,mBAAmB,CAA2E;IACtG,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,cAAc,CAAoD;IAC1E,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiE;IACvG,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;;IAqB5D,OAAO,KAAK,aAAa,GAKxB;IAED;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAuGhF;;;OAGG;IACU,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAoBzF,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAoBpB;;;OAGG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IA8F3F,OAAO,CACnB,IAAI,EAAE,oBAAoB,GACxB,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAkJ7D,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,wBAAwB;YAmBlB,qBAAqB;YA6BrB,4BAA4B;IAgB1C;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IA6K5F,OAAO,CAAC,eAAe;IASV,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAiCnF;;;OAGG;IACU,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCzD;;;OAGG;IACU,cAAc,CAC1B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,EACzC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,EACzC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,EAC3C,IAAI,GAAE,MAAU,EAChB,IAAI,GAAE,MAAU,GACd,OAAO,CAAC;QACV,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;KACpC,CAAC;IAuBW,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4F3E,iCAAiC,CAC7C,IAAI,EAAE,iBAAiB,GACrB,OAAO,CAAC,yBAAyB,CAAC;IAIrC,OAAO,CAAC,eAAe;IAOvB;;;;;;OAMG;YACW,kBAAkB;YAkClB,uBAAuB;YAmBvB,sBAAsB;IAqBvB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;YAUnD,sBAAsB;IAoEvB,gBAAgB;YAiBf,gBAAgB;YAWhB,uBAAuB;YAqDvB,kBAAkB;IAe1B,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;YASrF,sBAAsB;YActB,oBAAoB;YAepB,4BAA4B;IAW1C,OAAO,CAAC,eAAe;IAOV,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YA+C3E,2BAA2B;YAc3B,6BAA6B;IASpC,gBAAgB,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,gBAAgB,CAAC,CAUvE;IAEW,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAgIvF,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;IAsC3D,sBAAsB,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAqBlE,2CAA2C,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAgGvF,0BAA0B,IAAI,OAAO,CAAC,mCAAmC,CAAC;YAUzE,YAAY;IAQb,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,GACpC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAkD1B,wBAAwB;IAczB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBrF,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiH3D,UAAU,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;IAqB3B,oBAAoB,CAAC,KAAK,EAAE,qBAAqB;;;;;;;;;IAKjD,qBAAqB,CAAC,KAAK,EAAE,4BAA4B;;;;;;;;;IAKzD,0BAA0B,CAAC,KAAK,EAAE,iCAAiC;;;;;;;;;IAInE,qBAAqB,CAAC,KAAK,EAAE,aAAa;;;;;IAK1C,qBAAqB,CAAC,KAAK,EAAE,aAAa;;;;;;;IAI1C,uBAAuB,CAAC,KAAK,EAAE,aAAa;;;;CAIzD;AAED,eAAO,MAAM,aAAa,eAA+B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CouponMetricsRepository.d.ts","sourceRoot":"/","sources":["modules/coupon/services/patterns/repository/CouponMetricsRepository.ts"],"names":[],"mappings":"AAGA,OAAO,EAGN,QAAQ,EACR,SAAS,EACT,kBAAkB,EAElB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAEN,sBAAsB,EACtB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,MAAM,+CAA+C,CAAC;AAIvD,qBAAa,uBAAuB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,UAAU,CAAoB;;IAOtC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,qCAAqC;IAa7C,OAAO,CAAC,mBAAmB;YAWb,qBAAqB;YAqBrB,sBAAsB;YAQtB,qBAAqB;IAyEnC,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,iBAAiB;IAYZ,sBAAsB,CAAC,QAAQ,EAAE,YAAY;IAsJ1D,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,uBAAuB;IAQlB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgC/E,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ;;;;;;;;;IAgBrE,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkE7E,OAAO,CAAC,gCAAgC;IA0B3B,+BAA+B,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4HpF,OAAO,CAAC,uCAAuC;IA0BlC,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0DxF,OAAO,CAAC,gCAAgC;IAuB3B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;CA2DzF"}
1
+ {"version":3,"file":"CouponMetricsRepository.d.ts","sourceRoot":"/","sources":["modules/coupon/services/patterns/repository/CouponMetricsRepository.ts"],"names":[],"mappings":"AAGA,OAAO,EAGN,QAAQ,EACR,SAAS,EACT,kBAAkB,EAElB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAEN,sBAAsB,EACtB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,MAAM,+CAA+C,CAAC;AAIvD,qBAAa,uBAAuB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,UAAU,CAAoB;;IAOtC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,qCAAqC;IAa7C,OAAO,CAAC,mBAAmB;YAWb,qBAAqB;YAqBrB,sBAAsB;YAQtB,qBAAqB;IAyEnC,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,iBAAiB;IAYZ,sBAAsB,CAAC,QAAQ,EAAE,YAAY;IAsJ1D,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,uBAAuB;IAQlB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgC/E,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ;;;;;;;;;IAgBrE,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkE7E,OAAO,CAAC,gCAAgC;IA0B3B,+BAA+B,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4HpF,OAAO,CAAC,uCAAuC;IA0BlC,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0DxF,OAAO,CAAC,gCAAgC;IAuB3B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;CAyDzF"}