photum/backend/cmd/debug_fot/main.go
NANDO9322 a4982e588e feat(profile): melhorias no fluxo de perfil e correções no backend
Frontend:
- Implementado fluxo de inicialização para novos perfis (modal "Complete seu Cadastro").
- Adicionada lógica para pré-preencher nome e email do usuário no cadastro.
- Adicionada renderização condicional: abas "Dados Bancários" e "Profissional" são ocultadas para clientes (EVENT_OWNER).
- Unificada a função de salvar (criação e edição) com tratativa correta de erros e feedback (Toast).
- Adicionado fallback para exibir o email do usuário caso o do perfil esteja vazio.

Backend:
- SQL: Ajustada query `GetProfissionalByUsuarioID` para buscar email da tabela de usuários (LEFT JOIN).
- Handler: Implementado fallback para usar `UsuarioEmail` na resposta se o `Email` do perfil for nulo.
- Service: Correção no salvamento (Create/Update) para tratar `funcao_profissional_id` com UUID vazio (Nil) como NULL, evitando erro de chave estrangeira (FK).

Fixes #profile-save-error, #role-visibility
2026-02-06 21:44:00 -03:00

42 lines
1.2 KiB
Go

package main
import (
"context"
"log"
"photum-backend/internal/config"
"github.com/jackc/pgx/v5/pgxpool"
)
func main() {
cfg := config.LoadConfig()
pool, err := pgxpool.New(context.Background(), cfg.DBDsn)
if err != nil {
log.Fatalf("Failed to connect: %v", err)
}
defer pool.Close()
// Check if it exists and what region
var id, regiao, fot string
var empresaID, cursoID, anoIDStr string
err = pool.QueryRow(context.Background(), "SELECT id, fot, regiao, empresa_id, curso_id, ano_formatura_id FROM cadastro_fot WHERE fot = '2222'").Scan(&id, &fot, &regiao, &empresaID, &cursoID, &anoIDStr)
if err != nil {
log.Printf("Error finding FOT 2222: %v", err)
} else {
log.Printf("Found FOT 2222: ID=%s, Regiao=%s", id, regiao)
log.Printf(" EmpresaID: %s", empresaID)
log.Printf(" CursoID: %s", cursoID)
log.Printf(" AnoID: %s", anoIDStr)
}
// LIST ALL to see what regions exist
rows, _ := pool.Query(context.Background(), "SELECT fot, regiao FROM cadastro_fot ORDER BY created_at DESC LIMIT 10")
defer rows.Close()
log.Println("--- Recent FOTs ---")
for rows.Next() {
var f, r string
rows.Scan(&f, &r)
log.Printf("FOT: %s, Regiao: %s", f, r)
}
}