customer-registration 0.0.117 → 0.0.118
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.
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PATCH = void 0;
|
|
3
|
+
exports.PATCH = exports.GET = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const otp_verification_1 = require("../../../../modules/otp-verification");
|
|
5
6
|
/**
|
|
6
|
-
* Override of Medusa's built-in PATCH /store/customers/me.
|
|
7
|
+
* Override of Medusa's built-in GET /store/customers/me and PATCH /store/customers/me.
|
|
7
8
|
*
|
|
8
9
|
* Phone and email changes require OTP verification and must go through the
|
|
9
10
|
* dedicated endpoint:
|
|
@@ -13,6 +14,13 @@ const utils_1 = require("@medusajs/framework/utils");
|
|
|
13
14
|
* All other profile fields (first_name, last_name, etc.) are applied directly
|
|
14
15
|
* via the customer service, matching Medusa's default behaviour.
|
|
15
16
|
*/
|
|
17
|
+
const GET = async (req, res) => {
|
|
18
|
+
const customerId = req.auth_context.actor_id;
|
|
19
|
+
const customer = await refetchCustomer(customerId, req.scope);
|
|
20
|
+
const payload = await withVerificationFlags(customer, customerId, req.scope);
|
|
21
|
+
return res.status(200).json({ customer: payload });
|
|
22
|
+
};
|
|
23
|
+
exports.GET = GET;
|
|
16
24
|
const PATCH = async (req, res) => {
|
|
17
25
|
const customerId = req.auth_context.actor_id;
|
|
18
26
|
const body = (req.body ?? {});
|
|
@@ -27,9 +35,22 @@ const PATCH = async (req, res) => {
|
|
|
27
35
|
await customerService.updateCustomers(customerId, body);
|
|
28
36
|
}
|
|
29
37
|
const updated = await refetchCustomer(customerId, req.scope);
|
|
30
|
-
|
|
38
|
+
const payload = await withVerificationFlags(updated, customerId, req.scope);
|
|
39
|
+
return res.status(200).json({ customer: payload });
|
|
31
40
|
};
|
|
32
41
|
exports.PATCH = PATCH;
|
|
42
|
+
async function withVerificationFlags(customer, customerId, scope) {
|
|
43
|
+
if (!customer) {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
const otpService = scope.resolve(otp_verification_1.OTP_VERIFICATION_MODULE);
|
|
47
|
+
const status = await otpService.getCustomerVerificationByCustomerId(scope, customerId);
|
|
48
|
+
return {
|
|
49
|
+
...customer,
|
|
50
|
+
email_verified: status.email_verified,
|
|
51
|
+
phone_verified: status.phone_verified,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
33
54
|
async function refetchCustomer(customerId, scope) {
|
|
34
55
|
const remoteQuery = scope.resolve(utils_1.ContainerRegistrationKeys.REMOTE_QUERY);
|
|
35
56
|
const queryObject = (0, utils_1.remoteQueryObjectFromString)({
|
|
@@ -50,4 +71,4 @@ async function refetchCustomer(customerId, scope) {
|
|
|
50
71
|
const customers = await remoteQuery(queryObject);
|
|
51
72
|
return customers[0];
|
|
52
73
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSxxREFLa0M7QUFDbEMsMkVBRzZDO0FBRTdDOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQTtJQUM1QyxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0scUJBQXFCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0FBQ3BELENBQUMsQ0FBQTtBQVJZLFFBQUEsR0FBRyxPQVFmO0FBRU0sTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUN4QixHQUErQixFQUMvQixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUE7SUFDNUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBNEIsQ0FBQTtJQUV4RCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDN0IsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0IsbUdBQW1HLENBQ3BHLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzdCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQzdCLG1HQUFtRyxDQUNwRyxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUF5QixlQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFbkYsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxNQUFNLGVBQWUsQ0FBQyxlQUFlLENBQ25DLFVBQVUsRUFDVixJQUE2RCxDQUM5RCxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sZUFBZSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzRSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDcEQsQ0FBQyxDQUFBO0FBakNZLFFBQUEsS0FBSyxTQWlDakI7QUFFRCxLQUFLLFVBQVUscUJBQXFCLENBQ2xDLFFBQXVCLEVBQ3ZCLFVBQWtCLEVBQ2xCLEtBQXNCO0lBSXRCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUF5QiwwQ0FBdUIsQ0FBQyxDQUFBO0lBQ2pGLE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLG1DQUFtQyxDQUNqRSxLQUErQixFQUMvQixVQUFVLENBQ1gsQ0FBQTtJQUNELE9BQU87UUFDTCxHQUFHLFFBQVE7UUFDWCxjQUFjLEVBQUUsTUFBTSxDQUFDLGNBQWM7UUFDckMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjO0tBQ3RDLENBQUE7QUFDSCxDQUFDO0FBRUQsS0FBSyxVQUFVLGVBQWUsQ0FBQyxVQUFrQixFQUFFLEtBQXNCO0lBQ3ZFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDekUsTUFBTSxXQUFXLEdBQUcsSUFBQSxtQ0FBMkIsRUFBQztRQUM5QyxVQUFVLEVBQUUsVUFBVTtRQUN0QixTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUU7UUFDMUMsTUFBTSxFQUFFO1lBQ04sSUFBSTtZQUNKLE9BQU87WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLE9BQU87WUFDUCxhQUFhO1lBQ2IsVUFBVTtZQUNWLFlBQVk7WUFDWixZQUFZO1NBQ2I7S0FDRixDQUFDLENBQUE7SUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNoRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNyQixDQUFDIn0=
|
|
@@ -4,6 +4,21 @@ exports.POST = void 0;
|
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const core_flows_1 = require("@medusajs/core-flows");
|
|
6
6
|
const config_1 = require("../../../config");
|
|
7
|
+
/** Medusa / Knex raw results may use `rows` (node-pg) or `result[0]` batch shape. */
|
|
8
|
+
function firstKnexRow(result) {
|
|
9
|
+
const fromRows = result.rows?.[0];
|
|
10
|
+
if (fromRows && typeof fromRows === "object" && !Array.isArray(fromRows)) {
|
|
11
|
+
return fromRows;
|
|
12
|
+
}
|
|
13
|
+
const batch = result[0];
|
|
14
|
+
if (Array.isArray(batch)) {
|
|
15
|
+
const first = batch[0];
|
|
16
|
+
if (first && typeof first === "object" && !Array.isArray(first)) {
|
|
17
|
+
return first;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
7
22
|
/**
|
|
8
23
|
* Override of Medusa's built-in POST /store/customers.
|
|
9
24
|
*
|
|
@@ -13,6 +28,8 @@ const config_1 = require("../../../config");
|
|
|
13
28
|
*
|
|
14
29
|
* For "email" and "both" we delegate to the built-in workflow so that all of
|
|
15
30
|
* Medusa's existing validations (duplicate email check, etc.) are preserved.
|
|
31
|
+
* For "phone" and "both" we also reject when another customer already has this
|
|
32
|
+
* phone with has_account = true.
|
|
16
33
|
*/
|
|
17
34
|
const POST = async (req, res) => {
|
|
18
35
|
const authContext = req.auth_context;
|
|
@@ -24,9 +41,10 @@ const POST = async (req, res) => {
|
|
|
24
41
|
const { identifier } = options.registration;
|
|
25
42
|
const authIdentityId = authContext?.auth_identity_id;
|
|
26
43
|
const customerData = (req.body ?? {});
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
44
|
+
const phoneNormalized = customerData.phone != null && String(customerData.phone).trim() !== ""
|
|
45
|
+
? String(customerData.phone).trim()
|
|
46
|
+
: "";
|
|
47
|
+
if (identifier === "email") {
|
|
30
48
|
const { result } = await (0, core_flows_1.createCustomerAccountWorkflow)(req.scope).run({
|
|
31
49
|
input: {
|
|
32
50
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -37,20 +55,32 @@ const POST = async (req, res) => {
|
|
|
37
55
|
const customer = await refetchCustomer(result.id, req.scope);
|
|
38
56
|
return res.status(200).json({ customer });
|
|
39
57
|
}
|
|
40
|
-
// "phone":
|
|
41
|
-
if (!
|
|
58
|
+
// "phone" and "both": require phone and block duplicate registered phones.
|
|
59
|
+
if (!phoneNormalized) {
|
|
42
60
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Phone is required for registration");
|
|
43
61
|
}
|
|
44
|
-
const customerService = req.scope.resolve(utils_1.Modules.CUSTOMER);
|
|
45
|
-
// Check for duplicate phone
|
|
46
62
|
const knex = req.scope.resolve(utils_1.ContainerRegistrationKeys.PG_CONNECTION);
|
|
47
|
-
const
|
|
48
|
-
if (
|
|
63
|
+
const existingPhoneAccount = await knex.raw(`SELECT id FROM customer WHERE phone = ? AND has_account = true LIMIT 1`, [phoneNormalized]);
|
|
64
|
+
if (firstKnexRow(existingPhoneAccount)?.id) {
|
|
49
65
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.DUPLICATE_ERROR, "A customer with this phone number already has an account");
|
|
50
66
|
}
|
|
67
|
+
if (identifier === "both") {
|
|
68
|
+
const { result } = await (0, core_flows_1.createCustomerAccountWorkflow)(req.scope).run({
|
|
69
|
+
input: {
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
71
|
+
customerData: { ...customerData, phone: phoneNormalized },
|
|
72
|
+
authIdentityId: authIdentityId ?? "",
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
const customer = await refetchCustomer(result.id, req.scope);
|
|
76
|
+
return res.status(200).json({ customer });
|
|
77
|
+
}
|
|
78
|
+
// "phone": create customer without email validation.
|
|
79
|
+
const customerService = req.scope.resolve(utils_1.Modules.CUSTOMER);
|
|
51
80
|
const [customer] = await customerService.createCustomers([
|
|
52
81
|
{
|
|
53
82
|
...customerData,
|
|
83
|
+
phone: phoneNormalized,
|
|
54
84
|
has_account: !!authIdentityId,
|
|
55
85
|
},
|
|
56
86
|
]);
|
|
@@ -86,4 +116,4 @@ async function refetchCustomer(customerId, scope) {
|
|
|
86
116
|
const customers = await remoteQuery(queryObject);
|
|
87
117
|
return customers[0];
|
|
88
118
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxxREFLa0M7QUFDbEMscURBQW9FO0FBQ3BFLDRDQUd3QjtBQUV4QixxRkFBcUY7QUFDckYsU0FBUyxZQUFZLENBQ25CLE1BQW1DO0lBRW5DLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNqQyxJQUFJLFFBQVEsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDekUsT0FBTyxRQUFRLENBQUE7SUFDakIsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDdEIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hFLE9BQU8sS0FBVSxDQUFBO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ3BFLE1BQU0sV0FBVyxHQUNmLEdBR0QsQ0FBQyxZQUFZLENBQUE7SUFFZCxJQUFJLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMxQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxL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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "customer-registration",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.118",
|
|
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",
|