Files
RenewCMS/internal/infrastructure/useCases/UpdateUserProfile.go
T

26 lines
668 B
Go

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)
}