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 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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue