UNPKG

@zimpligital/medusa-plugin-auth-otp

Version:
84 lines 5.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAuthIdentityStep = void 0; const utils_1 = require("@medusajs/framework/utils"); const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk"); const auth_otp_1 = require("../../../modules/auth-otp"); exports.createAuthIdentityStep = (0, workflows_sdk_1.createStep)("create-auth-identity-step", async (input, { container }) => { const authService = container.resolve(utils_1.Modules.AUTH); const authOTPService = container.resolve(auth_otp_1.AUTH_OTP_MODULE_SERVICE); const token = await authOTPService.generateJwtToken({ phone: input.phone, }); const [authOtpAuthIdentity] = await authService.listAuthIdentities({ provider_identities: { provider: "auth-otp", entity_id: input.phone, }, }, { take: 1, }); if (authOtpAuthIdentity) { return new workflows_sdk_1.StepResponse({ authIdentity: authOtpAuthIdentity, token, }); } // check if auth_identity with customer_id already exists const customerAuthIdentity = input.customer_id ? await authService .listAuthIdentities({ app_metadata: { customer_id: input.customer_id, }, }, { take: 1, }) .then((authIdentities) => authIdentities[0]) : null; // auth_identity with customer_id already exists let authIdentity = customerAuthIdentity; // auth_identity with customer_id doesn't exists if (!customerAuthIdentity) { authIdentity = await authService.createAuthIdentities({ provider_identities: [ { provider: "auth-otp", entity_id: input.phone, user_metadata: { phone: input.phone, }, provider_metadata: { phone: input.phone, }, }, ], }); // Only update when a new auth identity is created const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY); const { data: [customerWithPhone], } = await query.graph({ entity: "customer", filters: { phone: input.phone, has_account: true, }, fields: ["*"], pagination: { take: 1, }, }); if (customerWithPhone && authIdentity) { await authService.updateAuthIdentities({ id: authIdentity.id, app_metadata: { customer_id: customerWithPhone.id, }, }); } } return new workflows_sdk_1.StepResponse({ authIdentity, token, }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dGgtaWRlbnRpdHktc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcmVxdWVzdC1vdHAtd29ya2Zsb3cvc3RlcHMvY3JlYXRlLWF1dGgtaWRlbnRpdHktc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBK0U7QUFDL0UscUVBQTZFO0FBQzdFLHdEQUFvRTtBQVN2RCxRQUFBLHNCQUFzQixHQUFHLElBQUEsMEJBQVUsRUFDL0MsMkJBQTJCLEVBQzNCLEtBQUssRUFBRSxLQUFrQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMzRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxNQUFNLGNBQWMsR0FBeUIsU0FBUyxDQUFDLE9BQU8sQ0FDN0Qsa0NBQXVCLENBQ3ZCLENBQUM7SUFFRixNQUFNLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNuRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7S0FDbEIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsTUFBTSxXQUFXLENBQUMsa0JBQWtCLENBQ2pFO1FBQ0MsbUJBQW1CLEVBQUU7WUFDcEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLO1NBQ3RCO0tBQ0QsRUFDRDtRQUNDLElBQUksRUFBRSxDQUFDO0tBQ1AsQ0FDRCxDQUFDO0lBQ0YsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSw0QkFBWSxDQUFDO1lBQ3ZCLFlBQVksRUFBRSxtQkFBbUI7WUFDakMsS0FBSztTQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCx5REFBeUQ7SUFDekQsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsV0FBVztRQUM3QyxDQUFDLENBQUMsTUFBTSxXQUFXO2FBQ2pCLGtCQUFrQixDQUNsQjtZQUNDLFlBQVksRUFBRTtnQkFDYixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDOUI7U0FDRCxFQUNEO1lBQ0MsSUFBSSxFQUFFLENBQUM7U0FDUCxDQUNEO2FBQ0EsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVSLGdEQUFnRDtJQUNoRCxJQUFJLFlBQVksR0FBRyxvQkFBb0IsQ0FBQztJQUV4QyxnREFBZ0Q7SUFDaEQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDM0IsWUFBWSxHQUFHLE1BQU0sV0FBVyxDQUFDLG9CQUFvQixDQUFDO1lBQ3JELG1CQUFtQixFQUFFO2dCQUNwQjtvQkFDQyxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLO29CQUN0QixhQUFhLEVBQUU7d0JBQ2QsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO3FCQUNsQjtvQkFDRCxpQkFBaUIsRUFBRTt3QkFDbEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO3FCQUNsQjtpQkFDRDthQUNEO1NBQ0QsQ0FBQyxDQUFDO1FBRUgsa0RBQWtEO1FBQ2xELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsTUFBTSxFQUNMLElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDLEdBQ3pCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3JCLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLE9BQU8sRUFBRTtnQkFDUixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLFdBQVcsRUFBRSxJQUFJO2FBQ2pCO1lBQ0QsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ2IsVUFBVSxFQUFFO2dCQUNYLElBQUksRUFBRSxDQUFDO2FBQ1A7U0FDRCxDQUFDLENBQUM7UUFFSCxJQUFJLGlCQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sV0FBVyxDQUFDLG9CQUFvQixDQUFDO2dCQUN0QyxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUU7Z0JBQ25CLFlBQVksRUFBRTtvQkFDYixXQUFXLEVBQUUsaUJBQWlCLENBQUMsRUFBRTtpQkFDakM7YUFDRCxDQUFDLENBQUM7UUFDSixDQUFDO0lBQ0YsQ0FBQztJQUdELE9BQU8sSUFBSSw0QkFBWSxDQUFDO1FBQ3ZCLFlBQVk7UUFDWixLQUFLO0tBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUNELENBQUMifQ==