Skip to content

Commit 2b9c101

Browse files
committed
Update Profile
1 parent e084eea commit 2b9c101

2 files changed

Lines changed: 70 additions & 0 deletions

File tree

app.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const users = require('./routes/users');
1414
const ban = require('./routes/ban');
1515
const verification = require('./routes/verification');
1616
const otp = require('./routes/otp');
17+
const profile = require('./routes/profile');
1718

1819
const app = express();
1920

@@ -29,6 +30,7 @@ app.use('/api/users', users);
2930
app.use('/api/ban', ban);
3031
app.use('/api/verification', verification);
3132
app.use('/api/otp', otp);
33+
app.use('/api/profile', profile);
3234

3335
//read config
3436
debugStartup('Application Name: '+config.get('name'));

routes/profile.js

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
const express = require('express');
2+
const router = express.Router();
3+
const debugRoute = require('debug')('app:route');
4+
//Services
5+
const dbAdapter = require('../services/dbAdapter');
6+
//Middleware
7+
const auth = require('../middleware/auth');
8+
const Joi = require("joi");
9+
10+
router.put('/first-name',auth, async (req, res) => {
11+
if (!req.body.first_name) {
12+
debugRoute("PUT /api/profile/vorname - 400 - No first name provided");
13+
return res.status(400).send("No first name provided");
14+
}
15+
16+
let user = await dbAdapter.getUserById(req.user.sub);
17+
user.first_name = req.body.first_name;
18+
await dbAdapter.updateUser(user);
19+
res.send(true);
20+
});
21+
22+
router.put('/last-name',auth, async (req, res) => {
23+
if (!req.body.last_name) {
24+
debugRoute("PUT /api/profile/vorname - 400 - No first name provided");
25+
return res.status(400).send("No first name provided");
26+
}
27+
28+
let user = await dbAdapter.getUserById(req.user.sub);
29+
user.last_name = req.body.last_name;
30+
await dbAdapter.updateUser(user);
31+
res.send(true);
32+
});
33+
34+
router.put('/address',auth, async (req, res) => {
35+
if (!req.body.address) {
36+
debugRoute("PUT /api/profile/address - 400 - No address provided");
37+
return res.status(400).send("No address provided");
38+
}
39+
40+
let user = await dbAdapter.getUserById(req.user.sub);
41+
user.address = req.body.address;
42+
await dbAdapter.updateUser(user);
43+
res.send(true);
44+
});
45+
46+
router.put('/birth-date',auth, async (req, res) => {
47+
if (!req.body.birth_date) {
48+
debugRoute("PUT /api/profile/birth-date - 400 - No birth date provided");
49+
return res.status(400).send("No birth date provided");
50+
}
51+
52+
let {error} = Joi.object({
53+
birth_date: Joi.date().required()
54+
}).validate(req.body);
55+
56+
if (error) {
57+
debugRoute("PUT /api/profile/birth-date - 400 - Invalid birth date");
58+
return res.status(400).send("Invalid birth date");
59+
}
60+
61+
let user = await dbAdapter.getUserById(req.user.sub);
62+
user.birth_date = new Date(req.body.birth_date);
63+
await dbAdapter.updateUser(user);
64+
res.send(true);
65+
});
66+
67+
68+
module.exports = router;

0 commit comments

Comments
 (0)