thread-master/old/backend/internal/logic/member/avatar_ref.go

48 lines
1.1 KiB
Go
Raw Normal View History

2026-07-09 03:45:28 +00:00
package member
import (
"haixun-backend/internal/library/storage"
"haixun-backend/internal/model/member/domain/entity"
"haixun-backend/internal/types"
)
func normalizeAvatarRef(bucket, ref string) string {
return storage.NormalizeObjectKey(bucket, ref)
}
func optionalNormalizedAvatar(bucket, value string) *string {
if value == "" {
return nil
}
normalized := normalizeAvatarRef(bucket, value)
return &normalized
}
func optionalNormalizedAvatarPtr(bucket string, value *string) *string {
if value == nil {
return nil
}
return optionalNormalizedAvatar(bucket, *value)
}
func toMemberMeDataWithAvatar(member *entity.Member, bucket string) *types.MemberMeData {
data := toMemberMeData(member)
if data == nil || bucket == "" {
return data
}
data.Avatar = normalizeAvatarRef(bucket, data.Avatar)
return data
}
func toMemberMeDataListWithAvatar(members []*entity.Member, bucket string) []types.MemberMeData {
list := make([]types.MemberMeData, 0, len(members))
for _, item := range members {
data := toMemberMeDataWithAvatar(item, bucket)
if data == nil {
continue
}
list = append(list, *data)
}
return list
}