using System.Text.Json; using Tiku.Domain.Common; namespace Tiku.Domain.Identity; public sealed class User : AuditableEntity { public string? LegacyId { get; set; } public string? Username { get; set; } public string? Email { get; set; } public string? Phone { get; set; } public string? Name { get; set; } public string? AvatarUrl { get; set; } public string PrimaryRole { get; set; } = "student"; public int Score { get; set; } public DateTimeOffset? LastSeenAt { get; set; } public string? LegacyPasswordHash { get; set; } public bool PasswordMigrationRequired { get; set; } public JsonElement RawProfile { get; set; } = JsonDefaults.Object(); }