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.Config/Parsing/ConfigYamlMapperProfile.cs

45 lines
2.0 KiB

using AutoMapper;
using JetBrains.Annotations;
using Recyclarr.Config.Models;
namespace Recyclarr.Config.Parsing;
[UsedImplicitly]
public class ConfigYamlMapperProfile : Profile
{
public ConfigYamlMapperProfile()
{
CreateMap<QualityScoreConfigYaml, QualityProfileScoreConfig>();
CreateMap<CustomFormatConfigYaml, CustomFormatConfig>();
CreateMap<QualitySizeConfigYaml, QualityDefinitionConfig>();
CreateMap<ResetUnmatchedScoresConfigYaml, ResetUnmatchedScoresConfig>();
CreateMap<RadarrMediaNamingConfigYaml, RadarrMediaNamingConfig>();
CreateMap<RadarrMovieNamingConfigYaml, RadarrMovieNamingConfig>();
CreateMap<SonarrMediaNamingConfigYaml, SonarrMediaNamingConfig>();
CreateMap<SonarrEpisodeNamingConfigYaml, SonarrEpisodeNamingConfig>();
CreateMap<QualityProfileQualityConfigYaml, QualityProfileQualityConfig>()
.ForMember(x => x.Enabled, o => o.NullSubstitute(true));
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>()
.ForMember(x => x.MediaNaming, o => o.UseDestinationValue());
CreateMap<SonarrConfigYaml, SonarrConfiguration>()
.IncludeBase<ServiceConfigYaml, ServiceConfiguration>()
.ForMember(x => x.MediaNaming, o => o.UseDestinationValue());
}
}