package auth

import (
	"strings"

	"github.com/tidbcloud/AgentTeam/internal/api/dto"
	"github.com/tidbcloud/AgentTeam/internal/store/identity"
)

func userResponseFromDomain(user identity.User) dto.UserResponse {
	displayName := strings.TrimSpace(user.DisplayName)
	avatarURL := strings.TrimSpace(user.AvatarURL)
	return dto.UserResponse{
		ID:             user.ID,
		Email:          user.Email,
		Mobile:         strings.TrimSpace(user.Mobile),
		Name:           user.Name,
		DisplayName:    displayName,
		AvatarURL:      avatarURL,
		IsAdmin:        user.IsAdmin,
		EmailVerified:  user.EmailVerifiedAt != nil,
		MobileVerified: user.HasVerifiedMobile(),
		CreatedAt:      user.CreatedAt,
	}
}
