diff --git a/src/services/api/routes/v1/forgotPassword.ts b/src/services/api/routes/v1/forgotPassword.ts index a45f189..99f127d 100644 --- a/src/services/api/routes/v1/forgotPassword.ts +++ b/src/services/api/routes/v1/forgotPassword.ts @@ -1,9 +1,9 @@ import express from 'express'; import validator from 'validator'; -import hcaptcha from "hcaptcha"; +import hcaptcha from 'hcaptcha'; import { getPNIDByEmailAddress, getPNIDByUsername } from '@/database'; import { sendForgotPasswordEmail } from '@/util'; -import { config, disabledFeatures } from "@/config-manager"; +import { config, disabledFeatures } from '@/config-manager'; import { HydratedPNIDDocument } from '@/types/mongoose/pnid'; const router = express.Router(); @@ -11,59 +11,59 @@ const router = express.Router(); router.post('/', async (request: express.Request, response: express.Response): Promise => { const input = request.body?.input; const hCaptchaResponse = request.body.hCaptchaResponse?.trim(); - + if (!disabledFeatures.captcha) { - if (!hCaptchaResponse || hCaptchaResponse === "") { - response.status(400).json({ - app: "api", - status: 400, - error: "Must fill in captcha", - }); - - return; - } + if (!hCaptchaResponse || hCaptchaResponse === '') { + response.status(400).json({ + app: 'api', + status: 400, + error: 'Must fill in captcha', + }); + + return; + } - const captchaVerify = await hcaptcha.verify( - config.hcaptcha.secret, - hCaptchaResponse - ); + const captchaVerify = await hcaptcha.verify( + config.hcaptcha.secret, + hCaptchaResponse + ); - if (!captchaVerify.success) { - response.status(400).json({ - app: "api", - status: 400, - error: "Captcha verification failed", - }); + if (!captchaVerify.success) { + response.status(400).json({ + app: 'api', + status: 400, + error: 'Captcha verification failed', + }); - return; - } + return; + } } if (!input || input.trim() === '') { - response.status(400).json({ - app: 'api', - status: 400, - error: 'Invalid or missing input' - }); - - return; + response.status(400).json({ + app: 'api', + status: 400, + error: 'Invalid or missing input' + }); + + return; } let pnid: HydratedPNIDDocument | null; if (validator.isEmail(input)) { - pnid = await getPNIDByEmailAddress(input); + pnid = await getPNIDByEmailAddress(input); } else { - pnid = await getPNIDByUsername(input); + pnid = await getPNIDByUsername(input); } if (pnid) { - await sendForgotPasswordEmail(pnid); + await sendForgotPasswordEmail(pnid); } response.json({ - app: 'api', - status: 200 + app: 'api', + status: 200 }); });