diff --git a/src/users/users.controller.ts b/src/users/users.controller.ts index a127b27..ba68801 100644 --- a/src/users/users.controller.ts +++ b/src/users/users.controller.ts @@ -230,7 +230,20 @@ export class UsersController { @Body() updateUserDto: UpdateUserDto, ) { return { - data: await this.usersService.updatePassword(id, updateUserDto, req.user), + data: await this.usersService.updatePassword(id, updateUserDto), + statusCode: HttpStatus.OK, + message: 'success', + }; + } + + @Put('change-password-partner/:id') + async updatePasswordPartner( + @Param('id', ParseUUIDPipe) id: string, + @Request() req, + @Body() updateUserDto: UpdateUserDto, + ) { + return { + data: await this.usersService.updatePassword(id, updateUserDto), statusCode: HttpStatus.OK, message: 'success', }; diff --git a/src/users/users.service.ts b/src/users/users.service.ts index 197d5e9..c34752f 100644 --- a/src/users/users.service.ts +++ b/src/users/users.service.ts @@ -358,11 +358,7 @@ export class UsersService { return userData; } - async updatePassword( - id: string, - updateUserDto: UpdateUserDto, - currentUser: any, - ) { + async updatePassword(id: string, updateUserDto: UpdateUserDto) { try { const dataUser = await this.usersRepository.findOneOrFail(id); dataUser.password = await hashPassword( @@ -386,6 +382,34 @@ export class UsersService { } } + async updatePasswordPartner(id: string, updateUserDto: UpdateUserDto) { + try { + const dataUser = await this.usersRepository.findOneOrFail({ + where: { + partner: id, + }, + }); + dataUser.password = await hashPassword( + updateUserDto.password, + dataUser.salt, + ); + const result = await this.usersRepository.save(dataUser); + return dataUser; + } catch (e) { + if (e instanceof EntityNotFoundError) { + throw new HttpException( + { + statusCode: HttpStatus.NOT_FOUND, + error: 'User not found', + }, + HttpStatus.NOT_FOUND, + ); + } else { + throw e; + } + } + } + setStatus = async (id: string, type: string) => { const userData = new User();