From eac5cb528f5ec87e9a19ce56f1ee761e0f112dee Mon Sep 17 00:00:00 2001 From: AzenKain Date: Thu, 16 Apr 2026 12:48:57 +0700 Subject: [PATCH] UPDATE: Change type response --- internal/models/media.go | 23 +++++++++++++++++++---- internal/models/profile.go | 3 +++ internal/models/role.go | 22 +++++++++++++++++----- internal/models/user.go | 17 +++++++++++++---- internal/models/verification.go | 8 ++++++-- 5 files changed, 58 insertions(+), 15 deletions(-) diff --git a/internal/models/media.go b/internal/models/media.go index 22791a3..fddf198 100644 --- a/internal/models/media.go +++ b/internal/models/media.go @@ -33,6 +33,9 @@ type MediaStorageEntity struct { } func (e *MediaEntity) ToStorageEntity() *MediaStorageEntity { + if e == nil { + return nil + } return &MediaStorageEntity{ ID: e.ID, StorageKey: e.StorageKey, @@ -40,6 +43,9 @@ func (e *MediaEntity) ToStorageEntity() *MediaStorageEntity { } func (e *MediaEntity) ToResponse() *response.MediaResponse { + if e == nil { + return nil + } return &response.MediaResponse{ ID: e.ID, UserID: e.UserID, @@ -54,6 +60,9 @@ func (e *MediaEntity) ToResponse() *response.MediaResponse { } func (e *MediaEntity) ToSimpleEntity() *MediaSimpleEntity { + if e == nil { + return nil + } return &MediaSimpleEntity{ ID: e.ID, StorageKey: e.StorageKey, @@ -67,16 +76,22 @@ func (e *MediaEntity) ToSimpleEntity() *MediaSimpleEntity { func MediaEntitiesToResponse(entities []*MediaEntity) []*response.MediaResponse { responses := make([]*response.MediaResponse, len(entities)) - for i, entity := range entities { - responses[i] = entity.ToResponse() + for _, entity := range entities { + if entity == nil { + continue + } + responses = append(responses, entity.ToResponse()) } return responses } func MediaEntitiesToStorageEntity(entities []*MediaEntity) []*MediaStorageEntity { responses := make([]*MediaStorageEntity, len(entities)) - for i, entity := range entities { - responses[i] = entity.ToStorageEntity() + for _, entity := range entities { + if entity == nil { + continue + } + responses = append(responses, entity.ToStorageEntity()) } return responses } diff --git a/internal/models/profile.go b/internal/models/profile.go index 8f7409f..879f617 100644 --- a/internal/models/profile.go +++ b/internal/models/profile.go @@ -14,6 +14,9 @@ type UserProfileSimple struct { } func (p *UserProfileSimple) ToResponse() *response.UserProfileSimpleResponse { + if p == nil { + return nil + } return &response.UserProfileSimpleResponse{ DisplayName: p.DisplayName, FullName: p.FullName, diff --git a/internal/models/role.go b/internal/models/role.go index c6053e6..9da4cf2 100644 --- a/internal/models/role.go +++ b/internal/models/role.go @@ -12,6 +12,9 @@ type RoleSimple struct { } func (r *RoleSimple) ToResponse() *response.RoleSimpleResponse { + if r == nil { + return nil + } return &response.RoleSimpleResponse{ ID: r.ID, Name: r.Name, @@ -35,6 +38,9 @@ type RoleEntity struct { } func (r *RoleEntity) ToResponse() *response.RoleResponse { + if r == nil { + return nil + } return &response.RoleResponse{ ID: r.ID, Name: r.Name, @@ -45,6 +51,9 @@ func (r *RoleEntity) ToResponse() *response.RoleResponse { } func (r *RoleEntity) ToRoleSimple() *RoleSimple { + if r == nil { + return nil + } return &RoleSimple{ ID: r.ID, Name: r.Name, @@ -53,20 +62,23 @@ func (r *RoleEntity) ToRoleSimple() *RoleSimple { func RolesEntityToResponse(rs []*RoleEntity) []*response.RoleResponse { out := make([]*response.RoleResponse, len(rs)) - for i := range rs { - out[i] = rs[i].ToResponse() + for _, role := range rs { + if role == nil { + continue + } + out = append(out, role.ToResponse()) } return out } func RolesEntityToRoleConstant(rs []*RoleSimple) []constants.Role { out := make([]constants.Role, len(rs)) - for i := range rs { - data, ok := constants.ParseRole(rs[i].Name) + for _, role := range rs { + data, ok := constants.ParseRole(role.Name) if !ok { continue } - out[i] = data + out= append(out, data) } return out } diff --git a/internal/models/user.go b/internal/models/user.go index 1a154bc..9feeeb0 100644 --- a/internal/models/user.go +++ b/internal/models/user.go @@ -29,6 +29,9 @@ type UserSimpleEntity struct { } func (u *UserSimpleEntity) ToResponse() *response.UserSimpleResponse { + if u == nil { + return nil + } return &response.UserSimpleResponse{ ID: u.ID, Email: u.Email, @@ -55,6 +58,9 @@ func (u *UserEntity) ParseProfile(data []byte) error { } func (u *UserEntity) ToResponse() *response.UserResponse { + if u == nil { + return nil + } return &response.UserResponse{ ID: u.ID, Email: u.Email, @@ -67,10 +73,13 @@ func (u *UserEntity) ToResponse() *response.UserResponse { } } -func UsersEntityToResponse(rs []*UserEntity) []*response.UserResponse { - out := make([]*response.UserResponse, len(rs)) - for i := range rs { - out[i] = rs[i].ToResponse() +func UsersEntityToResponse(users []*UserEntity) []*response.UserResponse { + out := make([]*response.UserResponse, len(users)) + for _, user := range users { + if user == nil { + continue + } + out = append(out, user.ToResponse()) } return out } diff --git a/internal/models/verification.go b/internal/models/verification.go index b987c81..0027059 100644 --- a/internal/models/verification.go +++ b/internal/models/verification.go @@ -90,8 +90,12 @@ func (u *UserVerificationEntity) ToResponse() *response.UserVerificationResponse func UserVerificationsEntitiesToResponse(entities []*UserVerificationEntity) []*response.UserVerificationResponse { responses := make([]*response.UserVerificationResponse, len(entities)) - for i, entity := range entities { - responses[i] = entity.ToResponse() + for _, entity := range entities { + if entity == nil { + continue + } + responses = append(responses, entity.ToResponse()) + } return responses }