-- 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 ) ON CONFLICT (fot) DO UPDATE SET empresa_id = EXCLUDED.empresa_id, curso_id = EXCLUDED.curso_id, ano_formatura_id = EXCLUDED.ano_formatura_id, instituicao = EXCLUDED.instituicao, cidade = EXCLUDED.cidade, estado = EXCLUDED.estado, observacoes = EXCLUDED.observacoes, gastos_captacao = EXCLUDED.gastos_captacao, pre_venda = EXCLUDED.pre_venda, updated_at = CURRENT_TIMESTAMP 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; -- name: GetCadastroFotByFotJoin :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.fot = $1; -- name: UpdateCadastroFotGastos :exec UPDATE cadastro_fot SET gastos_captacao = $2, updated_at = CURRENT_TIMESTAMP WHERE id = $1; -- name: SearchFot :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 CAST(c.fot AS TEXT) ILIKE '%' || $1 || '%' ORDER BY c.fot ASC LIMIT 10;