@lyxa.ai/marketing 1.0.38 → 1.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/index.d.ts +89 -9
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/modules/coupon/routers/coupon.router.d.ts +4 -0
- package/dist/lib/modules/coupon/routers/coupon.router.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/coupon.service.d.ts +3 -0
- package/dist/lib/modules/coupon/services/coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/coupon.service.js +111 -6
- package/dist/lib/modules/coupon/services/coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts +28 -2
- package/dist/lib/modules/coupon/services/custom-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/custom-coupon.service.js +13 -33
- package/dist/lib/modules/coupon/services/custom-coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/helper.service.d.ts +30 -2
- package/dist/lib/modules/coupon/services/helper.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/helper.service.js +112 -4
- package/dist/lib/modules/coupon/services/helper.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts +29 -3
- package/dist/lib/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/individual-store-coupon.service.js +10 -62
- package/dist/lib/modules/coupon/services/individual-store-coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js +16 -6
- package/dist/lib/modules/coupon/services/patterns/repository/CouponRepository.js.map +1 -1
- package/dist/lib/modules/coupon/services/referral-code-coupon.service.d.ts +9 -0
- package/dist/lib/modules/coupon/services/referral-code-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/referral-code-coupon.service.js +96 -29
- package/dist/lib/modules/coupon/services/referral-code-coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts +29 -3
- package/dist/lib/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -1
- package/dist/lib/modules/coupon/services/shops-categories-coupon.service.js +10 -63
- package/dist/lib/modules/coupon/services/shops-categories-coupon.service.js.map +1 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.d.ts +13 -0
- package/dist/lib/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
- package/dist/lib/modules/coupon/validations/coupon.validation.js +6 -14
- package/dist/lib/modules/coupon/validations/coupon.validation.js.map +1 -1
- package/dist/lib/modules/deal-setting/services/deal-setting.service.d.ts.map +1 -1
- package/dist/lib/modules/deal-setting/services/deal-setting.service.js +4 -4
- package/dist/lib/modules/deal-setting/services/deal-setting.service.js.map +1 -1
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts +39 -0
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts.map +1 -0
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js +539 -0
- package/dist/lib/modules/marketing/patterns/repository/MarketingMetricsRepository.js.map +1 -0
- package/dist/lib/modules/marketing/routers/marketing.router.d.ts +85 -9
- package/dist/lib/modules/marketing/routers/marketing.router.d.ts.map +1 -1
- package/dist/lib/modules/marketing/routers/marketing.router.js +26 -8
- package/dist/lib/modules/marketing/routers/marketing.router.js.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.d.ts +2 -8
- package/dist/lib/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/marketing.service.js +35 -354
- package/dist/lib/modules/marketing/services/marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/product-marketing.service.d.ts +1 -0
- package/dist/lib/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/product-marketing.service.js +4 -0
- package/dist/lib/modules/marketing/services/product-marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.d.ts.map +1 -1
- package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.js +28 -7
- package/dist/lib/modules/marketing/services/synchronize-product-marketing.service.js.map +1 -1
- package/dist/lib/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +12 -12
- package/dist/lib/modules/marketing/validations/discount-marketing.validation.d.ts +12 -12
- package/dist/lib/modules/marketing/validations/marketing.validation.d.ts +106 -1
- package/dist/lib/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
- package/dist/lib/modules/marketing/validations/marketing.validation.js +31 -1
- package/dist/lib/modules/marketing/validations/marketing.validation.js.map +1 -1
- package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.d.ts.map +1 -1
- package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.js +19 -1
- package/dist/lib/modules/punch-marketing-history/services/punch-marketing-history.service.js.map +1 -1
- package/dist/lib/utility/utils.d.ts +3 -0
- package/dist/lib/utility/utils.d.ts.map +1 -0
- package/dist/lib/utility/utils.js +31 -0
- package/dist/lib/utility/utils.js.map +1 -0
- package/dist/types/index.d.ts +89 -9
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modules/coupon/routers/coupon.router.d.ts +4 -0
- package/dist/types/modules/coupon/routers/coupon.router.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/coupon.service.d.ts +3 -0
- package/dist/types/modules/coupon/services/coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/custom-coupon.service.d.ts +28 -2
- package/dist/types/modules/coupon/services/custom-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/helper.service.d.ts +30 -2
- package/dist/types/modules/coupon/services/helper.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts +29 -3
- package/dist/types/modules/coupon/services/individual-store-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/patterns/repository/CouponRepository.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/referral-code-coupon.service.d.ts +57 -0
- package/dist/types/modules/coupon/services/referral-code-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts +29 -3
- package/dist/types/modules/coupon/services/shops-categories-coupon.service.d.ts.map +1 -1
- package/dist/types/modules/coupon/validations/coupon.validation.d.ts +13 -0
- package/dist/types/modules/coupon/validations/coupon.validation.d.ts.map +1 -1
- package/dist/types/modules/deal-setting/services/deal-setting.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts +39 -0
- package/dist/types/modules/marketing/patterns/repository/MarketingMetricsRepository.d.ts.map +1 -0
- package/dist/types/modules/marketing/routers/marketing.router.d.ts +85 -9
- package/dist/types/modules/marketing/routers/marketing.router.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/marketing.service.d.ts +2 -8
- package/dist/types/modules/marketing/services/marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/product-marketing.service.d.ts +1 -0
- package/dist/types/modules/marketing/services/product-marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/services/synchronize-product-marketing.service.d.ts.map +1 -1
- package/dist/types/modules/marketing/validations/buy1-get1-marketing.validation.d.ts +12 -12
- package/dist/types/modules/marketing/validations/discount-marketing.validation.d.ts +12 -12
- package/dist/types/modules/marketing/validations/marketing.validation.d.ts +106 -1
- package/dist/types/modules/marketing/validations/marketing.validation.d.ts.map +1 -1
- package/dist/types/modules/punch-marketing-history/services/punch-marketing-history.service.d.ts.map +1 -1
- package/dist/types/utility/utils.d.ts +15 -0
- package/dist/types/utility/utils.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -1,15 +1,43 @@
|
|
|
1
|
-
import { mongoose } from '@typegoose/typegoose';
|
|
1
|
+
import { DocumentType, mongoose } from '@typegoose/typegoose';
|
|
2
|
+
import { BaseCoupon, Shop } from '@lyxa.ai/core/dist/libraries/mongo/models';
|
|
2
3
|
import { Dayjs } from '@lyxa.ai/core/dist/utilities/dayjs/dayjs';
|
|
4
|
+
import { CouponValidationOutputDTO, ValidateCouponDTO } from '../validations';
|
|
3
5
|
export declare class CouponHelperService {
|
|
4
6
|
private userModel;
|
|
5
7
|
private orderModel;
|
|
8
|
+
private shopModel;
|
|
6
9
|
private _coreUserModel;
|
|
7
10
|
constructor();
|
|
8
11
|
private get coreUserModel();
|
|
9
12
|
isNewUser(user: mongoose.Types.ObjectId): Promise<boolean>;
|
|
10
|
-
|
|
13
|
+
getSameDeviceOrdersWithCoupon(user: mongoose.Types.ObjectId, coupon: DocumentType<BaseCoupon>): Promise<number>;
|
|
11
14
|
getNewUsers(): Promise<mongoose.Types.ObjectId[]>;
|
|
12
15
|
isDurationValid(start: Dayjs, end: Dayjs): boolean;
|
|
16
|
+
calculateCouponDiscount(data: ValidateCouponDTO, coupon: DocumentType<BaseCoupon>): Promise<{
|
|
17
|
+
discountAmount: number;
|
|
18
|
+
secondaryDiscountAmount: number;
|
|
19
|
+
}>;
|
|
20
|
+
buildCouponResponse(data: ValidateCouponDTO, discountAmount: number, secondaryDiscountAmount: number, isShopCoverExpenses: boolean, couponDetails?: Record<string, any>): CouponValidationOutputDTO;
|
|
21
|
+
validateShopEligibility({ data, coupon }: {
|
|
22
|
+
data: ValidateCouponDTO;
|
|
23
|
+
coupon: any;
|
|
24
|
+
}): Promise<{
|
|
25
|
+
isValid: boolean;
|
|
26
|
+
message: string;
|
|
27
|
+
shop?: undefined;
|
|
28
|
+
} | {
|
|
29
|
+
isValid: boolean;
|
|
30
|
+
shop: mongoose.Document<unknown, import("@typegoose/typegoose/lib/types").BeAnObject, Shop, import("@typegoose/typegoose/lib/types").BeAnyObject, {}> & Omit<Shop & {
|
|
31
|
+
_id: mongoose.Types.ObjectId;
|
|
32
|
+
} & {
|
|
33
|
+
__v: number;
|
|
34
|
+
}, "typegooseName"> & import("@typegoose/typegoose/lib/types").IObjectWithTypegooseFunction;
|
|
35
|
+
message?: undefined;
|
|
36
|
+
}>;
|
|
37
|
+
private validateSingleShopRestriction;
|
|
38
|
+
private validateMultiRestrictions;
|
|
39
|
+
private validateFirstOrderOnly;
|
|
40
|
+
fetchUserName(userId: mongoose.Types.ObjectId): Promise<string>;
|
|
13
41
|
}
|
|
14
42
|
export declare const couponHelperService: CouponHelperService;
|
|
15
43
|
//# sourceMappingURL=helper.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.service.d.ts","sourceRoot":"/","sources":["modules/coupon/services/helper.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"helper.service.d.ts","sourceRoot":"/","sources":["modules/coupon/services/helper.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACN,UAAU,EAIV,IAAI,EAIJ,MAAM,2CAA2C,CAAC;AAGnD,OAAc,EAAE,KAAK,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAI9E,qBACa,mBAAmB;IAC/B,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,UAAU,CAA2D;IAC7E,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,cAAc,CAAoD;;IAQ1E,OAAO,KAAK,aAAa,GAKxB;IAEY,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAyB1D,6BAA6B,CACzC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC7B,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC;IA0BL,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAwEvD,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO;IAU5C,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC;;;;IAyBvF,mBAAmB,CACzB,IAAI,EAAE,iBAAiB,EACvB,cAAc,EAAE,MAAM,EACtB,uBAAuB,EAAE,MAAM,EAC/B,mBAAmB,EAAE,OAAO,EAC5B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjC,yBAAyB;IAmBf,uBAAuB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE;;;;;;;;;;;;;YAoBjF,6BAA6B;IAuB3C,OAAO,CAAC,yBAAyB;YAkBnB,sBAAsB;IAmBvB,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;CAS5E;AAED,eAAO,MAAM,mBAAmB,qBAAqC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DocumentType } from '@typegoose/typegoose';
|
|
1
|
+
import { DocumentType, mongoose } from '@typegoose/typegoose';
|
|
2
2
|
import { IndividualStoreCoupon as Model } from '@lyxa.ai/core/dist/libraries/mongo/models/';
|
|
3
|
-
import {
|
|
3
|
+
import { CreateIndividualStoreCouponDTO as CreateDTO, UpdateIndividualStoreCouponDTO as UpdateDTO, ValidateCouponDTO } from '@modules/coupon/validations';
|
|
4
4
|
export declare class IndividualStoreCouponService {
|
|
5
5
|
private model;
|
|
6
6
|
private readonly shopModelForCoupon;
|
|
@@ -17,7 +17,33 @@ export declare class IndividualStoreCouponService {
|
|
|
17
17
|
* @param data Data to update
|
|
18
18
|
*/
|
|
19
19
|
update(id: string, data: UpdateDTO): Promise<DocumentType<Model>>;
|
|
20
|
-
validateCoupon(data: ValidateCouponDTO,
|
|
20
|
+
validateCoupon(data: ValidateCouponDTO, coupon: DocumentType<Model>): Promise<{
|
|
21
|
+
isValid: boolean;
|
|
22
|
+
message?: string | undefined;
|
|
23
|
+
amountAfterCoupon?: number | undefined;
|
|
24
|
+
secondaryAmountAfterCoupon?: number | undefined;
|
|
25
|
+
discountAmount?: number | undefined;
|
|
26
|
+
secondaryDiscountAmount?: number | undefined;
|
|
27
|
+
discountCut?: {
|
|
28
|
+
companyCut?: number | undefined;
|
|
29
|
+
secondaryCompanyCut?: number | undefined;
|
|
30
|
+
shopCut?: number | undefined;
|
|
31
|
+
secondaryShopCut?: number | undefined;
|
|
32
|
+
} | undefined;
|
|
33
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
34
|
+
} | {
|
|
35
|
+
isValid: boolean;
|
|
36
|
+
message: string;
|
|
37
|
+
shop?: undefined;
|
|
38
|
+
} | {
|
|
39
|
+
isValid: boolean;
|
|
40
|
+
shop: mongoose.Document<unknown, import("@typegoose/typegoose/lib/types").BeAnObject, import("@lyxa.ai/core/dist/libraries/mongo/models/shop.model").Shop, import("@typegoose/typegoose/lib/types").BeAnyObject, {}> & Omit<import("@lyxa.ai/core/dist/libraries/mongo/models/shop.model").Shop & {
|
|
41
|
+
_id: mongoose.Types.ObjectId;
|
|
42
|
+
} & {
|
|
43
|
+
__v: number;
|
|
44
|
+
}, "typegooseName"> & import("@typegoose/typegoose/lib/types").IObjectWithTypegooseFunction;
|
|
45
|
+
message?: undefined;
|
|
46
|
+
}>;
|
|
21
47
|
}
|
|
22
48
|
export declare const individualStoreCouponService: IndividualStoreCouponService;
|
|
23
49
|
//# sourceMappingURL=individual-store-coupon.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"individual-store-coupon.service.d.ts","sourceRoot":"/","sources":["modules/coupon/services/individual-store-coupon.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"individual-store-coupon.service.d.ts","sourceRoot":"/","sources":["modules/coupon/services/individual-store-coupon.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAEN,qBAAqB,IAAI,KAAK,EAI9B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACN,8BAA8B,IAAI,SAAS,EAC3C,8BAA8B,IAAI,SAAS,EAC3C,iBAAiB,EACjB,MAAM,6BAA6B,CAAC;AAIrC,qBACa,4BAA4B;IACxC,OAAO,CAAC,KAAK,CAAC;IACd,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmB;IACtD,OAAO,CAAC,UAAU,CAA2D;;IAQ7E;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAMlE;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAuBjE,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYhF;AAED,eAAO,MAAM,4BAA4B,8BAA8C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CouponRepository.d.ts","sourceRoot":"/","sources":["modules/coupon/services/patterns/repository/CouponRepository.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAEN,QAAQ,EAIR,MAAM,mCAAmC,CAAC;AAK3C,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+C;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;IACrE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiE;IACvG,OAAO,CAAC,cAAc,CAAoD;;IAS1E,OAAO,KAAK,aAAa,GAKxB;IAEY,cAAc,CAC1B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,EACzC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,EACzC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC5B,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"CouponRepository.d.ts","sourceRoot":"/","sources":["modules/coupon/services/patterns/repository/CouponRepository.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAEN,QAAQ,EAIR,MAAM,mCAAmC,CAAC;AAK3C,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+C;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2C;IACrE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiE;IACvG,OAAO,CAAC,cAAc,CAAoD;;IAS1E,OAAO,KAAK,aAAa,GAKxB;IAEY,cAAc,CAC1B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,EACzC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,EACzC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC5B,OAAO,CAAC,GAAG,CAAC;IAoVR,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG;IAQxC,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IA6ChD,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,iBAAiB;IA0DzB,OAAO,CAAC,2BAA2B;CAyGnC"}
|
|
@@ -5,7 +5,9 @@ export declare class ReferralCodeCouponService {
|
|
|
5
5
|
private model;
|
|
6
6
|
private settingsModel;
|
|
7
7
|
private userModel;
|
|
8
|
+
private _coreUserModel;
|
|
8
9
|
constructor();
|
|
10
|
+
private get coreUserModel();
|
|
9
11
|
/**
|
|
10
12
|
* Create a new record
|
|
11
13
|
* @param data Data for the new record
|
|
@@ -17,6 +19,61 @@ export declare class ReferralCodeCouponService {
|
|
|
17
19
|
* @param data Data to update
|
|
18
20
|
*/
|
|
19
21
|
update(id: string, data: UpdateDTO): Promise<DocumentType<Model>>;
|
|
22
|
+
/**
|
|
23
|
+
* Normalize the name by removing accents, special characters,
|
|
24
|
+
* and converting to uppercase
|
|
25
|
+
*
|
|
26
|
+
* @param name
|
|
27
|
+
* @returns Normalized name
|
|
28
|
+
*/
|
|
29
|
+
private normalizeName;
|
|
30
|
+
/**
|
|
31
|
+
* Pad the value to 3 characters, if it's shorter than 3 characters,
|
|
32
|
+
* pad with 'X', if it's longer than 3 characters,
|
|
33
|
+
* truncate it to 3 characters
|
|
34
|
+
*
|
|
35
|
+
* @param value
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
private padToThree;
|
|
39
|
+
/**
|
|
40
|
+
* Detect Arabic Characters
|
|
41
|
+
*
|
|
42
|
+
* @param text
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
private containsArabic;
|
|
46
|
+
/**
|
|
47
|
+
* Letters + Numbers (for Arabic fallback)
|
|
48
|
+
*
|
|
49
|
+
* @param length
|
|
50
|
+
* @returns
|
|
51
|
+
*/
|
|
52
|
+
private generateRandomAlphaNumeric;
|
|
53
|
+
/**
|
|
54
|
+
* Random Digits (000–999)
|
|
55
|
+
*
|
|
56
|
+
* @return string
|
|
57
|
+
*/
|
|
58
|
+
private generateThreeDigits;
|
|
59
|
+
/**
|
|
60
|
+
* Main Generator (Core Logic)
|
|
61
|
+
*
|
|
62
|
+
* @param firstName
|
|
63
|
+
* @param lastName
|
|
64
|
+
* @returns
|
|
65
|
+
*/
|
|
66
|
+
private generateCouponFromName;
|
|
67
|
+
/**
|
|
68
|
+
* Split full name into first name and last name.
|
|
69
|
+
* If only one word is provided, treat it as first name and leave last name empty.
|
|
70
|
+
* If multiple words are provided, treat the first word as first name and
|
|
71
|
+
* the last word as last name, ignoring any middle words.
|
|
72
|
+
*
|
|
73
|
+
* @param fullName string
|
|
74
|
+
* @returns object
|
|
75
|
+
*/
|
|
76
|
+
private splitName;
|
|
20
77
|
private generateCode;
|
|
21
78
|
private generateCouponCode;
|
|
22
79
|
createReferralCodeForUser(userId: mongoose.Types.ObjectId | undefined): Promise<DocumentType<Model>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referral-code-coupon.service.d.ts","sourceRoot":"/","sources":["modules/coupon/services/referral-code-coupon.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAEN,kBAAkB,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"referral-code-coupon.service.d.ts","sourceRoot":"/","sources":["modules/coupon/services/referral-code-coupon.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAEN,kBAAkB,IAAI,KAAK,EAM3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACN,yBAAyB,EACzB,2BAA2B,IAAI,SAAS,EACxC,6BAA6B,EAC7B,2BAA2B,IAAI,SAAS,EACxC,iBAAiB,EACjB,MAAM,6BAA6B,CAAC;AASrC,qBACa,yBAAyB;IACrC,OAAO,CAAC,KAAK,CAAC;IACd,OAAO,CAAC,aAAa,CAAiE;IACtF,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,cAAc,CAAoD;;IAS1E,OAAO,KAAK,aAAa,GAKxB;IAED;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAIlE;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAuB9E;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAUrB;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAUlB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,YAAY;YAqBN,kBAAkB;IAiBnB,yBAAyB,CACrC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,GACzC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAkClB,cAAc,CAC1B,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,GACzB,OAAO,CAAC,yBAAyB,CAAC;IA2ExB,qBAAqB,CACjC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAC7B,OAAO,CAAC,6BAA6B,CAAC;YAc3B,mBAAmB;CAKjC;AAED,eAAO,MAAM,yBAAyB,2BAA2C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DocumentType } from '@typegoose/typegoose';
|
|
1
|
+
import { DocumentType, mongoose } from '@typegoose/typegoose';
|
|
2
2
|
import { ShopsCategoriesCoupon as Model } from '@lyxa.ai/core/dist/libraries/mongo/models/';
|
|
3
|
-
import {
|
|
3
|
+
import { CreateShopsCategoriesCouponDTO as CreateDTO, UpdateShopsCategoriesCouponDTO as UpdateDTO, ValidateCouponDTO } from '@modules/coupon/validations';
|
|
4
4
|
export declare class ShopsCategoriesCouponService {
|
|
5
5
|
private model;
|
|
6
6
|
private readonly shopModelForCoupon;
|
|
@@ -17,7 +17,33 @@ export declare class ShopsCategoriesCouponService {
|
|
|
17
17
|
* @param data Data to update
|
|
18
18
|
*/
|
|
19
19
|
update(id: string, data: UpdateDTO): Promise<DocumentType<Model>>;
|
|
20
|
-
validateCoupon(data: ValidateCouponDTO,
|
|
20
|
+
validateCoupon(data: ValidateCouponDTO, coupon: DocumentType<Model>): Promise<{
|
|
21
|
+
isValid: boolean;
|
|
22
|
+
message?: string | undefined;
|
|
23
|
+
amountAfterCoupon?: number | undefined;
|
|
24
|
+
secondaryAmountAfterCoupon?: number | undefined;
|
|
25
|
+
discountAmount?: number | undefined;
|
|
26
|
+
secondaryDiscountAmount?: number | undefined;
|
|
27
|
+
discountCut?: {
|
|
28
|
+
companyCut?: number | undefined;
|
|
29
|
+
secondaryCompanyCut?: number | undefined;
|
|
30
|
+
shopCut?: number | undefined;
|
|
31
|
+
secondaryShopCut?: number | undefined;
|
|
32
|
+
} | undefined;
|
|
33
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
34
|
+
} | {
|
|
35
|
+
isValid: boolean;
|
|
36
|
+
message: string;
|
|
37
|
+
shop?: undefined;
|
|
38
|
+
} | {
|
|
39
|
+
isValid: boolean;
|
|
40
|
+
shop: mongoose.Document<unknown, import("@typegoose/typegoose/lib/types").BeAnObject, import("@lyxa.ai/core/dist/libraries/mongo/models/shop.model").Shop, import("@typegoose/typegoose/lib/types").BeAnyObject, {}> & Omit<import("@lyxa.ai/core/dist/libraries/mongo/models/shop.model").Shop & {
|
|
41
|
+
_id: mongoose.Types.ObjectId;
|
|
42
|
+
} & {
|
|
43
|
+
__v: number;
|
|
44
|
+
}, "typegooseName"> & import("@typegoose/typegoose/lib/types").IObjectWithTypegooseFunction;
|
|
45
|
+
message?: undefined;
|
|
46
|
+
}>;
|
|
21
47
|
}
|
|
22
48
|
export declare const shopsCategoriesCouponService: ShopsCategoriesCouponService;
|
|
23
49
|
//# sourceMappingURL=shops-categories-coupon.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shops-categories-coupon.service.d.ts","sourceRoot":"/","sources":["modules/coupon/services/shops-categories-coupon.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"shops-categories-coupon.service.d.ts","sourceRoot":"/","sources":["modules/coupon/services/shops-categories-coupon.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAEN,qBAAqB,IAAI,KAAK,EAI9B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACN,8BAA8B,IAAI,SAAS,EAC3C,8BAA8B,IAAI,SAAS,EAC3C,iBAAiB,EACjB,MAAM,6BAA6B,CAAC;AAIrC,qBACa,4BAA4B;IACxC,OAAO,CAAC,KAAK,CAAC;IACd,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmB;IACtD,OAAO,CAAC,UAAU,CAA2D;;IAQ7E;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAMlE;;;;OAIG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAuBjE,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBhF;AAED,eAAO,MAAM,4BAA4B,8BAA8C,CAAC"}
|
|
@@ -1223,6 +1223,7 @@ export declare const CouponValidationOutputSchema: z.ZodObject<{
|
|
|
1223
1223
|
shopCut?: number | undefined;
|
|
1224
1224
|
secondaryShopCut?: number | undefined;
|
|
1225
1225
|
}>>;
|
|
1226
|
+
couponDetails: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1226
1227
|
}, "strip", z.ZodTypeAny, {
|
|
1227
1228
|
isValid: boolean;
|
|
1228
1229
|
message?: string | undefined;
|
|
@@ -1236,6 +1237,7 @@ export declare const CouponValidationOutputSchema: z.ZodObject<{
|
|
|
1236
1237
|
shopCut?: number | undefined;
|
|
1237
1238
|
secondaryShopCut?: number | undefined;
|
|
1238
1239
|
} | undefined;
|
|
1240
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1239
1241
|
}, {
|
|
1240
1242
|
message?: string | undefined;
|
|
1241
1243
|
isValid?: boolean | undefined;
|
|
@@ -1249,6 +1251,7 @@ export declare const CouponValidationOutputSchema: z.ZodObject<{
|
|
|
1249
1251
|
shopCut?: number | undefined;
|
|
1250
1252
|
secondaryShopCut?: number | undefined;
|
|
1251
1253
|
} | undefined;
|
|
1254
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1252
1255
|
}>;
|
|
1253
1256
|
export declare const CouponCodeSchema: z.ZodObject<{
|
|
1254
1257
|
couponCode: z.ZodString | z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
@@ -1307,6 +1310,7 @@ export declare const CouponValidationResponseSchema: z.ZodObject<{
|
|
|
1307
1310
|
shopCut?: number | undefined;
|
|
1308
1311
|
secondaryShopCut?: number | undefined;
|
|
1309
1312
|
} | undefined;
|
|
1313
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1310
1314
|
}, z.ZodTypeDef, {
|
|
1311
1315
|
message?: string | undefined;
|
|
1312
1316
|
isValid?: boolean | undefined;
|
|
@@ -1320,6 +1324,7 @@ export declare const CouponValidationResponseSchema: z.ZodObject<{
|
|
|
1320
1324
|
shopCut?: number | undefined;
|
|
1321
1325
|
secondaryShopCut?: number | undefined;
|
|
1322
1326
|
} | undefined;
|
|
1327
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1323
1328
|
}>, "many">;
|
|
1324
1329
|
}, "strip", z.ZodTypeAny, {
|
|
1325
1330
|
documents: {
|
|
@@ -1335,6 +1340,7 @@ export declare const CouponValidationResponseSchema: z.ZodObject<{
|
|
|
1335
1340
|
shopCut?: number | undefined;
|
|
1336
1341
|
secondaryShopCut?: number | undefined;
|
|
1337
1342
|
} | undefined;
|
|
1343
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1338
1344
|
}[];
|
|
1339
1345
|
metadata?: {
|
|
1340
1346
|
page: number;
|
|
@@ -1356,6 +1362,7 @@ export declare const CouponValidationResponseSchema: z.ZodObject<{
|
|
|
1356
1362
|
shopCut?: number | undefined;
|
|
1357
1363
|
secondaryShopCut?: number | undefined;
|
|
1358
1364
|
} | undefined;
|
|
1365
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1359
1366
|
}[];
|
|
1360
1367
|
metadata?: {
|
|
1361
1368
|
page: number;
|
|
@@ -1376,6 +1383,7 @@ export declare const CouponValidationResponseSchema: z.ZodObject<{
|
|
|
1376
1383
|
shopCut?: number | undefined;
|
|
1377
1384
|
secondaryShopCut?: number | undefined;
|
|
1378
1385
|
} | undefined;
|
|
1386
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1379
1387
|
}, z.ZodTypeDef, {
|
|
1380
1388
|
message?: string | undefined;
|
|
1381
1389
|
isValid?: boolean | undefined;
|
|
@@ -1389,6 +1397,7 @@ export declare const CouponValidationResponseSchema: z.ZodObject<{
|
|
|
1389
1397
|
shopCut?: number | undefined;
|
|
1390
1398
|
secondaryShopCut?: number | undefined;
|
|
1391
1399
|
} | undefined;
|
|
1400
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1392
1401
|
}>]>>;
|
|
1393
1402
|
}, "strip", z.ZodTypeAny, {
|
|
1394
1403
|
message: string;
|
|
@@ -1406,6 +1415,7 @@ export declare const CouponValidationResponseSchema: z.ZodObject<{
|
|
|
1406
1415
|
shopCut?: number | undefined;
|
|
1407
1416
|
secondaryShopCut?: number | undefined;
|
|
1408
1417
|
} | undefined;
|
|
1418
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1409
1419
|
} | {
|
|
1410
1420
|
documents: {
|
|
1411
1421
|
message?: string | undefined;
|
|
@@ -1420,6 +1430,7 @@ export declare const CouponValidationResponseSchema: z.ZodObject<{
|
|
|
1420
1430
|
shopCut?: number | undefined;
|
|
1421
1431
|
secondaryShopCut?: number | undefined;
|
|
1422
1432
|
} | undefined;
|
|
1433
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1423
1434
|
}[];
|
|
1424
1435
|
metadata?: {
|
|
1425
1436
|
page: number;
|
|
@@ -1444,6 +1455,7 @@ export declare const CouponValidationResponseSchema: z.ZodObject<{
|
|
|
1444
1455
|
shopCut?: number | undefined;
|
|
1445
1456
|
secondaryShopCut?: number | undefined;
|
|
1446
1457
|
} | undefined;
|
|
1458
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1447
1459
|
} | {
|
|
1448
1460
|
documents: {
|
|
1449
1461
|
message?: string | undefined;
|
|
@@ -1458,6 +1470,7 @@ export declare const CouponValidationResponseSchema: z.ZodObject<{
|
|
|
1458
1470
|
shopCut?: number | undefined;
|
|
1459
1471
|
secondaryShopCut?: number | undefined;
|
|
1460
1472
|
} | undefined;
|
|
1473
|
+
couponDetails?: Record<string, unknown> | undefined;
|
|
1461
1474
|
}[];
|
|
1462
1475
|
metadata?: {
|
|
1463
1476
|
page: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAGN,GAAG,EACH,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAc,MAAM,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAO1G;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;CAkBxB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCtB,CAAC;AASF;;GAEG;AACH,QAAA,MACa,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACpB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAChB,cAAc,mNACV,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCACmB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIvC,CAAC;AAEH,OAAO,EACN,sBAAsB,EACtB,YAAY,EACZ,cAAc,IAAI,wBAAwB,EAC1C,kBAAkB,GAClB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AASH;;GAEG;AACH,eAAO,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"coupon.validation.d.ts","sourceRoot":"/","sources":["modules/coupon/validations/coupon.validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deal-setting.service.d.ts","sourceRoot":"/","sources":["modules/deal-setting/services/deal-setting.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAElG,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAoB,WAAW,IAAI,KAAK,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,EACN,oBAAoB,IAAI,SAAS,EACjC,oBAAoB,IAAI,SAAS,EACjC,mBAAmB,IAAI,YAAY,EACnC,MAAM,mCAAmC,CAAC;AAQ3C,qBACa,kBAAkB;IAC9B,OAAO,CAAC,KAAK,CAAmD;IAChE,OAAO,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"deal-setting.service.d.ts","sourceRoot":"/","sources":["modules/deal-setting/services/deal-setting.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAElG,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAoB,WAAW,IAAI,KAAK,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,EACN,oBAAoB,IAAI,SAAS,EACjC,oBAAoB,IAAI,SAAS,EACjC,mBAAmB,IAAI,YAAY,EACnC,MAAM,mCAAmC,CAAC;AAQ3C,qBACa,kBAAkB;IAC9B,OAAO,CAAC,KAAK,CAAmD;IAChE,OAAO,CAAC,kBAAkB,CAWxB;;IAMF;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAwBlF;;;OAGG;IACU,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAczF;;;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;YA2B1F,yBAAyB;IAmBvC;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAuB9F;;;;OAIG;IACU,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAkB9E,8BAA8B;IAe5C;;;OAGG;IACU,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAoCzE;AAED,eAAO,MAAM,kBAAkB,oBAAoC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { DocumentType, mongoose } from '@typegoose/typegoose';
|
|
2
|
+
import { LineItem, RegularOrder } from '@lyxa.ai/core/dist/libraries/mongo/models';
|
|
3
|
+
import { MarketingGraphInputDTO, MarketingMetricsDTO, MarketingOrdersGraphOutputDTO } from '@modules/marketing/validations';
|
|
4
|
+
import { MarketingType } from '@lyxa.ai/core/dist/utilities/enum';
|
|
5
|
+
import { Duration } from '@lyxa.ai/core/dist/libraries/mongo/models/shared/duration.model';
|
|
6
|
+
export declare class MarketingMetricsRepository {
|
|
7
|
+
private model;
|
|
8
|
+
private orderModel;
|
|
9
|
+
constructor();
|
|
10
|
+
calculateMarketingSpendPerOrder(order: DocumentType<RegularOrder> & {
|
|
11
|
+
lineItems: DocumentType<LineItem>[];
|
|
12
|
+
}): Map<mongoose.Types.ObjectId, number>;
|
|
13
|
+
calculateMarketingSpent(marketingId: mongoose.Types.ObjectId, duration?: Duration): Promise<{
|
|
14
|
+
amount: number;
|
|
15
|
+
marketingType: MarketingType;
|
|
16
|
+
}>;
|
|
17
|
+
private calculateItemBasedSpent;
|
|
18
|
+
private calculateFreeDeliverySpent;
|
|
19
|
+
private calculatePunchMarketingSpent;
|
|
20
|
+
private buildBaseMatch;
|
|
21
|
+
private runAggregateAndGetTotal;
|
|
22
|
+
getMetrics(marketingId: mongoose.Types.ObjectId): Promise<MarketingMetricsDTO>;
|
|
23
|
+
private getMarketingItemCount;
|
|
24
|
+
private calculateOrderIncreaseWithDiscount;
|
|
25
|
+
private calculateCustomerIncreaseWithDiscount;
|
|
26
|
+
private calculateIncrease;
|
|
27
|
+
private getNewCustomersForShop;
|
|
28
|
+
getOrdersGraph(data: MarketingGraphInputDTO): Promise<MarketingOrdersGraphOutputDTO>;
|
|
29
|
+
getCustomersGraph(data: MarketingGraphInputDTO): Promise<{
|
|
30
|
+
date: string;
|
|
31
|
+
users: number;
|
|
32
|
+
}[]>;
|
|
33
|
+
getAmountSpentGraph(data: MarketingGraphInputDTO): Promise<{
|
|
34
|
+
date: string;
|
|
35
|
+
amount: number;
|
|
36
|
+
}[]>;
|
|
37
|
+
}
|
|
38
|
+
export declare const marketingMetricsRepository: MarketingMetricsRepository;
|
|
39
|
+
//# sourceMappingURL=MarketingMetricsRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarketingMetricsRepository.d.ts","sourceRoot":"/","sources":["modules/marketing/patterns/repository/MarketingMetricsRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAEN,QAAQ,EAGR,YAAY,EAEZ,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEN,sBAAsB,EACtB,mBAAmB,EACnB,6BAA6B,EAC7B,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAI3F,qBACa,0BAA0B;IACtC,OAAO,CAAC,KAAK,CAAiD;IAC9D,OAAO,CAAC,UAAU,CAA2D;;IAOtE,+BAA+B,CACrC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG;QAAE,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAA;KAAE,GACzE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;IAiD1B,uBAAuB,CACnC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EACpC,QAAQ,CAAC,EAAE,QAAQ,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE,CAAC;YA4B9C,uBAAuB;YAqCvB,0BAA0B;YAyB1B,4BAA4B;IAsB1C,OAAO,CAAC,cAAc;YAkBR,uBAAuB;IAKxB,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAqC7E,qBAAqB;YAKrB,kCAAkC;YA2BlC,qCAAqC;IAcnD,OAAO,CAAC,iBAAiB;YAWX,sBAAsB;IA8BvB,cAAc,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAwDpF,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAsF3F,mBAAmB,CAC/B,IAAI,EAAE,sBAAsB,GAC1B,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAgL9C;AAED,eAAO,MAAM,0BAA0B,4BAA4C,CAAC"}
|
|
@@ -95,6 +95,11 @@ export declare const marketingRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
95
95
|
output: string;
|
|
96
96
|
meta: object;
|
|
97
97
|
}>;
|
|
98
|
+
syncAllProductsMarketingInfoLocal: import("@trpc/server").TRPCMutationProcedure<{
|
|
99
|
+
input: void;
|
|
100
|
+
output: any;
|
|
101
|
+
meta: object;
|
|
102
|
+
}>;
|
|
98
103
|
syncProductMarketingInfoByProductId: import("@trpc/server").TRPCQueryProcedure<{
|
|
99
104
|
input: void;
|
|
100
105
|
output: string;
|
|
@@ -107,18 +112,19 @@ export declare const marketingRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
107
112
|
output: string;
|
|
108
113
|
meta: object;
|
|
109
114
|
}>;
|
|
110
|
-
|
|
111
|
-
input:
|
|
112
|
-
marketings: (string | mongoose.Types.ObjectId)[];
|
|
113
|
-
};
|
|
115
|
+
calculateMarketingSpent: import("@trpc/server").TRPCMutationProcedure<{
|
|
116
|
+
input: string | mongoose.Types.ObjectId;
|
|
114
117
|
output: {
|
|
115
118
|
success: boolean;
|
|
116
119
|
message: string;
|
|
117
|
-
data:
|
|
120
|
+
data: {
|
|
121
|
+
amount: number;
|
|
122
|
+
marketingType: import("@lyxa.ai/core/dist/utilities/enum").MarketingType;
|
|
123
|
+
} | undefined;
|
|
118
124
|
};
|
|
119
125
|
meta: object;
|
|
120
126
|
}>;
|
|
121
|
-
|
|
127
|
+
incrementMarketingSpentFromOrder: import("@trpc/server").TRPCMutationProcedure<{
|
|
122
128
|
input: string | mongoose.Types.ObjectId;
|
|
123
129
|
output: {
|
|
124
130
|
success: boolean;
|
|
@@ -127,7 +133,7 @@ export declare const marketingRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
127
133
|
};
|
|
128
134
|
meta: object;
|
|
129
135
|
}>;
|
|
130
|
-
|
|
136
|
+
decrementMarketingSpentFromOrder: import("@trpc/server").TRPCMutationProcedure<{
|
|
131
137
|
input: string | mongoose.Types.ObjectId;
|
|
132
138
|
output: {
|
|
133
139
|
success: boolean;
|
|
@@ -136,12 +142,82 @@ export declare const marketingRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
136
142
|
};
|
|
137
143
|
meta: object;
|
|
138
144
|
}>;
|
|
139
|
-
|
|
145
|
+
recomputeAndSyncAllMarketingSpent: import("@trpc/server").TRPCMutationProcedure<{
|
|
146
|
+
input: void;
|
|
147
|
+
output: {
|
|
148
|
+
success: boolean;
|
|
149
|
+
message: string;
|
|
150
|
+
data: void | undefined;
|
|
151
|
+
};
|
|
152
|
+
meta: object;
|
|
153
|
+
}>;
|
|
154
|
+
getMetrics: import("@trpc/server").TRPCQueryProcedure<{
|
|
140
155
|
input: string | mongoose.Types.ObjectId;
|
|
141
156
|
output: {
|
|
142
157
|
success: boolean;
|
|
143
158
|
message: string;
|
|
144
|
-
data:
|
|
159
|
+
data: {
|
|
160
|
+
numberOfItems?: number | undefined;
|
|
161
|
+
orderIncreaseWithDiscount?: {
|
|
162
|
+
count: number;
|
|
163
|
+
percentageIncrease: number;
|
|
164
|
+
} | undefined;
|
|
165
|
+
customerIncreaseWithDiscount?: {
|
|
166
|
+
count: number;
|
|
167
|
+
percentageIncrease: number;
|
|
168
|
+
} | undefined;
|
|
169
|
+
} | undefined;
|
|
170
|
+
};
|
|
171
|
+
meta: object;
|
|
172
|
+
}>;
|
|
173
|
+
getOrdersGraph: import("@trpc/server").TRPCQueryProcedure<{
|
|
174
|
+
input: {
|
|
175
|
+
startDate: string | Date;
|
|
176
|
+
marketingId: string | mongoose.Types.ObjectId;
|
|
177
|
+
endDate: string | Date;
|
|
178
|
+
type?: import("@lyxa.ai/core/dist/utilities/enum").GraphType | undefined;
|
|
179
|
+
};
|
|
180
|
+
output: {
|
|
181
|
+
success: boolean;
|
|
182
|
+
message: string;
|
|
183
|
+
data: {
|
|
184
|
+
date: string;
|
|
185
|
+
orders: number;
|
|
186
|
+
}[] | undefined;
|
|
187
|
+
};
|
|
188
|
+
meta: object;
|
|
189
|
+
}>;
|
|
190
|
+
getCustomersGraph: import("@trpc/server").TRPCQueryProcedure<{
|
|
191
|
+
input: {
|
|
192
|
+
startDate: string | Date;
|
|
193
|
+
marketingId: string | mongoose.Types.ObjectId;
|
|
194
|
+
endDate: string | Date;
|
|
195
|
+
type?: import("@lyxa.ai/core/dist/utilities/enum").GraphType | undefined;
|
|
196
|
+
};
|
|
197
|
+
output: {
|
|
198
|
+
success: boolean;
|
|
199
|
+
message: string;
|
|
200
|
+
data: {
|
|
201
|
+
date: string;
|
|
202
|
+
users: number;
|
|
203
|
+
}[] | undefined;
|
|
204
|
+
};
|
|
205
|
+
meta: object;
|
|
206
|
+
}>;
|
|
207
|
+
getAmountSpentGraph: import("@trpc/server").TRPCQueryProcedure<{
|
|
208
|
+
input: {
|
|
209
|
+
startDate: string | Date;
|
|
210
|
+
marketingId: string | mongoose.Types.ObjectId;
|
|
211
|
+
endDate: string | Date;
|
|
212
|
+
type?: import("@lyxa.ai/core/dist/utilities/enum").GraphType | undefined;
|
|
213
|
+
};
|
|
214
|
+
output: {
|
|
215
|
+
success: boolean;
|
|
216
|
+
message: string;
|
|
217
|
+
data: {
|
|
218
|
+
date: string;
|
|
219
|
+
amount: number;
|
|
220
|
+
}[] | undefined;
|
|
145
221
|
};
|
|
146
222
|
meta: object;
|
|
147
223
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketing.router.d.ts","sourceRoot":"/","sources":["modules/marketing/routers/marketing.router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"marketing.router.d.ts","sourceRoot":"/","sources":["modules/marketing/routers/marketing.router.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAOrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsIN,CAAC"}
|
|
@@ -7,6 +7,7 @@ export declare class MarketingService {
|
|
|
7
7
|
private model;
|
|
8
8
|
private shopModel;
|
|
9
9
|
private orderModel;
|
|
10
|
+
private marketingMetricsRepository;
|
|
10
11
|
constructor();
|
|
11
12
|
/**
|
|
12
13
|
* Create a new record
|
|
@@ -37,18 +38,11 @@ export declare class MarketingService {
|
|
|
37
38
|
*/
|
|
38
39
|
deleteById(data: DeleteDTO, admin?: mongoose.Types.ObjectId): Promise<string>;
|
|
39
40
|
handleNewProductForEntireMenuMarketing(data: ProductEntireMenuMarketingHandlerDTO): Promise<string>;
|
|
40
|
-
evaluateMarketingSpendLimits(marketings: mongoose.Types.ObjectId[]): Promise<string>;
|
|
41
|
-
private evaluateItemBasedMarketings;
|
|
42
|
-
private evalulateFreeDeliveryMarketings;
|
|
43
|
-
calculateMarketingSpent(marketingId: mongoose.Types.ObjectId): Promise<any>;
|
|
44
|
-
private calculateItemBasedSpent;
|
|
45
|
-
private calculateFreeDeliverySpent;
|
|
46
|
-
private calculatePunchMarketingSpent;
|
|
47
41
|
incrementMarketingSpentFromOrder(orderId: mongoose.Types.ObjectId): Promise<any>;
|
|
48
42
|
decrementMarketingSpentFromOrder(orderId: mongoose.Types.ObjectId): Promise<any>;
|
|
49
43
|
private expireMarketingsExceedingSpendLimits;
|
|
50
44
|
private unExpireMarketingsBelowSpendLimits;
|
|
51
|
-
|
|
45
|
+
recomputeAndSyncAllMarketingSpent(): Promise<void>;
|
|
52
46
|
}
|
|
53
47
|
export declare const marketingService: MarketingService;
|
|
54
48
|
//# sourceMappingURL=marketing.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/marketing.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAKN,SAAS,IAAI,KAAK,EAKlB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEN,0BAA0B,EAE1B,oCAAoC,EACpC,kBAAkB,IAAI,SAAS,EAC/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/marketing.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAKN,SAAS,IAAI,KAAK,EAKlB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEN,0BAA0B,EAE1B,oCAAoC,EACpC,kBAAkB,IAAI,SAAS,EAC/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAmC3D,qBACa,gBAAgB;IAC5B,OAAO,CAAC,KAAK,CAAiD;IAC9D,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,UAAU,CAA2D;IAC7E,OAAO,CAAC,0BAA0B,CAA6B;;IAS/D;;;OAGG;IACU,MAAM,CAClB,IAAI,EAAE,0BAA0B,EAChC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAC7B,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAuH/B;;;OAGG;IACU,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAkB1E;;;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;IAqBxG;;;;OAIG;IACU,MAAM,CAClB,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAC5B,IAAI,EAAE,SAAS,EACf,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAC7B,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAkHjB,uBAAuB;YAevB,uBAAuB;IAerC;;;OAGG;IACU,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAsC7E,sCAAsC,CAAC,IAAI,EAAE,oCAAoC;IAiCjF,gCAAgC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IA2BhF,gCAAgC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;YA2B/E,oCAAoC;YAYpC,kCAAkC;IAYnC,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC;CA8C/D;AAED,eAAO,MAAM,gBAAgB,kBAAkC,CAAC"}
|
|
@@ -44,6 +44,7 @@ export declare class ProductMarketingService {
|
|
|
44
44
|
* @param products Array of product IDs
|
|
45
45
|
*/
|
|
46
46
|
checkProductMarketingAvailability(products: mongoose.Types.ObjectId[]): Promise<boolean>;
|
|
47
|
+
countDocuments(filter: QueryDTO): Promise<number>;
|
|
47
48
|
}
|
|
48
49
|
export declare const productMarketingService: ProductMarketingService;
|
|
49
50
|
//# sourceMappingURL=product-marketing.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/product-marketing.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAyB,gBAAgB,IAAI,KAAK,EAAE,MAAM,4CAA4C,CAAC;AAC9G,OAAO,EACN,yBAAyB,IAAI,SAAS,EACtC,wBAAwB,IAAI,QAAQ,EACpC,gCAAgC,EAChC,yBAAyB,IAAI,SAAS,EACtC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAQ3D,qBACa,uBAAuB;IACnC,OAAO,CAAC,KAAK,CAAwD;IAErE,OAAO,CAAC,gCAAgC,CAAqC;;IAQ7E;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAOlE;;;OAGG;IACU,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAczF;;;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;IAqBxG;;;;OAIG;IACU,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBzE;;;OAGG;IACU,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBlE,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;IAW1E;;;OAGG;IACU,sBAAsB,CAClC,MAAM,EAAE,gCAAgC,EACxC,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC;IAYlB;;;OAGG;IACU,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"product-marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/product-marketing.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAyB,gBAAgB,IAAI,KAAK,EAAE,MAAM,4CAA4C,CAAC;AAC9G,OAAO,EACN,yBAAyB,IAAI,SAAS,EACtC,wBAAwB,IAAI,QAAQ,EACpC,gCAAgC,EAChC,yBAAyB,IAAI,SAAS,EACtC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAQ3D,qBACa,uBAAuB;IACnC,OAAO,CAAC,KAAK,CAAwD;IAErE,OAAO,CAAC,gCAAgC,CAAqC;;IAQ7E;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAOlE;;;OAGG;IACU,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAczF;;;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;IAqBxG;;;;OAIG;IACU,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBzE;;;OAGG;IACU,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBlE,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;IAW1E;;;OAGG;IACU,sBAAsB,CAClC,MAAM,EAAE,gCAAgC,EACxC,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC;IAYlB;;;OAGG;IACU,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BxF,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;CAI9D;AAED,eAAO,MAAM,uBAAuB,yBAAyC,CAAC"}
|
package/dist/types/modules/marketing/services/synchronize-product-marketing.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synchronize-product-marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/synchronize-product-marketing.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD,OAAO,EAAE,6CAA6C,EAAE,MAAM,0FAA0F,CAAC;AACzJ,qBACa,kCAAkC;IAC9C,OAAO,CAAC,YAAY,CAA+C;;IAMtD,kDAAkD;IAKxD,2CAA2C,CACjD,OAAO,EAAE,6CAA6C,GACpD,MAAM;IAKF,4BAA4B,QAAa,OAAO,CAAC,GAAG,CAAC,CAsD1D;YAEY,oBAAoB;YAsDpB,kCAAkC;IAqCnC,mCAAmC,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;IAsCtE,oCAAoC,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"synchronize-product-marketing.service.d.ts","sourceRoot":"/","sources":["modules/marketing/services/synchronize-product-marketing.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD,OAAO,EAAE,6CAA6C,EAAE,MAAM,0FAA0F,CAAC;AACzJ,qBACa,kCAAkC;IAC9C,OAAO,CAAC,YAAY,CAA+C;;IAMtD,kDAAkD;IAKxD,2CAA2C,CACjD,OAAO,EAAE,6CAA6C,GACpD,MAAM;IAKF,4BAA4B,QAAa,OAAO,CAAC,GAAG,CAAC,CAsD1D;YAEY,oBAAoB;YAsDpB,kCAAkC;IAqCnC,mCAAmC,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;IAsCtE,oCAAoC,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;CAgFvF;AAED,eAAO,MAAM,kCAAkC,oCAAoD,CAAC"}
|