[Index(nameof(Name), IsUnique = true)]
public class Project
{
[Key]
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ProjectId { get; set; }
[Required]
[StringLength(100, MinimumLength = 1)]
public string Name { get; set; } = "";
[StringLength(200)]
public string Description { get; set; } = "";
public User? Owner { get; set; }
public int? OwnerId { get; set; }
public UserGroup? OwnerGroup { get; set; }
public int? OwnerGroupId { get; set; }
public Project? ParentProject { get; set; }
public int? ParentProjectId { get; set; }
public List<Pipeline> Pipelines { get; } = [];
public List<Keyword> Keywords { get; } = [];
public List<Project> SubProjects { get; } = [];
}
[Index(nameof(Name), IsUnique = true)]
public class Project
{
[Key]
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ProjectId { get; set; }
[Required]
[StringLength(100, MinimumLength = 1)]
public string Name { get; set; } = "";
[StringLength(200)]
public string Description { get; set; } = "";
public User? Owner { get; set; }
public int? OwnerId { get; set; }
public UserGroup? OwnerGroup { get; set; }
public int? OwnerGroupId { get; set; }
public Project? ParentProject { get; set; }
public int? ParentProjectId { get; set; }
public List<Pipeline> Pipelines { get; } = [];
public List<Keyword> Keywords { get; } = [];
public List<Project> SubProjects { get; } = [];
}