Bom dia, Eva! Peço desculpas pela demora em responder.
Depois de um tempo revisando o seu código, identifiquei o que estava impedindo que o seu Decorator personalizado mostrasse o erro ao tentar cadastrar o mesmo email.
No seu arquivo user.repository.ts
que está dentro da pasta user
, o método findByEmail
apresenta um problema no seu arrow function. Era para você fazer uma comparação de todos os itens da lista users
se o campo email
é igual ao passado no método, porém, você envolveu toda essa parte de comparação entre chaves "{ }" o que faz com que ela não funcione corretamente.
Logo, a solução para o seu problema é retirar essas chaves que envolvem o arrow function. Exemplo de como deve ficar:
async findByEmail(email: string) {
const userPossible = this.users.find((user) => user.email === email);
return userPossible !== undefined;
}
Para destacar melhor o trecho alterado, antes o find
estava assim:
find((user) => {
user.email === email;
});
Espero ter ajudado e bons estudos!