You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
recyclarr/src/Recyclarr.TrashLib/Config/Parsing/ConfigYamlMapperProfile.cs

39 lines
1.7 KiB

using AutoMapper;
using JetBrains.Annotations;
using Recyclarr.TrashLib.Config.Services;
namespace Recyclarr.TrashLib.Config.Parsing;
[UsedImplicitly]
public class ConfigYamlMapperProfile : Profile
{
public ConfigYamlMapperProfile()
{
CreateMap<QualityScoreConfigYaml, QualityProfileScoreConfig>();
CreateMap<CustomFormatConfigYaml, CustomFormatConfig>();
CreateMap<QualitySizeConfigYaml, QualityDefinitionConfig>();
CreateMap<ReleaseProfileConfigYaml, ReleaseProfileConfig>();
CreateMap<ReleaseProfileFilterConfigYaml, SonarrProfileFilterConfig>();
CreateMap<QualityProfileQualityConfigYaml, QualityProfileQualityConfig>()
.ForMember(x => x.Enabled, o => o.NullSubstitute(true));
CreateMap<ResetUnmatchedScoresConfigYaml, ResetUnmatchedScoresConfig>();
CreateMap<QualityProfileConfigYaml, QualityProfileConfig>()
.ForMember(x => x.UpgradeAllowed, o => o.MapFrom(x => x.Upgrade!.Allowed))
.ForMember(x => x.UpgradeUntilQuality, o => o.MapFrom(x => x.Upgrade!.UntilQuality))
.ForMember(x => x.UpgradeUntilScore, o => o.MapFrom(x => x.Upgrade!.UntilScore))
.ForMember(x => x.QualitySort, o => o.NullSubstitute(QualitySortAlgorithm.Top))
.ForMember(x => x.ResetUnmatchedScores, o => o.UseDestinationValue());
CreateMap<ServiceConfigYaml, ServiceConfiguration>()
.ForMember(x => x.InstanceName, o => o.Ignore());
CreateMap<RadarrConfigYaml, RadarrConfiguration>()
.IncludeBase<ServiceConfigYaml, ServiceConfiguration>();
CreateMap<SonarrConfigYaml, SonarrConfiguration>()
.IncludeBase<ServiceConfigYaml, ServiceConfiguration>();
}
}