using System.Text.Json;
using Tiku.Domain.Common;

namespace Tiku.Domain.Identity;

public sealed class StudentProfile : AuditableTenantEntity
{
    public Guid UserId { get; set; }
    public string? LegacyUserId { get; set; }
    public string AvatarPreset { get; set; } = "male";
    public Guid? RegionId { get; set; }
    public Guid? SelectedSchoolId { get; set; }
    public Guid? SelectedMajorId { get; set; }
    public int QuestionsAnsweredToday { get; set; }
    public int MasteredWordsCount { get; set; }
    public DateOnly? LastCheckInDate { get; set; }
    public JsonElement Stats { get; set; } = JsonDefaults.Object();
    public JsonElement Progress { get; set; } = JsonDefaults.Object();
    public JsonElement ModuleSelections { get; set; } = JsonDefaults.Object();
    public JsonElement RecentActivities { get; set; } = JsonDefaults.Array();
}