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
36 lines
889 B
Go
36 lines
889 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
"photum-backend/internal/config"
|
|
|
|
"github.com/jackc/pgx/v5/pgxpool"
|
|
)
|
|
|
|
func main() {
|
|
cfg := config.LoadConfig()
|
|
log.Printf("Connecting to DB: %s", cfg.DBDsn)
|
|
|
|
pool, err := pgxpool.New(context.Background(), cfg.DBDsn)
|
|
if err != nil {
|
|
log.Fatalf("Failed to connect: %v", err)
|
|
}
|
|
defer pool.Close()
|
|
|
|
queries := []string{
|
|
"ALTER TABLE cadastro_profissionais ADD COLUMN IF NOT EXISTS conta VARCHAR(20);",
|
|
"UPDATE cadastro_fot SET regiao = 'SP' WHERE regiao IS NULL OR regiao = '' OR regiao = ' ';",
|
|
"ALTER TABLE cadastro_fot ALTER COLUMN regiao SET DEFAULT 'SP';",
|
|
}
|
|
|
|
for _, q := range queries {
|
|
log.Printf("Executing: %s", q)
|
|
if _, err := pool.Exec(context.Background(), q); err != nil {
|
|
log.Printf("Error (might be expected if exists): %v", err)
|
|
} else {
|
|
log.Println("Success.")
|
|
}
|
|
}
|
|
log.Println("DB Fix Complete")
|
|
}
|