@@ -231,12 +231,11 @@ export class UsersController {
231231 return plainToClass ( UserResponseDto , user ) ;
232232 }
233233
234-
235234 @Put ( ':id' )
236235 @UseInterceptors (
237236 FileFieldsInterceptor ( [
238237 { name : 'avatar' , maxCount : 1 } ,
239- { name : 'skillImageUrls' , maxCount : 10 } ,
238+ { name : 'skillImageUrls' , maxCount : 10 } ,
240239 ] )
241240 )
242241 @ApiOperation ( { summary : 'Update a user by ID' } )
@@ -265,16 +264,21 @@ export class UsersController {
265264 console . log ( 'Received skillImageUrls:' , files . skillImageUrls ) ;
266265 console . log ( 'Received avatar:' , files . avatar ) ;
267266
268- if ( files . skillImageUrls && files . skillImageUrls . length > 0 ) {
269- console . log ( 'Received skillImageUrls:' , files . skillImageUrls ) ;
270- // Use uploadFile instead of uploadImage to preserve file extensions
271- const uploadResults = await Promise . all (
272- files . skillImageUrls . map ( ( file ) => this . cloudinaryService . uploadFile ( file ) )
267+ // Process avatar upload (profile image)
268+ if ( files . avatar && files . avatar . length > 0 ) {
269+ const uploadResult = await this . cloudinaryService . uploadImage (
270+ files . avatar [ 0 ]
273271 ) ;
274- userDto . skillImageUrls = uploadResults . map ( ( result ) => result . secure_url ) ;
272+ userDto . avatarUrl = uploadResult . secure_url ;
273+ console . log ( 'Uploaded avatar:' , userDto . avatarUrl ) ;
275274 }
276275
277- const updatedUser = await this . usersService . update ( id , userDto , files . skillImageUrls ) ;
276+ // Skill images are handled in UsersService.update (uploads + append)
277+ const updatedUser = await this . usersService . update (
278+ id ,
279+ userDto ,
280+ files . skillImageUrls
281+ ) ;
278282 return plainToClass ( UserResponseDto , updatedUser ) ;
279283 }
280284
0 commit comments