using UniVerse.Domain.Enums;

namespace UniVerse.Domain.Entities;

public class Review
{
    public int Id { get; set; }
    public int LectureId { get; set; }
    public int UserId { get; set; }
    public ReviewRating Rating { get; set; }
    public string? Text { get; set; }
    public ReviewLlmStatus LlmStatus { get; set; } = ReviewLlmStatus.Pending;
    public ReviewSentiment? Sentiment { get; set; }
    public double? QualityScore { get; set; }
    public bool? IsInformative { get; set; }
    public string[]? LlmTags { get; set; }
    public string? LlmRawOutput { get; set; }
    public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
    public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;

    // Navigation properties
    public Lecture Lecture { get; set; } = null!;
    public User User { get; set; } = null!;
    public ICollection<CoinTransaction> CoinTransactions { get; set; } = new List<CoinTransaction>();
}
