dramaling-vocab-learning/backend/DramaLing.Api/Models/Entities/PronunciationAssessment.cs

43 lines
1.2 KiB
C#

using System.ComponentModel.DataAnnotations;
namespace DramaLing.Api.Models.Entities;
public class PronunciationAssessment
{
[Key]
public Guid Id { get; set; } = Guid.NewGuid();
[Required]
public Guid UserId { get; set; }
public Guid? FlashcardId { get; set; }
[Required]
public string TargetText { get; set; } = string.Empty;
public string? AudioUrl { get; set; }
// 評分結果
public int OverallScore { get; set; }
public decimal AccuracyScore { get; set; }
public decimal FluencyScore { get; set; }
public decimal CompletenessScore { get; set; }
public decimal ProsodyScore { get; set; }
// 詳細分析 (JSON)
public string? PhonemeScores { get; set; }
public string[]? Suggestions { get; set; }
// 學習情境
// StudySessionId removed
[MaxLength(20)]
public string PracticeMode { get; set; } = "word"; // 'word', 'sentence', 'conversation'
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
// Navigation properties
public User User { get; set; } = null!;
public Flashcard? Flashcard { get; set; }
// StudySession reference removed
}