feat: refactor profile response structure to include UserInfoResponse

This commit is contained in:
Tran Anh Tuan
2026-05-13 15:37:04 +07:00
parent 902caa222f
commit d2bb7aa3aa
2 changed files with 18 additions and 12 deletions

View File

@@ -15,13 +15,17 @@ type RoleItem struct {
Description string `json:"description"` Description string `json:"description"`
} }
type UserInfoResponse struct {
ID string `json:"id"`
Username string `json:"username"`
Email string `json:"email"`
FullName string `json:"fullName"`
IsActive bool `json:"isActive"`
}
// BodyProfileResponse is the response body for GET /profile. // BodyProfileResponse is the response body for GET /profile.
type BodyProfileResponse struct { type BodyProfileResponse struct {
ID string `json:"id"` Info UserInfoResponse `json:"info"`
Username string `json:"username"` Roles []RoleItem `json:"roles"`
Email string `json:"email"` Permissions []string `json:"permissions"`
FullName string `json:"fullName"`
IsActive bool `json:"isActive"`
Roles []RoleItem `json:"roles"`
Permissions []string `json:"permissions"`
} }

View File

@@ -109,11 +109,13 @@ func GetProfile(c *gin.Context) error {
// 5. Return response // 5. Return response
response.Ok(c, "Profile fetched", responses.BodyProfileResponse{ response.Ok(c, "Profile fetched", responses.BodyProfileResponse{
ID: user.ID, Info: responses.UserInfoResponse{
Username: user.Username, ID: user.ID,
Email: user.Email, Username: user.Username,
FullName: user.FullName, Email: user.Email,
IsActive: user.IsActive, FullName: user.FullName,
IsActive: user.IsActive,
},
Roles: roles, Roles: roles,
Permissions: permissions, Permissions: permissions,
}) })