diff --git a/backend/internal/http/handler/handler.go b/backend/internal/http/handler/handler.go index b53addb..fed7f6e 100644 --- a/backend/internal/http/handler/handler.go +++ b/backend/internal/http/handler/handler.go @@ -142,27 +142,58 @@ func (h *Handler) GetMe(w http.ResponseWriter, r *http.Request) { } var companyName string - var isSuperAdmin bool + isSuperAdmin := user.Superadmin || user.Role == "superadmin" if user.CompanyID != uuid.Nil { if c, err := h.svc.GetCompany(r.Context(), user.CompanyID); err == nil && c != nil { companyName = c.CorporateName - if c.Category == "admin" { - isSuperAdmin = true - } } } + enderecos := make([]string, 0) + empresasDados := make([]string, 0) + if user.CompanyID != uuid.Nil { + empresasDados = append(empresasDados, user.CompanyID.String()) + } + response := struct { - *domain.User - CompanyName string `json:"company_name"` - SuperAdmin bool `json:"superadmin"` - EmpresasDados []string `json:"empresasDados"` // Frontend expects this array + ID uuid.UUID `json:"id"` + CompanyID uuid.UUID `json:"company_id"` + Role string `json:"role"` + Nivel string `json:"nivel"` + Name string `json:"name"` + Nome string `json:"nome"` + Username string `json:"username"` + Email string `json:"email"` + EmailVerified bool `json:"email_verified"` + NomeSocial string `json:"nome-social"` + CPF string `json:"cpf"` + RegistroCompleto bool `json:"registro-completo"` + CreatedAt time.Time `json:"created_at"` + UpdatedAt time.Time `json:"updated_at"` + CompanyName string `json:"company_name"` + SuperAdmin bool `json:"superadmin"` + Enderecos []string `json:"enderecos"` + EmpresasDados []string `json:"empresasDados"` }{ - User: user, - CompanyName: companyName, - SuperAdmin: isSuperAdmin, - EmpresasDados: []string{user.CompanyID.String()}, + ID: user.ID, + CompanyID: user.CompanyID, + Role: user.Role, + Nivel: user.Role, + Name: user.Name, + Nome: user.Name, + Username: user.Username, + Email: user.Email, + EmailVerified: user.EmailVerified, + NomeSocial: user.NomeSocial, + CPF: user.CPF, + RegistroCompleto: true, + CreatedAt: user.CreatedAt, + UpdatedAt: user.UpdatedAt, + CompanyName: companyName, + SuperAdmin: isSuperAdmin, + Enderecos: enderecos, + EmpresasDados: empresasDados, } writeJSON(w, http.StatusOK, response)