@zimpligital/medusa-plugin-auth-otp
Version:
A starter for Medusa plugins.
49 lines • 3.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.POST = void 0;
const auth_otp_1 = require("../../../../../modules/auth-otp");
const verify_otp_workflow_1 = require("../../../../../workflows/verify-otp-workflow");
const POST = async (req, res) => {
const customer_id = req.auth_context?.actor_id || '';
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,
customer_id
},
});
return res.status(200).json({
customer_id,
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2F1dGgvY3VzdG9tZXIvYXV0aC1vdHAvdmVyaWZ5L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDhEQUEwRTtBQUUxRSxzRkFBaUY7QUFTMUUsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN4QixHQUFpRCxFQUNqRCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO0lBQ3JELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFFdEIsTUFBTSxjQUFjLEdBQXlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUM3RCxrQ0FBdUIsQ0FDdkIsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLElBQUEsdUNBQWlCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTlDLElBQUksQ0FBQztRQUNKLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFDckMsS0FBSyxFQUFFO2dCQUNOLEdBQUcsSUFBSTtnQkFDUCxXQUFXO2FBQ1g7U0FDRCxDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzNCLFdBQVc7WUFDWCxPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYztTQUNyQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNoQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssdUJBQXVCLEVBQUUsQ0FBQztZQUM1QyxNQUFNLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ2pCLENBQUMsQ0FBQztZQUNILE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzNCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNoQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLFFBQVEsRUFBRSxPQUFPO2FBQ2pCLENBQUMsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDM0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNoQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTzthQUN0QixDQUFDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUM7SUFDYixDQUFDO0FBQ0YsQ0FBQyxDQUFDO0FBbERXLFFBQUEsSUFBSSxRQWtEZiJ9