diff --git a/src/pages/api/configs/tryPassword.tsx b/src/pages/api/configs/tryPassword.tsx index 381845abf..1632985ab 100644 --- a/src/pages/api/configs/tryPassword.tsx +++ b/src/pages/api/configs/tryPassword.tsx @@ -2,26 +2,31 @@ import Consola from 'consola'; import { NextApiRequest, NextApiResponse } from 'next'; function Post(req: NextApiRequest, res: NextApiResponse) { - const { tried } = req.body; - // Try to match the password with the PASSWORD env variable - if (tried === process.env.PASSWORD) { + const { tried, type = 'password' } = req.body; + // If the type of password is "edit", we run this branch to check the edit password + if (type === 'edit') { + if (tried === process.env.EDIT_MODE_PASSWORD) { + process.env.DISABLE_EDIT_MODE = process.env.DISABLE_EDIT_MODE === 'true' ? 'false' : 'true'; + return res.status(200).json({ + success: true, + }); + } + } else if (tried === process.env.PASSWORD) { return res.status(200).json({ success: true, }); } - // Warn that there was a wrong password attempt (date : wrong password, person's IP) Consola.warn( `${new Date().toLocaleString()} : Wrong password attempt, from ${ req.headers['x-forwarded-for'] }` ); - return res.status(200).json({ + return res.status(401).json({ success: false, }); } export default async (req: NextApiRequest, res: NextApiResponse) => { - // Filter out if the request is a POST or a GET if (req.method === 'POST') { return Post(req, res); }