using Microsoft.AspNetCore.Identity; using System.ComponentModel.DataAnnotations.Schema; namespace Entities.Contracts { public enum UserRoles { Student, Teacher, Administrator } public class User : IdentityUser { public string? RefreshToken { get; set; } public DateTime? RefreshTokenExpiryTime { get; set; } public string? Address { get; set; } public string? DisplayName { get; set; } [Column("deleted")] public bool IsDeleted { get; set; } public ICollection TaughtClassesLink { get; set; } public ICollection EnrolledClassesLink { get; set; } public ICollection CreatedQuestions { get; set; } public ICollection CreatedAssignments { get; set; } public ICollection SubmissionDetails { get; set; } public ICollection SubmissionsAsStudent { get; set; } public ICollection GradedSubmissions { get; set; } public User() { Id = Guid.NewGuid(); SecurityStamp = Guid.NewGuid().ToString(); CreatedQuestions = new HashSet(); TaughtClassesLink = new HashSet(); EnrolledClassesLink = new HashSet(); CreatedAssignments = new HashSet(); GradedSubmissions = new HashSet(); SubmissionsAsStudent = new HashSet(); } } }