- Adiciona tabela `disponibilidade_profissionais` no schema - Adiciona coluna `posicao` para mapa de profissionais no evento - Implementa Service e Handler para gerenciar Disponibilidade (Set/Get) - Implementa lógica de Escalonamento: listar disponíveis e atribuir posição - Atualiza rotas da API e serviço do frontend feat(frontend): implementa modal de detalhes e updates otimistas na equipe - Adiciona componente ProfessionalDetailsModal para exibir dados completos do profissional - Implementa update otimista em DataContext para adição/removação instantânea da equipe - Corrige bug crítico de sintaxe e estrutura na Dashboard.tsx - Adiciona badges de status (Pendente/Confirmado/Rejeitado) na listagem de equipe - Corrige erro de referência de variável (professionalId) no fluxo de atribuição
21 lines
626 B
SQL
21 lines
626 B
SQL
-- name: CreateDisponibilidade :one
|
|
INSERT INTO disponibilidade_profissionais (usuario_id, data, status)
|
|
VALUES ($1, $2, $3)
|
|
ON CONFLICT (usuario_id, data) DO UPDATE
|
|
SET status = EXCLUDED.status, criado_em = NOW()
|
|
RETURNING *;
|
|
|
|
-- name: ListDisponibilidadeByPeriod :many
|
|
SELECT * FROM disponibilidade_profissionais
|
|
WHERE usuario_id = $1
|
|
AND data >= $2
|
|
AND data <= $3
|
|
ORDER BY data;
|
|
|
|
-- name: GetDisponibilidadeByDate :one
|
|
SELECT * FROM disponibilidade_profissionais
|
|
WHERE usuario_id = $1 AND data = $2;
|
|
|
|
-- name: DeleteDisponibilidade :exec
|
|
DELETE FROM disponibilidade_profissionais
|
|
WHERE usuario_id = $1 AND data = $2;
|