Este Pull Request aborda uma inconsistência no mecanismo de atualização para shelter_supplies em lote a partir do endpoint PUT shelter/supplies//many e seus correspondentes shelters.
As atualizações no shelter_supply.priority deste endpoint não estavam refletiam no shelter.priority_sum, que é crucial para a ordenação dos abrigos por prioridade decrescente. Este descuido poderia levar a ordenações incorretas e agora foi corrigido.
Alterações
Atualizado o método ShelterSupplyService.updateMany para garantir que qualquer alteração em shelter_supply.priority também acione uma atualização no shelter.priority_sum correspondente.
Adicionada uma transação para garantir que as atualizações em shelter_supplies e shelters sejam atômicas, evitando atualizações parciais.
Por que isso é importante?
O shelter.priority_sum é um campo derivado usado para ordenar os abrigos com base na prioridade agregada de seus suprimentos. Garantir que este campo seja atualizado precisamente é crucial para manter a integridade dos nossos algoritmos de ordenação e, por extensão, a funcionalidade do sistema que depende dessas ordenações.
Como testar
Modifique a priority de uma ou mais entradas em shelter_supplies.
Verifique que o shelter.priority_sum correspondente é atualizado corretamente.
Confira a ordenação dos abrigos para garantir que eles refletem as prioridades atualizadas.
Este Pull Request aborda uma inconsistência no mecanismo de atualização para shelter_supplies em lote a partir do endpoint PUT shelter/supplies//many e seus correspondentes shelters.
As atualizações no shelter_supply.priority deste endpoint não estavam refletiam no shelter.priority_sum, que é crucial para a ordenação dos abrigos por prioridade decrescente. Este descuido poderia levar a ordenações incorretas e agora foi corrigido.
Alterações
Por que isso é importante?
O shelter.priority_sum é um campo derivado usado para ordenar os abrigos com base na prioridade agregada de seus suprimentos. Garantir que este campo seja atualizado precisamente é crucial para manter a integridade dos nossos algoritmos de ordenação e, por extensão, a funcionalidade do sistema que depende dessas ordenações.
Como testar
Modifique a priority de uma ou mais entradas em shelter_supplies. Verifique que o shelter.priority_sum correspondente é atualizado corretamente. Confira a ordenação dos abrigos para garantir que eles refletem as prioridades atualizadas.