@lodashventure/medusa-membership 0.0.6
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 +2039 -0
- package/.medusa/server/src/admin/index.mjs +2038 -0
- package/.medusa/server/src/api/admin/member-tiers/[id]/route.js +40 -0
- package/.medusa/server/src/api/admin/member-tiers/route.js +49 -0
- package/.medusa/server/src/api/admin/membership/config/[store_id]/route.js +43 -0
- package/.medusa/server/src/api/admin/membership-consents/[id]/route.js +40 -0
- package/.medusa/server/src/api/admin/membership-consents/route.js +48 -0
- package/.medusa/server/src/api/admin/promotions/[id]/update-collectable/route.js +34 -0
- package/.medusa/server/src/api/middlewares/consent.js +32 -0
- package/.medusa/server/src/api/middlewares/customers.js +23 -0
- package/.medusa/server/src/api/middlewares/member-tiers.js +38 -0
- package/.medusa/server/src/api/middlewares/notifications.js +27 -0
- package/.medusa/server/src/api/middlewares/promotion-codes.js +22 -0
- package/.medusa/server/src/api/middlewares/wishlist.js +27 -0
- package/.medusa/server/src/api/middlewares.js +26 -0
- package/.medusa/server/src/api/store/customers/me/consents/[keyId]/route.js +22 -0
- package/.medusa/server/src/api/store/customers/me/consents/route.js +15 -0
- package/.medusa/server/src/api/store/customers/me/notifications/[key]/route.js +21 -0
- package/.medusa/server/src/api/store/customers/me/notifications/route.js +15 -0
- package/.medusa/server/src/api/store/customers/me/promotion-codes/route.js +20 -0
- package/.medusa/server/src/api/store/customers/me/wishlist/[variant_id]/route.js +17 -0
- package/.medusa/server/src/api/store/customers/me/wishlist/route.js +61 -0
- package/.medusa/server/src/api/store/promotion-codes/route.js +66 -0
- package/.medusa/server/src/api/utils/middlewares/checkFeatureFlag.js +18 -0
- package/.medusa/server/src/links/customer-membership.js +10 -0
- package/.medusa/server/src/links/promotion-usable-promo.js +10 -0
- package/.medusa/server/src/links/store-membership-config.js +10 -0
- package/.medusa/server/src/links/wishlisht-customer.js +15 -0
- package/.medusa/server/src/links/wishlisht-item-product-variant.js +16 -0
- package/.medusa/server/src/modules/membership/index.js +13 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250416034358.js +19 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250416231624.js +15 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250418020235.js +14 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250420014232.js +17 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250420050937.js +15 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250421010109.js +15 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250421011451.js +15 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250422230822.js +14 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250423021328.js +23 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250423021925.js +15 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250424011144.js +14 -0
- package/.medusa/server/src/modules/membership/migrations/Migration20250507013347.js +14 -0
- package/.medusa/server/src/modules/membership/models/member-tier.js +12 -0
- package/.medusa/server/src/modules/membership/models/membership-config.js +14 -0
- package/.medusa/server/src/modules/membership/models/membership-consent-keys.js +21 -0
- package/.medusa/server/src/modules/membership/models/membership-consent.js +19 -0
- package/.medusa/server/src/modules/membership/models/membership-notification.js +13 -0
- package/.medusa/server/src/modules/membership/models/membership-transaction.js +12 -0
- package/.medusa/server/src/modules/membership/models/membership.js +10 -0
- package/.medusa/server/src/modules/membership/service.js +25 -0
- package/.medusa/server/src/modules/membership/types/membership-config.js +15 -0
- package/.medusa/server/src/modules/promotion-cache/index.js +13 -0
- package/.medusa/server/src/modules/promotion-cache/service.js +126 -0
- package/.medusa/server/src/modules/usable-promo/index.js +13 -0
- package/.medusa/server/src/modules/usable-promo/migrations/Migration20250504044646.js +17 -0
- package/.medusa/server/src/modules/usable-promo/models/usable-promotion.js +10 -0
- package/.medusa/server/src/modules/usable-promo/service.js +13 -0
- package/.medusa/server/src/modules/wishlist/index.js +13 -0
- package/.medusa/server/src/modules/wishlist/migrations/Migration20250424011114.js +23 -0
- package/.medusa/server/src/modules/wishlist/models/wishlist-item.js +23 -0
- package/.medusa/server/src/modules/wishlist/models/wishlist.js +17 -0
- package/.medusa/server/src/modules/wishlist/service.js +15 -0
- package/.medusa/server/src/subscribers/customer-created.js +26 -0
- package/.medusa/server/src/subscribers/order-completed.js +27 -0
- package/.medusa/server/src/subscribers/order-placed.js +17 -0
- package/.medusa/server/src/workflows/hooks/membershipConfigInitialized.js +15 -0
- package/.medusa/server/src/workflows/hooks/promotionDeleteHook.js +26 -0
- package/.medusa/server/src/workflows/member-tier/create-member-tier.js +32 -0
- package/.medusa/server/src/workflows/member-tier/delete-member-tier.js +25 -0
- package/.medusa/server/src/workflows/member-tier/update-member-tier.js +28 -0
- package/.medusa/server/src/workflows/membership/add-membership-points.js +75 -0
- package/.medusa/server/src/workflows/membership/create-membership.js +67 -0
- package/.medusa/server/src/workflows/membership/update-membership.js +35 -0
- package/.medusa/server/src/workflows/membership-consent/create-membership-consent.js +24 -0
- package/.medusa/server/src/workflows/membership-consent/retrieve-membership-consent.js +39 -0
- package/.medusa/server/src/workflows/membership-consent/update-membership-consent.js +27 -0
- package/.medusa/server/src/workflows/membership-consent-key/create-membership-consent-key.js +22 -0
- package/.medusa/server/src/workflows/membership-consent-key/delete-membership-consent-key.js +19 -0
- package/.medusa/server/src/workflows/membership-consent-key/update-membership-consent-key.js +23 -0
- package/.medusa/server/src/workflows/membership-notification/create-membership-notification.js +23 -0
- package/.medusa/server/src/workflows/membership-notification/retrieve-membership-notification.js +33 -0
- package/.medusa/server/src/workflows/membership-notification/update-membership-notification.js +27 -0
- package/.medusa/server/src/workflows/membership_config/init-membership-config.js +61 -0
- package/.medusa/server/src/workflows/membership_config/retrieve-membership-config.js +24 -0
- package/.medusa/server/src/workflows/membership_config/update-membership-config.js +23 -0
- package/.medusa/server/src/workflows/usable-promo/invalidateUsedPromotionWorkflow.js +28 -0
- package/.medusa/server/src/workflows/usable-promo/updateCollectablePromoWorkflow.js +65 -0
- package/.medusa/server/src/workflows/wishlist/create-wishlist-items.js +45 -0
- package/.medusa/server/src/workflows/wishlist/create-wishlist.js +21 -0
- package/.medusa/server/src/workflows/wishlist/delete-wishlist-items.js +25 -0
- package/README.md +36 -0
- package/package.json +79 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addMemberShipPointsWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
|
+
const create_membership_1 = require("./create-membership");
|
|
8
|
+
const update_membership_1 = require("./update-membership");
|
|
9
|
+
const membership_1 = require("../../modules/membership");
|
|
10
|
+
const addMembershipPointsStep = (0, workflows_sdk_1.createStep)("add-membership-points", async (data) => {
|
|
11
|
+
const query = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
12
|
+
const { data: [store], } = await query.graph({
|
|
13
|
+
entity: "store",
|
|
14
|
+
fields: ["id", "membership_config.*"],
|
|
15
|
+
});
|
|
16
|
+
if (!store.membership_config?.enable_membership) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (!data.customer_id) {
|
|
20
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Customer id is required");
|
|
21
|
+
}
|
|
22
|
+
if (!data.spending) {
|
|
23
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Spending is required");
|
|
24
|
+
}
|
|
25
|
+
if (!data.source) {
|
|
26
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Source is required");
|
|
27
|
+
}
|
|
28
|
+
const { data: [customer], } = await query.graph({
|
|
29
|
+
entity: "customer",
|
|
30
|
+
fields: ["*", "membership.*"],
|
|
31
|
+
filters: {
|
|
32
|
+
id: data.customer_id,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
const curPoints = customer.membership?.membership_points || 0;
|
|
36
|
+
const points = Math.floor(store.membership_config?.membership_points_multiplier * data.spending);
|
|
37
|
+
const newPoints = curPoints + points;
|
|
38
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
39
|
+
if (!customer.membership) {
|
|
40
|
+
const membership = await create_membership_1.createMembershipWorkflow.run({
|
|
41
|
+
input: {
|
|
42
|
+
customer_id: data.customer_id,
|
|
43
|
+
points: points,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
await membershipModuleService.createMembershipTransactions({
|
|
47
|
+
customer_id: data.customer_id,
|
|
48
|
+
membership_id: membership.result.membership.id,
|
|
49
|
+
points: points,
|
|
50
|
+
source: data.source,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
await update_membership_1.updateMembershipWorkflow.run({
|
|
55
|
+
input: {
|
|
56
|
+
membership_id: customer.membership.id,
|
|
57
|
+
points: newPoints,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
await membershipModuleService.createMembershipTransactions({
|
|
61
|
+
customer_id: data.customer_id,
|
|
62
|
+
membership_id: customer.membership.id,
|
|
63
|
+
points: points,
|
|
64
|
+
source: data.source,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return new workflows_sdk_1.StepResponse(customer, customer);
|
|
68
|
+
});
|
|
69
|
+
exports.addMemberShipPointsWorkflow = (0, workflows_sdk_1.createWorkflow)("add-membership-points", (input) => {
|
|
70
|
+
const membership = addMembershipPointsStep(input);
|
|
71
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
72
|
+
membership,
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW1lbWJlcnNoaXAtcG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tZW1iZXJzaGlwL2FkZC1tZW1iZXJzaGlwLXBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFDaEQscURBR21DO0FBQ25DLHFFQUsyQztBQUMzQywyREFBK0Q7QUFDL0QsMkRBQStEO0FBRS9ELHlEQUE2RDtBQVE3RCxNQUFNLHVCQUF1QixHQUFHLElBQUEsMEJBQVUsRUFDeEMsdUJBQXVCLEVBQ3ZCLEtBQUssRUFBRSxJQUEyQixFQUFFLEVBQUU7SUFDcEMsTUFBTSxLQUFLLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakUsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDO0tBQ3RDLENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztRQUNoRCxPQUFPO0lBQ1QsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixzQkFBc0IsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLG9CQUFvQixDQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FDakIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQztRQUM3QixPQUFPLEVBQUU7WUFDUCxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDckI7S0FDRixDQUFDLENBQUM7SUFFSCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLGlCQUFpQixJQUFJLENBQUMsQ0FBQztJQUM5RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUN2QixLQUFLLENBQUMsaUJBQWlCLEVBQUUsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FDdEUsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUM7SUFFckMsTUFBTSx1QkFBdUIsR0FDM0IscUJBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7SUFFaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN6QixNQUFNLFVBQVUsR0FBRyxNQUFNLDRDQUF3QixDQUFDLEdBQUcsQ0FBQztZQUNwRCxLQUFLLEVBQUU7Z0JBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixNQUFNLEVBQUUsTUFBTTthQUNmO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSx1QkFBdUIsQ0FBQyw0QkFBNEIsQ0FBQztZQUN6RCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsYUFBYSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDOUMsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLDRDQUF3QixDQUFDLEdBQUcsQ0FBQztZQUNqQyxLQUFLLEVBQUU7Z0JBQ0wsYUFBYSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDckMsTUFBTSxFQUFFLFNBQVM7YUFDbEI7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLHVCQUF1QixDQUFDLDRCQUE0QixDQUFDO1lBQ3pELFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixhQUFhLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUNGLENBQUM7QUFFVyxRQUFBLDJCQUEyQixHQUFHLElBQUEsOEJBQWMsRUFDdkQsdUJBQXVCLEVBQ3ZCLENBQUMsS0FBNEIsRUFBRSxFQUFFO0lBQy9CLE1BQU0sVUFBVSxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWxELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixVQUFVO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMembershipWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
|
+
const membership_1 = require("../../modules/membership");
|
|
8
|
+
const createMembershipStep = (0, workflows_sdk_1.createStep)("create-membership", async (data, { container }) => {
|
|
9
|
+
const membershipModuleService = container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
10
|
+
const [memberTier] = await membershipModuleService.listMemberTiers({
|
|
11
|
+
min_points: {
|
|
12
|
+
$lte: data.points,
|
|
13
|
+
},
|
|
14
|
+
}, {
|
|
15
|
+
order: {
|
|
16
|
+
min_points: "DESC",
|
|
17
|
+
},
|
|
18
|
+
take: 1,
|
|
19
|
+
});
|
|
20
|
+
if (memberTier) {
|
|
21
|
+
const membership = await membershipModuleService.createMemberships({
|
|
22
|
+
member_tier_id: memberTier.id,
|
|
23
|
+
membership_points: data.points,
|
|
24
|
+
});
|
|
25
|
+
return new workflows_sdk_1.StepResponse({ membership }, { membership });
|
|
26
|
+
}
|
|
27
|
+
return new workflows_sdk_1.StepResponse(null, null);
|
|
28
|
+
}, async (membership, { container }) => {
|
|
29
|
+
const membershipModuleService = container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
30
|
+
if (!membership?.membership?.id)
|
|
31
|
+
return;
|
|
32
|
+
await membershipModuleService.deleteMemberships(membership.membership.id);
|
|
33
|
+
});
|
|
34
|
+
const createMemberShipLink = (0, workflows_sdk_1.createStep)("create-membership-link", async (data) => {
|
|
35
|
+
const link = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
36
|
+
try {
|
|
37
|
+
await link.create([
|
|
38
|
+
{
|
|
39
|
+
[utils_1.Modules.CUSTOMER]: {
|
|
40
|
+
customer_id: data.customerId,
|
|
41
|
+
},
|
|
42
|
+
[membership_1.MEMBERSHIP_MODULE]: {
|
|
43
|
+
membership_id: data.membershipId,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
]);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
50
|
+
await membershipModuleService.deleteMemberships(data.membershipId);
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
return new workflows_sdk_1.StepResponse({ data }, { data });
|
|
54
|
+
});
|
|
55
|
+
exports.createMembershipWorkflow = (0, workflows_sdk_1.createWorkflow)("create-membership", (input) => {
|
|
56
|
+
const { membership } = createMembershipStep(input);
|
|
57
|
+
(0, workflows_sdk_1.when)({ membership }, ({ membership }) => membership !== undefined).then(() => {
|
|
58
|
+
createMemberShipLink({
|
|
59
|
+
membershipId: membership.id,
|
|
60
|
+
customerId: input.customer_id,
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
64
|
+
membership,
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1lbWJlcnNoaXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21lbWJlcnNoaXAvY3JlYXRlLW1lbWJlcnNoaXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdEO0FBQ2hELHFEQUErRTtBQUMvRSxxRUFNMkM7QUFDM0MseURBQTZEO0FBUTdELE1BQU0sb0JBQW9CLEdBQUcsSUFBQSwwQkFBVSxFQUNyQyxtQkFBbUIsRUFDbkIsS0FBSyxFQUFFLElBQTJCLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ25ELE1BQU0sdUJBQXVCLEdBQzNCLFNBQVMsQ0FBQyxPQUFPLENBQUMsOEJBQWlCLENBQUMsQ0FBQztJQUV2QyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyxlQUFlLENBQ2hFO1FBQ0UsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ2xCO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRTtZQUNMLFVBQVUsRUFBRSxNQUFNO1NBQ25CO1FBQ0QsSUFBSSxFQUFFLENBQUM7S0FDUixDQUNGLENBQUM7SUFFRixJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxVQUFVLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQztZQUNqRSxjQUFjLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDN0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDL0IsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN0QyxDQUFDLEVBRUQsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbEMsTUFBTSx1QkFBdUIsR0FDM0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyw4QkFBaUIsQ0FBQyxDQUFDO0lBRXZDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUU7UUFBRSxPQUFPO0lBRXhDLE1BQU0sdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM1RSxDQUFDLENBQ0YsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQUcsSUFBQSwwQkFBVSxFQUNyQyx3QkFBd0IsRUFDeEIsS0FBSyxFQUFFLElBQWtELEVBQUUsRUFBRTtJQUMzRCxNQUFNLElBQUksR0FBRyxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUvRCxJQUFJLENBQUM7UUFDSCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDaEI7Z0JBQ0UsQ0FBQyxlQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ2xCLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVTtpQkFDN0I7Z0JBQ0QsQ0FBQyw4QkFBaUIsQ0FBQyxFQUFFO29CQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVk7aUJBQ2pDO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sdUJBQXVCLEdBQzNCLHFCQUFTLENBQUMsT0FBTyxDQUFDLDhCQUFpQixDQUFDLENBQUM7UUFDdkMsTUFBTSx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbkUsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUNGLENBQUM7QUFFVyxRQUFBLHdCQUF3QixHQUFHLElBQUEsOEJBQWMsRUFDcEQsbUJBQW1CLEVBQ25CLENBQUMsS0FBNEIsRUFBRSxFQUFFO0lBQy9CLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVuRCxJQUFBLG9CQUFJLEVBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ3JFLEdBQUcsRUFBRTtRQUNILG9CQUFvQixDQUFDO1lBQ25CLFlBQVksRUFBRSxVQUFVLENBQUMsRUFBRTtZQUMzQixVQUFVLEVBQUUsS0FBSyxDQUFDLFdBQVc7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUNGLENBQUM7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsVUFBVTtLQUNYLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateMembershipWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const membership_1 = require("../../modules/membership");
|
|
6
|
+
const updateMembershipStep = (0, workflows_sdk_1.createStep)("update-membership", async (data, { container }) => {
|
|
7
|
+
const membershipModuleService = container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
8
|
+
const [memberTier] = await membershipModuleService.listMemberTiers({
|
|
9
|
+
min_points: {
|
|
10
|
+
$lte: data.points,
|
|
11
|
+
},
|
|
12
|
+
}, {
|
|
13
|
+
order: {
|
|
14
|
+
min_points: "DESC",
|
|
15
|
+
},
|
|
16
|
+
take: 1,
|
|
17
|
+
});
|
|
18
|
+
const membership = await membershipModuleService.updateMemberships({
|
|
19
|
+
selector: {
|
|
20
|
+
id: data.membership_id,
|
|
21
|
+
},
|
|
22
|
+
data: {
|
|
23
|
+
member_tier_id: memberTier ? memberTier.id : undefined,
|
|
24
|
+
membership_points: data.points,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
return new workflows_sdk_1.StepResponse({ membership }, { membership });
|
|
28
|
+
});
|
|
29
|
+
exports.updateMembershipWorkflow = (0, workflows_sdk_1.createWorkflow)("update-membership", (input) => {
|
|
30
|
+
const { membership } = updateMembershipStep(input);
|
|
31
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
32
|
+
membership,
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW1lbWJlcnNoaXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21lbWJlcnNoaXAvdXBkYXRlLW1lbWJlcnNoaXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEscUVBSzJDO0FBQzNDLHlEQUE2RDtBQVE3RCxNQUFNLG9CQUFvQixHQUFHLElBQUEsMEJBQVUsRUFDckMsbUJBQW1CLEVBQ25CLEtBQUssRUFBRSxJQUEyQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNuRCxNQUFNLHVCQUF1QixHQUMzQixTQUFTLENBQUMsT0FBTyxDQUFDLDhCQUFpQixDQUFDLENBQUM7SUFFdkMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sdUJBQXVCLENBQUMsZUFBZSxDQUNoRTtRQUNFLFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNsQjtLQUNGLEVBQ0Q7UUFDRSxLQUFLLEVBQUU7WUFDTCxVQUFVLEVBQUUsTUFBTTtTQUNuQjtRQUNELElBQUksRUFBRSxDQUFDO0tBQ1IsQ0FDRixDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRSxRQUFRLEVBQUU7WUFDUixFQUFFLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDdkI7UUFDRCxJQUFJLEVBQUU7WUFDSixjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3RELGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNO1NBQy9CO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUNGLENBQUM7QUFFVyxRQUFBLHdCQUF3QixHQUFHLElBQUEsOEJBQWMsRUFDcEQsbUJBQW1CLEVBQ25CLENBQUMsS0FBNEIsRUFBRSxFQUFFO0lBQy9CLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVuRCxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsVUFBVTtLQUNYLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMembershipConsentWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const membership_1 = require("../../modules/membership");
|
|
7
|
+
const createMembershipConsentStep = (0, workflows_sdk_1.createStep)("create-membership-consent", async (data) => {
|
|
8
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
9
|
+
const consentKeyIds = data.missing_consent_keys ??
|
|
10
|
+
(await membershipModuleService.listMembershipConsentKeys()).map((ck) => ck.id);
|
|
11
|
+
const consents = await membershipModuleService.createMembershipConsents(consentKeyIds.map((id) => ({
|
|
12
|
+
customer_id: data.customer_id,
|
|
13
|
+
enable: true,
|
|
14
|
+
consent_key_id: id,
|
|
15
|
+
})));
|
|
16
|
+
return new workflows_sdk_1.StepResponse({ consents }, { consents });
|
|
17
|
+
});
|
|
18
|
+
exports.createMembershipConsentWorkflow = (0, workflows_sdk_1.createWorkflow)("create-membership-consent", (input) => {
|
|
19
|
+
const { consents } = createMembershipConsentStep(input);
|
|
20
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
21
|
+
consents,
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1lbWJlcnNoaXAtY29uc2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbWVtYmVyc2hpcC1jb25zZW50L2NyZWF0ZS1tZW1iZXJzaGlwLWNvbnNlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdEO0FBQ2hELHFFQUsyQztBQUUzQyx5REFBNkQ7QUFPN0QsTUFBTSwyQkFBMkIsR0FBRyxJQUFBLDBCQUFVLEVBQzVDLDJCQUEyQixFQUMzQixLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO0lBQzVCLE1BQU0sdUJBQXVCLEdBQzNCLHFCQUFTLENBQUMsT0FBTyxDQUEwQiw4QkFBaUIsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sYUFBYSxHQUNqQixJQUFJLENBQUMsb0JBQW9CO1FBQ3pCLENBQUMsTUFBTSx1QkFBdUIsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUM3RCxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDZCxDQUFDO0lBRUosTUFBTSxRQUFRLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FDckUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7UUFDN0IsTUFBTSxFQUFFLElBQUk7UUFDWixjQUFjLEVBQUUsRUFBRTtLQUNuQixDQUFDLENBQUMsQ0FDSixDQUFDO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUNGLENBQUM7QUFFVyxRQUFBLCtCQUErQixHQUFHLElBQUEsOEJBQWMsRUFDM0QsMkJBQTJCLEVBQzNCLENBQUMsS0FBb0IsRUFBRSxFQUFFO0lBQ3ZCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUV4RCxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsUUFBUTtLQUNULENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.retrieveMembershipConsentWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
|
+
const membership_1 = require("../../modules/membership");
|
|
8
|
+
const create_membership_consent_1 = require("../membership-consent/create-membership-consent");
|
|
9
|
+
const retrieveMembershipConsentStep = (0, workflows_sdk_1.createStep)("retrieve-membership-consent", async (data) => {
|
|
10
|
+
if (!data.customer_id) {
|
|
11
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "customer_id is required");
|
|
12
|
+
}
|
|
13
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
14
|
+
const consentKeys = await membershipModuleService.listMembershipConsentKeys();
|
|
15
|
+
let consents = await membershipModuleService.listMembershipConsents({
|
|
16
|
+
customer_id: data.customer_id,
|
|
17
|
+
});
|
|
18
|
+
const consentSet = new Set(consents.map((c) => c.consent_key_id));
|
|
19
|
+
const missing_consent_keys = consentKeys
|
|
20
|
+
.filter((ck) => !consentSet.has(ck.id))
|
|
21
|
+
.map((ck) => ck.id);
|
|
22
|
+
if (consents.length !== consentKeys.length) {
|
|
23
|
+
const res = await create_membership_consent_1.createMembershipConsentWorkflow.run({
|
|
24
|
+
input: {
|
|
25
|
+
customer_id: data.customer_id,
|
|
26
|
+
missing_consent_keys,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
consents = consents.concat(res.result.consents);
|
|
30
|
+
}
|
|
31
|
+
return new workflows_sdk_1.StepResponse({ consents }, { consents });
|
|
32
|
+
});
|
|
33
|
+
exports.retrieveMembershipConsentWorkflow = (0, workflows_sdk_1.createWorkflow)("retrieve-membership-consent", (input) => {
|
|
34
|
+
const { consents } = retrieveMembershipConsentStep(input);
|
|
35
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
36
|
+
consents,
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmlldmUtbWVtYmVyc2hpcC1jb25zZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tZW1iZXJzaGlwLWNvbnNlbnQvcmV0cmlldmUtbWVtYmVyc2hpcC1jb25zZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRDtBQUNoRCxxREFBd0Q7QUFDeEQscUVBSzJDO0FBQzNDLHlEQUE2RDtBQUU3RCwrRkFBa0c7QUFNbEcsTUFBTSw2QkFBNkIsR0FBRyxJQUFBLDBCQUFVLEVBQzlDLDZCQUE2QixFQUM3QixLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO0lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSx1QkFBdUIsR0FDM0IscUJBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7SUFFaEUsTUFBTSxXQUFXLEdBQ2YsTUFBTSx1QkFBdUIsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBRTVELElBQUksUUFBUSxHQUFHLE1BQU0sdUJBQXVCLENBQUMsc0JBQXNCLENBQUM7UUFDbEUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO0tBQzlCLENBQUMsQ0FBQztJQUVILE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sb0JBQW9CLEdBQUcsV0FBVztTQUNyQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdEMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFdEIsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQyxNQUFNLEdBQUcsR0FBRyxNQUFNLDJEQUErQixDQUFDLEdBQUcsQ0FBQztZQUNwRCxLQUFLLEVBQUU7Z0JBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixvQkFBb0I7YUFDckI7U0FDRixDQUFDLENBQUM7UUFDSCxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQ0YsQ0FBQztBQUVXLFFBQUEsaUNBQWlDLEdBQUcsSUFBQSw4QkFBYyxFQUM3RCw2QkFBNkIsRUFDN0IsQ0FBQyxLQUFvQixFQUFFLEVBQUU7SUFDdkIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixRQUFRO0tBQ1QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateMembershipConsentWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const membership_1 = require("../../modules/membership");
|
|
7
|
+
const updateMembershipConsentStep = (0, workflows_sdk_1.createStep)("update-membership-consent", async (data) => {
|
|
8
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
9
|
+
const payload = data.map((input) => ({
|
|
10
|
+
selector: {
|
|
11
|
+
customer_id: input.customer_id,
|
|
12
|
+
consent_key_id: input.consent_key_id,
|
|
13
|
+
},
|
|
14
|
+
data: {
|
|
15
|
+
enable: input.enable,
|
|
16
|
+
},
|
|
17
|
+
}));
|
|
18
|
+
let consents = await membershipModuleService.updateMembershipConsents(payload);
|
|
19
|
+
return new workflows_sdk_1.StepResponse({ consents }, { consents });
|
|
20
|
+
});
|
|
21
|
+
exports.updateMembershipConsentWorkflow = (0, workflows_sdk_1.createWorkflow)("update-membership-consent", (input) => {
|
|
22
|
+
const { consents } = updateMembershipConsentStep(input);
|
|
23
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
24
|
+
consents,
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW1lbWJlcnNoaXAtY29uc2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbWVtYmVyc2hpcC1jb25zZW50L3VwZGF0ZS1tZW1iZXJzaGlwLWNvbnNlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdEO0FBQ2hELHFFQUsyQztBQUMzQyx5REFBNkQ7QUFTN0QsTUFBTSwyQkFBMkIsR0FBRyxJQUFBLDBCQUFVLEVBQzVDLDJCQUEyQixFQUMzQixLQUFLLEVBQUUsSUFBcUIsRUFBRSxFQUFFO0lBQzlCLE1BQU0sdUJBQXVCLEdBQzNCLHFCQUFTLENBQUMsT0FBTyxDQUEwQiw4QkFBaUIsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkMsUUFBUSxFQUFFO1lBQ1IsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztTQUNyQztRQUNELElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtTQUNyQjtLQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osSUFBSSxRQUFRLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FDbkUsT0FBTyxDQUNSLENBQUM7SUFFRixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQ0YsQ0FBQztBQUVXLFFBQUEsK0JBQStCLEdBQUcsSUFBQSw4QkFBYyxFQUMzRCwyQkFBMkIsRUFDM0IsQ0FBQyxLQUFzQixFQUFFLEVBQUU7SUFDekIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXhELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixRQUFRO0tBQ1QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMemberConsentKeysWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const membership_1 = require("../../modules/membership");
|
|
6
|
+
// Step to create member consent key with rollback on failure
|
|
7
|
+
const createMemberConsentKeysStep = (0, workflows_sdk_1.createStep)("create-membership-consent-key", async (memberConsentKey, { container }) => {
|
|
8
|
+
const memberModuleService = container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
9
|
+
const created = await memberModuleService.createMembershipConsentKeys(memberConsentKey);
|
|
10
|
+
return new workflows_sdk_1.StepResponse(created, created.map((t) => t.id));
|
|
11
|
+
}, async (ids, { container }) => {
|
|
12
|
+
if (!ids?.length)
|
|
13
|
+
return;
|
|
14
|
+
const memberModuleService = container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
15
|
+
await memberModuleService.deleteMembershipConsentKeys(ids);
|
|
16
|
+
});
|
|
17
|
+
// Workflow to create member consent keys
|
|
18
|
+
exports.createMemberConsentKeysWorkflow = (0, workflows_sdk_1.createWorkflow)("create-membership-consent-key", (input) => {
|
|
19
|
+
const created = createMemberConsentKeysStep(input);
|
|
20
|
+
return new workflows_sdk_1.WorkflowResponse({ member_consent_keys: created });
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1lbWJlcnNoaXAtY29uc2VudC1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21lbWJlcnNoaXAtY29uc2VudC1rZXkvY3JlYXRlLW1lbWJlcnNoaXAtY29uc2VudC1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzJDO0FBQzNDLHlEQUE2RDtBQVE3RCw2REFBNkQ7QUFDN0QsTUFBTSwyQkFBMkIsR0FBRyxJQUFBLDBCQUFVLEVBQzVDLCtCQUErQixFQUMvQixLQUFLLEVBQ0gsZ0JBQXVELEVBQ3ZELEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sbUJBQW1CLEdBQ3ZCLFNBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7SUFFaEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQywyQkFBMkIsQ0FDbkUsZ0JBQWdCLENBQ2pCLENBQUM7SUFFRixPQUFPLElBQUksNEJBQVksQ0FDckIsT0FBTyxFQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDekIsQ0FBQztBQUNKLENBQUMsRUFDRCxLQUFLLEVBQUUsR0FBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNyQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU07UUFBRSxPQUFPO0lBRXpCLE1BQU0sbUJBQW1CLEdBQ3ZCLFNBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7SUFDaEUsTUFBTSxtQkFBbUIsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQ0YsQ0FBQztBQUVGLHlDQUF5QztBQUM1QixRQUFBLCtCQUErQixHQUFHLElBQUEsOEJBQWMsRUFDM0QsK0JBQStCLEVBQy9CLENBQUMsS0FBNEMsRUFBRSxFQUFFO0lBQy9DLE1BQU0sT0FBTyxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDaEUsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteMemberConsentKeysWorkflow = exports.deleteMemberConsentKeysStep = void 0;
|
|
4
|
+
// src/workflows/delete-membership-consent-key.ts
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const membership_1 = require("../../modules/membership");
|
|
7
|
+
exports.deleteMemberConsentKeysStep = (0, workflows_sdk_1.createStep)("delete-membership-consent-key", async ({ ids }, { container }) => {
|
|
8
|
+
const memberModuleService = container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
9
|
+
if (!ids.length) {
|
|
10
|
+
throw new Error("At least one member ConsentKey ID is required");
|
|
11
|
+
}
|
|
12
|
+
await memberModuleService.deleteMembershipConsentKeys(ids);
|
|
13
|
+
return new workflows_sdk_1.StepResponse(ids, ids);
|
|
14
|
+
});
|
|
15
|
+
exports.deleteMemberConsentKeysWorkflow = (0, workflows_sdk_1.createWorkflow)("delete-membership-consent-key", (input) => {
|
|
16
|
+
const result = (0, exports.deleteMemberConsentKeysStep)(input);
|
|
17
|
+
return new workflows_sdk_1.WorkflowResponse(result);
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLW1lbWJlcnNoaXAtY29uc2VudC1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21lbWJlcnNoaXAtY29uc2VudC1rZXkvZGVsZXRlLW1lbWJlcnNoaXAtY29uc2VudC1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQWlEO0FBQ2pELHFFQUsyQztBQUMzQyx5REFBNkQ7QUFRaEQsUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDBCQUFVLEVBQ25ELCtCQUErQixFQUMvQixLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQXdDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3JFLE1BQU0sbUJBQW1CLEdBQ3ZCLFNBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7SUFFaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELE1BQU0sbUJBQW1CLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFM0QsT0FBTyxJQUFJLDRCQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FDRixDQUFDO0FBRVcsUUFBQSwrQkFBK0IsR0FBRyxJQUFBLDhCQUFjLEVBQzNELCtCQUErQixFQUMvQixDQUFDLEtBQTJDLEVBQUUsRUFBRTtJQUM5QyxNQUFNLE1BQU0sR0FBRyxJQUFBLG1DQUEyQixFQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateMemberConsentKeysWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const membership_1 = require("../../modules/membership");
|
|
6
|
+
// Step to update member ConsentKey with rollback on failure
|
|
7
|
+
const updateMemberConsentKeysStep = (0, workflows_sdk_1.createStep)("update-member-consent-key", async (updateInput, { container }) => {
|
|
8
|
+
const { id, ...data } = updateInput;
|
|
9
|
+
const memberModuleService = container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
10
|
+
const updated = await memberModuleService.updateMembershipConsentKeys({
|
|
11
|
+
selector: {
|
|
12
|
+
id: updateInput.id,
|
|
13
|
+
},
|
|
14
|
+
data,
|
|
15
|
+
});
|
|
16
|
+
return new workflows_sdk_1.StepResponse(updated);
|
|
17
|
+
});
|
|
18
|
+
// Workflow to update member consent-keys
|
|
19
|
+
exports.updateMemberConsentKeysWorkflow = (0, workflows_sdk_1.createWorkflow)("update-member-consent-key", (input) => {
|
|
20
|
+
const updated = updateMemberConsentKeysStep(input);
|
|
21
|
+
return new workflows_sdk_1.WorkflowResponse({ member_consent_keys: updated });
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW1lbWJlcnNoaXAtY29uc2VudC1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21lbWJlcnNoaXAtY29uc2VudC1rZXkvdXBkYXRlLW1lbWJlcnNoaXAtY29uc2VudC1rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzJDO0FBQzNDLHlEQUE2RDtBQVU3RCw0REFBNEQ7QUFDNUQsTUFBTSwyQkFBMkIsR0FBRyxJQUFBLDBCQUFVLEVBQzVDLDJCQUEyQixFQUMzQixLQUFLLEVBQUUsV0FBd0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDaEUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUNwQyxNQUFNLG1CQUFtQixHQUN2QixTQUFTLENBQUMsT0FBTyxDQUEwQiw4QkFBaUIsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sT0FBTyxHQUFHLE1BQU0sbUJBQW1CLENBQUMsMkJBQTJCLENBQUM7UUFDcEUsUUFBUSxFQUFFO1lBQ1IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFO1NBQ25CO1FBQ0QsSUFBSTtLQUNMLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSw0QkFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FDRixDQUFDO0FBRUYseUNBQXlDO0FBQzVCLFFBQUEsK0JBQStCLEdBQUcsSUFBQSw4QkFBYyxFQUMzRCwyQkFBMkIsRUFDM0IsQ0FBQyxLQUFrQyxFQUFFLEVBQUU7SUFDckMsTUFBTSxPQUFPLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsT0FBTyxJQUFJLGdDQUFnQixDQUFDLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQ0YsQ0FBQyJ9
|
package/.medusa/server/src/workflows/membership-notification/create-membership-notification.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMembershipNotificationWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const membership_1 = require("../../modules/membership");
|
|
7
|
+
const notificationKeys = ["account", "order", "promotion"];
|
|
8
|
+
const createMembershipNotificationStep = (0, workflows_sdk_1.createStep)("create-membership-notification", async (data) => {
|
|
9
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
10
|
+
const notifications = await membershipModuleService.createMembershipNotifications(notificationKeys.map((key) => ({
|
|
11
|
+
customer_id: data.customer_id,
|
|
12
|
+
enable: true,
|
|
13
|
+
notification_key: key,
|
|
14
|
+
})));
|
|
15
|
+
return new workflows_sdk_1.StepResponse({ notifications }, { notifications });
|
|
16
|
+
});
|
|
17
|
+
exports.createMembershipNotificationWorkflow = (0, workflows_sdk_1.createWorkflow)("create-membership-notification", (input) => {
|
|
18
|
+
const { notifications } = createMembershipNotificationStep(input);
|
|
19
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
20
|
+
notifications,
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1lbWJlcnNoaXAtbm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tZW1iZXJzaGlwLW5vdGlmaWNhdGlvbi9jcmVhdGUtbWVtYmVyc2hpcC1ub3RpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdEO0FBQ2hELHFFQUsyQztBQUUzQyx5REFBNkQ7QUFNN0QsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFM0QsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFBLDBCQUFVLEVBQ2pELGdDQUFnQyxFQUNoQyxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO0lBQzVCLE1BQU0sdUJBQXVCLEdBQzNCLHFCQUFTLENBQUMsT0FBTyxDQUEwQiw4QkFBaUIsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sYUFBYSxHQUNqQixNQUFNLHVCQUF1QixDQUFDLDZCQUE2QixDQUN6RCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1FBQzdCLE1BQU0sRUFBRSxJQUFJO1FBQ1osZ0JBQWdCLEVBQUUsR0FBRztLQUN0QixDQUFDLENBQUMsQ0FDSixDQUFDO0lBRUosT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7QUFDaEUsQ0FBQyxDQUNGLENBQUM7QUFFVyxRQUFBLG9DQUFvQyxHQUFHLElBQUEsOEJBQWMsRUFDaEUsZ0NBQWdDLEVBQ2hDLENBQUMsS0FBb0IsRUFBRSxFQUFFO0lBQ3ZCLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsRSxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsYUFBYTtLQUNkLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
|
package/.medusa/server/src/workflows/membership-notification/retrieve-membership-notification.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.retrieveMembershipNotificationWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const membership_1 = require("../../modules/membership");
|
|
7
|
+
const create_membership_notification_1 = require("./create-membership-notification");
|
|
8
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
9
|
+
const retrieveMembershipNotificationStep = (0, workflows_sdk_1.createStep)("retrieve-membership-notification", async (data) => {
|
|
10
|
+
if (!data.customer_id) {
|
|
11
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "customer_id is required");
|
|
12
|
+
}
|
|
13
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
14
|
+
let notifications = await membershipModuleService.listMembershipNotifications({
|
|
15
|
+
customer_id: data.customer_id,
|
|
16
|
+
});
|
|
17
|
+
if (notifications.length === 0) {
|
|
18
|
+
const res = await create_membership_notification_1.createMembershipNotificationWorkflow.run({
|
|
19
|
+
input: {
|
|
20
|
+
customer_id: data.customer_id,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
notifications = res.result.notifications;
|
|
24
|
+
}
|
|
25
|
+
return new workflows_sdk_1.StepResponse({ notifications }, { notifications });
|
|
26
|
+
});
|
|
27
|
+
exports.retrieveMembershipNotificationWorkflow = (0, workflows_sdk_1.createWorkflow)("retrieve-membership-notification", (input) => {
|
|
28
|
+
const { notifications } = retrieveMembershipNotificationStep(input);
|
|
29
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
30
|
+
notifications,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmlldmUtbWVtYmVyc2hpcC1ub3RpZmljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21lbWJlcnNoaXAtbm90aWZpY2F0aW9uL3JldHJpZXZlLW1lbWJlcnNoaXAtbm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRDtBQUNoRCxxRUFLMkM7QUFFM0MseURBQTZEO0FBQzdELHFGQUF3RjtBQUN4RixxREFBd0Q7QUFNeEQsTUFBTSxrQ0FBa0MsR0FBRyxJQUFBLDBCQUFVLEVBQ25ELGtDQUFrQyxFQUNsQyxLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO0lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSx1QkFBdUIsR0FDM0IscUJBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7SUFFaEUsSUFBSSxhQUFhLEdBQ2YsTUFBTSx1QkFBdUIsQ0FBQywyQkFBMkIsQ0FBQztRQUN4RCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7S0FDOUIsQ0FBQyxDQUFDO0lBRUwsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sR0FBRyxHQUFHLE1BQU0scUVBQW9DLENBQUMsR0FBRyxDQUFDO1lBQ3pELEtBQUssRUFBRTtnQkFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDOUI7U0FDRixDQUFDLENBQUM7UUFDSCxhQUFhLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FDRixDQUFDO0FBRVcsUUFBQSxzQ0FBc0MsR0FBRyxJQUFBLDhCQUFjLEVBQ2xFLGtDQUFrQyxFQUNsQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtJQUN2QixNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsa0NBQWtDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFcEUsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLGFBQWE7S0FDZCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
|
package/.medusa/server/src/workflows/membership-notification/update-membership-notification.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateMembershipNotificationWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const membership_1 = require("../../modules/membership");
|
|
7
|
+
const updateMembershipNotificationStep = (0, workflows_sdk_1.createStep)("update-membership-notification", async (data) => {
|
|
8
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
9
|
+
const payload = data.map((input) => ({
|
|
10
|
+
selector: {
|
|
11
|
+
customer_id: input.customer_id,
|
|
12
|
+
notification_key: input.notification_key,
|
|
13
|
+
},
|
|
14
|
+
data: {
|
|
15
|
+
enable: input.enable,
|
|
16
|
+
},
|
|
17
|
+
}));
|
|
18
|
+
let notifications = await membershipModuleService.updateMembershipNotifications(payload);
|
|
19
|
+
return new workflows_sdk_1.StepResponse({ notifications }, { notifications });
|
|
20
|
+
});
|
|
21
|
+
exports.updateMembershipNotificationWorkflow = (0, workflows_sdk_1.createWorkflow)("update-membership-notification", (input) => {
|
|
22
|
+
const { notifications } = updateMembershipNotificationStep(input);
|
|
23
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
24
|
+
notifications,
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW1lbWJlcnNoaXAtbm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tZW1iZXJzaGlwLW5vdGlmaWNhdGlvbi91cGRhdGUtbWVtYmVyc2hpcC1ub3RpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdEO0FBQ2hELHFFQUsyQztBQUUzQyx5REFBNkQ7QUFTN0QsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFBLDBCQUFVLEVBQ2pELGdDQUFnQyxFQUNoQyxLQUFLLEVBQUUsSUFBcUIsRUFBRSxFQUFFO0lBQzlCLE1BQU0sdUJBQXVCLEdBQzNCLHFCQUFTLENBQUMsT0FBTyxDQUEwQiw4QkFBaUIsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbkMsUUFBUSxFQUFFO1lBQ1IsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7U0FDekM7UUFDRCxJQUFJLEVBQUU7WUFDSixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07U0FDckI7S0FDRixDQUFDLENBQUMsQ0FBQztJQUNKLElBQUksYUFBYSxHQUNmLE1BQU0sdUJBQXVCLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFdkUsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7QUFDaEUsQ0FBQyxDQUNGLENBQUM7QUFFVyxRQUFBLG9DQUFvQyxHQUFHLElBQUEsOEJBQWMsRUFDaEUsZ0NBQWdDLEVBQ2hDLENBQUMsS0FBc0IsRUFBRSxFQUFFO0lBQ3pCLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVsRSxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsYUFBYTtLQUNkLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initMembershipConfigWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
|
+
const membership_1 = require("../../modules/membership");
|
|
8
|
+
const createMembershipConfigStep = (0, workflows_sdk_1.createStep)("create-membership-config", async (_, { container: _container }) => {
|
|
9
|
+
const query = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
10
|
+
const membershipModuleService = await _container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
11
|
+
const { data: stores } = await query.graph({
|
|
12
|
+
entity: "store",
|
|
13
|
+
fields: ["id", "membership_config.*"],
|
|
14
|
+
});
|
|
15
|
+
const configs = await membershipModuleService.createMembershipConfigs(stores
|
|
16
|
+
.filter((s) => !s.membership_config)
|
|
17
|
+
.map((s) => {
|
|
18
|
+
return {
|
|
19
|
+
store_id: s.id,
|
|
20
|
+
};
|
|
21
|
+
}));
|
|
22
|
+
return new workflows_sdk_1.StepResponse({ configs }, { configs });
|
|
23
|
+
});
|
|
24
|
+
const createMemberShipConfigLinkStep = (0, workflows_sdk_1.createStep)("create-membership-config-link", async (data) => {
|
|
25
|
+
const link = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
26
|
+
try {
|
|
27
|
+
await link.create(data.map((d) => {
|
|
28
|
+
return {
|
|
29
|
+
[utils_1.Modules.STORE]: {
|
|
30
|
+
store_id: d.storeId,
|
|
31
|
+
},
|
|
32
|
+
[membership_1.MEMBERSHIP_MODULE]: {
|
|
33
|
+
membership_config_id: d.configId,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
40
|
+
await membershipModuleService.deleteMembershipConfigs(data.map((d) => d.configId));
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
return new workflows_sdk_1.StepResponse({ data }, { data });
|
|
44
|
+
});
|
|
45
|
+
exports.initMembershipConfigWorkflow = (0, workflows_sdk_1.createWorkflow)("create-membership-config", () => {
|
|
46
|
+
const { configs } = createMembershipConfigStep();
|
|
47
|
+
const payload = (0, workflows_sdk_1.transform)({ configs }, ({ configs }) => configs.map((c) => ({
|
|
48
|
+
storeId: c.store_id,
|
|
49
|
+
configId: c.id,
|
|
50
|
+
})));
|
|
51
|
+
(0, workflows_sdk_1.when)(configs, (configs) => !!configs).then(() => {
|
|
52
|
+
createMemberShipConfigLinkStep(payload);
|
|
53
|
+
});
|
|
54
|
+
const memberShipConfigInitialized = (0, workflows_sdk_1.createHook)("membershipConfigInitialized", {
|
|
55
|
+
configs,
|
|
56
|
+
});
|
|
57
|
+
return new workflows_sdk_1.WorkflowResponse({ configs }, {
|
|
58
|
+
hooks: [memberShipConfigInitialized],
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC1tZW1iZXJzaGlwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvbWVtYmVyc2hpcF9jb25maWcvaW5pdC1tZW1iZXJzaGlwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFDaEQscURBQStFO0FBQy9FLHFFQVEyQztBQUMzQyx5REFBNkQ7QUFHN0QsTUFBTSwwQkFBMEIsR0FBRyxJQUFBLDBCQUFVLEVBQzNDLDBCQUEwQixFQUMxQixLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDckMsTUFBTSxLQUFLLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFakUsTUFBTSx1QkFBdUIsR0FDM0IsTUFBTSxVQUFVLENBQUMsT0FBTyxDQUEwQiw4QkFBaUIsQ0FBQyxDQUFDO0lBRXZFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDO0tBQ3RDLENBQUMsQ0FBQztJQUNILE1BQU0sT0FBTyxHQUFHLE1BQU0sdUJBQXVCLENBQUMsdUJBQXVCLENBQ25FLE1BQU07U0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1NBQ25DLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ1QsT0FBTztZQUNMLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRTtTQUNmLENBQUM7SUFDSixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUNGLENBQUM7QUFFRixNQUFNLDhCQUE4QixHQUFHLElBQUEsMEJBQVUsRUFDL0MsK0JBQStCLEVBQy9CLEtBQUssRUFBRSxJQUE2QyxFQUFFLEVBQUU7SUFDdEQsTUFBTSxJQUFJLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFL0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNiLE9BQU87Z0JBQ0wsQ0FBQyxlQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2YsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPO2lCQUNwQjtnQkFDRCxDQUFDLDhCQUFpQixDQUFDLEVBQUU7b0JBQ25CLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxRQUFRO2lCQUNqQzthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixNQUFNLHVCQUF1QixHQUMzQixxQkFBUyxDQUFDLE9BQU8sQ0FBQyw4QkFBaUIsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sdUJBQXVCLENBQUMsdUJBQXVCLENBQ25ELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FDNUIsQ0FBQztRQUVGLE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FDRixDQUFDO0FBRVcsUUFBQSw0QkFBNEIsR0FBRyxJQUFBLDhCQUFjLEVBQ3hELDBCQUEwQixFQUMxQixHQUFHLEVBQUU7SUFDSCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQztJQUVqRCxNQUFNLE9BQU8sR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUTtRQUNuQixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUU7S0FDZixDQUFDLENBQUMsQ0FDSixDQUFDO0lBRUYsSUFBQSxvQkFBSSxFQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDOUMsOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLDJCQUEyQixHQUFHLElBQUEsMEJBQVUsRUFDNUMsNkJBQTZCLEVBQzdCO1FBQ0UsT0FBTztLQUNSLENBQ0YsQ0FBQztJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FDekIsRUFBRSxPQUFPLEVBQUUsRUFDWDtRQUNFLEtBQUssRUFBRSxDQUFDLDJCQUEyQixDQUFDO0tBQ3JDLENBQ0YsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.retrieveMembershipConfigWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const membership_1 = require("../../modules/membership");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const framework_1 = require("@medusajs/framework");
|
|
8
|
+
const retrieveMembershipConfigStep = (0, workflows_sdk_1.createStep)("retrieve-membership-config", async () => {
|
|
9
|
+
const storeModuleService = framework_1.container.resolve(utils_1.Modules.STORE);
|
|
10
|
+
const [store] = await storeModuleService.listStores();
|
|
11
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
12
|
+
const [membershipConfig] = await membershipModuleService.listMembershipConfigs({
|
|
13
|
+
store_id: store.id,
|
|
14
|
+
});
|
|
15
|
+
if (!membershipConfig) {
|
|
16
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Membership config not found");
|
|
17
|
+
}
|
|
18
|
+
return new workflows_sdk_1.StepResponse(membershipConfig, membershipConfig);
|
|
19
|
+
});
|
|
20
|
+
exports.retrieveMembershipConfigWorkflow = (0, workflows_sdk_1.createWorkflow)("retrieve-membership-config", () => {
|
|
21
|
+
const membershipConfig = retrieveMembershipConfigStep();
|
|
22
|
+
return new workflows_sdk_1.WorkflowResponse(membershipConfig);
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmlldmUtbWVtYmVyc2hpcC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL21lbWJlcnNoaXBfY29uZmlnL3JldHJpZXZlLW1lbWJlcnNoaXAtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUsyQztBQUMzQyx5REFBNkQ7QUFFN0QscURBQWlFO0FBQ2pFLG1EQUFnRDtBQUVoRCxNQUFNLDRCQUE0QixHQUFHLElBQUEsMEJBQVUsRUFDN0MsNEJBQTRCLEVBQzVCLEtBQUssSUFBSSxFQUFFO0lBQ1QsTUFBTSxrQkFBa0IsR0FBRyxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFdEQsTUFBTSx1QkFBdUIsR0FDM0IscUJBQVMsQ0FBQyxPQUFPLENBQUMsOEJBQWlCLENBQUMsQ0FBQztJQUV2QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FDdEIsTUFBTSx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQztRQUNsRCxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUU7S0FDbkIsQ0FBQyxDQUFDO0lBRUwsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0IsNkJBQTZCLENBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUM5RCxDQUFDLENBQ0YsQ0FBQztBQUVXLFFBQUEsZ0NBQWdDLEdBQUcsSUFBQSw4QkFBYyxFQUM1RCw0QkFBNEIsRUFDNUIsR0FBRyxFQUFFO0lBQ0gsTUFBTSxnQkFBZ0IsR0FBRyw0QkFBNEIsRUFBRSxDQUFDO0lBRXhELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FDRixDQUFDIn0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateMembershipConfigWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const membership_1 = require("../../modules/membership");
|
|
6
|
+
const updateMembershipConfigStep = (0, workflows_sdk_1.createStep)("update-membership-config", async (data, { container }) => {
|
|
7
|
+
const { store_id, ...updatePayload } = data;
|
|
8
|
+
const membershipModuleService = container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
9
|
+
const membershipConfig = await membershipModuleService.updateMembershipConfigs({
|
|
10
|
+
selector: {
|
|
11
|
+
store_id: store_id,
|
|
12
|
+
},
|
|
13
|
+
data: updatePayload,
|
|
14
|
+
});
|
|
15
|
+
return new workflows_sdk_1.StepResponse({ membershipConfig }, { membershipConfig });
|
|
16
|
+
});
|
|
17
|
+
exports.updateMembershipConfigWorkflow = (0, workflows_sdk_1.createWorkflow)("update-membership-config", (input) => {
|
|
18
|
+
const { membershipConfig } = updateMembershipConfigStep(input);
|
|
19
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
20
|
+
membershipConfig,
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW1lbWJlcnNoaXAtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tZW1iZXJzaGlwX2NvbmZpZy91cGRhdGUtbWVtYmVyc2hpcC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzJDO0FBQzNDLHlEQUE2RDtBQVE3RCxNQUFNLDBCQUEwQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsMEJBQTBCLEVBQzFCLEtBQUssRUFBRSxJQUFlLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFNUMsTUFBTSx1QkFBdUIsR0FDM0IsU0FBUyxDQUFDLE9BQU8sQ0FBQyw4QkFBaUIsQ0FBQyxDQUFDO0lBRXZDLE1BQU0sZ0JBQWdCLEdBQ3BCLE1BQU0sdUJBQXVCLENBQUMsdUJBQXVCLENBQUM7UUFDcEQsUUFBUSxFQUFFO1lBQ1IsUUFBUSxFQUFFLFFBQVE7U0FDbkI7UUFDRCxJQUFJLEVBQUUsYUFBYTtLQUNwQixDQUFDLENBQUM7SUFFTCxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUNGLENBQUM7QUFFVyxRQUFBLDhCQUE4QixHQUFHLElBQUEsOEJBQWMsRUFDMUQsMEJBQTBCLEVBQzFCLENBQUMsS0FBZ0IsRUFBRSxFQUFFO0lBQ25CLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRS9ELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixnQkFBZ0I7S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.invalidatedUsePromotionWorkflow = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
7
|
+
const promotion_cache_1 = require("../../modules/promotion-cache");
|
|
8
|
+
const invalidateUsedPromotionStep = (0, workflows_sdk_1.createStep)("invalidate-used-promotion", async ({ order_id }) => {
|
|
9
|
+
const orderService = await framework_1.container.resolve(utils_1.Modules.ORDER);
|
|
10
|
+
const order = await orderService.retrieveOrder(order_id, {
|
|
11
|
+
relations: ["items.adjustments"],
|
|
12
|
+
});
|
|
13
|
+
const customerId = order.customer_id;
|
|
14
|
+
const promotionSet = new Set(order.items
|
|
15
|
+
?.map((item) => item.adjustments?.map((adjustment) => adjustment.promotion_id))
|
|
16
|
+
.flat());
|
|
17
|
+
const promotionIds = Array.from(promotionSet);
|
|
18
|
+
const promotionCacheService = framework_1.container.resolve(promotion_cache_1.PROMOTION_CACHE_MODULE);
|
|
19
|
+
const keys = promotionIds.map((id) => `user:${customerId}:promotion:${id}`);
|
|
20
|
+
await promotionCacheService.invalidateKeys(keys);
|
|
21
|
+
});
|
|
22
|
+
exports.invalidatedUsePromotionWorkflow = (0, workflows_sdk_1.createWorkflow)("invalidate-use-promotion", (input) => {
|
|
23
|
+
const data = invalidateUsedPromotionStep({ order_id: input.order_id });
|
|
24
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
25
|
+
invalidateUsePromotion: data,
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZGF0ZVVzZWRQcm9tb3Rpb25Xb3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvdXNhYmxlLXByb21vL2ludmFsaWRhdGVVc2VkUHJvbW90aW9uV29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWdEO0FBQ2hELHFEQUFvRDtBQUNwRCxxRUFJMkM7QUFDM0MsbUVBQXVFO0FBR3ZFLE1BQU0sMkJBQTJCLEdBQUcsSUFBQSwwQkFBVSxFQUM1QywyQkFBMkIsRUFDM0IsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUF3QixFQUFFLEVBQUU7SUFDM0MsTUFBTSxZQUFZLEdBQUcsTUFBTSxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTtRQUN2RCxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztLQUNqQyxDQUFDLENBQUM7SUFFSCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBRXJDLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUMxQixLQUFLLENBQUMsS0FBSztRQUNULEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDYixJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUMvRDtTQUNBLElBQUksRUFBRSxDQUNWLENBQUM7SUFDRixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRTlDLE1BQU0scUJBQXFCLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQzdDLHdDQUFzQixDQUN2QixDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxVQUFVLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RSxNQUFNLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuRCxDQUFDLENBQ0YsQ0FBQztBQUVXLFFBQUEsK0JBQStCLEdBQUcsSUFBQSw4QkFBYyxFQUMzRCwwQkFBMEIsRUFDMUIsQ0FBQyxLQUEyQixFQUFFLEVBQUU7SUFDOUIsTUFBTSxJQUFJLEdBQUcsMkJBQTJCLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFdkUsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLHNCQUFzQixFQUFFLElBQUk7S0FDN0IsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|