Quando estudamos Escopo de Modelo, e colocamos o escopo padrão (default) para retornar somente possas ativas (ativo:true), deu problema ao atualizar (PUT) uma pessoa inativa (ativo:false), exatamente pelo padrar está pessoas ativas. para resolver fiz a inversão dos escopos, coloquei o padrão retornando todos (where: {}) e o espoco específico (scopes:...) chamei de ativas e retornei somente os ativos (ativas: {where: {ativo: true}}, com isso resolveu o problema do PUT. Lembrando que precisei alterar minhas rotas e meu controller Pessoas tbm.
Solução final: Model pessoas.js
`
defaultScope:
{
where: {}
},
scopes:
{
ativas: {where: { ativo: true }}
},
pessoasRoutes.js .get('/pessoas/ativas', PessoaController.pegaPessoasAtivas) .get('/pessoas', PessoaController.pegaTodasAsPessoas) PessoaControler
static async pegaPessoasAtivas(req, res) {
try {
const pessoasAtivas = await database.Pessoas.scope('ativas').findAll();
return res.status(200).json(pessoasAtivas);
} catch (error) {
return res.status(500).json(error.message);
}
}
static async pegaTodasAsPessoas(req, res) {
try {
const todasAsPessoas = await database.Pessoas.findAll();
return res.status(200).json(todasAsPessoas);
} catch (error) {
return res.status(500).json(error.message);
}
}