@@ -21,26 +21,34 @@ import {
21
21
} from "../utils/validators" ;
22
22
import { IUser } from "../model/user-model" ;
23
23
24
- export async function createUser ( req : Request , res : Response ) : Promise < Response > {
24
+ export async function createUser (
25
+ req : Request ,
26
+ res : Response
27
+ ) : Promise < Response > {
25
28
try {
26
29
const { username, email, password } = req . body ;
27
30
const existingUser = await _findUserByUsernameOrEmail ( username , email ) ;
28
31
if ( existingUser ) {
29
- return res . status ( 409 ) . json ( { message : "username or email already exists" } ) ;
32
+ return res
33
+ . status ( 409 )
34
+ . json ( { message : "username or email already exists" } ) ;
30
35
}
31
36
32
37
if ( username && email && password ) {
33
- const { isValid : isValidUsername , message : usernameMessage } = validateUsername ( username ) ;
38
+ const { isValid : isValidUsername , message : usernameMessage } =
39
+ validateUsername ( username ) ;
34
40
if ( ! isValidUsername ) {
35
41
return res . status ( 400 ) . json ( { message : usernameMessage } ) ;
36
42
}
37
43
38
- const { isValid : isValidEmail , message : emailMessage } = validateEmail ( email ) ;
44
+ const { isValid : isValidEmail , message : emailMessage } =
45
+ validateEmail ( email ) ;
39
46
if ( ! isValidEmail ) {
40
47
return res . status ( 400 ) . json ( { message : emailMessage } ) ;
41
48
}
42
49
43
- const { isValid : isValidPassword , message : passwordMessage } = validatePassword ( password ) ;
50
+ const { isValid : isValidPassword , message : passwordMessage } =
51
+ validatePassword ( password ) ;
44
52
if ( ! isValidPassword ) {
45
53
return res . status ( 400 ) . json ( { message : passwordMessage } ) ;
46
54
}
@@ -53,11 +61,15 @@ export async function createUser(req: Request, res: Response): Promise<Response>
53
61
data : formatUserResponse ( createdUser ) ,
54
62
} ) ;
55
63
} else {
56
- return res . status ( 400 ) . json ( { message : "username and/or email and/or password are missing" } ) ;
64
+ return res
65
+ . status ( 400 )
66
+ . json ( { message : "username and/or email and/or password are missing" } ) ;
57
67
}
58
68
} catch ( err ) {
59
69
console . error ( err ) ;
60
- return res . status ( 500 ) . json ( { message : "Unknown error when creating new user!" } ) ;
70
+ return res
71
+ . status ( 500 )
72
+ . json ( { message : "Unknown error when creating new user!" } ) ;
61
73
}
62
74
}
63
75
@@ -72,30 +84,59 @@ export async function getUser(req: Request, res: Response): Promise<Response> {
72
84
if ( ! user ) {
73
85
return res . status ( 404 ) . json ( { message : `User ${ userId } not found` } ) ;
74
86
} else {
75
- return res . status ( 200 ) . json ( { message : `Found user` , data : formatUserResponse ( user ) } ) ;
87
+ return res
88
+ . status ( 200 )
89
+ . json ( { message : `Found user` , data : formatUserResponse ( user ) } ) ;
76
90
}
77
91
} catch ( err ) {
78
92
console . error ( err ) ;
79
- return res . status ( 500 ) . json ( { message : "Unknown error when getting user!" } ) ;
93
+ return res
94
+ . status ( 500 )
95
+ . json ( { message : "Unknown error when getting user!" } ) ;
80
96
}
81
97
}
82
98
83
- export async function getAllUsers ( req : Request , res : Response ) : Promise < Response > {
99
+ export async function getAllUsers (
100
+ req : Request ,
101
+ res : Response
102
+ ) : Promise < Response > {
84
103
try {
85
104
const users = await _findAllUsers ( ) ;
86
105
87
- return res . status ( 200 ) . json ( { message : `Found users` , data : users . map ( formatUserResponse ) } ) ;
106
+ return res
107
+ . status ( 200 )
108
+ . json ( { message : `Found users` , data : users . map ( formatUserResponse ) } ) ;
88
109
} catch ( err ) {
89
110
console . error ( err ) ;
90
- return res . status ( 500 ) . json ( { message : "Unknown error when getting all users!" } ) ;
111
+ return res
112
+ . status ( 500 )
113
+ . json ( { message : "Unknown error when getting all users!" } ) ;
91
114
}
92
115
}
93
116
94
- export async function updateUser ( req : Request , res : Response ) : Promise < Response > {
117
+ export async function updateUser (
118
+ req : Request ,
119
+ res : Response
120
+ ) : Promise < Response > {
95
121
try {
96
- const { username, email, password, profilePictureUrl, firstName, lastName, biography } =
97
- req . body ;
98
- if ( username || email || password || profilePictureUrl || firstName || lastName || biography ) {
122
+ const {
123
+ username,
124
+ email,
125
+ password,
126
+ profilePictureUrl,
127
+ firstName,
128
+ lastName,
129
+ biography,
130
+ } = req . body ;
131
+ if (
132
+ username ||
133
+ email ||
134
+ password ||
135
+ profilePictureUrl ||
136
+ firstName ||
137
+ lastName ||
138
+ biography
139
+ ) {
99
140
const userId = req . params . id ;
100
141
101
142
if ( ! isValidObjectId ( userId ) ) {
@@ -108,7 +149,8 @@ export async function updateUser(req: Request, res: Response): Promise<Response>
108
149
}
109
150
110
151
if ( username ) {
111
- const { isValid : isValidUsername , message : usernameMessage } = validateUsername ( username ) ;
152
+ const { isValid : isValidUsername , message : usernameMessage } =
153
+ validateUsername ( username ) ;
112
154
if ( ! isValidUsername ) {
113
155
return res . status ( 400 ) . json ( { message : usernameMessage } ) ;
114
156
}
@@ -120,7 +162,8 @@ export async function updateUser(req: Request, res: Response): Promise<Response>
120
162
}
121
163
122
164
if ( email ) {
123
- const { isValid : isValidEmail , message : emailMessage } = validateEmail ( email ) ;
165
+ const { isValid : isValidEmail , message : emailMessage } =
166
+ validateEmail ( email ) ;
124
167
if ( ! isValidEmail ) {
125
168
return res . status ( 400 ) . json ( { message : emailMessage } ) ;
126
169
}
@@ -133,7 +176,8 @@ export async function updateUser(req: Request, res: Response): Promise<Response>
133
176
134
177
let hashedPassword : string | undefined ;
135
178
if ( password ) {
136
- const { isValid : isValidPassword , message : passwordMessage } = validatePassword ( password ) ;
179
+ const { isValid : isValidPassword , message : passwordMessage } =
180
+ validatePassword ( password ) ;
137
181
if ( ! isValidPassword ) {
138
182
return res . status ( 400 ) . json ( { message : passwordMessage } ) ;
139
183
}
@@ -143,20 +187,16 @@ export async function updateUser(req: Request, res: Response): Promise<Response>
143
187
}
144
188
145
189
if ( firstName ) {
146
- const { isValid : isValidFirstName , message : firstNameMessage } = validateName (
147
- firstName ,
148
- "first name"
149
- ) ;
190
+ const { isValid : isValidFirstName , message : firstNameMessage } =
191
+ validateName ( firstName , "first name" ) ;
150
192
if ( ! isValidFirstName ) {
151
193
return res . status ( 400 ) . json ( { message : firstNameMessage } ) ;
152
194
}
153
195
}
154
196
155
197
if ( lastName ) {
156
- const { isValid : isValidLastName , message : lastNameMessage } = validateName (
157
- lastName ,
158
- "last name"
159
- ) ;
198
+ const { isValid : isValidLastName , message : lastNameMessage } =
199
+ validateName ( lastName , "last name" ) ;
160
200
if ( ! isValidLastName ) {
161
201
return res . status ( 400 ) . json ( { message : lastNameMessage } ) ;
162
202
}
@@ -192,11 +232,16 @@ export async function updateUser(req: Request, res: Response): Promise<Response>
192
232
}
193
233
} catch ( err ) {
194
234
console . error ( err ) ;
195
- return res . status ( 500 ) . json ( { message : "Unknown error when updating user!" } ) ;
235
+ return res
236
+ . status ( 500 )
237
+ . json ( { message : "Unknown error when updating user!" } ) ;
196
238
}
197
239
}
198
240
199
- export async function updateUserPrivilege ( req : Request , res : Response ) : Promise < Response > {
241
+ export async function updateUserPrivilege (
242
+ req : Request ,
243
+ res : Response
244
+ ) : Promise < Response > {
200
245
try {
201
246
const { isAdmin } = req . body ;
202
247
@@ -211,7 +256,10 @@ export async function updateUserPrivilege(req: Request, res: Response): Promise<
211
256
return res . status ( 404 ) . json ( { message : `User ${ userId } not found` } ) ;
212
257
}
213
258
214
- const updatedUser = await _updateUserPrivilegeById ( userId , isAdmin === true ) ;
259
+ const updatedUser = await _updateUserPrivilegeById (
260
+ userId ,
261
+ isAdmin === true
262
+ ) ;
215
263
return res . status ( 200 ) . json ( {
216
264
message : `Updated privilege for user ${ userId } ` ,
217
265
data : formatUserResponse ( updatedUser as IUser ) ,
@@ -221,11 +269,16 @@ export async function updateUserPrivilege(req: Request, res: Response): Promise<
221
269
}
222
270
} catch ( err ) {
223
271
console . error ( err ) ;
224
- return res . status ( 500 ) . json ( { message : "Unknown error when updating user privilege!" } ) ;
272
+ return res
273
+ . status ( 500 )
274
+ . json ( { message : "Unknown error when updating user privilege!" } ) ;
225
275
}
226
276
}
227
277
228
- export async function deleteUser ( req : Request , res : Response ) : Promise < Response > {
278
+ export async function deleteUser (
279
+ req : Request ,
280
+ res : Response
281
+ ) : Promise < Response > {
229
282
try {
230
283
const userId = req . params . id ;
231
284
if ( ! isValidObjectId ( userId ) ) {
@@ -237,10 +290,14 @@ export async function deleteUser(req: Request, res: Response): Promise<Response>
237
290
}
238
291
239
292
await _deleteUserById ( userId ) ;
240
- return res . status ( 200 ) . json ( { message : `Deleted user ${ userId } successfully` } ) ;
293
+ return res
294
+ . status ( 200 )
295
+ . json ( { message : `Deleted user ${ userId } successfully` } ) ;
241
296
} catch ( err ) {
242
297
console . error ( err ) ;
243
- return res . status ( 500 ) . json ( { message : "Unknown error when deleting user!" } ) ;
298
+ return res
299
+ . status ( 500 )
300
+ . json ( { message : "Unknown error when deleting user!" } ) ;
244
301
}
245
302
}
246
303
0 commit comments