add: change password

This commit is contained in:
ilham 2021-12-20 12:13:48 +07:00
parent 5ef41a82dc
commit 6c24f6784d
2 changed files with 41 additions and 0 deletions

View File

@ -207,6 +207,19 @@ export class UsersController {
};
}
@Put('change-password/:id')
async updatePassword(
@Param('id', ParseUUIDPipe) id: string,
@Request() req,
@Body() updateUserDto: UpdateUserDto,
) {
return {
data: await this.usersService.updatePassword(id, updateUserDto, req.user),
statusCode: HttpStatus.OK,
message: 'success',
};
}
@Delete(':id')
async remove(@Param('id', ParseUUIDPipe) id: string) {
await this.usersService.remove(id);

View File

@ -313,6 +313,34 @@ export class UsersService {
return userData;
}
async updatePassword(
id: string,
updateUserDto: UpdateUserDto,
currentUser: any,
) {
try {
const dataUser = await this.usersRepository.findOneOrFail(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();