photum/backend/internal/db/queries/availability.sql
NANDO9322 434548c158 feat(staffing): implementa sistema de disponibilidade e escalonamento
- 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
2025-12-23 17:29:40 -03:00

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;