28 lines
1.2 KiB
C#
28 lines
1.2 KiB
C#
using UniVerse.Domain.Enums;
|
|
|
|
namespace UniVerse.Domain.Entities;
|
|
|
|
public class User
|
|
{
|
|
public int Id { get; set; }
|
|
public string Email { get; set; } = string.Empty;
|
|
public string? DisplayName { get; set; }
|
|
public string? AvatarUrl { get; set; }
|
|
public UserRole Role { get; set; } = UserRole.Student;
|
|
public bool IsActive { get; set; } = true;
|
|
public string? MicrosoftId { get; set; }
|
|
public int Xp { get; set; }
|
|
public int Coins { get; set; }
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
// Navigation properties
|
|
public StudentProfile? StudentProfile { get; set; }
|
|
public TeacherProfile? TeacherProfile { get; set; }
|
|
public ICollection<LectureEnrollment> Enrollments { get; set; } = new List<LectureEnrollment>();
|
|
public ICollection<Review> Reviews { get; set; } = new List<Review>();
|
|
public ICollection<UserAchievement> UserAchievements { get; set; } = new List<UserAchievement>();
|
|
public ICollection<CoinTransaction> CoinTransactions { get; set; } = new List<CoinTransaction>();
|
|
public ICollection<RefreshToken> RefreshTokens { get; set; } = new List<RefreshToken>();
|
|
}
|