facf7b48c2
Auditoria da agenda (clínicas/setores, profissional multi-local): - anti-overbooking: agrupa registros do mesmo profissional por EMAIL quando usuario_id é NULL (dentista sem conta que atende fixo numa clínica e avulso em outras) — antes só agrupava por usuario_id e deixava passar duplo-agendamento. - PUT (reagendar): checagem de conflito + UPDATE + auditoria agora numa única transação (FOR UPDATE efetivo) — fecha a race de dois reagendamentos no mesmo slot. - privacidade entre tenants: resposta 409 deixa de expor id/clinica_id do compromisso alheio (helper slotOcupadoPublico) — só o horário. - performance: índices (clinica_id,start_time) e (dentistaid,start_time) + janela ?from&to opcional no GET (retrocompatível). - cadastro de dentista: e-mail obrigatório no backend (todo dentista precisa de conta/identidade global; protético interno sem conta usa outro fluxo). Validado em dev.scoreodonto.com (pgdev). Produção intocada. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>