fix: normalize auth me payload for perfil
This commit is contained in:
parent
e701b57f6a
commit
b99f4427ae
1 changed files with 43 additions and 12 deletions
|
|
@ -142,27 +142,58 @@ func (h *Handler) GetMe(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var companyName string
|
var companyName string
|
||||||
var isSuperAdmin bool
|
isSuperAdmin := user.Superadmin || user.Role == "superadmin"
|
||||||
|
|
||||||
if user.CompanyID != uuid.Nil {
|
if user.CompanyID != uuid.Nil {
|
||||||
if c, err := h.svc.GetCompany(r.Context(), user.CompanyID); err == nil && c != nil {
|
if c, err := h.svc.GetCompany(r.Context(), user.CompanyID); err == nil && c != nil {
|
||||||
companyName = c.CorporateName
|
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 {
|
response := struct {
|
||||||
*domain.User
|
ID uuid.UUID `json:"id"`
|
||||||
CompanyName string `json:"company_name"`
|
CompanyID uuid.UUID `json:"company_id"`
|
||||||
SuperAdmin bool `json:"superadmin"`
|
Role string `json:"role"`
|
||||||
EmpresasDados []string `json:"empresasDados"` // Frontend expects this array
|
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,
|
ID: user.ID,
|
||||||
CompanyName: companyName,
|
CompanyID: user.CompanyID,
|
||||||
SuperAdmin: isSuperAdmin,
|
Role: user.Role,
|
||||||
EmpresasDados: []string{user.CompanyID.String()},
|
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)
|
writeJSON(w, http.StatusOK, response)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue