@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,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateCollectablePromoWorkflow = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const usable_promo_1 = require("../../modules/usable-promo");
|
|
7
|
+
const framework_1 = require("@medusajs/framework");
|
|
8
|
+
const updateCollectablePromoStep = (0, workflows_sdk_1.createStep)("update-collectable-promo", async (data) => {
|
|
9
|
+
const promotionModuleService = framework_1.container.resolve(utils_1.Modules.PROMOTION);
|
|
10
|
+
const promotion = await promotionModuleService.retrievePromotion(data.promotion_id);
|
|
11
|
+
if (!promotion) {
|
|
12
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Promotion not found");
|
|
13
|
+
}
|
|
14
|
+
if (promotion.is_automatic) {
|
|
15
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Promotion must not be automatic");
|
|
16
|
+
}
|
|
17
|
+
const usablePromoModuleService = framework_1.container.resolve(usable_promo_1.USABLE_PROMO_MODULE);
|
|
18
|
+
const [usablePromo] = await usablePromoModuleService.listUsablePromotions({
|
|
19
|
+
promotion_id: data.promotion_id,
|
|
20
|
+
});
|
|
21
|
+
if (usablePromo) {
|
|
22
|
+
const [updated] = await usablePromoModuleService.updateUsablePromotions([
|
|
23
|
+
{
|
|
24
|
+
selector: {
|
|
25
|
+
id: usablePromo.id,
|
|
26
|
+
},
|
|
27
|
+
data: {
|
|
28
|
+
enabled: data.enabled,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
]);
|
|
32
|
+
return new workflows_sdk_1.StepResponse(updated, updated);
|
|
33
|
+
}
|
|
34
|
+
let createdId = "";
|
|
35
|
+
const link = framework_1.container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
36
|
+
try {
|
|
37
|
+
const created = await usablePromoModuleService.createUsablePromotions({
|
|
38
|
+
promotion_id: data.promotion_id,
|
|
39
|
+
enabled: data.enabled,
|
|
40
|
+
});
|
|
41
|
+
createdId = created.id;
|
|
42
|
+
await link.create([
|
|
43
|
+
{
|
|
44
|
+
[utils_1.Modules.PROMOTION]: {
|
|
45
|
+
promotion_id: data.promotion_id,
|
|
46
|
+
},
|
|
47
|
+
[usable_promo_1.USABLE_PROMO_MODULE]: {
|
|
48
|
+
usable_promotion_id: createdId,
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
]);
|
|
52
|
+
return new workflows_sdk_1.StepResponse(created, created);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.log("Error while creating usable promo", error);
|
|
56
|
+
if (createdId) {
|
|
57
|
+
await usablePromoModuleService.deleteUsablePromotions(createdId);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
exports.updateCollectablePromoWorkflow = (0, workflows_sdk_1.createWorkflow)("update-collectable-promo", (input) => {
|
|
62
|
+
const collectable = updateCollectablePromoStep(input);
|
|
63
|
+
return new workflows_sdk_1.WorkflowResponse({ collectable });
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlQ29sbGVjdGFibGVQcm9tb1dvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy91c2FibGUtcHJvbW8vdXBkYXRlQ29sbGVjdGFibGVQcm9tb1dvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUltQztBQUNuQyxxRUFLMkM7QUFDM0MsNkRBQWlFO0FBRWpFLG1EQUFnRDtBQU9oRCxNQUFNLDBCQUEwQixHQUFHLElBQUEsMEJBQVUsRUFDM0MsMEJBQTBCLEVBQzFCLEtBQUssRUFBRSxJQUF5QyxFQUFFLEVBQUU7SUFDbEQsTUFBTSxzQkFBc0IsR0FBRyxxQkFBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEUsTUFBTSxTQUFTLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FDOUQsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQztJQUVGLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixpQ0FBaUMsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLHdCQUF3QixHQUM1QixxQkFBUyxDQUFDLE9BQU8sQ0FBMkIsa0NBQW1CLENBQUMsQ0FBQztJQUVuRSxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsTUFBTSx3QkFBd0IsQ0FBQyxvQkFBb0IsQ0FBQztRQUN4RSxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7S0FDaEMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQztZQUN0RTtnQkFDRSxRQUFRLEVBQUU7b0JBQ1IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFO2lCQUNuQjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2lCQUN0QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLDRCQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLFNBQVMsR0FBVyxFQUFFLENBQUM7SUFDM0IsTUFBTSxJQUFJLEdBQUcscUJBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQztZQUNwRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FBQztRQUNILFNBQVMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBRXZCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxDQUFDLGVBQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDbkIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2lCQUNoQztnQkFDRCxDQUFDLGtDQUFtQixDQUFDLEVBQUU7b0JBQ3JCLG1CQUFtQixFQUFFLFNBQVM7aUJBQy9CO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksNEJBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxNQUFNLHdCQUF3QixDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyxDQUNGLENBQUM7QUFFVyxRQUFBLDhCQUE4QixHQUFHLElBQUEsOEJBQWMsRUFDMUQsMEJBQTBCLEVBQzFCLENBQUMsS0FBMEMsRUFBRSxFQUFFO0lBQzdDLE1BQU0sV0FBVyxHQUFHLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXRELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createWishlistItemWorkflow = exports.createWishlistItemStep = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const wishlist_1 = require("../../modules/wishlist");
|
|
7
|
+
const create_wishlist_1 = require("./create-wishlist");
|
|
8
|
+
exports.createWishlistItemStep = (0, workflows_sdk_1.createStep)("create-wishlist-item", async (input, { container }) => {
|
|
9
|
+
if (!input.customer_id) {
|
|
10
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "customer_id is required");
|
|
11
|
+
}
|
|
12
|
+
if (!input.variant_id) {
|
|
13
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "variant_id is required");
|
|
14
|
+
}
|
|
15
|
+
const wishlistModuleService = container.resolve(wishlist_1.WISHLIST_MODULE);
|
|
16
|
+
let [wishlist] = await wishlistModuleService.listWishlists({
|
|
17
|
+
customer_id: input.customer_id,
|
|
18
|
+
});
|
|
19
|
+
if (!wishlist) {
|
|
20
|
+
const res = await create_wishlist_1.createWishlistWorkflow.run({
|
|
21
|
+
input: {
|
|
22
|
+
customer_id: input.customer_id,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
wishlist = res.result.wishlist;
|
|
26
|
+
}
|
|
27
|
+
const item = await wishlistModuleService.createWishlistItems({
|
|
28
|
+
wishlist_id: input.customer_id,
|
|
29
|
+
product_variant_id: input.variant_id,
|
|
30
|
+
});
|
|
31
|
+
return new workflows_sdk_1.StepResponse(item, item.id);
|
|
32
|
+
}, async (id, { container }) => {
|
|
33
|
+
if (!id) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const wishlistModuleService = container.resolve(wishlist_1.WISHLIST_MODULE);
|
|
37
|
+
await wishlistModuleService.deleteWishlistItems(id);
|
|
38
|
+
});
|
|
39
|
+
exports.createWishlistItemWorkflow = (0, workflows_sdk_1.createWorkflow)("create-wishlist-item", (input) => {
|
|
40
|
+
const wishlistItem = (0, exports.createWishlistItemStep)(input);
|
|
41
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
42
|
+
wishlistItem: wishlistItem,
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXdpc2hsaXN0LWl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy93aXNobGlzdC9jcmVhdGUtd2lzaGxpc3QtaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXdEO0FBQ3hELHFFQUsyQztBQUMzQyxxREFBeUQ7QUFFekQsdURBQTJEO0FBTzlDLFFBQUEsc0JBQXNCLEdBQUcsSUFBQSwwQkFBVSxFQUM5QyxzQkFBc0IsRUFDdEIsS0FBSyxFQUFFLEtBQWtDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5Qix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLHFCQUFxQixHQUN6QixTQUFTLENBQUMsT0FBTyxDQUFDLDBCQUFlLENBQUMsQ0FBQztJQUVyQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxhQUFhLENBQUM7UUFDekQsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO0tBQy9CLENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sR0FBRyxHQUFHLE1BQU0sd0NBQXNCLENBQUMsR0FBRyxDQUFDO1lBQzNDLEtBQUssRUFBRTtnQkFDTCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDL0I7U0FDRixDQUFDLENBQUM7UUFDSCxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0scUJBQXFCLENBQUMsbUJBQW1CLENBQUM7UUFDM0QsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1FBQzlCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxVQUFVO0tBQ3JDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSw0QkFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekMsQ0FBQyxFQUNELEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzFCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNSLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxxQkFBcUIsR0FDekIsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQkFBZSxDQUFDLENBQUM7SUFFckMsTUFBTSxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQ0YsQ0FBQztBQU9XLFFBQUEsMEJBQTBCLEdBQUcsSUFBQSw4QkFBYyxFQUN0RCxzQkFBc0IsRUFDdEIsQ0FBQyxLQUFzQyxFQUFFLEVBQUU7SUFDekMsTUFBTSxZQUFZLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsWUFBWSxFQUFFLFlBQVk7S0FDM0IsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createWishlistWorkflow = exports.createWishlistStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const wishlist_1 = require("../../modules/wishlist");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
exports.createWishlistStep = (0, workflows_sdk_1.createStep)("create-wishlist", async (input, { container }) => {
|
|
8
|
+
if (!input.customer_id) {
|
|
9
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "customer_id is required");
|
|
10
|
+
}
|
|
11
|
+
const wishlistModuleService = container.resolve(wishlist_1.WISHLIST_MODULE);
|
|
12
|
+
const wishlist = await wishlistModuleService.createWishlists(input);
|
|
13
|
+
return new workflows_sdk_1.StepResponse(wishlist, wishlist);
|
|
14
|
+
});
|
|
15
|
+
exports.createWishlistWorkflow = (0, workflows_sdk_1.createWorkflow)("create-wishlist", (input) => {
|
|
16
|
+
const wishlist = (0, exports.createWishlistStep)(input);
|
|
17
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
18
|
+
wishlist,
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXdpc2hsaXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy93aXNobGlzdC9jcmVhdGUtd2lzaGxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzJDO0FBQzNDLHFEQUF5RDtBQUV6RCxxREFBd0Q7QUFNM0MsUUFBQSxrQkFBa0IsR0FBRyxJQUFBLDBCQUFVLEVBQzFDLGlCQUFpQixFQUNqQixLQUFLLEVBQUUsS0FBOEIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5Qix5QkFBeUIsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLHFCQUFxQixHQUN6QixTQUFTLENBQUMsT0FBTyxDQUFDLDBCQUFlLENBQUMsQ0FBQztJQUVyQyxNQUFNLFFBQVEsR0FBRyxNQUFNLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwRSxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUNGLENBQUM7QUFNVyxRQUFBLHNCQUFzQixHQUFHLElBQUEsOEJBQWMsRUFDbEQsaUJBQWlCLEVBQ2pCLENBQUMsS0FBa0MsRUFBRSxFQUFFO0lBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQWtCLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFM0MsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQzFCLFFBQVE7S0FDVCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteWishlistItemWorkflow = exports.deleteWishlistItemStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const wishlist_1 = require("../../modules/wishlist");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
exports.deleteWishlistItemStep = (0, workflows_sdk_1.createStep)("delete-wishlist-item", async ({ customer_id, product_variant_id }, { container }) => {
|
|
8
|
+
const wishlistModuleService = container.resolve(wishlist_1.WISHLIST_MODULE);
|
|
9
|
+
const [wishlistItem] = await wishlistModuleService.listWishlistItems({
|
|
10
|
+
wishlist_id: customer_id,
|
|
11
|
+
product_variant_id,
|
|
12
|
+
});
|
|
13
|
+
if (!wishlistItem) {
|
|
14
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Wishlist item not found");
|
|
15
|
+
}
|
|
16
|
+
await wishlistModuleService.deleteWishlistItems(wishlistItem.id);
|
|
17
|
+
return new workflows_sdk_1.StepResponse(product_variant_id, product_variant_id);
|
|
18
|
+
});
|
|
19
|
+
exports.deleteWishlistItemWorkflow = (0, workflows_sdk_1.createWorkflow)("delete-wishlist-item", (input) => {
|
|
20
|
+
const ids = (0, exports.deleteWishlistItemStep)(input);
|
|
21
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
22
|
+
deleted: ids,
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXdpc2hsaXN0LWl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy93aXNobGlzdC9kZWxldGUtd2lzaGxpc3QtaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzJDO0FBRTNDLHFEQUF5RDtBQUN6RCxxREFBd0Q7QUFPM0MsUUFBQSxzQkFBc0IsR0FBRyxJQUFBLDBCQUFVLEVBQzlDLHNCQUFzQixFQUN0QixLQUFLLEVBQ0gsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQW1DLEVBQ3BFLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0scUJBQXFCLEdBQ3pCLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQWUsQ0FBQyxDQUFDO0lBRXJDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxNQUFNLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDO1FBQ25FLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLGtCQUFrQjtLQUNuQixDQUFDLENBQUM7SUFDSCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0IseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakUsT0FBTyxJQUFJLDRCQUFZLENBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQ0YsQ0FBQztBQUVXLFFBQUEsMEJBQTBCLEdBQUcsSUFBQSw4QkFBYyxFQUN0RCxzQkFBc0IsRUFDdEIsQ0FBQyxLQUFzQyxFQUFFLEVBQUU7SUFDekMsTUFBTSxHQUFHLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUUxQyxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDMUIsT0FBTyxFQUFFLEdBQUc7S0FDYixDQUFDLENBQUM7QUFDTCxDQUFDLENBQ0YsQ0FBQyJ9
|
package/README.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Medusa Plugin membership
|
|
2
|
+
|
|
3
|
+
## This plugin need redis to work
|
|
4
|
+
|
|
5
|
+
## How to install
|
|
6
|
+
1. add the plugin to your medusa backend
|
|
7
|
+
```bash
|
|
8
|
+
yarn add medusa-membership
|
|
9
|
+
```
|
|
10
|
+
2. configure your medusa backend `medusa-config.ts`
|
|
11
|
+
```ts
|
|
12
|
+
module.exports = defineConfig({
|
|
13
|
+
// ... rest of the config
|
|
14
|
+
plugins: [
|
|
15
|
+
// ... rest of the plugins
|
|
16
|
+
{
|
|
17
|
+
resolve: "medusa-membership",
|
|
18
|
+
options: {
|
|
19
|
+
redisUrl: "redis://localhost:6380", // or process.env.YOUR_REDIS_URL
|
|
20
|
+
// optional for redis
|
|
21
|
+
redisOptions: {
|
|
22
|
+
// see https://redis.github.io/ioredis/index.html#RedisOptions
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
});
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
1. run the migrations in your medusa core backend
|
|
31
|
+
```bash
|
|
32
|
+
yarn medusa db:migrate
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
1. all done now just start your medusa backend
|
|
36
|
+
`yarn dev` `yarn start` or whatever you use to start your backend
|
package/package.json
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lodashventure/medusa-membership",
|
|
3
|
+
"version": "0.0.6",
|
|
4
|
+
"description": "A starter for Medusa plugins.",
|
|
5
|
+
"author": "Medusa (https://medusajs.com)",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"files": [
|
|
8
|
+
".medusa/server"
|
|
9
|
+
],
|
|
10
|
+
"exports": {
|
|
11
|
+
"./package.json": "./package.json",
|
|
12
|
+
"./workflows": "./.medusa/server/src/workflows/index.js",
|
|
13
|
+
"./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
14
|
+
"./modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
15
|
+
"./providers/*": "./.medusa/server/src/providers/*/index.js",
|
|
16
|
+
"./*": "./.medusa/server/src/*.js"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"medusa",
|
|
20
|
+
"plugin",
|
|
21
|
+
"medusa-plugin-other",
|
|
22
|
+
"medusa-plugin",
|
|
23
|
+
"medusa-v2"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "medusa plugin:build",
|
|
27
|
+
"dev": "medusa plugin:develop",
|
|
28
|
+
"prepublishOnly": "medusa plugin:build"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@medusajs/admin-sdk": "2.7.0",
|
|
32
|
+
"@medusajs/cli": "2.7.0",
|
|
33
|
+
"@medusajs/framework": "2.7.0",
|
|
34
|
+
"@medusajs/icons": "2.7.0",
|
|
35
|
+
"@medusajs/medusa": "2.7.0",
|
|
36
|
+
"@medusajs/test-utils": "2.7.0",
|
|
37
|
+
"@medusajs/ui": "4.0.4",
|
|
38
|
+
"@mikro-orm/cli": "6.4.3",
|
|
39
|
+
"@mikro-orm/core": "6.4.3",
|
|
40
|
+
"@mikro-orm/knex": "6.4.3",
|
|
41
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
42
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
43
|
+
"@swc/core": "1.5.7",
|
|
44
|
+
"@types/node": "^20.0.0",
|
|
45
|
+
"@types/react": "^18.3.2",
|
|
46
|
+
"@types/react-dom": "^18.2.25",
|
|
47
|
+
"awilix": "^8.0.1",
|
|
48
|
+
"pg": "^8.13.0",
|
|
49
|
+
"prop-types": "^15.8.1",
|
|
50
|
+
"react": "^18.2.0",
|
|
51
|
+
"react-dom": "^18.2.0",
|
|
52
|
+
"ts-node": "^10.9.2",
|
|
53
|
+
"typescript": "^5.6.2",
|
|
54
|
+
"vite": "^5.2.11",
|
|
55
|
+
"yalc": "^1.0.0-pre.53"
|
|
56
|
+
},
|
|
57
|
+
"peerDependencies": {
|
|
58
|
+
"@medusajs/admin-sdk": "2.7.0",
|
|
59
|
+
"@medusajs/cli": "2.7.0",
|
|
60
|
+
"@medusajs/framework": "2.7.0",
|
|
61
|
+
"@medusajs/icons": "2.7.0",
|
|
62
|
+
"@medusajs/medusa": "2.7.0",
|
|
63
|
+
"@medusajs/test-utils": "2.7.0",
|
|
64
|
+
"@medusajs/ui": "4.0.3",
|
|
65
|
+
"@mikro-orm/cli": "6.4.3",
|
|
66
|
+
"@mikro-orm/core": "6.4.3",
|
|
67
|
+
"@mikro-orm/knex": "6.4.3",
|
|
68
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
69
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
70
|
+
"awilix": "^8.0.1",
|
|
71
|
+
"pg": "^8.13.0"
|
|
72
|
+
},
|
|
73
|
+
"engines": {
|
|
74
|
+
"node": ">=20"
|
|
75
|
+
},
|
|
76
|
+
"dependencies": {
|
|
77
|
+
"dayjs": "^1.11.13"
|
|
78
|
+
}
|
|
79
|
+
}
|