1
resposta

[Sugestão] Outra forma de retornar pessoas ativas

Bem, tentei resolver antes da tutora e cheguei na a conclusão que deveria colocar um seletor no findAll dentro do PessoasController. Ficaria da seguinte maneira:

static async pegaTodasAsPessoas(req, res) {
    try {
      const todasAsPessoas = await database.Pessoas.findAll({where: { ativo: true}})
      return res.status(200).json(todasAsPessoas)  
    } catch (error) {
      return res.status(500).json(error.message)
    }
  }

Apliquei no meu projeto e deu certo, mas vi que a tutora resolveu de uma maneira bem mais eficiente! é legal ver que um problema possui diferentes soluções, mas que algumas soluções são mais efetivas do que outras.

1 resposta

Oi, Pedro, tudo bem?

Legal que você tentou resolver antes da instrutora e chegou à sua própria solução! Essa é uma excelente forma de praticar.

Praticamente sempre existem diversas formas de resolver um mesmo problema, e cabe a nós refletir os prós e contras de cada abordagem. A principal vantagem da utilização de escopos é a reutilização de código para queries (buscas) comuns. Ou seja, se a maioria das minhas buscas irão retornar apenas os usuários ativos, podemos especificar isso como o escopo padrão do modelo e evitar de escrever {where: { ativo: true}} em várias buscas diferentes.

A capacidade de aplicar soluções mais eficientes também vem com o tempo, conforme nos aprofundamos nas ferramentas que utilizamos e conhecemos recursos como esse, que fornecem soluções para situações comuns.

Abraços e bons estudos!