1
resposta

DESFAZER EXCLUSÃO

Se o objetivo da exclusão lógica é não excluir a parte de desfazer essa exclusão não deveria ter sido mostrada? Pensei em adicionar no PUT, mas antes gostaria de saber quais melhores práticas pra isso, pois pensei em adicionar a opção de setar ATIVO = TRUE novamente.

Não sei se existe uma opção que seja mais adequado as regras de negócio. Mas, foi o que pensei.

1 resposta

Na real, tem várias maneiras de lidar com isso, saca? O Negócio é que vai depender das regras do seu projeto.

Uma ideia é jogar uma opção no método PUT pra ressuscitar o registro. Tipo, cê coloca um parâmetro no corpo da requisição chamado "ativo". Se for true, o campo "ativo" vai pro true de novo. Se não, ele fica de boa no false.

@PutMapping("/{id}")
public void atualizar(@PathVariable Long id, @RequestBody DadosAtualizacaoMedico dadosAtualizacao) {
    var medico = repository.getReferenceById(id);
    medico.setNome(dadosAtualizacao.getNome());
    // atualiza os outros campos que precisar

    if (dadosAtualizacao.isAtivo()) {
        medico.setAtivo(true);
    }

    repository.save(medico);
}

Assim, se tu mandar um PUT com o "ativo" no corpo como true, o registro volta à vida. Senão, fica mortinho. Só ajusta o código pros nomes certos dos teus campos e da tua entidade Medico, beleza?