@zimpligital/medusa-plugin-auth-otp
Version:
A starter for Medusa plugins.
46 lines • 3.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.POST = void 0;
const verify_otp_workflow_1 = require("../../../../../workflows/verify-otp-workflow");
const auth_otp_1 = require("../../../../../modules/auth-otp");
const POST = async (req, res) => {
const body = req.body;
const authOTPService = req.scope.resolve(auth_otp_1.AUTH_OTP_MODULE_SERVICE);
const workflow = (0, verify_otp_workflow_1.verifyOTPWorkflow)(req.scope);
try {
const { result } = await workflow.run({
input: {
...body,
},
});
return res.status(200).json({
success: true,
message: 'OTP verified successfully',
token: result.token,
is_new_account: result.is_new_account,
});
}
catch (error) {
if (error.code === 'OTP_ATTEMPTS_EXCEEDED') {
const retryAt = await authOTPService.getRequestRetryAt({
phone: body.phone,
});
return res.status(200).json({
code: error.code,
type: error.type,
message: error.message,
retry_at: retryAt,
});
}
if (['OTP_EXPIRED', 'INVALID_OTP', 'NOT_FOUND'].includes(error.code)) {
return res.status(200).json({
code: error.code,
type: error.type,
message: error.message,
});
}
throw error;
}
};
exports.POST = POST;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2F1dGgvY3VzdG9tZXIvYXV0aC1vdHAvdmVyaWZ5L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHNGQUFpRjtBQUNqRiw4REFBMEU7QUFVbkUsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN4QixHQUFvQyxFQUNwQyxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztJQUV0QixNQUFNLGNBQWMsR0FBeUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzdELGtDQUF1QixDQUN2QixDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBQSx1Q0FBaUIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFOUMsSUFBSSxDQUFDO1FBQ0osTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNyQyxLQUFLLEVBQUU7Z0JBQ04sR0FBRyxJQUFJO2FBQ1A7U0FDRCxDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzNCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjO1NBQ3JDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2hCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyx1QkFBdUIsRUFBRSxDQUFDO1lBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLGlCQUFpQixDQUFDO2dCQUN0RCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDakIsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDM0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNoQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsUUFBUSxFQUFFLE9BQU87YUFDakIsQ0FBQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN0RSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUMzQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2FBQ3RCLENBQUMsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQztJQUNiLENBQUM7QUFDRixDQUFDLENBQUM7QUEvQ1csUUFBQSxJQUFJLFFBK0NmIn0=