Open wagnerssouza opened 5 years ago
Tenho várias dúvidas em relação a essa parte. Não sei as diferenças práticas de interface, model e schema. Como ficariam organizado num projeto esses arquivos? Além disso existe o ponto de validação que a própria lib JOI faz.
No meu caso com a lib JOI fiz um middleware de validação de entrada nos endpoints. Se tiver algum "tipo" ou regra errada acabo por apresentar mensagem de erro adequada como resposta. Além disso também server por transformar um determinado dado. Por exemplo: "1" => number() => 1
Se for pensar o meu arquivo não é interface e nem schema. Serve apenas como validador e formalizador de entrada dos endpoints.
Será que com nodejs existe um padrão para organizar tudo isso de uma forma clara?
É responsabilidade do schema validar se o campo é obrigatório, único ou whatever?
Por exemplo, aqui, você usa o paradigma funcional pra validar o campo
idGroup
Se falarmos do mongoose, ele faz um pouco diferente, e a responsabilidade da validação, no próprio exemplo do site, não está lá:
Aonde, de fato, deveriam ficar as validações?
No caso do dotnet core, as validações estão na Model, e não temos um
schema
, como no mongoose, usamos Annotations:O que vocês acham sobre isso? @guilima e @diogosalmeida
https://github.com/guilima/financial-back/blob/14714cbf4e423c9070cfdd7c406cb328d1f7bcea/src/schema/series.schema.js#L1