Fix - Recover route
This route became faulty due to recent code changes, let's now fix it.
@Public()
@Patch('recover')
recover(@Body() loginDto: LoginDto) {
return this.usersService.recover(loginDto);
}async recover(loginDto: LoginDto) {
const { email, password } = loginDto;
const user = await this.usersRepository.findOne({
where: { email },
relations: {
orders: {
items: true,
payment: true,
},
},
withDeleted: true,
});
if (!user) {
throw new UnauthorizedException('Invalid email');
}
const isMatch = await this.hashingService.compare(password, user.password);
if (!isMatch) {
throw new UnauthorizedException('Invalid password');
}
if (!user.isDeleted) {
throw new ConflictException('User not deleted');
}
return this.usersRepository.recover(user);
}Last updated