@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.
Files changed (92) hide show
  1. package/.medusa/server/src/admin/index.js +2039 -0
  2. package/.medusa/server/src/admin/index.mjs +2038 -0
  3. package/.medusa/server/src/api/admin/member-tiers/[id]/route.js +40 -0
  4. package/.medusa/server/src/api/admin/member-tiers/route.js +49 -0
  5. package/.medusa/server/src/api/admin/membership/config/[store_id]/route.js +43 -0
  6. package/.medusa/server/src/api/admin/membership-consents/[id]/route.js +40 -0
  7. package/.medusa/server/src/api/admin/membership-consents/route.js +48 -0
  8. package/.medusa/server/src/api/admin/promotions/[id]/update-collectable/route.js +34 -0
  9. package/.medusa/server/src/api/middlewares/consent.js +32 -0
  10. package/.medusa/server/src/api/middlewares/customers.js +23 -0
  11. package/.medusa/server/src/api/middlewares/member-tiers.js +38 -0
  12. package/.medusa/server/src/api/middlewares/notifications.js +27 -0
  13. package/.medusa/server/src/api/middlewares/promotion-codes.js +22 -0
  14. package/.medusa/server/src/api/middlewares/wishlist.js +27 -0
  15. package/.medusa/server/src/api/middlewares.js +26 -0
  16. package/.medusa/server/src/api/store/customers/me/consents/[keyId]/route.js +22 -0
  17. package/.medusa/server/src/api/store/customers/me/consents/route.js +15 -0
  18. package/.medusa/server/src/api/store/customers/me/notifications/[key]/route.js +21 -0
  19. package/.medusa/server/src/api/store/customers/me/notifications/route.js +15 -0
  20. package/.medusa/server/src/api/store/customers/me/promotion-codes/route.js +20 -0
  21. package/.medusa/server/src/api/store/customers/me/wishlist/[variant_id]/route.js +17 -0
  22. package/.medusa/server/src/api/store/customers/me/wishlist/route.js +61 -0
  23. package/.medusa/server/src/api/store/promotion-codes/route.js +66 -0
  24. package/.medusa/server/src/api/utils/middlewares/checkFeatureFlag.js +18 -0
  25. package/.medusa/server/src/links/customer-membership.js +10 -0
  26. package/.medusa/server/src/links/promotion-usable-promo.js +10 -0
  27. package/.medusa/server/src/links/store-membership-config.js +10 -0
  28. package/.medusa/server/src/links/wishlisht-customer.js +15 -0
  29. package/.medusa/server/src/links/wishlisht-item-product-variant.js +16 -0
  30. package/.medusa/server/src/modules/membership/index.js +13 -0
  31. package/.medusa/server/src/modules/membership/migrations/Migration20250416034358.js +19 -0
  32. package/.medusa/server/src/modules/membership/migrations/Migration20250416231624.js +15 -0
  33. package/.medusa/server/src/modules/membership/migrations/Migration20250418020235.js +14 -0
  34. package/.medusa/server/src/modules/membership/migrations/Migration20250420014232.js +17 -0
  35. package/.medusa/server/src/modules/membership/migrations/Migration20250420050937.js +15 -0
  36. package/.medusa/server/src/modules/membership/migrations/Migration20250421010109.js +15 -0
  37. package/.medusa/server/src/modules/membership/migrations/Migration20250421011451.js +15 -0
  38. package/.medusa/server/src/modules/membership/migrations/Migration20250422230822.js +14 -0
  39. package/.medusa/server/src/modules/membership/migrations/Migration20250423021328.js +23 -0
  40. package/.medusa/server/src/modules/membership/migrations/Migration20250423021925.js +15 -0
  41. package/.medusa/server/src/modules/membership/migrations/Migration20250424011144.js +14 -0
  42. package/.medusa/server/src/modules/membership/migrations/Migration20250507013347.js +14 -0
  43. package/.medusa/server/src/modules/membership/models/member-tier.js +12 -0
  44. package/.medusa/server/src/modules/membership/models/membership-config.js +14 -0
  45. package/.medusa/server/src/modules/membership/models/membership-consent-keys.js +21 -0
  46. package/.medusa/server/src/modules/membership/models/membership-consent.js +19 -0
  47. package/.medusa/server/src/modules/membership/models/membership-notification.js +13 -0
  48. package/.medusa/server/src/modules/membership/models/membership-transaction.js +12 -0
  49. package/.medusa/server/src/modules/membership/models/membership.js +10 -0
  50. package/.medusa/server/src/modules/membership/service.js +25 -0
  51. package/.medusa/server/src/modules/membership/types/membership-config.js +15 -0
  52. package/.medusa/server/src/modules/promotion-cache/index.js +13 -0
  53. package/.medusa/server/src/modules/promotion-cache/service.js +126 -0
  54. package/.medusa/server/src/modules/usable-promo/index.js +13 -0
  55. package/.medusa/server/src/modules/usable-promo/migrations/Migration20250504044646.js +17 -0
  56. package/.medusa/server/src/modules/usable-promo/models/usable-promotion.js +10 -0
  57. package/.medusa/server/src/modules/usable-promo/service.js +13 -0
  58. package/.medusa/server/src/modules/wishlist/index.js +13 -0
  59. package/.medusa/server/src/modules/wishlist/migrations/Migration20250424011114.js +23 -0
  60. package/.medusa/server/src/modules/wishlist/models/wishlist-item.js +23 -0
  61. package/.medusa/server/src/modules/wishlist/models/wishlist.js +17 -0
  62. package/.medusa/server/src/modules/wishlist/service.js +15 -0
  63. package/.medusa/server/src/subscribers/customer-created.js +26 -0
  64. package/.medusa/server/src/subscribers/order-completed.js +27 -0
  65. package/.medusa/server/src/subscribers/order-placed.js +17 -0
  66. package/.medusa/server/src/workflows/hooks/membershipConfigInitialized.js +15 -0
  67. package/.medusa/server/src/workflows/hooks/promotionDeleteHook.js +26 -0
  68. package/.medusa/server/src/workflows/member-tier/create-member-tier.js +32 -0
  69. package/.medusa/server/src/workflows/member-tier/delete-member-tier.js +25 -0
  70. package/.medusa/server/src/workflows/member-tier/update-member-tier.js +28 -0
  71. package/.medusa/server/src/workflows/membership/add-membership-points.js +75 -0
  72. package/.medusa/server/src/workflows/membership/create-membership.js +67 -0
  73. package/.medusa/server/src/workflows/membership/update-membership.js +35 -0
  74. package/.medusa/server/src/workflows/membership-consent/create-membership-consent.js +24 -0
  75. package/.medusa/server/src/workflows/membership-consent/retrieve-membership-consent.js +39 -0
  76. package/.medusa/server/src/workflows/membership-consent/update-membership-consent.js +27 -0
  77. package/.medusa/server/src/workflows/membership-consent-key/create-membership-consent-key.js +22 -0
  78. package/.medusa/server/src/workflows/membership-consent-key/delete-membership-consent-key.js +19 -0
  79. package/.medusa/server/src/workflows/membership-consent-key/update-membership-consent-key.js +23 -0
  80. package/.medusa/server/src/workflows/membership-notification/create-membership-notification.js +23 -0
  81. package/.medusa/server/src/workflows/membership-notification/retrieve-membership-notification.js +33 -0
  82. package/.medusa/server/src/workflows/membership-notification/update-membership-notification.js +27 -0
  83. package/.medusa/server/src/workflows/membership_config/init-membership-config.js +61 -0
  84. package/.medusa/server/src/workflows/membership_config/retrieve-membership-config.js +24 -0
  85. package/.medusa/server/src/workflows/membership_config/update-membership-config.js +23 -0
  86. package/.medusa/server/src/workflows/usable-promo/invalidateUsedPromotionWorkflow.js +28 -0
  87. package/.medusa/server/src/workflows/usable-promo/updateCollectablePromoWorkflow.js +65 -0
  88. package/.medusa/server/src/workflows/wishlist/create-wishlist-items.js +45 -0
  89. package/.medusa/server/src/workflows/wishlist/create-wishlist.js +21 -0
  90. package/.medusa/server/src/workflows/wishlist/delete-wishlist-items.js +25 -0
  91. package/README.md +36 -0
  92. 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
@@ -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=
@@ -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
@@ -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==