aboutsummaryrefslogtreecommitdiffstats
path: root/pages
diff options
context:
space:
mode:
Diffstat (limited to 'pages')
-rw-r--r--pages/api/password.js35
-rw-r--r--pages/api/register.js4
-rw-r--r--pages/api/settings.js1
-rw-r--r--pages/api/verify.js4
4 files changed, 39 insertions, 5 deletions
diff --git a/pages/api/password.js b/pages/api/password.js
new file mode 100644
index 0000000..871c9e6
--- /dev/null
+++ b/pages/api/password.js
@@ -0,0 +1,35 @@
+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
+ }
+})
diff --git a/pages/api/register.js b/pages/api/register.js
index 2c866de..56c8ba9 100644
--- a/pages/api/register.js
+++ b/pages/api/register.js
@@ -1,7 +1,7 @@
import dbConnect from 'configs/dbConnect'
import sendMail from 'configs/sendMail'
import withSession from 'hocs/withSession'
-import { subject, text, html } from 'helpers/email'
+import mailData from 'helpers/email'
import User from 'models/User'
import NoteList from 'apps/Notes/models/NoteList'
@@ -20,7 +20,7 @@ export default withSession(async (req, res) => {
if (!email) { throw new Error('Something went wrong') }
- sendMail(body.email, subject(language), text(language, key), html(language, key))
+ sendMail({to: body.email, ...mailData('v', language, key)})
const user = { _id, email, noteList, theme, language, isVerified: false, isLoggedIn: true }
req.session.set('user', user)
diff --git a/pages/api/settings.js b/pages/api/settings.js
index f0d8e06..868f957 100644
--- a/pages/api/settings.js
+++ b/pages/api/settings.js
@@ -15,7 +15,6 @@ export default withSession(async (req, res) => {
res.status(200).json(user)
}
} catch (error) {
- console.log(error)
res.status(400).send()
}
break
diff --git a/pages/api/verify.js b/pages/api/verify.js
index 89bd4cd..edcc7a9 100644
--- a/pages/api/verify.js
+++ b/pages/api/verify.js
@@ -2,7 +2,7 @@ import dbConnect from 'configs/dbConnect'
import sendMail from 'configs/sendMail'
import User from 'models/User'
import withSession from 'hocs/withSession'
-import { subject, text, html } from 'helpers/email'
+import mailData from 'helpers/email'
export default withSession(async (req, res) => {
await dbConnect()
@@ -16,7 +16,7 @@ export default withSession(async (req, res) => {
const key = await User.getVerificationKey(email)
if (!key) { throw new Error('Something went wrong') }
- const response = await sendMail(email, subject(l), text(l, key), html(l, key))
+ const response = await sendMail({to: email, ...mailData('v', l, key)})
if (!response?.accepted?.length) { throw new Error('Something went wrong') }
res.status(204).send()