using System.Collections.Generic; using System.Linq; using NzbDrone.Api.Mapping; using NzbDrone.Core.Parser; using NzbDrone.Core.Profiles; using NzbDrone.Core.Qualities; namespace NzbDrone.Api.Profiles { public class ProfileSchemaModule : NzbDroneRestModule { private readonly IQualityDefinitionService _qualityDefinitionService; public ProfileSchemaModule(IQualityDefinitionService qualityDefinitionService) : base("/profile/schema") { _qualityDefinitionService = qualityDefinitionService; GetResourceAll = GetAll; } private List GetAll() { var items = _qualityDefinitionService.All() .OrderBy(v => v.Weight) .Select(v => new ProfileQualityItem { Quality = v.Quality, Allowed = false }) .ToList(); var profile = new Profile(); profile.Cutoff = Quality.Unknown; profile.Items = items; profile.Language = Language.English; return new List { profile.InjectTo() }; } } }