UNPKG

@zimpligital/medusa-plugin-auth-otp

Version:
77 lines 6.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.checkCustomerAndCreateStep = void 0; const utils_1 = require("@medusajs/framework/utils"); const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const generateFakeEmail = (phone) => { const random10String = Array.from({ length: 10 }, () => String.fromCharCode(97 + Math.floor(Math.random() * 26))).join(''); const email = `${phone}-${random10String}@email.com`; return email; }; 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 query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY); if (input.customer_id) { const customerAuthIdentity = await authService .listAuthIdentities({ app_metadata: { customer_id: input.customer_id, }, }, { take: 1 }) .then((authIdentities) => authIdentities[0]); const { data: [customerById], } = await query.graph({ entity: 'customer', filters: { id: input.customer_id, }, fields: ['*'], }); return new workflows_sdk_1.StepResponse({ auth_identity: customerAuthIdentity, customer: customerById, is_new_account: false, }); } 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 { data: [customerWithPhone], } = await query.graph({ entity: 'customer', filters: { phone: otpRequest.phone, has_account: true, }, fields: ['*'], }); if (!customerWithPhone) { const email = generateFakeEmail(otpRequest.phone); const newCustomer = await customerService.createCustomers({ phone: otpRequest.phone, email, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stY3VzdG9tZXItYW5kLWNyZWF0ZS1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy92ZXJpZnktb3RwLXdvcmtmbG93L3N0ZXBzL2NoZWNrLWN1c3RvbWVyLWFuZC1jcmVhdGUtc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFJbUM7QUFDbkMscUVBQTZFO0FBRzdFLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUMzQyxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUN0RCxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUN4RCxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVYLE1BQU0sS0FBSyxHQUFHLEdBQUcsS0FBSyxJQUFJLGNBQWMsWUFBWSxDQUFDO0lBQ3JELE9BQU8sS0FBSyxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRVcsUUFBQSwwQkFBMEIsR0FBRyxJQUFBLDBCQUFVLEVBQ25ELGdDQUFnQyxFQUNoQyxLQUFLLEVBQUUsS0FBd0QsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDakYsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUNyQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUss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