aboutsummaryrefslogtreecommitdiffstats
path: root/pages/api
diff options
context:
space:
mode:
authorGravatar piotrruss <mail@pruss.it> 2021-08-22 14:33:54 +0200
committerGravatar piotrruss <mail@pruss.it> 2021-08-29 15:35:49 +0200
commit9f74c550927671f4ded301d0cf3e9d592716375c (patch)
tree6075bead5939bfb9c3b6137fc5ef865f088b57cb /pages/api
parent71cc09db93ec9b079a30593e14ca57c98fdc94ac (diff)
downloadmy_apps-9f74c550927671f4ded301d0cf3e9d592716375c.tar.gz
my_apps-9f74c550927671f4ded301d0cf3e9d592716375c.tar.bz2
my_apps-9f74c550927671f4ded301d0cf3e9d592716375c.zip
settings
Diffstat (limited to 'pages/api')
-rw-r--r--pages/api/login.js4
-rw-r--r--pages/api/register.js4
-rw-r--r--pages/api/settings.js27
3 files changed, 31 insertions, 4 deletions
diff --git a/pages/api/login.js b/pages/api/login.js
index 30edda1..db39bda 100644
--- a/pages/api/login.js
+++ b/pages/api/login.js
@@ -10,10 +10,10 @@ export default withSession(async (req, res) => {
switch (method) {
case 'POST':
try {
- const {_id, email, isVerified, noteList} = await User.findByCredentials(req.body.email, req.body.password);
+ const {_id, email, isVerified, noteList, theme, language} = await User.findByCredentials(req.body.email, req.body.password);
if (!email) { throw new Error('Something went wrong') }
- const user = {_id, email, isVerified, isLoggedIn: true, noteList}
+ const user = {_id, email, isVerified, isLoggedIn: true, noteList, theme, language}
req.session.set('user', user)
await req.session.save()
res.status(201).json(user)
diff --git a/pages/api/register.js b/pages/api/register.js
index f89e347..1407146 100644
--- a/pages/api/register.js
+++ b/pages/api/register.js
@@ -13,12 +13,12 @@ export default withSession(async (req, res) => {
try {
const noteList = await NoteList.create({})
- const {_id, email, verificationKey: key} = await User.create({...req.body, noteList})
+ const {_id, email, verificationKey: key, theme, language} = await User.create({...req.body, noteList})
if (!email) { throw new Error('Something went wrong') }
sendMail(req.body.email, subject, text(key), html(key))
- const user = {_id, email, noteList, isVerified: false, isLoggedIn: true}
+ const user = {_id, email, noteList, theme, language, isVerified: false, isLoggedIn: true}
req.session.set('user', user)
await req.session.save()
res.status(201).json(user)
diff --git a/pages/api/settings.js b/pages/api/settings.js
new file mode 100644
index 0000000..e70868e
--- /dev/null
+++ b/pages/api/settings.js
@@ -0,0 +1,27 @@
+import withSession from 'lib/withSession'
+import User from 'models/User'
+import dbConnect from 'lib/dbConnect'
+
+export default withSession(async (req, res) => {
+ await dbConnect()
+
+ switch (req.method) {
+ case 'POST':
+ try {
+ if (req.body.theme && req.body.language) {
+ const user = await User.saveSettings(req.body)
+ req.session.set('user', user)
+ await req.session.save()
+ res.status(200).json(user)
+ }
+ } catch (error) {
+ console.log(error)
+ res.status(400).send()
+ }
+ break
+ default:
+ res.status(400).send()
+ break
+ }
+})
+