using TrashLib.Sonarr.Config; namespace TrashLib.Sonarr.ReleaseProfile.Filters; public class ReleaseProfileFilterPipeline : IReleaseProfileFilterPipeline { private readonly IOrderedEnumerable _filters; public ReleaseProfileFilterPipeline(IOrderedEnumerable filters) { _filters = filters; } public ReleaseProfileData Process(ReleaseProfileData profile, ReleaseProfileConfig config) { return _filters.Aggregate(profile, (current, filter) => filter.Transform(current, config)); } }