Делаю систему логинов и регистрации по логину. Хочу отлавливать ошибку при создании пользователя, поскольку в поле login стоит unique: true, и при попытке создать пользователя с логином, который уже используется, в консоль вылазит большой ерор, который говорит про дубликат, а свервер возвращает internal error.
@Schema()
export class User {
@Prop({ unique: true })
login: string;
@Prop()
password: string;
}
async create(dto: CreateUserDto): Promise<User> {
const createdUser = new this.userModel(dto);
return createdUser.save();
}
{
"statusCode": 500,
"message": "Internal server error"
}
Пытался сделать это в service и controller, не помогло:
async create(dto: CreateUserDto): Promise<User> {
try {
const createdUser = new this.userModel(dto);
return createdUser.save();
} catch {
throw new HttpException(
'User with this login already exist',
HttpStatus.CONFLICT,
);
}
}