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
This commit is contained in:
NANDO9322 2026-02-06 21:45:29 -03:00
parent a4982e588e
commit c1c71643bb

View file

@ -2,7 +2,6 @@ package profissionais
import (
"encoding/json"
"fmt"
"net/http"
"photum-backend/internal/db/generated"
@ -278,7 +277,6 @@ func (h *Handler) Create(c *gin.Context) {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
fmt.Printf("[DEBUG] Create Input: %+v\n", input)
userID, exists := c.Get("userID")
if !exists {