mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
d047d44079
fixed up tests from titles we check when rendering, deleted them as they never catch anything important, more hastle than they are worth imo.
40 lines
No EOL
1.2 KiB
CoffeeScript
40 lines
No EOL
1.2 KiB
CoffeeScript
PasswordResetHandler = require("./PasswordResetHandler")
|
|
RateLimiter = require("../../infrastructure/RateLimiter")
|
|
|
|
|
|
module.exports =
|
|
|
|
renderRequestResetForm: (req, res)->
|
|
res.render "user/passwordReset",
|
|
title:"reset_password"
|
|
|
|
requestReset: (req, res)->
|
|
email = req.body.email.trim().toLowerCase()
|
|
opts =
|
|
endpointName: "password_reset_rate_limit"
|
|
timeInterval: 60
|
|
subjectName: req.ip
|
|
throttle: 6
|
|
RateLimiter.addCount opts, (err, canCompile)->
|
|
if !canCompile
|
|
return res.send 500, { message: req.i18n.translate("rate_limit_hit_wait")}
|
|
PasswordResetHandler.generateAndEmailResetToken email, (err)->
|
|
if err?
|
|
res.send 500, {message:err?.message}
|
|
else
|
|
res.send 200
|
|
|
|
renderSetPasswordForm: (req, res)->
|
|
res.render "user/setPassword",
|
|
title:"set_password"
|
|
passwordResetToken:req.query.passwordResetToken
|
|
|
|
setNewUserPassword: (req, res)->
|
|
{passwordResetToken, password} = req.body
|
|
if !password? or password.length == 0 or !passwordResetToken? or passwordResetToken.length == 0
|
|
return res.send 500
|
|
PasswordResetHandler.setNewUserPassword passwordResetToken?.trim(), password?.trim(), (err)->
|
|
if err?
|
|
res.send 500
|
|
else
|
|
res.send 200 |