@lodashventure/medusa-campaign 1.3.11 → 1.3.13
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/.medusa/server/src/admin/index.js +3031 -6990
- package/.medusa/server/src/admin/index.mjs +3016 -6977
- package/.medusa/server/src/api/admin/campaigns/[id]/detail/route.js +67 -0
- package/.medusa/server/src/api/admin/campaigns/[id]/image/route.js +80 -0
- package/.medusa/server/src/api/admin/campaigns/[id]/thumbnail/route.js +80 -0
- package/.medusa/server/src/api/admin/campaigns/sync/route.js +8 -6
- package/.medusa/server/src/api/admin/flash-sales/[id]/route.js +22 -4
- package/.medusa/server/src/api/middlewares.js +24 -1
- package/.medusa/server/src/api/store/buy-x-get-y/[id]/route.js +1 -1
- package/.medusa/server/src/api/store/buy-x-get-y/products/[productId]/route.js +1 -1
- package/.medusa/server/src/api/store/buy-x-get-y/route.js +3 -1
- package/.medusa/server/src/api/store/campaigns/[id]/route.js +40 -12
- package/.medusa/server/src/modules/custom-campaigns/migrations/Migration20251024000000.js +53 -0
- package/.medusa/server/src/modules/custom-campaigns/migrations/Migration20251025000000.js +22 -0
- package/.medusa/server/src/modules/custom-campaigns/models/campaign-detail.js +26 -0
- package/.medusa/server/src/modules/custom-campaigns/service.js +3 -1
- package/.medusa/server/src/subscribers/order-placed.js +2 -2
- package/.medusa/server/src/workflows/buy-x-get-y/applyBuyXGetYToCartWorkflow.js +16 -4
- package/.medusa/server/src/workflows/campaign-detail/update-campaign-detail.js +55 -0
- package/.medusa/server/src/workflows/campaign-detail/upload-campaign-images.js +120 -0
- package/.medusa/server/src/workflows/custom-campaign/createBuyXGetYCampaignWorkflow.js +13 -14
- package/.medusa/server/src/workflows/index.js +6 -3
- package/package.json +23 -19
- package/src/admin/components/campaign-detail-form.tsx +407 -0
- package/src/admin/components/campaign-image-uploader.tsx +313 -0
- package/src/admin/components/markdown-editor.tsx +298 -0
- package/src/admin/routes/flash-sales/[id]/page.tsx +51 -14
- package/src/admin/widgets/campaign-detail-widget.tsx +299 -0
- package/src/admin/widgets/campaign-stats-widget.tsx +238 -0
- package/src/api/admin/campaigns/[id]/detail/route.ts +77 -0
- package/src/api/admin/campaigns/[id]/image/route.ts +87 -0
- package/src/api/admin/campaigns/[id]/thumbnail/route.ts +87 -0
- package/src/api/admin/campaigns/sync/route.ts +53 -28
- package/src/api/admin/flash-sales/[id]/route.ts +50 -19
- package/src/api/middlewares.ts +21 -0
- package/src/api/store/buy-x-get-y/[id]/route.ts +10 -10
- package/src/api/store/buy-x-get-y/products/[productId]/route.ts +11 -12
- package/src/api/store/buy-x-get-y/route.ts +12 -5
- package/src/api/store/campaigns/[id]/route.ts +54 -24
- package/src/modules/custom-campaigns/migrations/Migration20251024000000.ts +53 -0
- package/src/modules/custom-campaigns/migrations/Migration20251025000000.ts +19 -0
- package/src/modules/custom-campaigns/models/campaign-detail.ts +25 -0
- package/src/modules/custom-campaigns/service.ts +2 -0
- package/src/subscribers/order-placed.ts +0 -2
- package/src/types/index.d.ts +46 -0
- package/src/workflows/buy-x-get-y/applyBuyXGetYToCartWorkflow.ts +41 -18
- package/src/workflows/campaign-detail/update-campaign-detail.ts +85 -0
- package/src/workflows/campaign-detail/upload-campaign-images.ts +163 -0
- package/src/workflows/custom-campaign/createBuyXGetYCampaignWorkflow.ts +23 -22
- package/src/workflows/index.ts +3 -2
- package/.medusa/server/src/api/admin/campaigns/fix-dates/route.js +0 -103
- package/.medusa/server/src/api/admin/force-fix/route.js +0 -176
- package/.medusa/server/src/api/admin/test-campaign/route.js +0 -132
- package/src/api/admin/campaigns/fix-dates/route.ts +0 -107
- package/src/api/admin/force-fix/route.ts +0 -184
- package/src/api/admin/test-campaign/route.ts +0 -141
|
@@ -26,7 +26,11 @@ const GET = async (req, res) => {
|
|
|
26
26
|
// Get campaign from promotion service
|
|
27
27
|
const promotionService = framework_1.container.resolve(utils_1.Modules.PROMOTION);
|
|
28
28
|
const campaign = await promotionService.retrieveCampaign(id, {
|
|
29
|
-
relations: [
|
|
29
|
+
relations: [
|
|
30
|
+
"promotions",
|
|
31
|
+
"promotions.application_method",
|
|
32
|
+
"promotions.application_method.target_rules",
|
|
33
|
+
],
|
|
30
34
|
});
|
|
31
35
|
if (!campaign) {
|
|
32
36
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Campaign with ID ${id} not found`);
|
|
@@ -38,6 +42,10 @@ const GET = async (req, res) => {
|
|
|
38
42
|
if (!isActive) {
|
|
39
43
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "This campaign is not currently active");
|
|
40
44
|
}
|
|
45
|
+
// Fetch campaign detail (images, content, etc.)
|
|
46
|
+
const [campaignDetail] = await customCampaignModuleService.listCampaignDetails({
|
|
47
|
+
campaign_id: id,
|
|
48
|
+
});
|
|
41
49
|
// Handle different campaign types
|
|
42
50
|
if (campaignType === campaign_type_enum_1.CampaignTypeEnum.FlashSale) {
|
|
43
51
|
// Fetch promotion usage limits for Flash Sale
|
|
@@ -65,19 +73,11 @@ const GET = async (req, res) => {
|
|
|
65
73
|
product: {
|
|
66
74
|
id: product.id,
|
|
67
75
|
title: product.title,
|
|
68
|
-
thumbnail: product.thumbnail,
|
|
69
|
-
handle: product.handle,
|
|
70
|
-
description: product.description,
|
|
71
|
-
images: product.images,
|
|
72
76
|
},
|
|
73
77
|
discountType: promotion.application_method?.type,
|
|
74
78
|
discountValue: promotion.application_method?.value,
|
|
75
|
-
maxQty: promotion.application_method?.max_quantity,
|
|
76
|
-
limit: promotionLimit?.limit,
|
|
77
|
-
used: promotionLimit?.used,
|
|
78
|
-
remaining: promotionLimit?.limit
|
|
79
|
-
? promotionLimit.limit - promotionLimit.used
|
|
80
|
-
: null,
|
|
79
|
+
maxQty: promotion.application_method?.max_quantity ?? 0,
|
|
80
|
+
limit: promotionLimit?.limit ?? 0,
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -89,6 +89,20 @@ const GET = async (req, res) => {
|
|
|
89
89
|
starts_at: campaign.starts_at,
|
|
90
90
|
ends_at: campaign.ends_at,
|
|
91
91
|
products,
|
|
92
|
+
campaign_detail: campaignDetail
|
|
93
|
+
? {
|
|
94
|
+
image_url: campaignDetail.image_url,
|
|
95
|
+
thumbnail_url: campaignDetail.thumbnail_url,
|
|
96
|
+
detail_content: campaignDetail.detail_content,
|
|
97
|
+
terms_and_conditions: campaignDetail.terms_and_conditions,
|
|
98
|
+
meta_title: campaignDetail.meta_title,
|
|
99
|
+
meta_description: campaignDetail.meta_description,
|
|
100
|
+
meta_keywords: campaignDetail.meta_keywords,
|
|
101
|
+
link_url: campaignDetail.link_url,
|
|
102
|
+
link_text: campaignDetail.link_text,
|
|
103
|
+
display_order: campaignDetail.display_order,
|
|
104
|
+
}
|
|
105
|
+
: null,
|
|
92
106
|
});
|
|
93
107
|
}
|
|
94
108
|
else if (campaignType === campaign_type_enum_1.CampaignTypeEnum.BuyXGetY) {
|
|
@@ -143,6 +157,20 @@ const GET = async (req, res) => {
|
|
|
143
157
|
starts_at: campaign.starts_at,
|
|
144
158
|
ends_at: campaign.ends_at,
|
|
145
159
|
rules,
|
|
160
|
+
campaign_detail: campaignDetail
|
|
161
|
+
? {
|
|
162
|
+
image_url: campaignDetail.image_url,
|
|
163
|
+
thumbnail_url: campaignDetail.thumbnail_url,
|
|
164
|
+
detail_content: campaignDetail.detail_content,
|
|
165
|
+
terms_and_conditions: campaignDetail.terms_and_conditions,
|
|
166
|
+
meta_title: campaignDetail.meta_title,
|
|
167
|
+
meta_description: campaignDetail.meta_description,
|
|
168
|
+
meta_keywords: campaignDetail.meta_keywords,
|
|
169
|
+
link_url: campaignDetail.link_url,
|
|
170
|
+
link_text: campaignDetail.link_text,
|
|
171
|
+
display_order: campaignDetail.display_order,
|
|
172
|
+
}
|
|
173
|
+
: null,
|
|
146
174
|
});
|
|
147
175
|
}
|
|
148
176
|
else {
|
|
@@ -158,4 +186,4 @@ const GET = async (req, res) => {
|
|
|
158
186
|
}
|
|
159
187
|
};
|
|
160
188
|
exports.GET = GET;
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2NhbXBhaWducy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUErRTtBQUMvRSxxREFJbUM7QUFDbkMsc0dBQWlHO0FBRWpHLDJFQUE4RTtBQUd2RSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQWtDLEVBQ2xDLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUUxQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDUixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5Qix5QkFBeUIsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLGNBQWMsR0FBRyxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsTUFBTSwyQkFBMkIsR0FDL0IscUJBQVMsQ0FBQyxPQUFPLENBQThCLHlDQUFzQixDQUFDLENBQUM7SUFFekUsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUV2QiwrQ0FBK0M7UUFDL0MsTUFBTSxtQkFBbUIsR0FDdkIsTUFBTSwyQkFBMkIsQ0FBQyx1QkFBdUIsQ0FBQztZQUN4RCxXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDLENBQUM7UUFFTCxJQUFJLG1CQUFtQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixvQkFBb0IsRUFBRSxZQUFZLENBQ25DLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRWpELHNDQUFzQztRQUN0QyxNQUFNLGdCQUFnQixHQUFHLHFCQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RCxNQUFNLFFBQVEsR0FBRyxNQUFNLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRTtZQUMzRCxTQUFTLEVBQUU7Z0JBQ1QsWUFBWTtnQkFDWiwrQkFBK0I7Z0JBQy9CLDRDQUE0QzthQUM3QztTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLG9CQUFvQixFQUFFLFlBQVksQ0FDbkMsQ0FBQztRQUNKLENBQUM7UUFFRCw4QkFBOEI7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFRLENBQUMsQ0FBQztRQUMzQyxNQUFNLFFBQVEsR0FBRyxRQUFRLElBQUksR0FBRyxJQUFJLE1BQU0sSUFBSSxHQUFHLENBQUM7UUFFbEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0IsdUNBQXVDLENBQ3hDLENBQUM7UUFDSixDQUFDO1FBRUQsZ0RBQWdEO1FBQ2hELE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FDcEIsTUFBTSwyQkFBMkIsQ0FBQyxtQkFBbUIsQ0FBQztZQUNwRCxXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDLENBQUM7UUFFTCxrQ0FBa0M7UUFDbEMsSUFBSSxZQUFZLEtBQUsscUNBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDaEQsOENBQThDO1lBQzlDLE1BQU0sb0JBQW9CLEdBQ3hCLE1BQU0sMkJBQTJCLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3pELFdBQVcsRUFBRSxFQUFFO2FBQ2hCLENBQUMsQ0FBQztZQUVMLHlEQUF5RDtZQUN6RCxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7WUFDckMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxDQUFDO1lBRUgsb0RBQW9EO1lBQ3BELE1BQU0sUUFBUSxHQUErQixFQUFFLENBQUM7WUFDaEQsSUFBSSxLQUFLLEVBQUUsTUFBTSxTQUFTLElBQUksUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBQ3hELFNBQVM7Z0JBQ1gsQ0FBQztnQkFFRCxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxNQUFNLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQyxlQUFlLENBQ2xELGNBQWMsRUFBRSxVQUFVLEVBQzFCO29CQUNFLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUM7b0JBQzdELFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztpQkFDdEIsQ0FDRixDQUFDO2dCQUVGLElBQUksU0FBUyxDQUFDLGtCQUFrQixDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDckQsUUFBUSxDQUFDLElBQUksQ0FBQzt3QkFDWixPQUFPLEVBQUU7NEJBQ1AsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFOzRCQUNkLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSzt5QkFDckI7d0JBQ0QsWUFBWSxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFvQjt3QkFDaEUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLO3dCQUNsRCxNQUFNLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixFQUFFLFlBQVksSUFBSSxDQUFDO3dCQUN2RCxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssSUFBSSxDQUFDO3FCQUNsQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUM7WUFFRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbkIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFO2dCQUNmLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtnQkFDbkIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO2dCQUNqQyxJQUFJLEVBQUUsWUFBWTtnQkFDbEIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxTQUFTO2dCQUM3QixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87Z0JBQ3pCLFFBQVE7Z0JBQ1IsZUFBZSxFQUFFLGNBQWM7b0JBQzdCLENBQUMsQ0FBQzt3QkFDRSxTQUFTLEVBQUUsY0FBYyxDQUFDLFNBQVM7d0JBQ25DLGFBQWEsRUFBRSxjQUFjLENBQUMsYUFBYTt3QkFDM0MsY0FBYyxFQUFFLGNBQWMsQ0FBQyxjQUFjO3dCQUM3QyxvQkFBb0IsRUFBRSxjQUFjLENBQUMsb0JBQW9CO3dCQUN6RCxVQUFVLEVBQUUsY0FBYyxDQUFDLFVBQVU7d0JBQ3JDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxnQkFBZ0I7d0JBQ2pELGFBQWEsRUFBRSxjQUFjLENBQUMsYUFBYTt3QkFDM0MsUUFBUSxFQUFFLGNBQWMsQ0FBQyxRQUFRO3dCQUNqQyxTQUFTLEVBQUUsY0FBYyxDQUFDLFNBQVM7d0JBQ25DLGFBQWEsRUFBRSxjQUFjLENBQUMsYUFBYTtxQkFDNUM7b0JBQ0gsQ0FBQyxDQUFDLElBQUk7YUFDVCxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sSUFBSSxZQUFZLEtBQUsscUNBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEQscUNBQXFDO1lBQ3JDLE1BQU0sZUFBZSxHQUNuQixNQUFNLDJCQUEyQixDQUFDLG1CQUFtQixDQUFDO2dCQUNwRCxXQUFXLEVBQUUsRUFBRTthQUNoQixDQUFDLENBQUM7WUFFTCxtREFBbUQ7WUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUM3QyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FDeEQsQ0FBQztZQUVGLG1DQUFtQztZQUNuQyxNQUFNLEtBQUssR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzdCLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3BDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO29CQUN4RCxjQUFjLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRTt3QkFDeEQsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQzt3QkFDN0QsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO3FCQUN0QixDQUFDO29CQUNGLGNBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFO3dCQUN2RCxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDO3dCQUM3RCxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7cUJBQ3RCLENBQUM7aUJBQ0gsQ0FBQyxDQUFDO2dCQUVILE9BQU87b0JBQ0wsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO29CQUNiLGNBQWMsRUFBRTt3QkFDZCxFQUFFLEVBQUUsY0FBYyxDQUFDLEVBQUU7d0JBQ3JCLEtBQUssRUFBRSxjQUFjLENBQUMsS0FBSzt3QkFDM0IsV0FBVyxFQUFFLGNBQWMsQ0FBQyxXQUFXO3dCQUN2QyxTQUFTLEVBQUUsY0FBYyxDQUFDLFNBQVM7d0JBQ25DLE1BQU0sRUFBRSxjQUFjLENBQUMsTUFBTTt3QkFDN0IsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNO3FCQUM5QjtvQkFDRCxlQUFlLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtvQkFDeEMsYUFBYSxFQUFFO3dCQUNiLEVBQUUsRUFBRSxhQUFhLENBQUMsRUFBRTt3QkFDcEIsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLO3dCQUMxQixXQUFXLEVBQUUsYUFBYSxDQUFDLFdBQVc7d0JBQ3RDLFNBQVMsRUFBRSxhQUFhLENBQUMsU0FBUzt3QkFDbEMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxNQUFNO3dCQUM1QixNQUFNLEVBQUUsYUFBYSxDQUFDLE1BQU07cUJBQzdCO29CQUNELGNBQWMsRUFBRSxNQUFNLENBQUMsZUFBZTtvQkFDdEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxXQUFXO29CQUM5QixXQUFXLEVBQUUsTUFBTSxDQUFDLFlBQVk7b0JBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7aUJBQzVELENBQUM7WUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1lBRUYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTtnQkFDZixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7Z0JBQ25CLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztnQkFDakMsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztnQkFDN0IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO2dCQUN6QixLQUFLO2dCQUNMLGVBQWUsRUFBRSxjQUFjO29CQUM3QixDQUFDLENBQUM7d0JBQ0UsU0FBUyxFQUFFLGNBQWMsQ0FBQyxTQUFTO3dCQUNuQyxhQUFhLEVBQUUsY0FBYyxDQUFDLGFBQWE7d0JBQzNDLGNBQWMsRUFBRSxjQUFjLENBQUMsY0FBYzt3QkFDN0Msb0JBQW9CLEVBQUUsY0FBYyxDQUFDLG9CQUFvQjt3QkFDekQsVUFBVSxFQUFFLGNBQWMsQ0FBQyxVQUFVO3dCQUNyQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsZ0JBQWdCO3dCQUNqRCxhQUFhLEVBQUUsY0FBYyxDQUFDLGFBQWE7d0JBQzNDLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUTt3QkFDakMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxTQUFTO3dCQUNuQyxhQUFhLEVBQUUsY0FBYyxDQUFDLGFBQWE7cUJBQzVDO29CQUNILENBQUMsQ0FBQyxJQUFJO2FBQ1QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5Qix1QkFBdUIsQ0FDeEIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksS0FBSyxZQUFZLG1CQUFXLEVBQUUsQ0FBQztZQUNqQyxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsK0NBQStDLENBQ2hELENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBdk9XLFFBQUEsR0FBRyxPQXVPZCJ9
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20251024000000 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20251024000000 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
// Create campaign_detail table
|
|
8
|
+
this.addSql(`
|
|
9
|
+
create table if not exists "campaign_detail" (
|
|
10
|
+
"id" text not null,
|
|
11
|
+
"campaign_id" text not null,
|
|
12
|
+
"image_url" text null,
|
|
13
|
+
"image_file_id" text null,
|
|
14
|
+
"thumbnail_url" text null,
|
|
15
|
+
"thumbnail_file_id" text null,
|
|
16
|
+
"detail_content" text null,
|
|
17
|
+
"terms_and_conditions" text null,
|
|
18
|
+
"meta_title" text null,
|
|
19
|
+
"meta_description" text null,
|
|
20
|
+
"link_url" text null,
|
|
21
|
+
"link_text" text null,
|
|
22
|
+
"display_order" integer not null default 0,
|
|
23
|
+
"created_at" timestamptz not null default now(),
|
|
24
|
+
"updated_at" timestamptz not null default now(),
|
|
25
|
+
"deleted_at" timestamptz null,
|
|
26
|
+
constraint "campaign_detail_pkey" primary key ("id")
|
|
27
|
+
);
|
|
28
|
+
`);
|
|
29
|
+
// Create unique index on campaign_id
|
|
30
|
+
this.addSql(`
|
|
31
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "IDX_campaign_detail_campaign_id"
|
|
32
|
+
ON "campaign_detail" (campaign_id)
|
|
33
|
+
WHERE deleted_at IS NULL;
|
|
34
|
+
`);
|
|
35
|
+
// Create index for deleted_at
|
|
36
|
+
this.addSql(`
|
|
37
|
+
CREATE INDEX IF NOT EXISTS "IDX_campaign_detail_deleted_at"
|
|
38
|
+
ON "campaign_detail" (deleted_at)
|
|
39
|
+
WHERE deleted_at IS NULL;
|
|
40
|
+
`);
|
|
41
|
+
// Create index for display_order
|
|
42
|
+
this.addSql(`
|
|
43
|
+
CREATE INDEX IF NOT EXISTS "IDX_campaign_detail_display_order"
|
|
44
|
+
ON "campaign_detail" (display_order);
|
|
45
|
+
`);
|
|
46
|
+
}
|
|
47
|
+
async down() {
|
|
48
|
+
// Drop campaign_detail table
|
|
49
|
+
this.addSql(`drop table if exists "campaign_detail" cascade;`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.Migration20251024000000 = Migration20251024000000;
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTEwMjQwMDAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9jdXN0b20tY2FtcGFpZ25zL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTEwMjQwMDAwMDAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFDM0MsS0FBSyxDQUFDLEVBQUU7UUFDZiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FvQlgsQ0FBQyxDQUFDO1FBRUgscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7S0FJWCxDQUFDLENBQUM7UUFFSCw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7OztLQUlYLENBQUMsQ0FBQztRQUVILGlDQUFpQztRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDOzs7S0FHWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDakIsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNqRSxDQUFDO0NBQ0Y7QUFsREQsMERBa0RDIn0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20251025000000 = void 0;
|
|
4
|
+
const migrations_1 = require("@mikro-orm/migrations");
|
|
5
|
+
class Migration20251025000000 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
// Add meta_keywords column to campaign_detail table
|
|
8
|
+
this.addSql(`
|
|
9
|
+
ALTER TABLE "campaign_detail"
|
|
10
|
+
ADD COLUMN IF NOT EXISTS "meta_keywords" text null;
|
|
11
|
+
`);
|
|
12
|
+
}
|
|
13
|
+
async down() {
|
|
14
|
+
// Remove meta_keywords column from campaign_detail table
|
|
15
|
+
this.addSql(`
|
|
16
|
+
ALTER TABLE "campaign_detail"
|
|
17
|
+
DROP COLUMN IF EXISTS "meta_keywords";
|
|
18
|
+
`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.Migration20251025000000 = Migration20251025000000;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTEwMjUwMDAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9jdXN0b20tY2FtcGFpZ25zL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTEwMjUwMDAwMDAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQWtEO0FBRWxELE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFDM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7O0tBR1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLHlEQUF5RDtRQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDOzs7S0FHWCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFoQkQsMERBZ0JDIn0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
+
const CampaignDetail = utils_1.model.define("campaign_detail", {
|
|
5
|
+
id: utils_1.model.id().primaryKey(),
|
|
6
|
+
campaign_id: utils_1.model.text().unique(),
|
|
7
|
+
// Image fields
|
|
8
|
+
image_url: utils_1.model.text().nullable(),
|
|
9
|
+
image_file_id: utils_1.model.text().nullable(),
|
|
10
|
+
thumbnail_url: utils_1.model.text().nullable(),
|
|
11
|
+
thumbnail_file_id: utils_1.model.text().nullable(),
|
|
12
|
+
// Rich text content fields
|
|
13
|
+
detail_content: utils_1.model.text().nullable(), // Markdown content
|
|
14
|
+
terms_and_conditions: utils_1.model.text().nullable(), // Markdown content
|
|
15
|
+
// SEO and meta fields
|
|
16
|
+
meta_title: utils_1.model.text().nullable(),
|
|
17
|
+
meta_description: utils_1.model.text().nullable(),
|
|
18
|
+
meta_keywords: utils_1.model.text().nullable(),
|
|
19
|
+
// Link field
|
|
20
|
+
link_url: utils_1.model.text().nullable(),
|
|
21
|
+
link_text: utils_1.model.text().nullable(),
|
|
22
|
+
// Display order
|
|
23
|
+
display_order: utils_1.model.number().default(0),
|
|
24
|
+
});
|
|
25
|
+
exports.default = CampaignDetail;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtcGFpZ24tZGV0YWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvY3VzdG9tLWNhbXBhaWducy9tb2RlbHMvY2FtcGFpZ24tZGV0YWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWtEO0FBRWxELE1BQU0sY0FBYyxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUU7SUFDckQsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDM0IsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7SUFDbEMsZUFBZTtJQUNmLFNBQVMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLGFBQWEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLGFBQWEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3RDLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsMkJBQTJCO0lBQzNCLGNBQWMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsbUJBQW1CO0lBQzVELG9CQUFvQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxtQkFBbUI7SUFDbEUsc0JBQXNCO0lBQ3RCLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ25DLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekMsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsYUFBYTtJQUNiLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLFNBQVMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLGdCQUFnQjtJQUNoQixhQUFhLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Q0FDekMsQ0FBQyxDQUFDO0FBRUgsa0JBQWUsY0FBYyxDQUFDIn0=
|
|
@@ -7,11 +7,13 @@ const utils_1 = require("@medusajs/framework/utils");
|
|
|
7
7
|
const custom_campaign_type_1 = __importDefault(require("./models/custom-campaign-type"));
|
|
8
8
|
const promotion_usage_limit_1 = __importDefault(require("./models/promotion-usage-limit"));
|
|
9
9
|
const buy_x_get_y_config_1 = __importDefault(require("./models/buy-x-get-y-config"));
|
|
10
|
+
const campaign_detail_1 = __importDefault(require("./models/campaign-detail"));
|
|
10
11
|
class CustomCampaignModuleService extends (0, utils_1.MedusaService)({
|
|
11
12
|
CustomCampaignType: custom_campaign_type_1.default,
|
|
12
13
|
PromotionUsageLimit: promotion_usage_limit_1.default,
|
|
13
14
|
BuyXGetYConfig: buy_x_get_y_config_1.default,
|
|
15
|
+
CampaignDetail: campaign_detail_1.default,
|
|
14
16
|
}) {
|
|
15
17
|
}
|
|
16
18
|
exports.default = CustomCampaignModuleService;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2N1c3RvbS1jYW1wYWlnbnMvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFEQUEwRDtBQUMxRCx5RkFBK0Q7QUFDL0QsMkZBQWlFO0FBQ2pFLHFGQUF5RDtBQUN6RCwrRUFBc0Q7QUFFdEQsTUFBTSwyQkFBNEIsU0FBUSxJQUFBLHFCQUFhLEVBQUM7SUFDdEQsa0JBQWtCLEVBQWxCLDhCQUFrQjtJQUNsQixtQkFBbUIsRUFBbkIsK0JBQW1CO0lBQ25CLGNBQWMsRUFBZCw0QkFBYztJQUNkLGNBQWMsRUFBZCx5QkFBYztDQUNmLENBQUM7Q0FBRztBQUVMLGtCQUFlLDJCQUEyQixDQUFDIn0=
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.config = void 0;
|
|
4
4
|
exports.default = updatePromotionUsage;
|
|
5
|
-
const updatePromotionUsageWorkflow_1 = require("../workflows/custom-campaign/updatePromotionUsageWorkflow");
|
|
6
5
|
const updateBuyXGetYUsageWorkflow_1 = require("../workflows/custom-campaign/updateBuyXGetYUsageWorkflow");
|
|
6
|
+
const updatePromotionUsageWorkflow_1 = require("../workflows/custom-campaign/updatePromotionUsageWorkflow");
|
|
7
7
|
async function updatePromotionUsage({ event: { data }, }) {
|
|
8
8
|
try {
|
|
9
9
|
// update promotion usage for flash sales
|
|
@@ -41,4 +41,4 @@ async function updatePromotionUsage({ event: { data }, }) {
|
|
|
41
41
|
exports.config = {
|
|
42
42
|
event: `order.placed`,
|
|
43
43
|
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGxhY2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL29yZGVyLXBsYWNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSx1Q0FtREM7QUF0REQsMEdBQXVHO0FBQ3ZHLDRHQUF5RztBQUUxRixLQUFLLFVBQVUsb0JBQW9CLENBQUMsRUFDakQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQ2dCO0lBQy9CLElBQUksQ0FBQztRQUNILHlDQUF5QztRQUN6QyxJQUFJLENBQUM7WUFDSCxNQUFNLDJEQUE0QixDQUFDLEdBQUcsQ0FBQztnQkFDckMsS0FBSyxFQUFFO29CQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtpQkFDbEI7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQ1gsa0VBQWtFLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFDNUUsS0FBSyxDQUNOLENBQUM7WUFDRixPQUFPLENBQUMsS0FBSyxDQUNYLDJCQUEyQixFQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDekQsQ0FBQztRQUNKLENBQUM7UUFFRCxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDO1lBQ0gsTUFBTSx5REFBMkIsQ0FBQyxHQUFHLENBQUM7Z0JBQ3BDLEtBQUssRUFBRTtvQkFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUU7aUJBQ2xCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUNYLHlEQUF5RCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQ25FLEtBQUssQ0FDTixDQUFDO1lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FDWCwyQkFBMkIsRUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3pELENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUNYLHlEQUF5RCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQ25FLEtBQUssQ0FDTixDQUFDO1FBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLEtBQUssQ0FDWCwyQkFBMkIsRUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3pELENBQUM7UUFDRiwyQ0FBMkM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLGNBQWM7Q0FDdEIsQ0FBQyJ9
|
|
@@ -12,9 +12,12 @@ const applyBuyXGetYToCartStep = (0, workflows_sdk_1.createStep)("apply-buy-x-get
|
|
|
12
12
|
const productService = framework_1.container.resolve(utils_1.Modules.PRODUCT);
|
|
13
13
|
const linkService = framework_1.container.resolve("linkModuleService");
|
|
14
14
|
// Fetch the cart with items
|
|
15
|
-
const
|
|
15
|
+
const carts = await cartService.listCarts({
|
|
16
|
+
id: [data.cart_id],
|
|
17
|
+
}, {
|
|
16
18
|
relations: ["items", "items.variant", "items.product"],
|
|
17
19
|
});
|
|
20
|
+
const cart = carts[0];
|
|
18
21
|
if (!cart || !cart.items || cart.items.length === 0) {
|
|
19
22
|
return new workflows_sdk_1.StepResponse({ rewardItemsAdded: [] });
|
|
20
23
|
}
|
|
@@ -52,7 +55,7 @@ const applyBuyXGetYToCartStep = (0, workflows_sdk_1.createStep)("apply-buy-x-get
|
|
|
52
55
|
const removedItemIds = [];
|
|
53
56
|
for (const bogoItem of existingBogoItems) {
|
|
54
57
|
try {
|
|
55
|
-
await cartService.
|
|
58
|
+
await cartService.deleteLineItems([bogoItem.id]);
|
|
56
59
|
removedItemIds.push(bogoItem.id);
|
|
57
60
|
}
|
|
58
61
|
catch (error) {
|
|
@@ -115,10 +118,19 @@ const applyBuyXGetYToCartStep = (0, workflows_sdk_1.createStep)("apply-buy-x-get
|
|
|
115
118
|
const addedItems = [];
|
|
116
119
|
for (const rewardItem of rewardItemsToAdd) {
|
|
117
120
|
try {
|
|
121
|
+
const variants = await productService.listVariants({
|
|
122
|
+
id: [rewardItem.variant_id],
|
|
123
|
+
});
|
|
124
|
+
const products = await productService.listProducts({
|
|
125
|
+
id: [rewardItem.product_id],
|
|
126
|
+
});
|
|
127
|
+
const product = products[0];
|
|
118
128
|
const addedItem = await cartService.addLineItems(data.cart_id, [
|
|
119
129
|
{
|
|
120
130
|
variant_id: rewardItem.variant_id,
|
|
121
131
|
quantity: rewardItem.quantity,
|
|
132
|
+
title: product?.title || "Reward Item",
|
|
133
|
+
unit_price: 0,
|
|
122
134
|
metadata: rewardItem.metadata,
|
|
123
135
|
},
|
|
124
136
|
]);
|
|
@@ -136,7 +148,7 @@ const applyBuyXGetYToCartStep = (0, workflows_sdk_1.createStep)("apply-buy-x-get
|
|
|
136
148
|
const cartService = framework_1.container.resolve(utils_1.Modules.CART);
|
|
137
149
|
for (const item of compensationData.added_items) {
|
|
138
150
|
try {
|
|
139
|
-
await cartService.
|
|
151
|
+
await cartService.deleteLineItems([item.id]);
|
|
140
152
|
}
|
|
141
153
|
catch (error) {
|
|
142
154
|
console.error(`Failed to remove reward item during compensation:`, error);
|
|
@@ -147,4 +159,4 @@ exports.applyBuyXGetYToCartWorkflow = (0, workflows_sdk_1.createWorkflow)("apply
|
|
|
147
159
|
const result = applyBuyXGetYToCartStep(data);
|
|
148
160
|
return new workflows_sdk_1.WorkflowResponse(result);
|
|
149
161
|
});
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHlCdXlYR2V0WVRvQ2FydFdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9idXkteC1nZXQteS9hcHBseUJ1eVhHZXRZVG9DYXJ0V29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdEO0FBQ2hELHFEQUFvRDtBQUNwRCxxRUFLMkM7QUFDM0MscUVBQXdFO0FBRXhFLGdHQUEyRjtBQWtCM0YsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFVLEVBS3hDLGdDQUFnQyxFQUNoQyxLQUFLLEVBQUUsSUFBd0IsRUFBRSxFQUFFO0lBQ2pDLE1BQU0sMkJBQTJCLEdBQy9CLHFCQUFTLENBQUMsT0FBTyxDQUE4Qix5Q0FBc0IsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sV0FBVyxHQUFHLHFCQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxNQUFNLGNBQWMsR0FBRyxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsTUFBTSxXQUFXLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQVEsQ0FBQztJQUVsRSw0QkFBNEI7SUFDNUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxXQUFXLENBQUMsU0FBUyxDQUN2QztRQUNFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7S0FDbkIsRUFDRDtRQUNFLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDO0tBQ3ZELENBQ0YsQ0FBQztJQUNGLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV0QixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztR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
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateCampaignDetailWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const custom_campaigns_1 = require("../../modules/custom-campaigns");
|
|
6
|
+
const updateCampaignDetailStep = (0, workflows_sdk_1.createStep)("update-campaign-detail", async (input, { container }) => {
|
|
7
|
+
const logger = container.resolve("logger");
|
|
8
|
+
const customCampaignModuleService = container.resolve(custom_campaigns_1.CUSTOM_CAMPAIGN_MODULE);
|
|
9
|
+
const { campaign_id, ...updateData } = input;
|
|
10
|
+
logger.info(`Updating campaign detail for campaign: ${campaign_id}`);
|
|
11
|
+
// Get or create campaign detail
|
|
12
|
+
const [existingDetail] = await customCampaignModuleService.listCampaignDetails({
|
|
13
|
+
campaign_id,
|
|
14
|
+
});
|
|
15
|
+
let campaignDetail;
|
|
16
|
+
if (existingDetail) {
|
|
17
|
+
// Update existing detail
|
|
18
|
+
const updated = await customCampaignModuleService.updateCampaignDetails([
|
|
19
|
+
{
|
|
20
|
+
id: existingDetail.id,
|
|
21
|
+
...updateData,
|
|
22
|
+
},
|
|
23
|
+
]);
|
|
24
|
+
campaignDetail = updated[0];
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
// Create new detail
|
|
28
|
+
campaignDetail = await customCampaignModuleService.createCampaignDetails({
|
|
29
|
+
campaign_id,
|
|
30
|
+
...updateData,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return new workflows_sdk_1.StepResponse(campaignDetail, existingDetail);
|
|
34
|
+
}, async (oldDetail, { container }) => {
|
|
35
|
+
const logger = container.resolve("logger");
|
|
36
|
+
const customCampaignModuleService = container.resolve(custom_campaigns_1.CUSTOM_CAMPAIGN_MODULE);
|
|
37
|
+
if (oldDetail) {
|
|
38
|
+
try {
|
|
39
|
+
await customCampaignModuleService.updateCampaignDetails([
|
|
40
|
+
{
|
|
41
|
+
...oldDetail,
|
|
42
|
+
},
|
|
43
|
+
]);
|
|
44
|
+
logger.info("Rolled back campaign detail update");
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
logger.warn("Failed to rollback campaign detail update");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
exports.updateCampaignDetailWorkflow = (0, workflows_sdk_1.createWorkflow)("update-campaign-detail", (input) => {
|
|
52
|
+
const detail = updateCampaignDetailStep(input);
|
|
53
|
+
return new workflows_sdk_1.WorkflowResponse(detail);
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWNhbXBhaWduLWRldGFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY2FtcGFpZ24tZGV0YWlsL3VwZGF0ZS1jYW1wYWlnbi1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzJDO0FBQzNDLHFFQUF3RTtBQWN4RSxNQUFNLHdCQUF3QixHQUFHLElBQUEsMEJBQVUsRUFDekMsd0JBQXdCLEVBQ3hCLEtBQUssRUFBRSxLQUFnQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN4RCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sMkJBQTJCLEdBQy9CLFNBQVMsQ0FBQyxPQUFPLENBQUMseUNBQXNCLENBQUMsQ0FBQztJQUU1QyxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRTdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMENBQTBDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFckUsZ0NBQWdDO0lBQ2hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FDcEIsTUFBTSwyQkFBMkIsQ0FBQyxtQkFBbUIsQ0FBQztRQUNwRCxXQUFXO0tBQ1osQ0FBQyxDQUFDO0lBRUwsSUFBSSxjQUFjLENBQUM7SUFFbkIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNuQix5QkFBeUI7UUFDekIsTUFBTSxPQUFPLEdBQUcsTUFBTSwyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQztZQUN0RTtnQkFDRSxFQUFFLEVBQUUsY0FBYyxDQUFDLEVBQUU7Z0JBQ3JCLEdBQUcsVUFBVTthQUNkO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsY0FBYyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO1NBQU0sQ0FBQztRQUNOLG9CQUFvQjtRQUNwQixjQUFjLEdBQUcsTUFBTSwyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQztZQUN2RSxXQUFXO1lBQ1gsR0FBRyxVQUFVO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUMxRCxDQUFDLEVBQ0QsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDakMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxNQUFNLDJCQUEyQixHQUMvQixTQUFTLENBQUMsT0FBTyxDQUFDLHlDQUFzQixDQUFDLENBQUM7SUFFNUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQztZQUNILE1BQU0sMkJBQTJCLENBQUMscUJBQXFCLENBQUM7Z0JBQ3REO29CQUNFLEdBQUcsU0FBUztpQkFDYjthQUNGLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFDO0FBRVcsUUFBQSw0QkFBNEIsR0FBRyxJQUFBLDhCQUFjLEVBQ3hELHdCQUF3QixFQUN4QixDQUFDLEtBQWdDLEVBQUUsRUFBRTtJQUNuQyxNQUFNLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxPQUFPLElBQUksZ0NBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uploadCampaignImagesWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const custom_campaigns_1 = require("../../modules/custom-campaigns");
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const uploadCampaignImagesStep = (0, workflows_sdk_1.createStep)("upload-campaign-images", async ({ campaign_id, files, image_type }, { container }) => {
|
|
8
|
+
const logger = container.resolve("logger");
|
|
9
|
+
const customCampaignModuleService = container.resolve(custom_campaigns_1.CUSTOM_CAMPAIGN_MODULE);
|
|
10
|
+
if (files.length === 0) {
|
|
11
|
+
throw new Error("at least 1 file is required");
|
|
12
|
+
}
|
|
13
|
+
logger.info(`Uploading ${files.length} campaign ${image_type}(s)`);
|
|
14
|
+
const { result } = await (0, core_flows_1.uploadFilesWorkflow)(container).run({
|
|
15
|
+
input: {
|
|
16
|
+
files: files.map((file) => ({
|
|
17
|
+
...file,
|
|
18
|
+
filename: `campaign-${campaign_id}-${image_type}-${file.filename.replace(/ /g, "_")}`,
|
|
19
|
+
})),
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
if (result.some((file) => !file.id || !file.url)) {
|
|
23
|
+
throw new Error(`some files don't have an id or url`);
|
|
24
|
+
}
|
|
25
|
+
// Decode the URL to fix path separators (%2F -> /)
|
|
26
|
+
const decodedUrl = decodeURIComponent(result[0].url);
|
|
27
|
+
// Get or create campaign detail
|
|
28
|
+
const [existingDetail] = await customCampaignModuleService.listCampaignDetails({
|
|
29
|
+
campaign_id,
|
|
30
|
+
});
|
|
31
|
+
let campaignDetail;
|
|
32
|
+
if (existingDetail) {
|
|
33
|
+
// Delete old image if exists
|
|
34
|
+
const oldFileId = image_type === "image"
|
|
35
|
+
? existingDetail.image_file_id
|
|
36
|
+
: existingDetail.thumbnail_file_id;
|
|
37
|
+
if (oldFileId) {
|
|
38
|
+
try {
|
|
39
|
+
await (0, core_flows_1.deleteFilesWorkflow)(container).run({
|
|
40
|
+
input: {
|
|
41
|
+
ids: [oldFileId],
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
logger.warn(`Failed to delete old ${image_type} file: ${oldFileId}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// Update existing detail
|
|
50
|
+
const updateData = image_type === "image"
|
|
51
|
+
? {
|
|
52
|
+
id: existingDetail.id,
|
|
53
|
+
image_url: decodedUrl,
|
|
54
|
+
image_file_id: result[0].id,
|
|
55
|
+
}
|
|
56
|
+
: {
|
|
57
|
+
id: existingDetail.id,
|
|
58
|
+
thumbnail_url: decodedUrl,
|
|
59
|
+
thumbnail_file_id: result[0].id,
|
|
60
|
+
};
|
|
61
|
+
const updated = await customCampaignModuleService.updateCampaignDetails([
|
|
62
|
+
updateData,
|
|
63
|
+
]);
|
|
64
|
+
campaignDetail = updated[0];
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// Create new detail
|
|
68
|
+
const createData = image_type === "image"
|
|
69
|
+
? {
|
|
70
|
+
campaign_id,
|
|
71
|
+
image_url: decodedUrl,
|
|
72
|
+
image_file_id: result[0].id,
|
|
73
|
+
}
|
|
74
|
+
: {
|
|
75
|
+
campaign_id,
|
|
76
|
+
thumbnail_url: decodedUrl,
|
|
77
|
+
thumbnail_file_id: result[0].id,
|
|
78
|
+
};
|
|
79
|
+
campaignDetail =
|
|
80
|
+
await customCampaignModuleService.createCampaignDetails(createData);
|
|
81
|
+
}
|
|
82
|
+
return new workflows_sdk_1.StepResponse(campaignDetail, {
|
|
83
|
+
fileId: result[0].id,
|
|
84
|
+
oldDetail: existingDetail,
|
|
85
|
+
});
|
|
86
|
+
}, async (rollbackData, { container }) => {
|
|
87
|
+
const logger = container.resolve("logger");
|
|
88
|
+
const customCampaignModuleService = container.resolve(custom_campaigns_1.CUSTOM_CAMPAIGN_MODULE);
|
|
89
|
+
if (rollbackData) {
|
|
90
|
+
// Delete the newly uploaded file
|
|
91
|
+
try {
|
|
92
|
+
await (0, core_flows_1.deleteFilesWorkflow)(container).run({
|
|
93
|
+
input: {
|
|
94
|
+
ids: [rollbackData.fileId],
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
logger.warn(`Failed to delete file during rollback: ${rollbackData.fileId}`);
|
|
100
|
+
}
|
|
101
|
+
// Restore old detail if existed
|
|
102
|
+
if (rollbackData.oldDetail) {
|
|
103
|
+
try {
|
|
104
|
+
await customCampaignModuleService.updateCampaignDetails([
|
|
105
|
+
{
|
|
106
|
+
...rollbackData.oldDetail,
|
|
107
|
+
},
|
|
108
|
+
]);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
logger.warn("Failed to restore old campaign detail during rollback");
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
exports.uploadCampaignImagesWorkflow = (0, workflows_sdk_1.createWorkflow)("upload-campaign-images", (input) => {
|
|
117
|
+
const detail = uploadCampaignImagesStep(input);
|
|
118
|
+
return new workflows_sdk_1.WorkflowResponse(detail);
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWNhbXBhaWduLWltYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvY2FtcGFpZ24tZGV0YWlsL3VwbG9hZC1jYW1wYWlnbi1pbWFnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzJDO0FBQzNDLHFFQUF3RTtBQUV4RSw0REFJcUM7QUFRckMsTUFBTSx3QkFBd0IsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLHdCQUF3QixFQUN4QixLQUFLLEVBQ0gsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBcUMsRUFDckUsRUFBRSxTQUFTLEVBQUUsRUFDYixFQUFFO0lBQ0YsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxNQUFNLDJCQUEyQixHQUMvQixTQUFTLENBQUMsT0FBTyxDQUFDLHlDQUFzQixDQUFDLENBQUM7SUFFNUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssQ0FBQyxNQUFNLGFBQWEsVUFBVSxLQUFLLENBQUMsQ0FBQztJQUVuRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLGdDQUFtQixFQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMxRCxLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDMUIsR0FBRyxJQUFJO2dCQUNQLFFBQVEsRUFBRSxZQUFZLFdBQVcsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO2FBQ3RGLENBQUMsQ0FBQztTQUNKO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNqRCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELG1EQUFtRDtJQUNuRCxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFckQsZ0NBQWdDO0lBQ2hDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FDcEIsTUFBTSwyQkFBMkIsQ0FBQyxtQkFBbUIsQ0FBQztRQUNwRCxXQUFXO0tBQ1osQ0FBQyxDQUFDO0lBRUwsSUFBSSxjQUFjLENBQUM7SUFFbkIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNuQiw2QkFBNkI7UUFDN0IsTUFBTSxTQUFTLEdBQ2IsVUFBVSxLQUFLLE9BQU87WUFDcEIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhO1lBQzlCLENBQUMsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUM7UUFFdkMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQztnQkFDSCxNQUFNLElBQUEsZ0NBQW1CLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO29CQUN2QyxLQUFLLEVBQUU7d0JBQ0wsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO3FCQUNqQjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixVQUFVLFVBQVUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztRQUVELHlCQUF5QjtRQUN6QixNQUFNLFVBQVUsR0FDZCxVQUFVLEtBQUssT0FBTztZQUNwQixDQUFDLENBQUM7Z0JBQ0UsRUFBRSxFQUFFLGNBQWMsQ0FBQyxFQUFFO2dCQUNyQixTQUFTLEVBQUUsVUFBVTtnQkFDckIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQzVCO1lBQ0gsQ0FBQyxDQUFDO2dCQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsRUFBRTtnQkFDckIsYUFBYSxFQUFFLFVBQVU7Z0JBQ3pCLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQ2hDLENBQUM7UUFFUixNQUFNLE9BQU8sR0FBRyxNQUFNLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDO1lBQ3RFLFVBQVU7U0FDWCxDQUFDLENBQUM7UUFDSCxjQUFjLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7U0FBTSxDQUFDO1FBQ04sb0JBQW9CO1FBQ3BCLE1BQU0sVUFBVSxHQUNkLFVBQVUsS0FBSyxPQUFPO1lBQ3BCLENBQUMsQ0FBQztnQkFDRSxXQUFXO2dCQUNYLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDNUI7WUFDSCxDQUFDLENBQUM7Z0JBQ0UsV0FBVztnQkFDWCxhQUFhLEVBQUUsVUFBVTtnQkFDekIsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDaEMsQ0FBQztRQUVSLGNBQWM7WUFDWixNQUFNLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxjQUFjLEVBQUU7UUFDdEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3BCLFNBQVMsRUFBRSxjQUFjO0tBQzFCLENBQUMsQ0FBQztBQUNMLENBQUMsRUFDRCxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sMkJBQTJCLEdBQy9CLFNBQVMsQ0FBQyxPQUFPLENBQUMseUNBQXNCLENBQUMsQ0FBQztJQUU1QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLGlDQUFpQztRQUNqQyxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUEsZ0NBQW1CLEVBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUN2QyxLQUFLLEVBQUU7b0JBQ0wsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztpQkFDM0I7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQ1QsMENBQTBDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FDaEUsQ0FBQztRQUNKLENBQUM7UUFFRCxnQ0FBZ0M7UUFDaEMsSUFBSSxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDO2dCQUNILE1BQU0sMkJBQTJCLENBQUMscUJBQXFCLENBQUM7b0JBQ3REO3dCQUNFLEdBQUcsWUFBWSxDQUFDLFNBQVM7cUJBQzFCO2lCQUNGLENBQUMsQ0FBQztZQUNMLENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsdURBQXVELENBQUMsQ0FBQztZQUN2RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQ0YsQ0FBQztBQUVXLFFBQUEsNEJBQTRCLEdBQUcsSUFBQSw4QkFBYyxFQUN4RCx3QkFBd0IsRUFDeEIsQ0FBQyxLQUF3QyxFQUFFLEVBQUU7SUFDM0MsTUFBTSxNQUFNLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -66,19 +66,18 @@ const createBuyXGetYCampaignStep = (0, workflows_sdk_1.createStep)("create-buy-x
|
|
|
66
66
|
type: data.type,
|
|
67
67
|
});
|
|
68
68
|
// Create Buy X Get Y configurations
|
|
69
|
-
buyXGetYConfigs =
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
})));
|
|
69
|
+
buyXGetYConfigs = await customCampaignModuleService.createBuyXGetYConfigs(data.rules.map((rule, index) => ({
|
|
70
|
+
campaign_id: campaign.id,
|
|
71
|
+
promotion_id: promotions[index].id,
|
|
72
|
+
trigger_product_id: rule.triggerProduct.id,
|
|
73
|
+
trigger_quantity: rule.triggerQuantity,
|
|
74
|
+
reward_product_id: rule.rewardProduct.id,
|
|
75
|
+
reward_quantity: rule.rewardQuantity,
|
|
76
|
+
reward_type: rule.rewardType,
|
|
77
|
+
reward_value: rule.rewardValue ?? null,
|
|
78
|
+
limit: rule.limit ?? null,
|
|
79
|
+
used: 0,
|
|
80
|
+
})));
|
|
82
81
|
// Link campaign type
|
|
83
82
|
await link.create([
|
|
84
83
|
{
|
|
@@ -124,4 +123,4 @@ exports.createBuyXGetYCampaignWorkflow = (0, workflows_sdk_1.createWorkflow)("cr
|
|
|
124
123
|
const campaign = createBuyXGetYCampaignStep(data);
|
|
125
124
|
return new workflows_sdk_1.WorkflowResponse(campaign);
|
|
126
125
|
});
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQnV5WEdldFlDYW1wYWlnbldvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9jdXN0b20tY2FtcGFpZ24vY3JlYXRlQnV5WEdldFlDYW1wYWlnbldvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRDtBQU9oRCxxREFJbUM7QUFDbkMscUVBSzJDO0FBQzNDLDREQUtxQztBQUNyQyxxRUFBd0U7QUE2QnhFLE1BQU0sMEJBQTBCLEdBQUcsSUFBQSwwQkFBVSxFQUMzQyxrQ0FBa0MsRUFDbEMsS0FBSyxFQUFFLElBQXNCLEVBQUUsRUFBRTtJQUMvQixNQUFNLElBQUksR0FBRyxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxNQUFNLDJCQUEyQixHQUMvQixxQkFBUyxDQUFDLE9BQU8sQ0FBOEIseUNBQXNCLENBQUMsQ0FBQztJQUN6RSxNQUFNLGtCQUFrQixHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUV4RCxJQUFJLFFBQWlDLENBQUM7SUFDdEMsSUFBSSxVQUFzQyxDQUFDO0lBQzNDLElBQUksa0JBSVMsQ0FBQztJQUNkLElBQUksZUFJUyxDQUFDO0lBRWQsa0JBQWtCO0lBQ2xCLE1BQU0sRUFDSixNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FDcEIsR0FBRyxNQUFNLG9DQUF1QixDQUFDLEdBQUcsQ0FBQztRQUNwQyxLQUFLLEVBQUU7WUFDTCxhQUFhLEVBQUU7Z0JBQ2I7b0JBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNmLG1CQUFtQixFQUFFLGtCQUFrQjtvQkFDdkMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO29CQUM3QixTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztv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
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updatePromotionUsageWorkflow = exports.updateCustomFlashSaleWorkflow = exports.createCustomFlashSaleWorkflow = void 0;
|
|
3
|
+
exports.applyBuyXGetYToCartWorkflow = exports.updatePromotionUsageWorkflow = exports.updateCustomFlashSaleWorkflow = exports.createCustomFlashSaleWorkflow = exports.createCustomCampaignWorkflow = void 0;
|
|
4
4
|
var createCustomCampaignWorkflow_1 = require("./custom-campaign/createCustomCampaignWorkflow");
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "createCustomCampaignWorkflow", { enumerable: true, get: function () { return createCustomCampaignWorkflow_1.createCustomCampaignWorkflow; } });
|
|
6
|
+
Object.defineProperty(exports, "createCustomFlashSaleWorkflow", { enumerable: true, get: function () { return createCustomCampaignWorkflow_1.createCustomCampaignWorkflow; } });
|
|
6
7
|
var updateCustomFlashSaleWorkflow_1 = require("./custom-campaign/updateCustomFlashSaleWorkflow");
|
|
7
8
|
Object.defineProperty(exports, "updateCustomFlashSaleWorkflow", { enumerable: true, get: function () { return updateCustomFlashSaleWorkflow_1.updateCustomFlashSaleWorkflow; } });
|
|
8
9
|
var updatePromotionUsageWorkflow_1 = require("./custom-campaign/updatePromotionUsageWorkflow");
|
|
9
10
|
Object.defineProperty(exports, "updatePromotionUsageWorkflow", { enumerable: true, get: function () { return updatePromotionUsageWorkflow_1.updatePromotionUsageWorkflow; } });
|
|
10
|
-
|
|
11
|
+
var applyBuyXGetYToCartWorkflow_1 = require("./buy-x-get-y/applyBuyXGetYToCartWorkflow");
|
|
12
|
+
Object.defineProperty(exports, "applyBuyXGetYToCartWorkflow", { enumerable: true, get: function () { return applyBuyXGetYToCartWorkflow_1.applyBuyXGetYToCartWorkflow; } });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtGQUE2SjtBQUFwSiw0SUFBQSw0QkFBNEIsT0FBQTtBQUFFLDZJQUFBLDRCQUE0QixPQUFpQztBQUNwRyxpR0FBZ0c7QUFBdkYsOElBQUEsNkJBQTZCLE9BQUE7QUFDdEMsK0ZBQThGO0FBQXJGLDRJQUFBLDRCQUE0QixPQUFBO0FBQ3JDLHlGQUF3RjtBQUEvRSwwSUFBQSwyQkFBMkIsT0FBQSJ9
|