package useCases import ( "RenewCMS/internal/domain/user" "strings" "unicode/utf8" ) const maxDisplayNameRunes = 60 type UpdateUserProfileUseCase struct { userRepository user.Repository } func NewUpdateUserProfileUseCase(userRepository user.Repository) *UpdateUserProfileUseCase { return &UpdateUserProfileUseCase{userRepository} } func (u *UpdateUserProfileUseCase) UpdateDisplayName(userId uint32, displayName string) (user.User, error) { trimmed := strings.TrimSpace(displayName) if utf8.RuneCountInString(trimmed) > maxDisplayNameRunes { return user.User{}, user.ErrInvalidDisplayName } return u.userRepository.UpdateDisplayName(userId, trimmed) }