pular para o conteúdo

Agendar não é guardar data

1 minsistemas

Uma checagem de conflito antes da escrita não garante exclusividade quando duas requisições chegam juntas.

A Scheduling API modela entregas de fornecedores para funcionários. O repositório separa handlers, serviços e acesso a dados, mas a fronteira mais interessante está dentro da criação de um agendamento.

Consultar não é reservar

Create chama HasConflict e, depois, abre uma transação para inserir. Duas requisições podem consultar antes que qualquer uma grave. Ambas veem o horário livre; a transação de escrita, sozinha, não resolve esse intervalo entre checagem e inserção.

Uma constraint de exclusão no PostgreSQL é uma alternativa a investigar. Ela não está implementada neste protótipo. Antes disso, o projeto precisa de testes de sobreposição, bordas e cancelamento.

O estado do código importa

O clone não compila: go.sum é inválido e há arquivos truncados. Portanto, este texto discute um desenho identificável no código, não uma API operacional. O case registra a falha reproduzida e os arquivos inspecionados.