3
respostas

Decorator personalizado

O meu decorator personalizado não está funcionando. Eu ja verifiquei se fiz todos os processos corretos, seguindo as instruções do professor, mas a validação para veirficar se já existe um email igual no Banco de dados não está funcionando.

Alguém pode me ajudar?

3 respostas

Oi Eva! Tudo bem?

Preciso que você compartilhe todo o seu projeto, para que assim eu possa analisar o Decorator que você criou e fazer testes para identificar o porquê ele não está funcionando corretamente. Envie o projeto usando o GitHub ou Drive do Google.

Fico no aguardo e à disposição

Olá Armano,

Aqui está o projeto no github - click aqui

Obrigada pelo retorno.

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!