namespace EngineeringSync.Domain.Entities; public class ProjectConfig { public Guid Id { get; set; } = Guid.NewGuid(); public string Name { get; set; } = string.Empty; public string EngineeringPath { get; set; } = string.Empty; public string SimulationPath { get; set; } = string.Empty; /// Komma-separiert, z.B. ".jt,.cojt,.xml" public string FileExtensions { get; set; } = string.Empty; public bool IsActive { get; set; } = true; public bool BackupEnabled { get; set; } = true; public string? BackupPath { get; set; } = null; public int MaxBackupsPerFile { get; set; } = 0; public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public ICollection FileRevisions { get; set; } = []; public ICollection PendingChanges { get; set; } = []; public IEnumerable GetExtensions() { // Wenn leer oder "*" → alle Dateien beobachten if (string.IsNullOrWhiteSpace(FileExtensions) || FileExtensions.Trim() == "*") return ["*"]; return FileExtensions.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); } }