From d2bb7aa3aa56a8ca3650d525fa5cdf57628f4090 Mon Sep 17 00:00:00 2001 From: Tran Anh Tuan Date: Wed, 13 May 2026 15:37:04 +0700 Subject: [PATCH] feat: refactor profile response structure to include UserInfoResponse --- internal/models/responses/auth_response.go | 18 +++++++++++------- internal/services/profile_service.go | 12 +++++++----- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/internal/models/responses/auth_response.go b/internal/models/responses/auth_response.go index 14c92ce..f15b043 100644 --- a/internal/models/responses/auth_response.go +++ b/internal/models/responses/auth_response.go @@ -15,13 +15,17 @@ type RoleItem struct { 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. type BodyProfileResponse struct { - ID string `json:"id"` - Username string `json:"username"` - Email string `json:"email"` - FullName string `json:"fullName"` - IsActive bool `json:"isActive"` - Roles []RoleItem `json:"roles"` - Permissions []string `json:"permissions"` + Info UserInfoResponse `json:"info"` + Roles []RoleItem `json:"roles"` + Permissions []string `json:"permissions"` } diff --git a/internal/services/profile_service.go b/internal/services/profile_service.go index 55f2bc4..7e8f3cd 100644 --- a/internal/services/profile_service.go +++ b/internal/services/profile_service.go @@ -109,11 +109,13 @@ func GetProfile(c *gin.Context) error { // 5. Return response response.Ok(c, "Profile fetched", responses.BodyProfileResponse{ - ID: user.ID, - Username: user.Username, - Email: user.Email, - FullName: user.FullName, - IsActive: user.IsActive, + Info: responses.UserInfoResponse{ + ID: user.ID, + Username: user.Username, + Email: user.Email, + FullName: user.FullName, + IsActive: user.IsActive, + }, Roles: roles, Permissions: permissions, })