photum/backend/internal/db/queries/profissionais.sql
NANDO9322 90841596c1 feat(profissionais): melhorar a visualização de detalhes e persistência dos profissionais
- Adiciona a coluna `email` ao banco de dados para corrigir a persistência do e-mail de contato.
- Atualiza o `Team.tsx` para exibir todos os campos do profissional no modal de detalhes (Dados Financeiros, Detalhamento de Avaliações).
- Corrige o cálculo e a persistência de `media` (ajuste para valor nulo).
- Implementa integração com CEP para preenchimento automático de endereço.
- Adiciona validações para valores negativos e corrige problemas de layout.
2025-12-24 15:03:08 -03:00

66 lines
1.9 KiB
SQL

-- name: CreateProfissional :one
INSERT INTO cadastro_profissionais (
usuario_id, nome, funcao_profissional_id, endereco, cidade, uf, whatsapp,
cpf_cnpj_titular, banco, agencia, conta_pix, carro_disponivel,
tem_estudio, qtd_estudio, tipo_cartao, observacao, qual_tec,
educacao_simpatia, desempenho_evento, disp_horario, media,
tabela_free, extra_por_equipamento, equipamentos, email, avatar_url
) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15,
$16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26
) RETURNING *;
-- name: GetProfissionalByUsuarioID :one
SELECT p.*, f.nome as funcao_nome
FROM cadastro_profissionais p
LEFT JOIN funcoes_profissionais f ON p.funcao_profissional_id = f.id
WHERE p.usuario_id = $1 LIMIT 1;
-- name: GetProfissionalByID :one
SELECT p.*, f.nome as funcao_nome
FROM cadastro_profissionais p
LEFT JOIN funcoes_profissionais f ON p.funcao_profissional_id = f.id
WHERE p.id = $1 LIMIT 1;
-- name: ListProfissionais :many
SELECT p.*, f.nome as funcao_nome, u.email as usuario_email
FROM cadastro_profissionais p
LEFT JOIN funcoes_profissionais f ON p.funcao_profissional_id = f.id
LEFT JOIN usuarios u ON p.usuario_id = u.id
ORDER BY p.nome;
-- name: UpdateProfissional :one
UPDATE cadastro_profissionais
SET
nome = $2,
funcao_profissional_id = $3,
endereco = $4,
cidade = $5,
uf = $6,
whatsapp = $7,
cpf_cnpj_titular = $8,
banco = $9,
agencia = $10,
conta_pix = $11,
carro_disponivel = $12,
tem_estudio = $13,
qtd_estudio = $14,
tipo_cartao = $15,
observacao = $16,
qual_tec = $17,
educacao_simpatia = $18,
desempenho_evento = $19,
disp_horario = $20,
media = $21,
tabela_free = $22,
extra_por_equipamento = $23,
equipamentos = $24,
avatar_url = $25,
email = $26,
atualizado_em = NOW()
WHERE id = $1
RETURNING *;
-- name: DeleteProfissional :exec
DELETE FROM cadastro_profissionais
WHERE id = $1;