@zimpligital/medusa-plugin-auth-otp
Version:
A starter for Medusa plugins.
66 lines • 4.44 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createAuthIdentityStep = void 0;
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
const utils_1 = require("@medusajs/framework/utils");
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 [authIdentity] = await authService.listAuthIdentities({
provider_identities: {
provider: "auth-otp",
entity_id: input.phone,
},
}, {
take: 1,
});
if (authIdentity) {
return new workflows_sdk_1.StepResponse({
authIdentity,
token,
});
}
const newAuthIdentity = await authService.createAuthIdentities({
provider_identities: [
{
provider: "auth-otp",
entity_id: input.phone,
user_metadata: {
phone: input.phone,
},
provider_metadata: {
phone: input.phone,
},
},
],
});
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 && newAuthIdentity) {
await authService.updateAuthIdentities({
id: newAuthIdentity.id,
app_metadata: {
customer_id: customerWithPhone.id,
},
});
}
return new workflows_sdk_1.StepResponse({
authIdentity: newAuthIdentity,
token,
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dGgtaWRlbnRpdHktc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcmVxdWVzdC1vdHAtd29ya2Zsb3cvc3RlcHMvY3JlYXRlLWF1dGgtaWRlbnRpdHktc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UscURBQStFO0FBRS9FLHdEQUFvRTtBQU92RCxRQUFBLHNCQUFzQixHQUFHLElBQUEsMEJBQVUsRUFDL0MsMkJBQTJCLEVBQzNCLEtBQUssRUFBRSxLQUFrQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMzRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxNQUFNLGNBQWMsR0FBeUIsU0FBUyxDQUFDLE9BQU8sQ0FDN0Qsa0NBQXVCLENBQ3ZCLENBQUM7SUFFRixNQUFNLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNuRCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7S0FDbEIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLE1BQU0sV0FBVyxDQUFDLGtCQUFrQixDQUMxRDtRQUNDLG1CQUFtQixFQUFFO1lBQ3BCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRSxLQUFLLENBQUMsS0FBSztTQUN0QjtLQUNELEVBQ0Q7UUFDQyxJQUFJLEVBQUUsQ0FBQztLQUNQLENBQ0QsQ0FBQztJQUNGLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLDRCQUFZLENBQUM7WUFDdkIsWUFBWTtZQUNaLEtBQUs7U0FDTCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxXQUFXLENBQUMsb0JBQW9CLENBQUM7UUFDOUQsbUJBQW1CLEVBQUU7WUFDcEI7Z0JBQ0MsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFNBQVMsRUFBRSxLQUFLLENBQUMsS0FBSztnQkFDdEIsYUFBYSxFQUFFO29CQUNkLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztpQkFDbEI7Z0JBQ0QsaUJBQWlCLEVBQUU7b0JBQ2xCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztpQkFDbEI7YUFDRDtTQUNEO0tBQ0QsQ0FBQyxDQUFDO0lBRUgsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxNQUFNLEVBQ0wsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsR0FDekIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDckIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsT0FBTyxFQUFFO1lBQ1IsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLFdBQVcsRUFBRSxJQUFJO1NBQ2pCO1FBQ0QsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2IsVUFBVSxFQUFFO1lBQ1gsSUFBSSxFQUFFLENBQUM7U0FDUDtLQUNELENBQUMsQ0FBQztJQUVILElBQUksaUJBQWlCLElBQUksZUFBZSxFQUFFLENBQUM7UUFDMUMsTUFBTSxXQUFXLENBQUMsb0JBQW9CLENBQUM7WUFDdEMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxFQUFFO1lBQ3RCLFlBQVksRUFBRTtnQkFDYixXQUFXLEVBQUUsaUJBQWlCLENBQUMsRUFBRTthQUNqQztTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQztRQUN2QixZQUFZLEVBQUUsZUFBZTtRQUM3QixLQUFLO0tBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUNELENBQUMifQ==