1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-12-16 11:37:58 +02:00
Sonarr/NzbDrone.Api/Qualities/QualityProfileSchemaModule.cs
2013-06-25 00:25:33 -07:00

41 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Qualities;
using NzbDrone.Api.Mapping;
using System.Linq;
namespace NzbDrone.Api.Qualities
{
public class QualityProfileSchemaModule : NzbDroneRestModule<QualityProfileResource>
{
public QualityProfileSchemaModule()
: base("/qualityprofiles/schema")
{
GetResourceAll = GetAll;
}
private List<QualityProfileResource> GetAll()
{
var profile = new QualityProfile();
profile.Cutoff = Quality.Unknown;
profile.Allowed = new List<Quality>();
return new List<QualityProfileResource>{ QualityToResource(profile)};
}
private static QualityProfileResource QualityToResource(QualityProfile profile)
{
return new QualityProfileResource
{
Available = Quality.All()
.Where(c => !profile.Allowed.Any(q => c.Id == q.Id))
.InjectTo<List<QualityResource>>(),
Allowed = profile.Allowed.InjectTo<List<QualityResource>>(),
Name = profile.Name,
Id = profile.Id
};
}
}
}