Não seria melhor fazer a verificação no em NegociacaoService e alterar o método para retornar uma lista de Negociacoes em vez de um "Promise"?
Não seria melhor fazer a verificação no em NegociacaoService e alterar o método para retornar uma lista de Negociacoes em vez de um "Promise"?
Oii, Jorge! Tudo bem?
No caso apresentado na aula, a verificação se uma negociação já existe na lista é feita no controller e não no service. Isso acontece porque o service tem a responsabilidade de buscar os dados e retorná-los para o controller. A lógica de negócio, que nesse caso inclui a verificação de duplicatas, é geralmente implementada no controller.
A ideia de mover essa verificação para o service pode parecer atraente, pois poderia simplificar o código do controller. No entanto, isso poderia tornar o service mais complexo e menos reutilizável. Por exemplo, se em outra parte do sistema precisássemos obter todas as negociações, incluindo as duplicatas, teríamos que modificar o service ou criar um novo método/service.
E, retornar uma lista de Negociacoes em vez de uma Promise também poderia ser problemático, pois a busca de dados é uma operação assíncrona. Ao retornar uma Promise, podemos lidar com a operação assíncrona de forma mais eficiente, evitando bloquear a execução do programa enquanto os dados estão sendo buscados.
Espero ter ajudado.
Um abraço e bons estudos.