photum/backend/internal/db/queries/cadastro_fot.sql
NANDO9322 66c7306553 feat: implementa filtro de agenda por usuário e corrige exibição de detalhes
- Backend: Adiciona `user_id` na tabela agenda e implementa queries de filtro por role.
- Frontend(Context): Corrige dependência do `useEffect` para garantir busca correta ao logar.
- Frontend(Context): Melhora mapeamento de dados (Número FOT, Fallback de Nome, Formandos).
- Frontend(UI): Atualiza EventTable e Dashboard para exibir número FOT e dados vinculados corretamente.
- Frontend(Fix): Resolve erros de TypeScript no enum EventStatus.
2025-12-16 13:44:02 -03:00

65 lines
1.7 KiB
SQL

-- name: CreateCadastroFot :one
INSERT INTO cadastro_fot (
fot, empresa_id, curso_id, ano_formatura_id, instituicao, cidade, estado, observacoes, gastos_captacao, pre_venda
) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10
) RETURNING *;
-- name: ListCadastroFot :many
SELECT
c.*,
e.nome as empresa_nome,
cur.nome as curso_nome,
a.ano_semestre as ano_formatura_label
FROM cadastro_fot c
JOIN empresas e ON c.empresa_id = e.id
JOIN cursos cur ON c.curso_id = cur.id
JOIN anos_formaturas a ON c.ano_formatura_id = a.id
ORDER BY c.fot DESC;
-- name: ListCadastroFotByEmpresa :many
SELECT
c.*,
e.nome as empresa_nome,
cur.nome as curso_nome,
a.ano_semestre as ano_formatura_label
FROM cadastro_fot c
JOIN empresas e ON c.empresa_id = e.id
JOIN cursos cur ON c.curso_id = cur.id
JOIN anos_formaturas a ON c.ano_formatura_id = a.id
WHERE c.empresa_id = $1
ORDER BY c.fot DESC;
-- name: GetCadastroFotByID :one
SELECT
c.*,
e.nome as empresa_nome,
cur.nome as curso_nome,
a.ano_semestre as ano_formatura_label
FROM cadastro_fot c
JOIN empresas e ON c.empresa_id = e.id
JOIN cursos cur ON c.curso_id = cur.id
JOIN anos_formaturas a ON c.ano_formatura_id = a.id
WHERE c.id = $1;
-- name: GetCadastroFotByFOT :one
SELECT * FROM cadastro_fot WHERE fot = $1;
-- name: UpdateCadastroFot :one
UPDATE cadastro_fot SET
fot = $2,
empresa_id = $3,
curso_id = $4,
ano_formatura_id = $5,
instituicao = $6,
cidade = $7,
estado = $8,
observacoes = $9,
gastos_captacao = $10,
pre_venda = $11,
updated_at = CURRENT_TIMESTAMP
WHERE id = $1
RETURNING *;
-- name: DeleteCadastroFot :exec
DELETE FROM cadastro_fot WHERE id = $1;