using System.ComponentModel.DataAnnotations;

namespace DramaLing.Api.Models.Entities;

public class UserAudioPreferences
{
    [Key]
    public Guid UserId { get; set; }

    // TTS 偏好
    [MaxLength(2)]
    public string PreferredAccent { get; set; } = "us";

    [MaxLength(50)]
    public string? PreferredVoiceMale { get; set; }

    [MaxLength(50)]
    public string? PreferredVoiceFemale { get; set; }

    public decimal DefaultSpeed { get; set; } = 1.0m;
    public bool AutoPlayEnabled { get; set; } = false;

    // 語音練習偏好
    [MaxLength(20)]
    public string PronunciationDifficulty { get; set; } = "medium"; // 'easy', 'medium', 'strict'

    public int TargetScoreThreshold { get; set; } = 80;
    public bool EnableDetailedFeedback { get; set; } = true;

    public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;

    // Navigation property
    public User User { get; set; } = null!;
}