@lodashventure/medusa-membership 0.0.8 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +19 -1170
- package/.medusa/server/src/admin/index.mjs +18 -1170
- package/.medusa/server/src/api/middlewares/consent.js +19 -1
- package/.medusa/server/src/api/middlewares/member-tiers.js +5 -1
- package/.medusa/server/src/api/middlewares/notifications.js +22 -1
- package/.medusa/server/src/api/store/customers/me/consents/[keyId]/route.js +98 -12
- package/.medusa/server/src/api/store/customers/me/consents/route.js +31 -8
- package/.medusa/server/src/api/store/customers/me/consents/settings/route.js +110 -0
- package/.medusa/server/src/api/store/customers/me/notifications/settings/route.js +105 -0
- package/.medusa/server/src/workflows/membership-consent/consent-update-notification.js +62 -0
- package/.medusa/server/src/workflows/membership-consent/retrieve-membership-consent.js +5 -8
- package/package.json +8 -4
- package/.medusa/server/src/api/store/customers/me/notifications/[key]/route.js +0 -21
- package/.medusa/server/src/api/store/promotion-codes/route.js +0 -66
|
@@ -6,6 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.consentMiddleware = void 0;
|
|
7
7
|
const framework_1 = require("@medusajs/framework");
|
|
8
8
|
const zod_1 = __importDefault(require("zod"));
|
|
9
|
+
// Validation schema for consent settings update
|
|
10
|
+
const consentSettingsUpdateSchema = zod_1.default.object({
|
|
11
|
+
consent_key_id: zod_1.default.string(),
|
|
12
|
+
enable: zod_1.default.boolean(),
|
|
13
|
+
});
|
|
9
14
|
exports.consentMiddleware = (0, framework_1.defineMiddlewares)({
|
|
10
15
|
routes: [
|
|
11
16
|
{
|
|
@@ -27,6 +32,19 @@ exports.consentMiddleware = (0, framework_1.defineMiddlewares)({
|
|
|
27
32
|
})),
|
|
28
33
|
],
|
|
29
34
|
},
|
|
35
|
+
// Consent settings routes
|
|
36
|
+
{
|
|
37
|
+
method: ["GET"],
|
|
38
|
+
matcher: "/store/customers/me/consents/settings",
|
|
39
|
+
middlewares: [],
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
method: ["PATCH"],
|
|
43
|
+
matcher: "/store/customers/me/consents/settings",
|
|
44
|
+
middlewares: [
|
|
45
|
+
(0, framework_1.validateAndTransformBody)(consentSettingsUpdateSchema),
|
|
46
|
+
],
|
|
47
|
+
},
|
|
30
48
|
],
|
|
31
49
|
});
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvbWlkZGxld2FyZXMvY29uc2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFHNkI7QUFDN0IsOENBQW9CO0FBRXBCLGdEQUFnRDtBQUNoRCxNQUFNLDJCQUEyQixHQUFHLGFBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0MsY0FBYyxFQUFFLGFBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUIsTUFBTSxFQUFFLGFBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDcEIsQ0FBQyxDQUFDO0FBRVUsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDZCQUFpQixFQUFDO0lBQ2pELE1BQU0sRUFBRTtRQUNOO1lBQ0UsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ2pCLE9BQU8sRUFBRSxpQ0FBaUM7WUFDMUMsV0FBVyxFQUFFO2dCQUNYLElBQUEsb0NBQXdCLEVBQ3RCLGFBQUMsQ0FBQyxNQUFNLENBQUM7b0JBQ1AsSUFBSSxFQUFFLGFBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7b0JBQzNCLFdBQVcsRUFBRSxhQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO2lCQUNuQyxDQUFRLENBQ1Y7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDakIsT0FBTyxFQUFFLHNDQUFzQztZQUMvQyxXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxvQ0FBd0IsRUFDdEIsYUFBQyxDQUFDLE1BQU0sQ0FBQztvQkFDUCxNQUFNLEVBQUUsYUFBQyxDQUFDLE9BQU8sRUFBRTtpQkFDcEIsQ0FBUSxDQUNWO2FBQ0Y7U0FDRjtRQUNELDBCQUEwQjtRQUMxQjtZQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNmLE9BQU8sRUFBRSx1Q0FBdUM7WUFDaEQsV0FBVyxFQUFFLEVBQUU7U0FDaEI7UUFDRDtZQUNFLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQztZQUNqQixPQUFPLEVBQUUsdUNBQXVDO1lBQ2hELFdBQVcsRUFBRTtnQkFDWCxJQUFBLG9DQUF3QixFQUFDLDJCQUFrQyxDQUFDO2FBQzdEO1NBQ0Y7S0FDRjtDQUNGLENBQUMsQ0FBQyJ9
|
|
@@ -20,6 +20,8 @@ exports.memberTiersMiddleware = (0, framework_1.defineMiddlewares)({
|
|
|
20
20
|
(0, framework_1.validateAndTransformBody)(zod_1.default.object({
|
|
21
21
|
name: zod_1.default.string(),
|
|
22
22
|
description: zod_1.default.string().default(""),
|
|
23
|
+
privilege_description: zod_1.default.string().optional(),
|
|
24
|
+
min_points: zod_1.default.number(),
|
|
23
25
|
})),
|
|
24
26
|
],
|
|
25
27
|
},
|
|
@@ -30,9 +32,11 @@ exports.memberTiersMiddleware = (0, framework_1.defineMiddlewares)({
|
|
|
30
32
|
(0, framework_1.validateAndTransformBody)(zod_1.default.object({
|
|
31
33
|
name: zod_1.default.string().optional(),
|
|
32
34
|
description: zod_1.default.string().optional(),
|
|
35
|
+
privilege_description: zod_1.default.string().optional(),
|
|
36
|
+
min_points: zod_1.default.number().optional(),
|
|
33
37
|
})),
|
|
34
38
|
],
|
|
35
39
|
},
|
|
36
40
|
],
|
|
37
41
|
});
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLXRpZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9taWRkbGV3YXJlcy9tZW1iZXItdGllcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBRzZCO0FBQzdCLDhDQUFvQjtBQUNwQiw0RUFBeUU7QUFFNUQsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDZCQUFpQixFQUFDO0lBQ3JELE1BQU0sRUFBRTtRQUNOO1lBQ0UsT0FBTyxFQUFFLGtDQUFrQztZQUMzQyxXQUFXLEVBQUUsQ0FBQyxJQUFBLG1DQUFnQixFQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDckQ7UUFDRDtZQUNFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxvQ0FBd0IsRUFDdEIsYUFBQyxDQUFDLE1BQU0sQ0FBQztvQkFDUCxJQUFJLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRTtvQkFDaEIsV0FBVyxFQUFFLGFBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUNuQyxxQkFBcUIsRUFBRSxhQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO29CQUM1QyxVQUFVLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRTtpQkFDdkIsQ0FBUSxDQUNWO2FBQ0Y7U0FDRjtRQUNEO1lBQ0UsTUFBTSxFQUFFLE9BQU87WUFDZixPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG9DQUF3QixFQUN0QixhQUFDLENBQUMsTUFBTSxDQUFDO29CQUNQLElBQUksRUFBRSxhQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO29CQUMzQixXQUFXLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtvQkFDbEMscUJBQXFCLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtvQkFDNUMsVUFBVSxFQUFFLGFBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7aUJBQ2xDLENBQVEsQ0FDVjthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUMsQ0FBQyJ9
|
|
@@ -7,6 +7,11 @@ exports.notificationsMiddleware = void 0;
|
|
|
7
7
|
const framework_1 = require("@medusajs/framework");
|
|
8
8
|
const zod_1 = __importDefault(require("zod"));
|
|
9
9
|
const checkFeatureFlag_1 = require("../utils/middlewares/checkFeatureFlag");
|
|
10
|
+
// Validation schema for the PATCH endpoint's UpdateRequest interface
|
|
11
|
+
const notificationSettingsUpdateRequestSchema = zod_1.default.object({
|
|
12
|
+
notification_key: zod_1.default.string(),
|
|
13
|
+
enable: zod_1.default.boolean(),
|
|
14
|
+
});
|
|
10
15
|
exports.notificationsMiddleware = (0, framework_1.defineMiddlewares)({
|
|
11
16
|
routes: [
|
|
12
17
|
{
|
|
@@ -22,6 +27,22 @@ exports.notificationsMiddleware = (0, framework_1.defineMiddlewares)({
|
|
|
22
27
|
})),
|
|
23
28
|
],
|
|
24
29
|
},
|
|
30
|
+
// Notification settings routes
|
|
31
|
+
{
|
|
32
|
+
method: ["GET"],
|
|
33
|
+
matcher: "/store/customers/me/notifications/settings",
|
|
34
|
+
middlewares: [
|
|
35
|
+
// checkFeatureFlag("enable_membership_notification"), // Temporarily disabled for testing
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
method: ["PATCH"],
|
|
40
|
+
matcher: "/store/customers/me/notifications/settings",
|
|
41
|
+
middlewares: [
|
|
42
|
+
// checkFeatureFlag("enable_membership_notification"), // Temporarily disabled for testing
|
|
43
|
+
(0, framework_1.validateAndTransformBody)(notificationSettingsUpdateRequestSchema),
|
|
44
|
+
],
|
|
45
|
+
},
|
|
25
46
|
],
|
|
26
47
|
});
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvbWlkZGxld2FyZXMvbm90aWZpY2F0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFHNkI7QUFDN0IsOENBQW9CO0FBQ3BCLDRFQUF5RTtBQUV6RSxxRUFBcUU7QUFDckUsTUFBTSx1Q0FBdUMsR0FBRyxhQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3ZELGdCQUFnQixFQUFFLGFBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDNUIsTUFBTSxFQUFFLGFBQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDcEIsQ0FBQyxDQUFDO0FBRVUsUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDZCQUFpQixFQUFDO0lBQ3ZELE1BQU0sRUFBRTtRQUNOO1lBQ0UsT0FBTyxFQUFFLG1DQUFtQztZQUM1QyxXQUFXLEVBQUUsQ0FBQyxJQUFBLG1DQUFnQixFQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDbEU7UUFDRDtZQUNFLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQztZQUNqQixPQUFPLEVBQUUseUNBQXlDO1lBQ2xELFdBQVcsRUFBRTtnQkFDWCxJQUFBLG9DQUF3QixFQUN0QixhQUFDLENBQUMsTUFBTSxDQUFDO29CQUNQLE1BQU0sRUFBRSxhQUFDLENBQUMsT0FBTyxFQUFFO2lCQUNwQixDQUFRLENBQ1Y7YUFDRjtTQUNGO1FBQ0QsK0JBQStCO1FBQy9CO1lBQ0UsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2YsT0FBTyxFQUFFLDRDQUE0QztZQUNyRCxXQUFXLEVBQUU7WUFDWCwwRkFBMEY7YUFDM0Y7U0FDRjtRQUNEO1lBQ0UsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ2pCLE9BQU8sRUFBRSw0Q0FBNEM7WUFDckQsV0FBVyxFQUFFO2dCQUNYLDBGQUEwRjtnQkFDMUYsSUFBQSxvQ0FBd0IsRUFBQyx1Q0FBOEMsQ0FBQzthQUN6RTtTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUMifQ==
|
|
@@ -1,22 +1,108 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PATCH = void 0;
|
|
4
|
-
const
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const consent_update_notification_1 = require("../../../../../../workflows/membership-consent/consent-update-notification");
|
|
6
|
+
const membership_1 = require("../../../../../../modules/membership");
|
|
5
7
|
const PATCH = async (req, res) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
try {
|
|
9
|
+
const userId = req.auth_context.actor_id;
|
|
10
|
+
const consentKeyId = req.params.keyId;
|
|
11
|
+
const { enable } = req.body;
|
|
12
|
+
console.log("Update consent request:", {
|
|
13
|
+
userId,
|
|
14
|
+
consentKeyId,
|
|
15
|
+
enable,
|
|
16
|
+
body: req.body
|
|
17
|
+
});
|
|
18
|
+
// Validate enable is boolean
|
|
19
|
+
if (typeof enable !== "boolean") {
|
|
20
|
+
return res.status(400).json({
|
|
21
|
+
error: "Invalid request",
|
|
22
|
+
message: "enable must be a boolean value",
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
26
|
+
// Check if consent exists
|
|
27
|
+
const existingConsents = await membershipModuleService.listMembershipConsents({
|
|
28
|
+
customer_id: userId,
|
|
29
|
+
consent_key_id: consentKeyId,
|
|
30
|
+
});
|
|
31
|
+
console.log("Existing consents found:", existingConsents);
|
|
32
|
+
const previousValue = existingConsents[0]?.enable || false;
|
|
33
|
+
if (existingConsents.length === 0) {
|
|
34
|
+
// Create consent if it doesn't exist
|
|
35
|
+
const newConsent = await membershipModuleService.createMembershipConsents({
|
|
13
36
|
customer_id: userId,
|
|
14
37
|
consent_key_id: consentKeyId,
|
|
15
38
|
enable: enable,
|
|
39
|
+
});
|
|
40
|
+
console.log("Created new consent:", newConsent);
|
|
41
|
+
// Get consent key details
|
|
42
|
+
const consentKeys = await membershipModuleService.listMembershipConsentKeys();
|
|
43
|
+
const consentKey = consentKeys.find((key) => key.id === consentKeyId);
|
|
44
|
+
// Send notification for new consent
|
|
45
|
+
await consent_update_notification_1.consentUpdateNotificationWorkflow.run({
|
|
46
|
+
input: {
|
|
47
|
+
customer_id: userId,
|
|
48
|
+
consent_key_id: consentKeyId,
|
|
49
|
+
consent_key_name: consentKey?.name,
|
|
50
|
+
previous_value: false,
|
|
51
|
+
new_value: enable,
|
|
52
|
+
updated_at: new Date(),
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
return res.json({
|
|
56
|
+
message: "Consent created successfully",
|
|
57
|
+
consent: {
|
|
58
|
+
...newConsent,
|
|
59
|
+
consent_key: consentKey || { id: consentKeyId },
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
// Update existing consent directly
|
|
64
|
+
const updatedConsents = await membershipModuleService.updateMembershipConsents({
|
|
65
|
+
selector: {
|
|
66
|
+
customer_id: userId,
|
|
67
|
+
consent_key_id: consentKeyId,
|
|
68
|
+
},
|
|
69
|
+
data: {
|
|
70
|
+
enable: enable,
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
console.log("Updated consents:", updatedConsents);
|
|
74
|
+
// Get consent key details
|
|
75
|
+
const consentKeys = await membershipModuleService.listMembershipConsentKeys();
|
|
76
|
+
const updatedConsent = updatedConsents[0];
|
|
77
|
+
const consentKey = consentKeys.find((key) => key.id === updatedConsent.consent_key_id);
|
|
78
|
+
// Send notification only if value actually changed
|
|
79
|
+
if (previousValue !== enable) {
|
|
80
|
+
await consent_update_notification_1.consentUpdateNotificationWorkflow.run({
|
|
81
|
+
input: {
|
|
82
|
+
customer_id: userId,
|
|
83
|
+
consent_key_id: consentKeyId,
|
|
84
|
+
consent_key_name: consentKey?.name,
|
|
85
|
+
previous_value: previousValue,
|
|
86
|
+
new_value: enable,
|
|
87
|
+
updated_at: new Date(),
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
res.json({
|
|
92
|
+
message: "Consent updated successfully",
|
|
93
|
+
consent: {
|
|
94
|
+
...updatedConsent,
|
|
95
|
+
consent_key: consentKey || { id: updatedConsent.consent_key_id },
|
|
16
96
|
},
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
console.error("Error updating consent:", error);
|
|
101
|
+
res.status(500).json({
|
|
102
|
+
error: "Failed to update consent",
|
|
103
|
+
message: error.message,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
20
106
|
};
|
|
21
107
|
exports.PATCH = PATCH;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9jb25zZW50cy9ba2V5SWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUk2QjtBQUU3Qiw0SEFBK0g7QUFFL0gscUVBQXlFO0FBRWxFLE1BQU0sS0FBSyxHQUFHLEtBQUssRUFDeEIsR0FBb0QsRUFDcEQsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ3pDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3RDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBRTVCLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUU7WUFDckMsTUFBTTtZQUNOLFlBQVk7WUFDWixNQUFNO1lBQ04sSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsNkJBQTZCO1FBQzdCLElBQUksT0FBTyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDMUIsS0FBSyxFQUFFLGlCQUFpQjtnQkFDeEIsT0FBTyxFQUFFLGdDQUFnQzthQUMxQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSx1QkFBdUIsR0FDM0IscUJBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7UUFFaEUsMEJBQTBCO1FBQzFCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyxzQkFBc0IsQ0FBQztZQUM1RSxXQUFXLEVBQUUsTUFBTTtZQUNuQixjQUFjLEVBQUUsWUFBWTtT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
|
|
@@ -1,15 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GET = void 0;
|
|
4
|
-
const
|
|
4
|
+
const membership_1 = require("../../../../../modules/membership");
|
|
5
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
6
|
const GET = async (req, res) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
try {
|
|
8
|
+
const userId = req.auth_context.actor_id;
|
|
9
|
+
// Use the service directly to get data
|
|
10
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
11
|
+
// Get all consent keys
|
|
12
|
+
const consentKeys = await membershipModuleService.listMembershipConsentKeys();
|
|
13
|
+
// Get user's consents
|
|
14
|
+
const consents = await membershipModuleService.listMembershipConsents({
|
|
9
15
|
customer_id: userId,
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
});
|
|
17
|
+
// Manually map the consent keys to consents
|
|
18
|
+
const consentsWithKeys = consents.map((consent) => {
|
|
19
|
+
const consentKey = consentKeys.find((key) => key.id === consent.consent_key_id);
|
|
20
|
+
return {
|
|
21
|
+
...consent,
|
|
22
|
+
consent_key: consentKey || {
|
|
23
|
+
id: consent.consent_key_id,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
res.json(consentsWithKeys);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error("Error fetching consents:", error);
|
|
31
|
+
res.status(500).json({
|
|
32
|
+
error: "Failed to fetch consents",
|
|
33
|
+
message: error.message,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
13
36
|
};
|
|
14
37
|
exports.GET = GET;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9jb25zZW50cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxrRUFBc0U7QUFDdEUsbURBSTZCO0FBRXRCLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBRXpDLHVDQUF1QztRQUN2QyxNQUFNLHVCQUF1QixHQUMzQixxQkFBUyxDQUFDLE9BQU8sQ0FBMEIsOEJBQWlCLENBQUMsQ0FBQztRQUVoRSx1QkFBdUI7UUFDdkIsTUFBTSxXQUFXLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBRTlFLHNCQUFzQjtRQUN0QixNQUFNLFFBQVEsR0FBRyxNQUFNLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDO1lBQ3BFLFdBQVcsRUFBRSxNQUFNO1NBQ3BCLENBQUMsQ0FBQztRQUVILDRDQUE0QztRQUM1QyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNoRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUNqQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsY0FBYyxDQUMzQyxDQUFDO1lBRUYsT0FBTztnQkFDTCxHQUFHLE9BQU87Z0JBQ1YsV0FBVyxFQUFFLFVBQVUsSUFBSTtvQkFDekIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxjQUFjO2lCQUMzQjthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsS0FBSyxFQUFFLDBCQUEwQjtZQUNqQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMsQ0FBQztBQXpDVyxRQUFBLEdBQUcsT0F5Q2QifQ==
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PATCH = exports.GET = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const membership_1 = require("../../../../../../modules/membership");
|
|
6
|
+
// GET endpoint to retrieve consent settings
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
try {
|
|
9
|
+
const customerId = req.auth_context.actor_id;
|
|
10
|
+
if (!customerId) {
|
|
11
|
+
return res.status(401).json({
|
|
12
|
+
error: "Unauthorized: Customer ID not found",
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
16
|
+
// Get all consent keys
|
|
17
|
+
const consentKeys = await membershipModuleService.listMembershipConsentKeys();
|
|
18
|
+
// Get customer's current consent settings
|
|
19
|
+
const customerConsents = await membershipModuleService.listMembershipConsents({
|
|
20
|
+
customer_id: customerId,
|
|
21
|
+
});
|
|
22
|
+
// Map consent keys with customer's current settings
|
|
23
|
+
const consentSettings = consentKeys.map((key) => {
|
|
24
|
+
const customerConsent = customerConsents.find((consent) => consent.consent_key_id === key.id);
|
|
25
|
+
return {
|
|
26
|
+
consent_key_id: key.id,
|
|
27
|
+
consent_key_name: key.name,
|
|
28
|
+
description: key.description,
|
|
29
|
+
enabled: customerConsent ? customerConsent.enable : false,
|
|
30
|
+
updated_at: customerConsent?.updated_at || null,
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
res.json({
|
|
34
|
+
consent_settings: consentSettings,
|
|
35
|
+
total_count: consentSettings.length,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
console.error("Failed to retrieve consent settings:", error);
|
|
40
|
+
res.status(500).json({
|
|
41
|
+
error: "Failed to retrieve consent settings",
|
|
42
|
+
message: error.message,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
exports.GET = GET;
|
|
47
|
+
const PATCH = async (req, res) => {
|
|
48
|
+
try {
|
|
49
|
+
const { consent_key_id, enable } = req.body;
|
|
50
|
+
const customerId = req.auth_context.actor_id;
|
|
51
|
+
if (!customerId) {
|
|
52
|
+
return res.status(401).json({
|
|
53
|
+
error: "Unauthorized: Customer ID not found",
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
// Validate request body
|
|
57
|
+
if (!consent_key_id || enable === undefined) {
|
|
58
|
+
return res.status(400).json({
|
|
59
|
+
error: "Bad Request: consent_key_id and enable are required",
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// Use the service directly to get data
|
|
63
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
64
|
+
console.log("Update consent request - customer:", customerId, "consent_key_id:", consent_key_id, "enable:", enable);
|
|
65
|
+
// First check if consent exists
|
|
66
|
+
const existingConsents = await membershipModuleService.listMembershipConsents({
|
|
67
|
+
customer_id: customerId,
|
|
68
|
+
consent_key_id: consent_key_id,
|
|
69
|
+
});
|
|
70
|
+
console.log("Found existing consents:", existingConsents.length);
|
|
71
|
+
let result;
|
|
72
|
+
if (existingConsents.length === 0) {
|
|
73
|
+
// Create new consent
|
|
74
|
+
result = await membershipModuleService.createMembershipConsents({
|
|
75
|
+
customer_id: customerId,
|
|
76
|
+
consent_key_id: consent_key_id,
|
|
77
|
+
enable: enable,
|
|
78
|
+
});
|
|
79
|
+
console.log("Created new consent:", result);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
// Update existing consent
|
|
83
|
+
result = await membershipModuleService.updateMembershipConsents({
|
|
84
|
+
selector: {
|
|
85
|
+
customer_id: customerId,
|
|
86
|
+
consent_key_id: consent_key_id,
|
|
87
|
+
},
|
|
88
|
+
data: {
|
|
89
|
+
enable: enable,
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
console.log("Updated consent:", result);
|
|
93
|
+
}
|
|
94
|
+
res.json({
|
|
95
|
+
message: "Consent setting updated successfully",
|
|
96
|
+
consent_key_id: consent_key_id,
|
|
97
|
+
enabled: enable,
|
|
98
|
+
result,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.error("Failed to update consent:", error);
|
|
103
|
+
res.status(500).json({
|
|
104
|
+
error: "Failed to update consent setting",
|
|
105
|
+
message: error.message,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
exports.PATCH = PATCH;
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9jb25zZW50cy9zZXR0aW5ncy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFJNkI7QUFHN0IscUVBQXlFO0FBT3pFLDRDQUE0QztBQUNyQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixJQUFJLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUU3QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDMUIsS0FBSyxFQUFFLHFDQUFxQzthQUM3QyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSx1QkFBdUIsR0FDM0IscUJBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7UUFFaEUsdUJBQXVCO1FBQ3ZCLE1BQU0sV0FBVyxHQUFHLE1BQU0sdUJBQXVCLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUU5RSwwQ0FBMEM7UUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDO1lBQzVFLFdBQVcsRUFBRSxVQUFVO1NBQ3hCLENBQUMsQ0FBQztRQUVILG9EQUFvRDtRQUNwRCxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDOUMsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUMzQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUMvQyxDQUFDO1lBRUYsT0FBTztn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
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PATCH = exports.GET = void 0;
|
|
4
|
+
const framework_1 = require("@medusajs/framework");
|
|
5
|
+
const membership_1 = require("../../../../../../modules/membership");
|
|
6
|
+
// GET endpoint to retrieve current notification settings
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
try {
|
|
9
|
+
const customerId = req.auth_context.actor_id;
|
|
10
|
+
if (!customerId) {
|
|
11
|
+
return res.status(401).json({
|
|
12
|
+
error: "Unauthorized: Customer ID not found",
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
16
|
+
// Get customer's current notification preferences
|
|
17
|
+
const notifications = await membershipModuleService.listMembershipNotifications({
|
|
18
|
+
customer_id: customerId,
|
|
19
|
+
});
|
|
20
|
+
// Format the response
|
|
21
|
+
const notificationSettings = notifications.map((notification) => ({
|
|
22
|
+
id: notification.id,
|
|
23
|
+
notification_key: notification.notification_key,
|
|
24
|
+
enabled: notification.enable,
|
|
25
|
+
created_at: notification.created_at,
|
|
26
|
+
updated_at: notification.updated_at,
|
|
27
|
+
}));
|
|
28
|
+
res.json({
|
|
29
|
+
notification_settings: notificationSettings,
|
|
30
|
+
total_count: notificationSettings.length,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
console.error("Failed to retrieve notification settings:", error);
|
|
35
|
+
res.status(500).json({
|
|
36
|
+
error: "Failed to retrieve notification settings",
|
|
37
|
+
message: error.message,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
exports.GET = GET;
|
|
42
|
+
// PATCH endpoint for updating notification preferences
|
|
43
|
+
const PATCH = async (req, res) => {
|
|
44
|
+
try {
|
|
45
|
+
const customerId = req.auth_context.actor_id;
|
|
46
|
+
if (!customerId) {
|
|
47
|
+
return res.status(401).json({
|
|
48
|
+
error: "Unauthorized: Customer ID not found",
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
const { notification_key, enable } = req.body;
|
|
52
|
+
// Validate request body
|
|
53
|
+
if (!notification_key || enable === undefined) {
|
|
54
|
+
return res.status(400).json({
|
|
55
|
+
error: "Bad Request: notification_key and enable are required",
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
59
|
+
// Check if notification preference exists
|
|
60
|
+
const existingNotifications = await membershipModuleService.listMembershipNotifications({
|
|
61
|
+
customer_id: customerId,
|
|
62
|
+
notification_key: notification_key,
|
|
63
|
+
});
|
|
64
|
+
let result;
|
|
65
|
+
if (existingNotifications.length === 0) {
|
|
66
|
+
// Create new notification preference
|
|
67
|
+
result = await membershipModuleService.createMembershipNotifications({
|
|
68
|
+
customer_id: customerId,
|
|
69
|
+
notification_key: notification_key,
|
|
70
|
+
enable,
|
|
71
|
+
});
|
|
72
|
+
console.log("Created notification preference:", result);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// Update existing notification preference
|
|
76
|
+
const updateResult = await membershipModuleService.updateMembershipNotifications({
|
|
77
|
+
selector: {
|
|
78
|
+
customer_id: customerId,
|
|
79
|
+
notification_key: notification_key,
|
|
80
|
+
},
|
|
81
|
+
data: {
|
|
82
|
+
enable,
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
// The update returns an array, get the first item
|
|
86
|
+
result = Array.isArray(updateResult) ? updateResult[0] : updateResult;
|
|
87
|
+
console.log("Updated notification preference:", result);
|
|
88
|
+
}
|
|
89
|
+
res.json({
|
|
90
|
+
message: "Notification preference updated successfully",
|
|
91
|
+
notification_key: notification_key,
|
|
92
|
+
enabled: enable,
|
|
93
|
+
result,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
console.error("Failed to update notification preference:", error);
|
|
98
|
+
res.status(500).json({
|
|
99
|
+
error: "Failed to update notification preference",
|
|
100
|
+
message: error.message,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
exports.PATCH = PATCH;
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9ub3RpZmljYXRpb25zL3NldHRpbmdzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUk2QjtBQUc3QixxRUFBeUU7QUFPekUseURBQXlEO0FBQ2xELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBRTdDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUMxQixLQUFLLEVBQUUscUNBQXFDO2FBQzdDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLHVCQUF1QixHQUMzQixxQkFBUyxDQUFDLE9BQU8sQ0FBMEIsOEJBQWlCLENBQUMsQ0FBQztRQUVoRSxrREFBa0Q7UUFDbEQsTUFBTSxhQUFhLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQywyQkFBMkIsQ0FBQztZQUM5RSxXQUFXLEVBQUUsVUFBVTtTQUN4QixDQUFDLENBQUM7UUFFSCxzQkFBc0I7UUFDdEIsTUFBTSxvQkFBb0IsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRTtZQUNuQixnQkFBZ0IsRUFBRSxZQUFZLENBQUMsZ0JBQWdCO1lBQy9DLE9BQU8sRUFBRSxZQUFZLENBQUMsTUFBTTtZQUM1QixVQUFVLEVBQUUsWUFBWSxDQUFDLFVBQVU7WUFDbkMsVUFBVSxFQUFFLFlBQVksQ0FBQyxVQUFVO1NBQ3BDLENBQUMsQ0FBQyxDQUFD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
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.consentUpdateNotificationWorkflow = 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 createConsentNotificationStep = (0, workflows_sdk_1.createStep)("create-consent-notification", async (data) => {
|
|
8
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
9
|
+
// Get consent key details if not provided
|
|
10
|
+
let consentKeyName = data.consent_key_name;
|
|
11
|
+
if (!consentKeyName) {
|
|
12
|
+
const consentKeys = await membershipModuleService.listMembershipConsentKeys({
|
|
13
|
+
id: data.consent_key_id,
|
|
14
|
+
});
|
|
15
|
+
consentKeyName = consentKeys[0]?.name || "Unknown consent";
|
|
16
|
+
}
|
|
17
|
+
// Create notification message
|
|
18
|
+
const action = data.new_value ? "enabled" : "disabled";
|
|
19
|
+
const message = `Consent preference for "${consentKeyName}" has been ${action}`;
|
|
20
|
+
// Create or update notification preference in the membership notifications table
|
|
21
|
+
// Note: This table tracks notification preferences, not actual notification messages
|
|
22
|
+
const existingNotifications = await membershipModuleService.listMembershipNotifications({
|
|
23
|
+
customer_id: data.customer_id,
|
|
24
|
+
notification_key: `consent_${data.consent_key_id}`,
|
|
25
|
+
});
|
|
26
|
+
let notification;
|
|
27
|
+
if (existingNotifications.length === 0) {
|
|
28
|
+
notification = await membershipModuleService.createMembershipNotifications({
|
|
29
|
+
customer_id: data.customer_id,
|
|
30
|
+
notification_key: `consent_${data.consent_key_id}`,
|
|
31
|
+
enable: data.new_value,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
notification = await membershipModuleService.updateMembershipNotifications({
|
|
36
|
+
selector: {
|
|
37
|
+
customer_id: data.customer_id,
|
|
38
|
+
notification_key: `consent_${data.consent_key_id}`,
|
|
39
|
+
},
|
|
40
|
+
data: {
|
|
41
|
+
enable: data.new_value,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
// Get the updated record
|
|
45
|
+
notification = notification[0] || existingNotifications[0];
|
|
46
|
+
}
|
|
47
|
+
console.log(`Consent notification created: ${message}`);
|
|
48
|
+
return new workflows_sdk_1.StepResponse({ notification }, { notificationId: notification.id });
|
|
49
|
+
}, async (context) => {
|
|
50
|
+
// Rollback: Delete the notification if something goes wrong
|
|
51
|
+
if (context?.notificationId) {
|
|
52
|
+
const membershipModuleService = framework_1.container.resolve(membership_1.MEMBERSHIP_MODULE);
|
|
53
|
+
await membershipModuleService.deleteMembershipNotifications(context.notificationId);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
exports.consentUpdateNotificationWorkflow = (0, workflows_sdk_1.createWorkflow)("consent-update-notification", (input) => {
|
|
57
|
+
const { notification } = createConsentNotificationStep(input);
|
|
58
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
59
|
+
notification,
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2VudC11cGRhdGUtbm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tZW1iZXJzaGlwLWNvbnNlbnQvY29uc2VudC11cGRhdGUtbm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRDtBQUNoRCxxRUFLMkM7QUFDM0MseURBQTZEO0FBWTdELE1BQU0sNkJBQTZCLEdBQUcsSUFBQSwwQkFBVSxFQUM5Qyw2QkFBNkIsRUFDN0IsS0FBSyxFQUFFLElBQThCLEVBQUUsRUFBRTtJQUN2QyxNQUFNLHVCQUF1QixHQUMzQixxQkFBUyxDQUFDLE9BQU8sQ0FBMEIsOEJBQWlCLENBQUMsQ0FBQztJQUVoRSwwQ0FBMEM7SUFDMUMsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQzNDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixNQUFNLFdBQVcsR0FBRyxNQUFNLHVCQUF1QixDQUFDLHlCQUF5QixDQUFDO1lBQzFFLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYztTQUN4QixDQUFDLENBQUM7UUFDSCxjQUFjLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxpQkFBaUIsQ0FBQztJQUM3RCxDQUFDO0lBRUQsOEJBQThCO0lBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ3ZELE1BQU0sT0FBTyxHQUFHLDJCQUEyQixjQUFjLGNBQWMsTUFBTSxFQUFFLENBQUM7SUFFaEYsaUZBQWlGO0lBQ2pGLHFGQUFxRjtJQUNyRixNQUFNLHFCQUFxQixHQUFHLE1BQU0sdUJBQXVCLENBQUMsMkJBQTJCLENBQUM7UUFDdEYsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1FBQzdCLGdCQUFnQixFQUFFLFdBQVcsSUFBSSxDQUFDLGNBQWMsRUFBRTtLQUNuRCxDQUFDLENBQUM7SUFFSCxJQUFJLFlBQVksQ0FBQztJQUNqQixJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxZQUFZLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyw2QkFBNkIsQ0FBQztZQUN6RSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsZ0JBQWdCLEVBQUUsV0FBVyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2xELE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUztTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNOLFlBQVksR0FBRyxNQUFNLHVCQUF1QixDQUFDLDZCQUE2QixDQUFDO1lBQ3pFLFFBQVEsRUFBRTtnQkFDUixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLGdCQUFnQixFQUFFLFdBQVcsSUFBSSxDQUFDLGNBQWMsRUFBRTthQUNuRDtZQUNELElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDdkI7U0FDRixDQUFDLENBQUM7UUFDSCx5QkFBeUI7UUFDekIsWUFBWSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUV4RCxPQUFPLElBQUksNEJBQVksQ0FDckIsRUFBRSxZQUFZLEVBQUUsRUFDaEIsRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUNwQyxDQUFDO0FBQ0osQ0FBQyxFQUNELEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNoQiw0REFBNEQ7SUFDNUQsSUFBSSxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDNUIsTUFBTSx1QkFBdUIsR0FDM0IscUJBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7UUFFaEUsTUFBTSx1QkFBdUIsQ0FBQyw2QkFBNkIsQ0FDekQsT0FBTyxDQUFDLGNBQWMsQ0FDdkIsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQ0YsQ0FBQztBQUVXLFFBQUEsaUNBQWlDLEdBQUcsSUFBQSw4QkFBYyxFQUM3RCw2QkFBNkIsRUFDN0IsQ0FBQyxLQUErQixFQUFFLEVBQUU7SUFDbEMsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLDZCQUE2QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQztRQUMxQixZQUFZO0tBQ2IsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -20,20 +20,17 @@ const retrieveMembershipConsentStep = (0, workflows_sdk_1.createStep)("retrieve-
|
|
|
20
20
|
.filter((ck) => !consentSet.has(ck.id))
|
|
21
21
|
.map((ck) => ck.id);
|
|
22
22
|
if (consents.length !== consentKeys.length) {
|
|
23
|
-
|
|
23
|
+
await create_membership_consent_1.createMembershipConsentWorkflow.run({
|
|
24
24
|
input: {
|
|
25
25
|
customer_id: data.customer_id,
|
|
26
26
|
missing_consent_keys,
|
|
27
27
|
},
|
|
28
28
|
});
|
|
29
|
-
consents = consents.concat(res.result.consents);
|
|
30
29
|
}
|
|
31
|
-
return new workflows_sdk_1.StepResponse({
|
|
30
|
+
return new workflows_sdk_1.StepResponse({}, {});
|
|
32
31
|
});
|
|
33
32
|
exports.retrieveMembershipConsentWorkflow = (0, workflows_sdk_1.createWorkflow)("retrieve-membership-consent", (input) => {
|
|
34
|
-
|
|
35
|
-
return new workflows_sdk_1.WorkflowResponse({
|
|
36
|
-
consents,
|
|
37
|
-
});
|
|
33
|
+
retrieveMembershipConsentStep(input);
|
|
34
|
+
return new workflows_sdk_1.WorkflowResponse({});
|
|
38
35
|
});
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmlldmUtbWVtYmVyc2hpcC1jb25zZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9tZW1iZXJzaGlwLWNvbnNlbnQvcmV0cmlldmUtbWVtYmVyc2hpcC1jb25zZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRDtBQUNoRCxxREFBd0Q7QUFDeEQscUVBSzJDO0FBQzNDLHlEQUE2RDtBQUU3RCwrRkFBa0c7QUFNbEcsTUFBTSw2QkFBNkIsR0FBRyxJQUFBLDBCQUFVLEVBQzlDLDZCQUE2QixFQUM3QixLQUFLLEVBQUUsSUFBbUIsRUFBRSxFQUFFO0lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSx1QkFBdUIsR0FDM0IscUJBQVMsQ0FBQyxPQUFPLENBQTBCLDhCQUFpQixDQUFDLENBQUM7SUFFaEUsTUFBTSxXQUFXLEdBQ2YsTUFBTSx1QkFBdUIsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBRTVELElBQUksUUFBUSxHQUFHLE1BQU0sdUJBQXVCLENBQUMsc0JBQXNCLENBQUM7UUFDbEUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO0tBQzlCLENBQUMsQ0FBQztJQUVILE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sb0JBQW9CLEdBQUcsV0FBVztTQUNyQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdEMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFdEIsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQyxNQUFNLDJEQUErQixDQUFDLEdBQUcsQ0FBQztZQUN4QyxLQUFLLEVBQUU7Z0JBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixvQkFBb0I7YUFDckI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FDRixDQUFDO0FBRVcsUUFBQSxpQ0FBaUMsR0FBRyxJQUFBLDhCQUFjLEVBQzdELDZCQUE2QixFQUM3QixDQUFDLEtBQW9CLEVBQUUsRUFBRTtJQUN2Qiw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVyQyxPQUFPLElBQUksZ0NBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUNGLENBQUMifQ==
|