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