You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A validação do usuário ficaria aonde? Por exemplo como e-mail obrigatório, senha mínima de 8 caracteres, nome obrigatório, etc? Isso faz parte do useCase já que é uma lógica de negócio? Mas se eu precisasse validar também no updateUserUseCase, eu teria código repetido. Talvez no DTO? Realmente é uma dúvida que tenho.
The text was updated successfully, but these errors were encountered:
A validação poderia ser feita em um arquivo separado na pasta do useCase, ex: "CreateUserValidator"/"UpdateUserValidator". Esse arquivo seria uma classe que teria um método "validate", por exemplo, que receberia os dados de acordo com o DTO. Essa classe seria "injetada" no constructor do controller e seria chamada antes do useCase, propriamente. Poderia dar um throw no erro da validação, que cairia no try/catch do controller.
Dessa forma, a validação fica desacoplada do useCase, podendo ser modificada e até mesmo testada totalmente à parte. Apesar de como tu disse, em alguns casos haver uma repetição de código, acredito que esse desacoplamento seja necessário para respeitar os princípios e garantir a liberdade em uma futura modificação (ex: pode vir a acontecer dos dados do CreateUser e UpdateUser serem diferentes mesmo que hoje sejam os mesmos). ;D
A validação do usuário ficaria aonde? Por exemplo como e-mail obrigatório, senha mínima de 8 caracteres, nome obrigatório, etc? Isso faz parte do useCase já que é uma lógica de negócio? Mas se eu precisasse validar também no updateUserUseCase, eu teria código repetido. Talvez no DTO? Realmente é uma dúvida que tenho.
The text was updated successfully, but these errors were encountered: