namespace TrashLib.Sonarr.ReleaseProfile; public record ProfileDataOptional { public ICollection Required { get; init; } = new List(); public ICollection Ignored { get; init; } = new List(); public IDictionary> Preferred { get; init; } = new Dictionary>(); } public record ProfileData { public ICollection Required { get; init; } = new List(); public ICollection Ignored { get; init; } = new List(); public IDictionary> Preferred { get; init; } = new Dictionary>(); // We use 'null' here to represent no explicit mention of the "include preferred" string // found in the markdown. We use this to control whether or not the corresponding profile // section gets printed in the first place, or if we modify the existing setting for // existing profiles on the server. public bool? IncludePreferredWhenRenaming { get; set; } public ProfileDataOptional Optional { get; init; } = new(); }