import dbConnect from 'configs/dbConnect' import withSession from 'hocs/withSession' import sendMail from 'configs/sendMail' import mailData from 'helpers/email' import User from 'models/User' export default withSession(async (req, res) => { await dbConnect() switch (req.method) { case 'POST': try { const data = JSON.parse(req.body) if (data._id && data.currentPassword && data.newPassword) { const user = await User.savePassword(data) req.session.set('user', user) await req.session.save() sendMail({to: user.email, ...mailData('p', user.language)}) res.status(200).json(user) } } catch (error) { if (error?.message === 'Wrong password') { res.status(401).send({ error: 'Wrong password' }) } else { res.status(400).send({ error }) } } break default: res.status(400).send({ error }) break } })