namespace LctMonolith.Domain.Entities; /// /// Linear rank in progression ladder. User must meet XP, key mission and competency requirements. /// public class Rank { public Guid Id { get; set; } = Guid.NewGuid(); /// Display name (e.g., "Искатель", "Пилот-кандидат"). public string Name { get; set; } = null!; /// Ordering position. Lower value = earlier rank. public int Order { get; set; } /// Required cumulative experience to attain this rank. public int RequiredExperience { get; set; } public ICollection RequiredMissions { get; set; } = new List(); public ICollection RequiredCompetencies { get; set; } = new List(); public ICollection Users { get; set; } = new List(); } /// Mapping of rank to required mission. public class RankRequiredMission { public Guid RankId { get; set; } public Rank Rank { get; set; } = null!; public Guid MissionId { get; set; } public Mission Mission { get; set; } = null!; } /// Mapping of rank to required competency minimum level. public class RankRequiredCompetency { public Guid RankId { get; set; } public Rank Rank { get; set; } = null!; public Guid CompetencyId { get; set; } public Competency Competency { get; set; } = null!; /// Minimum level required for the competency. public int MinLevel { get; set; } }