-- 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;
