@@ -26,15 +26,27 @@ export async function createUser(
26
26
res : Response
27
27
) : Promise < Response > {
28
28
try {
29
- const { username , email , password , firstName , lastName } = req . body ;
29
+ const { firstName , lastName , username , email , password } = req . body ;
30
30
const existingUser = await _findUserByUsernameOrEmail ( username , email ) ;
31
31
if ( existingUser ) {
32
32
return res
33
33
. status ( 409 )
34
- . json ( { message : "username or email already exists" } ) ;
34
+ . json ( { message : "Username or email already exists" } ) ;
35
35
}
36
36
37
- if ( username && email && password && firstName && lastName ) {
37
+ if ( firstName && lastName && username && email && password ) {
38
+ const { isValid : isValidFirstName , message : firstNameMessage } =
39
+ validateName ( firstName , "first name" ) ;
40
+ if ( ! isValidFirstName ) {
41
+ return res . status ( 400 ) . json ( { message : firstNameMessage } ) ;
42
+ }
43
+
44
+ const { isValid : isValidLastName , message : lastNameMessage } =
45
+ validateName ( lastName , "last name" ) ;
46
+ if ( ! isValidLastName ) {
47
+ return res . status ( 400 ) . json ( { message : lastNameMessage } ) ;
48
+ }
49
+
38
50
const { isValid : isValidUsername , message : usernameMessage } =
39
51
validateUsername ( username ) ;
40
52
if ( ! isValidUsername ) {
@@ -56,36 +68,22 @@ export async function createUser(
56
68
const salt = bcrypt . genSaltSync ( 10 ) ;
57
69
const hashedPassword = bcrypt . hashSync ( password , salt ) ;
58
70
59
- const { isValid : isValidFirstName , message : firstNameMessage } =
60
- validateName ( firstName , "first name" ) ;
61
- if ( ! isValidFirstName ) {
62
- return res . status ( 400 ) . json ( { message : firstNameMessage } ) ;
63
- }
64
-
65
- const { isValid : isValidLastName , message : lastNameMessage } =
66
- validateName ( lastName , "last name" ) ;
67
- if ( ! isValidLastName ) {
68
- return res . status ( 400 ) . json ( { message : lastNameMessage } ) ;
69
- }
70
-
71
71
const createdUser = await _createUser (
72
+ firstName ,
73
+ lastName ,
72
74
username ,
73
75
email ,
74
76
hashedPassword ,
75
- firstName ,
76
- lastName
77
77
) ;
78
78
return res . status ( 201 ) . json ( {
79
79
message : `Created new user ${ username } successfully` ,
80
80
data : formatUserResponse ( createdUser ) ,
81
81
} ) ;
82
82
} else {
83
- return res
84
- . status ( 400 )
85
- . json ( {
86
- message :
87
- "username and/or email and/or password and/or first name and/or last name are missing" ,
88
- } ) ;
83
+ return res . status ( 400 ) . json ( {
84
+ message :
85
+ "At least one of first name, last name, username, email and password are missing" ,
86
+ } ) ;
89
87
}
90
88
} catch ( err ) {
91
89
console . error ( err ) ;
0 commit comments