@lodashventure/medusa-campaign 1.1.10 → 1.2.0
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/modules/custom-campaigns/migrations/Migration20250524150901.js +2 -2
- package/.medusa/server/src/modules/custom-campaigns/migrations/Migration20250526010310.js +2 -2
- package/.medusa/server/src/modules/custom-campaigns/migrations/Migration20250529011904.js +2 -2
- package/.medusa/server/src/modules/custom-campaigns/migrations/Migration20251018000000.js +2 -2
- package/.medusa/server/src/subscribers/order-placed.js +34 -14
- package/package.json +1 -1
- package/src/modules/custom-campaigns/migrations/Migration20250524150901.ts +1 -1
- package/src/modules/custom-campaigns/migrations/Migration20250526010310.ts +1 -1
- package/src/modules/custom-campaigns/migrations/Migration20250529011904.ts +1 -1
- package/src/modules/custom-campaigns/migrations/Migration20251018000000.ts +1 -1
- package/src/subscribers/order-placed.ts +48 -13
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Migration20250524150901 = void 0;
|
|
4
|
-
const migrations_1 = require("@mikro-orm/migrations");
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
5
|
class Migration20250524150901 extends migrations_1.Migration {
|
|
6
6
|
async up() {
|
|
7
7
|
this.addSql(`alter table if exists "promotion_usage_limit" drop constraint if exists "promotion_usage_limit_promotion_id_unique";`);
|
|
@@ -19,4 +19,4 @@ class Migration20250524150901 extends migrations_1.Migration {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
exports.Migration20250524150901 = Migration20250524150901;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MjQxNTA5MDEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9jdXN0b20tY2FtcGFpZ25zL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MjQxNTA5MDEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUVBQXFFO0FBRXJFLE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLHNIQUFzSCxDQUFDLENBQUM7UUFDcEksSUFBSSxDQUFDLE1BQU0sQ0FBQyxtSEFBbUgsQ0FBQyxDQUFDO1FBQ2pJLElBQUksQ0FBQyxNQUFNLENBQUMseVZBQXlWLENBQUMsQ0FBQztRQUN2VyxJQUFJLENBQUMsTUFBTSxDQUFDLG1KQUFtSixDQUFDLENBQUM7UUFDakssSUFBSSxDQUFDLE1BQU0sQ0FBQyxtSUFBbUksQ0FBQyxDQUFDO1FBRWpKLElBQUksQ0FBQyxNQUFNLENBQUMsd1ZBQXdWLENBQUMsQ0FBQztRQUN0VyxJQUFJLENBQUMsTUFBTSxDQUFDLHVKQUF1SixDQUFDLENBQUM7UUFDckssSUFBSSxDQUFDLE1BQU0sQ0FBQyxxSUFBcUksQ0FBQyxDQUFDO0lBQ3JKLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7Q0FFRjtBQXBCRCwwREFvQkMifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Migration20250526010310 = void 0;
|
|
4
|
-
const migrations_1 = require("@mikro-orm/migrations");
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
5
|
class Migration20250526010310 extends migrations_1.Migration {
|
|
6
6
|
async up() {
|
|
7
7
|
this.addSql(`alter table if exists "promotion_usage_limit" drop constraint if exists "promotion_usage_limit_campaign_id_promotion_id_unique";`);
|
|
@@ -16,4 +16,4 @@ class Migration20250526010310 extends migrations_1.Migration {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
exports.Migration20250526010310 = Migration20250526010310;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MjYwMTAzMTAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9jdXN0b20tY2FtcGFpZ25zL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MjYwMTAzMTAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUVBQXFFO0FBRXJFLE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLGtJQUFrSSxDQUFDLENBQUM7UUFDaEosSUFBSSxDQUFDLE1BQU0sQ0FBQyx1RUFBdUUsQ0FBQyxDQUFDO1FBRXJGLElBQUksQ0FBQyxNQUFNLENBQUMscUdBQXFHLENBQUMsQ0FBQztRQUNuSCxJQUFJLENBQUMsTUFBTSxDQUFDLGdMQUFnTCxDQUFDLENBQUM7SUFDaE0sQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsbUZBQW1GLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsTUFBTSxDQUFDLG9GQUFvRixDQUFDLENBQUM7UUFFbEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1SkFBdUosQ0FBQyxDQUFDO0lBQ3ZLLENBQUM7Q0FFRjtBQWpCRCwwREFpQkMifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Migration20250529011904 = void 0;
|
|
4
|
-
const migrations_1 = require("@mikro-orm/migrations");
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
5
|
class Migration20250529011904 extends migrations_1.Migration {
|
|
6
6
|
async up() {
|
|
7
7
|
this.addSql(`alter table if exists "promotion_usage_limit" add column if not exists "product_id" text not null;`);
|
|
@@ -11,4 +11,4 @@ class Migration20250529011904 extends migrations_1.Migration {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.Migration20250529011904 = Migration20250529011904;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTA1MjkwMTE5MDQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9jdXN0b20tY2FtcGFpZ25zL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTA1MjkwMTE5MDQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUVBQXFFO0FBRXJFLE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLG9HQUFvRyxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsbUZBQW1GLENBQUMsQ0FBQztJQUNuRyxDQUFDO0NBRUY7QUFWRCwwREFVQyJ9
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Migration20251018000000 = void 0;
|
|
4
|
-
const migrations_1 = require("@mikro-orm/migrations");
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
5
|
class Migration20251018000000 extends migrations_1.Migration {
|
|
6
6
|
async up() {
|
|
7
7
|
// Update custom_campaign_type enum to include 'buy-x-get-y'
|
|
@@ -37,4 +37,4 @@ class Migration20251018000000 extends migrations_1.Migration {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
exports.Migration20251018000000 = Migration20251018000000;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTEwMTgwMDAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9jdXN0b20tY2FtcGFpZ25zL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTEwMTgwMDAwMDAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUVBQXFFO0FBRXJFLE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZiw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQywyR0FBMkcsQ0FBQyxDQUFDO1FBQ3pILElBQUksQ0FBQyxNQUFNLENBQUMsZ0pBQWdKLENBQUMsQ0FBQztRQUU5SixrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztPQWdCVCxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsTUFBTSxDQUFDLDZKQUE2SixDQUFDLENBQUM7UUFDM0ssSUFBSSxDQUFDLE1BQU0sQ0FBQywrSEFBK0gsQ0FBQyxDQUFDO0lBQy9JLENBQUM7SUFFUSxLQUFLLENBQUMsSUFBSTtRQUNqQixnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1FBRWxFLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLDJHQUEyRyxDQUFDLENBQUM7UUFDekgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpSUFBaUksQ0FBQyxDQUFDO0lBQ2pKLENBQUM7Q0FFRjtBQXZDRCwwREF1Q0MifQ==
|
|
@@ -2,23 +2,43 @@
|
|
|
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/
|
|
5
|
+
const updatePromotionUsageWorkflow_1 = require("../workflows/flash-sale/updatePromotionUsageWorkflow");
|
|
6
6
|
const updateBuyXGetYUsageWorkflow_1 = require("../workflows/custom-campaign/updateBuyXGetYUsageWorkflow");
|
|
7
7
|
async function updatePromotionUsage({ event: { data }, }) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
try {
|
|
9
|
+
// update promotion usage for flash sales
|
|
10
|
+
try {
|
|
11
|
+
await updatePromotionUsageWorkflow_1.updatePromotionUsageWorkflow.run({
|
|
12
|
+
input: {
|
|
13
|
+
order_id: data.id,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
console.error(`[Campaign] Error updating flash sale promotion usage for order ${data.id}:`, error);
|
|
19
|
+
console.error(`[Campaign] Error details:`, JSON.stringify(error, Object.getOwnPropertyNames(error)));
|
|
20
|
+
}
|
|
21
|
+
// update promotion usage for Buy X Get Y campaigns
|
|
22
|
+
try {
|
|
23
|
+
await updateBuyXGetYUsageWorkflow_1.updateBuyXGetYUsageWorkflow.run({
|
|
24
|
+
input: {
|
|
25
|
+
order_id: data.id,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error(`[Campaign] Error updating Buy X Get Y usage for order ${data.id}:`, error);
|
|
31
|
+
console.error(`[Campaign] Error details:`, JSON.stringify(error, Object.getOwnPropertyNames(error)));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
console.error(`[Campaign] Error in order.placed subscriber for order ${data.id}:`, error);
|
|
36
|
+
console.error(`[Campaign] Error stack:`, error.stack);
|
|
37
|
+
console.error(`[Campaign] Error details:`, JSON.stringify(error, Object.getOwnPropertyNames(error)));
|
|
38
|
+
// Don't throw to avoid blocking order flow
|
|
39
|
+
}
|
|
20
40
|
}
|
|
21
41
|
exports.config = {
|
|
22
42
|
event: `order.placed`,
|
|
23
43
|
};
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItcGxhY2VkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1YnNjcmliZXJzL29yZGVyLXBsYWNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSx1Q0FtREM7QUF0REQsdUdBQW9HO0FBQ3BHLDBHQUF1RztBQUV4RixLQUFLLFVBQVUsb0JBQW9CLENBQUMsRUFDakQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQ2dCO0lBQy9CLElBQUksQ0FBQztRQUNILHlDQUF5QztRQUN6QyxJQUFJLENBQUM7WUFDSCxNQUFNLDJEQUE0QixDQUFDLEdBQUcsQ0FBQztnQkFDckMsS0FBSyxFQUFFO29CQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtpQkFDbEI7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQ1gsa0VBQWtFLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFDNUUsS0FBSyxDQUNOLENBQUM7WUFDRixPQUFPLENBQUMsS0FBSyxDQUNYLDJCQUEyQixFQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDekQsQ0FBQztRQUNKLENBQUM7UUFFRCxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDO1lBQ0gsTUFBTSx5REFBMkIsQ0FBQyxHQUFHLENBQUM7Z0JBQ3BDLEtBQUssRUFBRTtvQkFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUU7aUJBQ2xCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUNYLHlEQUF5RCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQ25FLEtBQUssQ0FDTixDQUFDO1lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FDWCwyQkFBMkIsRUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3pELENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUNYLHlEQUF5RCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQ25FLEtBQUssQ0FDTixDQUFDO1FBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLEtBQUssQ0FDWCwyQkFBMkIsRUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3pELENBQUM7UUFDRiwyQ0FBMkM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFWSxRQUFBLE1BQU0sR0FBcUI7SUFDdEMsS0FBSyxFQUFFLGNBQWM7Q0FDdEIsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,23 +1,58 @@
|
|
|
1
1
|
import { SubscriberArgs, type SubscriberConfig } from "@medusajs/framework";
|
|
2
|
-
import { updatePromotionUsageWorkflow } from "../workflows/
|
|
2
|
+
import { updatePromotionUsageWorkflow } from "../workflows/flash-sale/updatePromotionUsageWorkflow";
|
|
3
3
|
import { updateBuyXGetYUsageWorkflow } from "../workflows/custom-campaign/updateBuyXGetYUsageWorkflow";
|
|
4
4
|
|
|
5
5
|
export default async function updatePromotionUsage({
|
|
6
6
|
event: { data },
|
|
7
7
|
}: SubscriberArgs<{ id: string }>) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
try {
|
|
9
|
+
// update promotion usage for flash sales
|
|
10
|
+
try {
|
|
11
|
+
await updatePromotionUsageWorkflow.run({
|
|
12
|
+
input: {
|
|
13
|
+
order_id: data.id,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
} catch (error) {
|
|
17
|
+
console.error(
|
|
18
|
+
`[Campaign] Error updating flash sale promotion usage for order ${data.id}:`,
|
|
19
|
+
error,
|
|
20
|
+
);
|
|
21
|
+
console.error(
|
|
22
|
+
`[Campaign] Error details:`,
|
|
23
|
+
JSON.stringify(error, Object.getOwnPropertyNames(error)),
|
|
24
|
+
);
|
|
25
|
+
}
|
|
14
26
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
27
|
+
// update promotion usage for Buy X Get Y campaigns
|
|
28
|
+
try {
|
|
29
|
+
await updateBuyXGetYUsageWorkflow.run({
|
|
30
|
+
input: {
|
|
31
|
+
order_id: data.id,
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
} catch (error) {
|
|
35
|
+
console.error(
|
|
36
|
+
`[Campaign] Error updating Buy X Get Y usage for order ${data.id}:`,
|
|
37
|
+
error,
|
|
38
|
+
);
|
|
39
|
+
console.error(
|
|
40
|
+
`[Campaign] Error details:`,
|
|
41
|
+
JSON.stringify(error, Object.getOwnPropertyNames(error)),
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
} catch (error) {
|
|
45
|
+
console.error(
|
|
46
|
+
`[Campaign] Error in order.placed subscriber for order ${data.id}:`,
|
|
47
|
+
error,
|
|
48
|
+
);
|
|
49
|
+
console.error(`[Campaign] Error stack:`, error.stack);
|
|
50
|
+
console.error(
|
|
51
|
+
`[Campaign] Error details:`,
|
|
52
|
+
JSON.stringify(error, Object.getOwnPropertyNames(error)),
|
|
53
|
+
);
|
|
54
|
+
// Don't throw to avoid blocking order flow
|
|
55
|
+
}
|
|
21
56
|
}
|
|
22
57
|
|
|
23
58
|
export const config: SubscriberConfig = {
|