customer-registration 0.0.106 → 0.0.108
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/api/auth/customer/emailpass/reset-password/route.js +7 -15
- package/.medusa/server/src/api/auth/customer/emailpass/route.js +35 -5
- package/.medusa/server/src/subscribers/password-reset.js +14 -7
- package/.medusa/server/src/types/plugin-options.js +3 -0
- package/README.md +7 -0
- package/package.json +1 -1
|
@@ -6,25 +6,13 @@ const generate_jwt_token_1 = require("@medusajs/medusa/api/auth/utils/generate-j
|
|
|
6
6
|
/**
|
|
7
7
|
* Send password reset email using notification service
|
|
8
8
|
*/
|
|
9
|
-
async function sendPasswordResetEmail(email, token, container) {
|
|
9
|
+
async function sendPasswordResetEmail(email, token, storefrontUrl, container) {
|
|
10
10
|
console.log("[reset-password] Sending password reset email directly...");
|
|
11
11
|
const notificationService = container.resolve(utils_1.Modules.NOTIFICATION);
|
|
12
12
|
if (!notificationService) {
|
|
13
13
|
console.error("[reset-password] Notification service is not configured");
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
|
-
// Get storefront URL from environment or config
|
|
17
|
-
let storefrontUrl = "http://localhost:8000";
|
|
18
|
-
try {
|
|
19
|
-
const config = container.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
|
20
|
-
storefrontUrl =
|
|
21
|
-
process.env.STOREFRONT_URL ||
|
|
22
|
-
config?.projectConfig?.storefrontUrl ||
|
|
23
|
-
"http://localhost:8000";
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
console.warn("[reset-password] Failed to resolve config, using default storefront URL:", error);
|
|
27
|
-
}
|
|
28
16
|
// Build reset URL with token and email as query parameters
|
|
29
17
|
const resetUrl = `${storefrontUrl}/reset-password?token=${encodeURIComponent(token)}&email=${encodeURIComponent(email)}`;
|
|
30
18
|
// Prepare HTML and text content
|
|
@@ -160,6 +148,10 @@ const POST = async (req, res) => {
|
|
|
160
148
|
// Using the same method Medusa's built-in route uses
|
|
161
149
|
const config = req.scope.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
|
162
150
|
const { http } = config.projectConfig;
|
|
151
|
+
const storefrontUrl = config.projectConfig.http.storeCors;
|
|
152
|
+
if (!storefrontUrl) {
|
|
153
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "storefront-url: storefront URL is not configured");
|
|
154
|
+
}
|
|
163
155
|
const resetToken = (0, generate_jwt_token_1.generateJwtTokenForAuthIdentity)({
|
|
164
156
|
authIdentity,
|
|
165
157
|
actorType: "customer",
|
|
@@ -173,7 +165,7 @@ const POST = async (req, res) => {
|
|
|
173
165
|
// Note: Medusa's built-in route would emit 'auth.password_reset' event here
|
|
174
166
|
// Since we're overriding the route, we send the email directly
|
|
175
167
|
try {
|
|
176
|
-
await sendPasswordResetEmail(normalizedEmail, resetToken, req.scope);
|
|
168
|
+
await sendPasswordResetEmail(normalizedEmail, resetToken, storefrontUrl, req.scope);
|
|
177
169
|
}
|
|
178
170
|
catch (emailError) {
|
|
179
171
|
console.error("[reset-password] Failed to send email:", emailError);
|
|
@@ -190,4 +182,4 @@ const POST = async (req, res) => {
|
|
|
190
182
|
}
|
|
191
183
|
};
|
|
192
184
|
exports.POST = POST;
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2F1dGgvY3VzdG9tZXIvZW1haWxwYXNzL3Jlc2V0LXBhc3N3b3JkL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUEyRjtBQUUzRiwyRkFBb0c7QUFFcEc7O0dBRUc7QUFDSCxLQUFLLFVBQVUsc0JBQXNCLENBQ25DLEtBQWEsRUFDYixLQUFhLEVBQ2IsYUFBcUIsRUFDckIsU0FBYztJQUVkLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkRBQTJELENBQUMsQ0FBQTtJQUV4RSxNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLFlBQVksQ0FHakUsQ0FBQTtJQUVELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQTtRQUN4RSxPQUFNO0lBQ1IsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxNQUFNLFFBQVEsR0FBRyxHQUFHLGFBQWEseUJBQXlCLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxVQUFVLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUE7SUFFeEgsZ0NBQWdDO0lBQ2hDLE1BQU0sV0FBVyxHQUFHOzs7Ozs7c0JBTUEsUUFBUTtzQ0FDUSxLQUFLOzs7Ozs7R0FNeEMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUVSLE1BQU0sV0FBVyxHQUFHLGtFQUFrRSxRQUFRLGNBQWMsS0FBSywyR0FBMkcsQ0FBQTtJQUU1TixnRUFBZ0U7SUFDaEUsbUVBQW1FO0lBQ25FLE1BQU0sT0FBTyxHQUFRO1FBQ25CLEVBQUUsRUFBRSxLQUFLO1FBQ1QsT0FBTyxFQUFFLE9BQU87UUFDaEIsSUFBSSxFQUFFO1lBQ0osT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixLQUFLO1lBQ0wsS0FBSztZQUNMLFNBQVMsRUFBRSxRQUFRO1lB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
|
|
@@ -24,16 +24,46 @@ const GET = async (req, res) => {
|
|
|
24
24
|
email,
|
|
25
25
|
req,
|
|
26
26
|
});
|
|
27
|
+
// Ensure authIdentity has customer_id in app_metadata
|
|
28
|
+
// The generateJwtTokenForAuthIdentity function requires app_metadata.customer_id
|
|
29
|
+
let customerId = authIdentity.app_metadata?.customer_id;
|
|
30
|
+
if (!customerId) {
|
|
31
|
+
// Try to get customer_id from provider_identity entity_id (email)
|
|
32
|
+
// and look up the customer
|
|
33
|
+
const customerModule = req.scope.resolve(utils_1.Modules.CUSTOMER);
|
|
34
|
+
const customers = await customerModule.listCustomers({
|
|
35
|
+
email: email.toLowerCase(),
|
|
36
|
+
});
|
|
37
|
+
if (customers && customers.length > 0) {
|
|
38
|
+
customerId = customers[0].id;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (!customerId) {
|
|
42
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Unable to determine customer ID for authentication");
|
|
43
|
+
}
|
|
44
|
+
// Ensure app_metadata has customer_id
|
|
45
|
+
const authIdentityWithCustomerId = {
|
|
46
|
+
...authIdentity,
|
|
47
|
+
app_metadata: {
|
|
48
|
+
...authIdentity.app_metadata,
|
|
49
|
+
customer_id: customerId,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
27
52
|
const { http } = config.projectConfig;
|
|
53
|
+
if (!http.jwtSecret) {
|
|
54
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "JWT secret is not configured");
|
|
55
|
+
}
|
|
28
56
|
const token = (0, generate_jwt_token_1.generateJwtTokenForAuthIdentity)({
|
|
29
|
-
authIdentity,
|
|
57
|
+
authIdentity: authIdentityWithCustomerId,
|
|
30
58
|
actorType: "customer",
|
|
31
|
-
authProvider: "emailpass",
|
|
32
59
|
}, {
|
|
33
60
|
secret: http.jwtSecret,
|
|
34
|
-
expiresIn: http.jwtExpiresIn,
|
|
35
|
-
options: http.jwtOptions,
|
|
61
|
+
expiresIn: http.jwtExpiresIn || "7d",
|
|
36
62
|
});
|
|
63
|
+
// Validate token was generated successfully
|
|
64
|
+
if (!token || typeof token !== "string") {
|
|
65
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Failed to generate authentication token");
|
|
66
|
+
}
|
|
37
67
|
return res.status(200).json({ token });
|
|
38
68
|
}
|
|
39
69
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, error || "Authentication failed");
|
|
@@ -51,4 +81,4 @@ const enforceEmailAndPhoneVerification = async ({ email, req, }) => {
|
|
|
51
81
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNAUTHORIZED, "Email not verified.");
|
|
52
82
|
}
|
|
53
83
|
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2F1dGgvY3VzdG9tZXIvZW1haWxwYXNzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLHFEQUlrQztBQUNsQywyRkFBb0c7QUFDcEcsMkVBQThFO0FBS3ZFLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxHQUFrQixFQUFFLEdBQW1CLEVBQUUsRUFBRTtJQUNuRSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDOUIsaUNBQXlCLENBQUMsYUFBYSxDQUN4QyxDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRS9DLE1BQU0sUUFBUSxHQUFHO1FBQ2YsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHO1FBQ1osT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1FBQ3BCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztRQUNoQixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7UUFDZCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7S0FDQSxDQUFBO0lBRXhCLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsR0FDOUMsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUVuRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELElBQUksT0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMs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
|
|
@@ -73,14 +73,21 @@ async function passwordResetHandler({ event: { data }, container, }) {
|
|
|
73
73
|
hasCreate: typeof notificationService.create === "function",
|
|
74
74
|
hasCreateNotifications: typeof notificationService.createNotifications === "function"
|
|
75
75
|
});
|
|
76
|
-
// Get storefront URL from
|
|
76
|
+
// Get storefront URL from plugin options
|
|
77
77
|
let storefrontUrl = "http://localhost:8000";
|
|
78
78
|
try {
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
const configModule = container.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
|
80
|
+
const plugins = configModule
|
|
81
|
+
?.projectConfig?.plugins ?? [];
|
|
82
|
+
for (const plugin of plugins) {
|
|
83
|
+
if (typeof plugin === "object" && plugin !== null && plugin?.resolve === "customer-registration") {
|
|
84
|
+
const options = plugin?.options;
|
|
85
|
+
if (options?.storefrontUrl) {
|
|
86
|
+
storefrontUrl = options.storefrontUrl;
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
84
91
|
}
|
|
85
92
|
catch (error) {
|
|
86
93
|
console.warn("[password-reset] Failed to resolve config, using default storefront URL:", error);
|
|
@@ -181,4 +188,4 @@ async function passwordResetHandler({ event: { data }, container, }) {
|
|
|
181
188
|
exports.config = {
|
|
182
189
|
event: "auth.password_reset",
|
|
183
190
|
};
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtcmVzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3Vic2NyaWJlcnMvcGFzc3dvcmQtcmVzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa0NBLHVDQXNMQztBQXBORCxxREFBMkY7QUFhM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDWSxLQUFLLFVBQVUsb0JBQW9CLENBQUMsRUFDakQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQ2YsU0FBUyxHQUM4QjtJQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLHVDQUF1QyxDQUFDLENBQUE7SUFDcEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVuRixvRkFBb0Y7SUFDcEYsSUFBSSxLQUF5QixDQUFBO0lBQzdCLElBQUksS0FBeUIsQ0FBQTtJQUU3QixrREFBa0Q7SUFDbEQsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDckMsb0JBQW9CO1FBQ3BCLEtBQUssR0FBSSxJQUFJLENBQUMsS0FBZ0IsSUFBSyxJQUFJLENBQUMsY0FBeUIsQ0FBQTtRQUNqRSxLQUFLLEdBQUksSUFBSSxDQUFDLEtBQWdCLElBQUssSUFBSSxDQUFDLFdBQXNCLElBQUssSUFBSSxDQUFDLG9CQUErQixDQUFBO1FBRXZHLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsS0FBSyxJQUFLLElBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFVBQVUsR0FBSSxJQUFZLENBQUMsSUFBSSxDQUFBO1lBQ3JDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUE7WUFDckQsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUE7UUFDdkYsQ0FBQztJQUNILENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN6RCxPQUFPLENBQUMsS0FBSyxDQUFDLHlEQUF5RCxFQUFFO1lBQ3ZFLEtBQUs7WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFBO1FBQ0YsT0FBTTtJQUNSLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ3pELE9BQU8sQ0FBQyxLQUFLLENBQUMseURBQXlELEVBQUU7WUFDdkUsS0FBSztZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkMsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUE7UUFDRixPQUFNO0lBQ1IsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsNENBQTRDLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBRS9GLG1EQUFtRDtJQUNuRCxJQUFJLG1CQUdILENBQUE7SUFFRCxJQUFJLENBQUM7UUFDSCxtQkFBbUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxZQUFZLENBRzNELENBQUE7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMERBQTBELEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDaEYsT0FBTTtJQUNSLENBQUM7SUFFRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUE7UUFDeEUsT0FBTTtJQUNSLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxFQUFFO1FBQzVELFNBQVMsRUFBRSxPQUFPLG1CQUFtQixDQUFDLE1BQU0sS0FBSyxVQUFVO1FBQzNELHNCQUFzQixFQUFFLE9BQU8sbUJBQW1CLENBQUMsbUJBQW1CLEtBQUssVUFBVTtLQUN0RixDQUFDLENBQUE7SUFFRix5Q0FBeUM7SUFDekMsSUFBSSxhQUFhLEdBQUcsdUJBQXVCLENBQUE7SUFDM0MsSUFBSSxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMvRSxNQUFNLE9BQU8sR0FBSSxZQUE0RDtZQUMzRSxFQUFFLGFBQWEsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFBO1FBRWhDLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksSUFBSyxNQUErQixFQUFFLE9BQU8sS0FBSyx1QkFBdUIsRUFBRSxDQUFDO2dCQUMzSCxNQUFNLE9BQU8sR0FBSSxNQUFtRCxFQUFFLE9BQU8sQ0FBQTtnQkFDN0UsSUFBSSxPQUFPLEVBQUUsYUFBYSxFQUFFLENBQUM7b0JBQzNCLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFBO29CQUNyQyxNQUFLO2dCQUNQLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQywwRUFBMEUsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNqRyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUU5RCwyREFBMkQ7SUFDM0QsTUFBTSxRQUFRLEdBQUcsR0FBRyxhQUFhLHlCQUF5QixrQkFBa0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFBO0lBRXhILGdDQUFnQztJQUNoQyxNQUFNLFdBQVcsR0FBRzs7Ozs7O3NCQU1BLFFBQVE7c0NBQ1EsS0FBSzs7Ozs7O0dBTXhDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFUixNQUFNLFdBQVcsR0FBRyxrRUFBa0UsUUFBUSxjQUFjLEtBQUssMkdBQTJHLENBQUE7SUFFNU4sZ0VBQWdFO0lBQ2hFLGlFQUFpRTtJQUNqRSxNQUFNLE9BQU8sR0FBUTtRQUNuQixFQUFFLEVBQUUsS0FBSztRQUNULE9BQU8sRUFBRSxPQUFPO1FBQ2hCLElBQUksRUFBRTtZQUNKLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsS0FBSztZQUNMLEtBQUs7WUFDTCxTQUFTLEVBQUUsUUFBUTtZQUNuQixVQUFVLEVBQUUsUUFBUTtZQUNwQixtRUFBbUU7WUFDbkUsSUFBSSxFQUFFLFdBQVc7WUFDakIsSUFBSSxFQUFFLFdBQVc7U0FDbEI7UUFDRCx5REFBeUQ7UUFDekQsSUFBSSxFQUFFLFdBQVc7UUFDakIsSUFBSSxFQUFFLFdBQVc7S0FDbEIsQ0FBQTtJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMvRCxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDZCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFDeEIsSUFBSSxFQUFFO1lBQ0osT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTztZQUM3QixLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ3pCLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQzlCLFdBQVcsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ3JDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQzVCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJO1NBQzdCO1FBQ0QsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtRQUN2QixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJO0tBQ3hCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFWixJQUFJLENBQUM7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLHFEQUFxRCxDQUFDLENBQUE7UUFFbEUsdURBQXVEO1FBQ3ZELElBQUksT0FBTyxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQywwREFBMEQsQ0FBQyxDQUFBO1lBQ3ZFLE1BQU0sTUFBTSxHQUFHLE1BQU0sbUJBQW1CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3hELE9BQU8sQ0FBQyxHQUFHLENBQUMsc0RBQXNELEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDN0UsQ0FBQzthQUFNLElBQUksT0FBTyxtQkFBbUIsQ0FBQyxtQkFBbUIsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUN6RSxPQUFPLENBQUMsR0FBRyxDQUFDLHVFQUF1RSxDQUFDLENBQUE7WUFDcEYsTUFBTSxNQUFNLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7WUFDdkUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtRUFBbUUsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUMxRixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxLQUFLLENBQUMsOEVBQThFLEVBQUU7Z0JBQzVGLFdBQVcsRUFBRSxPQUFPLG1CQUFtQjtnQkFDdkMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO2FBQ3BELENBQUMsQ0FBQTtZQUNGLE9BQU07UUFDUixDQUFDO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnRUFBZ0UsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUN0RixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkRBQTZELEtBQUssR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzNGLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO1lBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUNBQWlDLEVBQUU7Z0JBQy9DLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDakIsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUNELGdFQUFnRTtJQUNsRSxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNVLFFBQUEsTUFBTSxHQUFxQjtJQUN0QyxLQUFLLEVBQUUscUJBQXFCO0NBQzdCLENBQUEifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHlwZXMvcGx1Z2luLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
package/README.md
CHANGED
|
@@ -30,6 +30,10 @@ export default defineConfig({
|
|
|
30
30
|
{
|
|
31
31
|
resolve: "customer-registration",
|
|
32
32
|
options: {
|
|
33
|
+
// Required: Storefront URL for password reset links
|
|
34
|
+
storefrontUrl: process.env.STOREFRONT_URL || "http://localhost:8000",
|
|
35
|
+
|
|
36
|
+
// OTP channel configuration
|
|
33
37
|
email_verification: {
|
|
34
38
|
channel: "email",
|
|
35
39
|
subject: "Verify your email",
|
|
@@ -43,6 +47,9 @@ export default defineConfig({
|
|
|
43
47
|
})
|
|
44
48
|
```
|
|
45
49
|
|
|
50
|
+
**Required Options:**
|
|
51
|
+
- `storefrontUrl` - Your storefront URL (required for password reset links)
|
|
52
|
+
|
|
46
53
|
3. **Run migrations**:
|
|
47
54
|
```bash
|
|
48
55
|
npx medusa db:migrate
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "customer-registration",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.108",
|
|
4
4
|
"description": "Medusa plugin that overrides store customer registration, enforces email/phone verification flags, and provides OTP management module.",
|
|
5
5
|
"author": "Medusa (https://medusajs.com)",
|
|
6
6
|
"license": "MIT",
|