@zimpligital/medusa-plugin-auth-otp
Version:
A starter for Medusa plugins.
50 lines • 4.09 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkCustomerAndCreateStep = void 0;
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
const utils_1 = require("@medusajs/framework/utils");
exports.checkCustomerAndCreateStep = (0, workflows_sdk_1.createStep)('check-customer-and-create-step', async (input, { container }) => {
const authService = container.resolve(utils_1.Modules.AUTH);
const customerService = container.resolve(utils_1.Modules.CUSTOMER);
const otpRequest = input.otp_request;
const [authIdentity] = await authService.listAuthIdentities({
provider_identities: {
entity_id: otpRequest.phone,
provider: 'auth-otp',
},
});
if (!authIdentity) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Auth identity not found for phone: ${otpRequest.phone}`);
}
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
const { data: [customerWithPhone], } = await query.graph({
entity: 'customer',
filters: {
phone: otpRequest.phone,
has_account: true,
},
fields: ['*'],
});
if (!customerWithPhone) {
const newCustomer = await customerService.createCustomers({
phone: otpRequest.phone,
email: `${otpRequest.phone}@email.com`,
has_account: true,
first_name: otpRequest.phone,
metadata: {
country_code: otpRequest.country_code,
},
});
return new workflows_sdk_1.StepResponse({
customer: newCustomer,
auth_identity: authIdentity,
is_new_account: true,
});
}
return new workflows_sdk_1.StepResponse({
auth_identity: authIdentity,
customer: customerWithPhone,
is_new_account: false,
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stY3VzdG9tZXItYW5kLWNyZWF0ZS1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy92ZXJpZnktb3RwLXdvcmtmbG93L3N0ZXBzL2NoZWNrLWN1c3RvbWVyLWFuZC1jcmVhdGUtc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UscURBSW1DO0FBR3RCLFFBQUEsMEJBQTBCLEdBQUcsSUFBQSwwQkFBVSxFQUNuRCxnQ0FBZ0MsRUFDaEMsS0FBSyxFQUFFLEtBQWtDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzNELE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFFckMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLE1BQU0sV0FBVyxDQUFDLGtCQUFrQixDQUFDO1FBQzNELG1CQUFtQixFQUFFO1lBQ3BCLFNBQVMsRUFBRSxVQUFVLENBQUMsS0FBSztZQUMzQixRQUFRLEVBQUUsVUFBVTtTQUNwQjtLQUNELENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksbUJBQVcsQ0FDcEIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixzQ0FBc0MsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakUsTUFBTSxFQUNMLElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDLEdBQ3pCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JCLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE9BQU8sRUFBRTtZQUNSLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztZQUN2QixXQUFXLEVBQUUsSUFBSTtTQUNqQjtRQUNELE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztLQUNiLENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLE1BQU0sZUFBZSxDQUFDLGVBQWUsQ0FBQztZQUN6RCxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7WUFDdkIsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUFDLEtBQUssWUFBWTtZQUN0QyxXQUFXLEVBQUUsSUFBSTtZQUNqQixVQUFVLEVBQUUsVUFBVSxDQUFDLEtBQUs7WUFDNUIsUUFBUSxFQUFFO2dCQUNULFlBQVksRUFBRSxVQUFVLENBQUMsWUFBWTthQUNyQztTQUNELENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSw0QkFBWSxDQUFDO1lBQ3ZCLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLGFBQWEsRUFBRSxZQUFZO1lBQzNCLGNBQWMsRUFBRSxJQUFJO1NBQ3BCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQztRQUN2QixhQUFhLEVBQUUsWUFBWTtRQUMzQixRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLGNBQWMsRUFBRSxLQUFLO0tBQ3JCLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FDRCxDQUFDIn0=